我第一次使用Read the Docs。我正在为命令行系统编写文档,而我的“代码示例”包括shell输出日志。 Shell输出最终看起来像这样
也就是说,该服务(或我对它的使用?)正在尝试格式化运行shell命令的示例,就好像它是源代码一样,并且正在将magento2:generate
当作一个类来对待。常数。
我可以控制哪些代码块在阅读文档时获取源代码格式吗?我试过在管理员中未设置任何基本语言,但似乎没有效果。还是我需要在Sphinx级别的mkdocs上控制此内容? (通过将markdown或sphinx文件转换为漂亮的HTML文件来阅读文档,可以看到其他内容吗?还是我不走运?
答案 0 :(得分:2)
您需要在源文档中定义代码块的“语言”。 Sphinx和MkDocs都将尝试猜测该语言,这通常已经足够好了。但是,有时它会猜错并导致奇怪的突出显示。为了避免这种情况,两种实现都提供了一种手动定义每个代码块语言的机制。
对于Sphinx,您可以使用code-block指令并包含块的“语言”:
.. code-block:: console
You shell commands go here
在上面的示例中,我将shell session用于console
。别名shell-session
也可以使用。请注意,替代词法分析器bash
(及其别名:sh
,ksh
,zsh
和shell
)并不严格适合,因为它们适用于shell脚本,而在shell会话中同时显示命令和输出。
在Pygments文档中可以找到受支持的language codes的完整列表。
MkDocs利用Fenced Code Block Markdown扩展来定义代码块的“语言”:
``` shell
Your shell commands go here
```
由于MkDocs使用highlight.js而不是Pygments,因此支持的语言列表有所不同。因此,在上面的示例中,我使用了shell
(用于shell会话)。