103、【OS】【Nuttx】【周邊】文檔構建渲染:Sphinx 配置文件

【聲明】本博客所有內容均為個人業余時間創作,所述技術案例均來自公開開源項目(如Github,Apache基金會),不涉及任何企業機密或未公開技術,如有侵權請聯系刪除

背景

接之前 blog
【OS】【Nuttx】【周邊】文檔構建渲染:安裝 Esbonio 服務器
已安裝好了 Esbonio 服務器,但此時還用不了,需要配置和特殊操作一下,下面來分析下

Sphinx 配置文件

上篇 blog 已經介紹了 Esbonio 服務器的安裝,下面先來檢查下,終端輸入

ls -l ~/.local/bin/

可以看到可執行文件 esbonio
在這里插入圖片描述
可見雖然是用 python3 -m 來安裝的 python 模塊(其源碼部分在 ~/.local/lib/python3.12/site-packages/),但實際上也生成了可執行部分,可以在終端運行,在終端輸入

esbonio --version

可以查看其版本號
在這里插入圖片描述
終端輸入

cat ~/.local/bin/esbonio

可以看到可執行文件 esbonio 的實現
在這里插入圖片描述

  • 其實現也是用的 python 腳本
  • 用的 python3 解釋器,從 esbonio 包的 __main__.py 文件中導入 main 函數
  • 這個 main() 函數是 esbonio 命令行工具的真正入口點,負責解析命令行參數、啟動語言服務器等

當然因為安裝了 esbonio 擴展,這里可以不用手動在終端里面輸入命令來啟動 esbonio 服務器,只需要在 esbonio 擴展里面配置一下即可

conf.py

在配置 Esbonio 服務器之前,首先要了解一個文件 conf.py
在這里插入圖片描述

  • conf.py 是 Sphinx 的配置文件(文檔引擎配置),位于項目根目錄 Documentation 下,Sphinx 是一個用 Python 寫的文檔生成器,能把 .rst 或 .md 文本文件,變成漂亮的,符合人們閱讀習慣的文檔網站
  • conf.py 的文件名固定,必須叫 conf.py,換名字會導致 Sphinx 識別不出來
  • conf.py 的位置通常在文檔目錄下,比如這里的 Documentation 目錄
  • sphinx-build 命令在構建渲染文檔的時候,Sphinx 引擎會讀取 conf.py,把 .rst 文件變成 HTML/PDF/靜態網站 等輸出
  • Esbonio 可以讀取并理解 Sphinx 項目中的 conf.py 配置,可以自動觸發 Sphinx 構建過程,比如當保存 .rst 文件時,Esbonio 可以自動調用 Sphinx 來重新生成文檔,確保能夠快速看到更改效果,通過 Esbonio 和 Sphinx 的結合,能很方便地預覽最終渲染的文檔效果

另外,要提前把 conf.py 里面的這些擴展安裝好
在這里插入圖片描述
下面簡單介紹下這幾個擴展:

  • sphinx_rtd_theme:網站主題 Read the Docs,用來美化文檔外觀,包括文檔網站是左側目錄,右側內容的經典布局,支持搜索等
  • myst_parser:支持用 Markdown 語言,.md 文件來寫 Sphinx 文檔,相當于給 Sphinx 裝了個 Markdown 插件,讓 Sphinx 引擎也能讀取 .md 文件
  • sphinx.ext.autosectionlabel:自動為每個章節標題創建引用標簽,方便鏈接跳轉
  • sphinx.ext.todo:支持寫待辦事項列表,可以控制是否顯示
  • sphinx_tabs.tabs:在文檔中插入可切換的標簽頁
  • sphinx_copybutton:在代碼塊右上角添加復制按鈕,點擊就能復制代碼,對讀者非常友好,尤其是復制命令行指令時,提升用戶體驗
  • warnings_filter:過濾掉不關心的 Sphinx 警告信息

ok,下篇 blog 再詳細分析下這些擴展的安裝

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93232.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93232.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93232.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

轉換一個python項目到moonbit,碰到報錯輸出:編譯器對workflow.mbt文件中的類方法要求不一致的類型注解,導致無法正常編譯

先上結論:現在是moon test的時候有很多報錯,消不掉。問題在Trae中用GLM-4.5模型,轉換一個python項目到moonbit,碰到報錯輸出:報錯輸出經過多次嘗試修復,我發現這是一個MoonBit編譯器的bug。編譯器對workflo…

【C#補全計劃】事件

一、事件的概念1. 事件是基于委托的存在,是委托的安全包裹,讓委托的使用更具有安全性2. 事件是一種特殊的變量類型二、事件的使用1. 語法:event 委托類型 事件名;2. 使用:(1)事件是作為成員變量存在與類中&…

java內存緩存

我們在項目中會經常使Redis和Memcache,但是簡單項目就沒必要使用專門的緩存框架來增加系統的復雜性。用Java代碼邏輯就能實現內存級別的緩存。1.定時任務線程池使用ScheduledExecutorService結合ConcurrentHashMap,如果你使用的是ConcurrentHashMap,你可…

智能工廠生產監控大屏-vue純前端靜態頁面練習

學習前端還是非常有意思的,因為前端真的是可見即所得,可以做出來非常好看漂亮的頁面,最近我就在使用前端技術 做一些大屏報表,在制作這些大屏報表過程中,又熟練的練習了自己的學到的相關的前端技術,接下來把…

HTTP 協議詳細介紹

