相关疑难解决方法(0)

如何在Sphinx中创建全局角色/角色?

这是"ReST Strikethrough" ReST删除的后续行动,但是在Sphinx而不是ReST背景下.我的问题是,在sphinx中是否有一个中心位置放置一个"角色"指令,或者这个指令是否真的必须在sphinx docmentation中的每个第一个文件中重复.

更详细:

使用角色指令很容易为内联文本定义自定义CSS样式(请参阅ReST Strikethrough作为示例):

.. role:: custom
   :class: custom

This is an :custom:`inline text`.
Run Code Online (Sandbox Code Playgroud)

转换为html渲染

.. This is an <span class="custom">inline text</span>.  ..
Run Code Online (Sandbox Code Playgroud)

此外,可以轻松地将自定义样式表添加到sphinx(请参阅http://www.tinkerer.me/doc/theming.html),在其中添加CSS类选择器以控制"自定义"文本的呈现方式(颜色,删除线,字体大小...)

令我不安的是,在我的实验中,我不得不在每个使用自定义角色的ReST文件中重复角色指令.是否有一个"中心"的地方,我可以为整个网站定义一次?

restructuredtext python-sphinx

19
推荐指数
2
解决办法
5579
查看次数

Sphinx内联代码突出显示

我使用Sphinx制作一个包含代码示例的网站.我成功使用该.. code-block指令获得语法高亮.但我无法使用此代码获取内联语法高亮:

.. role:: bash(code)
   :language: bash

Test inline: :bash:`export FOO="bar"`.

.. code-block:: bash

    export FOO="bar"
Run Code Online (Sandbox Code Playgroud)

产生此输出,即内嵌代码未突出显示,而块代码是:

结果

对我来说问题是生成的内联代码HTML包含长类名,而不包含代码块.这是输出HTML(为了便于阅读而缩进):

<p>Test inline:
    <tt class="code bash docutils literal">
        <span class="name builtin">
            <span class="pre">export</span>
        </span>
        <span class="name variable">
            <span class="pre">FOO</span>
        </span>
        <span class="operator">
            <span class="pre">=</span>
        </span>
        <span class="literal string double">
            <span class="pre">&quot;bar&quot;</span>
        </span>
    </tt>.
</p>


<p>Test code-block:</p>
<div class="highlight-bash">
    <div class="highlight">
        <pre>
            <span class="nb">export </span>
            <span class="nv">FOO</span>
            <span class="o">=</span>
            <span class="s2">&quot;bar&quot;</span>
        </pre>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感谢.

css restructuredtext syntax-highlighting pygments python-sphinx

10
推荐指数
3
解决办法
5128
查看次数