如何在RST /读取文档的代码块中添加复制按钮

问题描述 投票:3回答:1

我一直在制作个人的“操作指南”,记录和记录我的学习日记。

我现在有一个,几乎太长的代码块,当我自己遇到这段代码时,它总是令人沮丧,试图突出显示块而不突出显示整个页面,或者不够。

所以,我的问题是,对于rst(reStructuredText).. code-block::,是否有一个附加或添加copy按钮的方法,用于自动突出显示或自动将文本添加到用户剪贴板?或者这是一个更加html-literal类型的代码我必须包含在构建中并在代码块中引用它?如果是这样,那样的东西会是什么样的呢?

html clipboard python-sphinx restructuredtext read-the-docs
1个回答
2
投票

在Sphinx项目中,HTML页面的显示使用模板语言(默认情况下为Jinja2)进行控制。因此,您可以通过将Javascript添加到HTML模板文件来使您的页面更具交互性,并且当Sphinx使用该特定模板文件来呈现页面时,它将被插入。

通过在templates_path中搜索conf.py找到您的模板目录

Jinja模板可以相互扩展,因此您可能希望以{% extends "basic/layout.html" %}开头的文件。

一旦您追踪要进行更改的扩展序列中的哪个位置,您需要组合:

  • 页面中您希望其生效的部分(通常是主块)
  • 带有代码块类的CSS(例如,我的是class=highlight)。 .CSS文件可能在docs / source / _static /中
  • 用于创建按钮并写入剪贴板的javascript代码段(例如,https://clipboardjs.com/

接下来,在本地构建Sphinx项目(make html),直到您将其拨入,然后将源代码推送到readthedocs。

© www.soinside.com 2019 - 2024. All rights reserved.