目錄一、HTTP 的基本概念與歷史演進1. 核心定義2. 歷史版本演進二、HTTP 的核心工作原理1. 請求-響應模型2. 基于 TCP 的傳輸(HTTP/1.1、HTTP/2)三、HTTP 請求結構1. 請求行2. 請求頭3. 請求體四、HTTP 響應結構1. 狀態行2. 響應頭3. 響應體五、HTTP 與 …

正則化:從過擬合到泛化的「平衡藝術」

在機器學習領域,有一個幾乎所有從業者都會遇到的「噩夢」:模型在訓練集上表現完美(損失趨近于0),但在測試集上卻大幅「翻車」。這種現象被稱為「過擬合」(Overfitting),它像一把雙刃…

[Python 基礎課程]根據描述定義一個 Person 類

人都屬于人類這個物種,每一個人都會有姓名和年齡,人都可以介紹自己,隨著時間的流逝,人都會增加年齡,每一個人都能獲取到自己的物種信息。 我們的抽象過程: 所有的 Person 對象都應該有一個共同的屬性來表示…

熱門手機機型重啟速度對比

以下是2023-2024年市場主流熱門手機機型的重啟速度對比分析,基于公開測試數據和用戶反饋整理(數據會因系統版本和測試環境不同存在波動):旗艦機型重啟速度排名(冷啟動)排名機型平均重啟時間關鍵配置優化技術…

第454題.四數相加II

第454題.四數相加II 力扣題目鏈接(opens new window) 給定四個包含整數的數組列表 A , B , C , D ,計算有多少個元組 (i, j, k, l) ,使得 A[i] B[j] C[k] D[l] 0。 為了使問題簡單化,所有的 A, B, C, D 具有相同的長度 N,且 0 ≤ N ≤…

力扣top100(day04-05)--堆

本文為力扣TOP100刷題筆記 筆者根據數據結構理論加上最近刷題整理了一套 數據結構理論加常用方法以下為該文章: 力扣外傳之數據結構(一篇文章搞定數據結構) 215. 數組中的第K個最大元素 class Solution {// 快速選擇遞歸函數int quickselect(…

CCS雙軸相位偏移光源 讓淺凹痕無處遁形

在工業檢測中,淺凹痕表面檢測對精度和可靠性要求極高,工業光源在此過程中扮演著關鍵角色,工業光源通過精準的光學設計(角度、波長、強度)將肉眼不可見的淺凹痕轉化為可量化的光學信號,是實現高精度自動化檢…

專題三_二分_x 的平方根

一:題目解釋:返回x的算數平方根,如果是小數,則舍去小數部分,返回整數即可!二:算法①:暴力從1開始求平方,最后要么直接找到一個值的平方為x,要么發現x在兩個相…

Python 操作 Redis 的客戶端庫 redis-py

Python 操作 Redis 的客戶端庫 redis-py1. Installation2. Connect and test3. Connection Pools4. Redis Commands4.1. set(name, value, exNone, pxNone, nxFalse, xxFalse, keepttlFalse, getFalse, exatNone, pxatNone)4.1.1. setnx(name, value)4.1.2. setex(name, time, …

社區物業HCommunity本地部署手冊

HC小區管理系統安裝手動版 更多文章參考: http://www.homecommunity.cn/pages/hc/hcH5_cn.html 1.0 說明 很多開發不太喜歡用梓豪安裝,希望通過手工自己安裝,這個就需要開發人員 有一定的安裝軟件能力,比如能夠自行安裝mysql能…

單例模式-使用局部變量懶漢不用加鎖

在 C11 及之后,“局部靜態變量懶漢”(Meyers’ Singleton)不需要自己加鎖,標準已經幫你做好了線程安全。 Singleton& getInstance() {static Singleton inst; // ← 這一句并發時只會初始化一次return inst; }首次調用時&am…

51單片機-GPIO介紹

本章概述思維導圖:51單片機引腳介紹STC89系列51單片機引腳介紹STC89系列51單片機的引腳是單片機與外部電路連接的接口,用于實現電源供電、時鐘信號輸入、控制信號輸出以及數據輸入輸出等功能。PDIP封裝引腳圖:1. 電源引腳:VCC&…

CERT/CC警告:新型HTTP/2漏洞“MadeYouReset“恐致全球服務器遭DDoS攻擊癱瘓

2025年8月15日CERT/CC(計算機應急響應協調中心)近日發布漏洞公告,警告多個HTTP/2實現中新發現的缺陷可能被威脅行為者用于發起高效拒絕服務(DoS)或分布式拒絕服務(DDoS)攻擊。該漏洞被非正式命名…

[Chat-LangChain] 會話圖(LangGraph) | 大語言模型(LLM)

第二章:會話圖(LangGraph) 在第一章中,我們學習了前端用戶界面——這是聊天機器人的"面孔",我們在這里輸入問題并查看答案。 我們看到了消息如何從聊天窗口傳遞到聊天機器人的"大腦"。現在&…

Flask錯誤處理與會話技術詳解

flask入門day03 錯誤處理 1.abort函數:放棄請求并返回錯誤代碼 詳細狀態碼 from flask import Flask,abort,render_template ? app Flask(__name__) ? app.route(/) def index():return 我是首頁 ? app.route(/error) def error():abort(404)return 沒有找到…

java程序打包成exe,再打成安裝包,沒有jdk環境下可運行

一、前提條件準備:1、要被打包的程序文件:rest_assistant-1.0-SNAPSHOT.jarapplication.yml2、圖標文件tubiao123.ico3、jre4、打包成exe的軟件 config.exe4j5、打成安裝包的軟件 Inno Setup Compiler二、config.exe4j 的 exe打包配置步驟 按照以下圖進行…