101、【OS】【Nuttx】【周边】文档构建渲染:reStructuredText 格式
【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除
背景
接之前 blog
【OS】【Nuttx】【构建】cmake 配置保存
之前 blog 分析了 cmake 配置和构建相关内容,下面继续
reStructuredText 格式
回到栈溢出配置项的主线,搜索关键词 CONFIG_ARMV7M_STACKCHECK,在一个名叫 armv7m_runtimestackcheck.rst 的文档中还发现了相关描述
下面先不讲里面的内容,先讲讲这个 .rst 文件格式:
- .rst 文件扩展名代表 reStructuredText 文件格式
- reStructuredText 是一种轻量级的标记语言,用于编写结构化文档,最初由 Python 社区开发,并广泛用于 Python 项目的文档编写中,但其使用并不限于 Python,也可以用于其他项目和语言
- 许多开源项目使用 reStructuredText 来撰写官方文档,方便编写也方便维护,比如 Nuttx 也用它来写官方文档
- reStructuredText 的设计目标之一是保持源文件的可读性和可写性,即使在没有经过渲染的情况下也易于阅读和书写
ok,既然分析到了 rst 文件是轻量级标记语言,那么就有渲染后的效果,下面讲下 rst 文档的构建渲染
构建渲染
安装扩展
扩展商店搜索 reStructuredText,找到 LeXtudio 发布(可以看到下载量第一的)
查看扩展功能
扩展功能描述:
- Code Snippets:代码片段,比如当 .rst 文件中输入一些关键词(比如 … code-block:: python),编辑器会自动弹出提示,以便快速插入常用的 reStructuredText 语法结构
- Editor Enhancement:编辑器增强,比如自动缩进,括号匹配,标题下划线自动对齐等
- Linter Integration:语法检查集成,当写错语法时(比如标题下划线长度不对),编辑器会用波浪线标出错误,给出提示
- 这里最重要的是划线部分,Live Preview,实时渲染,因为本篇 blog 的目的是构建渲染,而不是编写 reStructuredText 文档,所以不会着重讲 reStructuredText 语法,划线部分表示预览功能由另一个扩展提供
点开依赖扩展链接,可以看到其扩展为 Esbonio
在扩展商店中搜索并安装
查看 Esbonio 扩展的功能描述
查看这里的描述,有几个关键点:
- 首先,这是 Esbonio 官方发布的 VSCode 扩展,作用是把 Esbonio 语言服务器集成到 VSCode 编辑器中
- 另外,Esbonio language server 是一个专门为 reStructuredText 和 Sphinx 设计的语言服务器,提供开发环境中的高级功能,比如智能感知、自动补全、实时预览等(和上面的 reStructuredText 功能有些重叠,但没关系),提升编写文档的效率和体验
- 这里要区分下 Esbonio 扩展和 Esbonio 语言服务器,Esbonio 扩展相当于前端,Esbonio 语言服务器相当于后端,所以这里只是安装了 Esbonio 的前端,后面还要安装 Esbonio 语言服务器后端
- Esbonio 通过语言服务器协议(LSP)与 VSCode 通信,相当于前后端的桥梁,这里就不展开讲了
- 前面提到了 Sphinx,这里简单介绍下,Sphinx 是个用于生成文档的工具,默认使用 reStructuredText 作为其输入格式
ok,下篇 blog 介绍 Esbonio 后端的安装