首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Sphinx的html输出中包含源码行号?

在Sphinx的html输出中包含源码行号,可以通过配置Sphinx的扩展和主题来实现。

首先,确保你已经安装了Sphinx和相关的扩展。然后,在你的Sphinx项目的配置文件(通常是conf.py)中,添加以下配置:

代码语言:txt
复制
extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.viewcode',
    'sphinx.ext.githubpages',
]

html_theme = 'sphinx_rtd_theme'
html_theme_options = {
    'style_external_links': True,
    'style_nav_header_background': '#2980B9',
    'collapse_navigation': False,
    'sticky_navigation': True,
    'navigation_depth': 4,
    'includehidden': True,
    'titles_only': False,
    'display_version': True,
    'prev_next_buttons_location': 'bottom',
    'style_external_links': True,
    'vcs_pageview_mode': '',
    'style_external_links': True,
    'style_external_links_target': '_blank',
}

html_css_files = [
    'css/custom.css',
]

html_js_files = [
    'js/custom.js',
]

上述配置中,extensions列表中添加了'sphinx.ext.viewcode'扩展,该扩展用于生成源码链接。html_theme设置为sphinx_rtd_theme,这是一个常用的主题,你也可以根据自己的需求选择其他主题。

接下来,在你的Sphinx项目的源码目录中,创建一个_templates文件夹,并在其中创建一个layout.html文件。在layout.html文件中,添加以下代码:

代码语言:txt
复制
{% extends "!layout.html" %}

{% block extrahead %}
{{ super() }}
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/custom.css', 1) }}" />
<script type="text/javascript" src="{{ pathto('_static/js/custom.js', 1) }}"></script>
{% endblock %}

上述代码中,_static/css/custom.css_static/js/custom.js分别是自定义的CSS和JavaScript文件,你可以根据需要进行修改。

最后,在你的Sphinx项目的源码目录中,创建一个_static文件夹,并在其中创建一个css文件夹和一个js文件夹。在css文件夹中,创建一个custom.css文件,在js文件夹中,创建一个custom.js文件。

custom.css文件中,添加以下代码:

代码语言:txt
复制
div.highlight pre {
    counter-reset: linenumber;
}

div.highlight pre span.line:before {
    content: counter(linenumber);
    counter-increment: linenumber;
    padding-right: 0.6em;
    color: #999;
    display: inline-block;
    width: 2em;
    text-align: right;
    margin-right: 0.5em;
    border-right: 1px solid #ddd;
}

custom.js文件中,添加以下代码:

代码语言:txt
复制
$(document).ready(function() {
    $('div.highlight').each(function() {
        var lines = $(this).find('pre').text().split('\n').length - 1;
        var $numbering = $('<ul/>').addClass('pre-numbering');
        $(this)
            .addClass('has-numbering')
            .append($numbering);
        for (i = 1; i <= lines; i++) {
            $numbering.append($('<li/>').text(i));
        }
    });
});

保存以上文件后,重新生成Sphinx文档,你将在HTML输出中看到源码行号的显示。

这里推荐腾讯云的云服务器CVM产品,它提供了稳定可靠的云计算基础设施,适用于各种规模的应用场景。你可以通过以下链接了解更多关于腾讯云服务器CVM的信息:腾讯云服务器CVM

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在HTML的下拉列表中包含选项?

为了在HTML中创建下拉列表,我们使用命令,它通常用于收集用户输入的表单。为了在提交后引用表单数据,我们使用 name 属性。如果没有 name 属性,则下拉列表中将没有数据。...用于将下拉列表与标签相关联;id 属性是必需的。要在下拉列表中定义选项,我们必须在 元素中使用 标签。...语法以下是 HTML 中 标签的用法 - HTML 的选项的值倍数倍数通过使用,可以一次选择多个属性选项。名字名字它用于在下拉列表中定义名称必填必填通过使用此属性,用户在提交表单之前选择一个值。...大小数此属性用于定义下拉列表中可见选项的数量价值发短信指定要发送到服务器的选项的值自动对焦自动对焦它用于在页面加载时自动获取下拉列表的焦点例以下示例在HTML的下拉列表中添加一个选项 <!

27920

如何在 iOS 的源码中包含图片?

首先,先分享一个很实用的开源库。 通过添加这个开源库,笔者 80% 的调试工作都可以用这个库完成,而无需 Xcode 工具。...* 查看对象的内存依赖关系 * 浏览 APP 下的各类文件(图片文件可以直接预览) * 查看某个类存在的实例(判断是否有内存泄露) 当然,也有一些不好的地方。...为了提高开发效率,笔者尝试通过 infer 工具扫描该库是否存在常见的问题并尝试修复。 infer 扫描时,FLEXResources.h 引起了笔者的注意,该文件扫描耗时远远超过平均水平。...通过查看该文件发现,它通过一些特殊技巧将图片资源放到了源码中,导致 infer 需要分析一个超长的 c 数组。 截取部分代码如下: ? ? ?...NSData 对象 4、通过 UIImage 类方法将 NSData 对象转为 UIImage 并返回 至此,图片成功的通过 16 进制的方式隐藏到了源码中。

1.4K40
  • Sphinx+gitee+Read the Docs搭建在线文档系统

    sphinx-quickstart 然后会有如下的输出,需要根据提示输入项目名称、作者、版本号、语言等信息 G:\TestProject\sphinx\SphinxDemo>sphinx-quickstart...这里先简单说明一下各个文件的作用: build:生成的文件的输出目录 source: 存放文档源文件 _static:静态文件目录,比如图片等 _templates:模板目录 conf.py:进行 Sphinx...:Windows 命令行中编译用的脚本 Makefile:编译脚本,make 命令编译时用 2.4 普通编译 执行如下指令 make html 会输出如下编译结果: G:\TestProject\sphinx...然后编辑soure/Cpp文件夹里的index.rst文件,这里表示该目录级别下,又包含了3个子目录,子目录中再次通过index文件来描述子目录中的文档结构: C++知识 ===============...:maxdepth: 1 01单例模式 02工厂方法模式 具体的文档,如01单例模式.md中,就可以记录学习笔记了,示例如下: # 单例模式 这是单例模式 ## 二级标题

    2K30

    使用python编写量子线路打印的简单项目,并使用Sphinx自动化生成API文档

    量子线路背景知识 在前面几篇博客中,有介绍过使用开源量子计算编程框架ProjectQ进行量子线路的绘制,会给我们输出一个tex格式的线路图,在文章中可以直接使用。...而本文章中所创建的工程,是直接在cmd窗口里面打印输出字符串形式的量子线路,同样的,在量子计算资源估计和量子线路工程中,可以产生一定的作用。...= ['_static'] 执行sphinx-build指令将source中的rst文档编译成html文档,并输出到build目录下: [dechin@dechin-manjaro circuit]$...HTML 页面保存在 build 目录。 在这个执行的过程中,有一部分的告警是跟注释规范相关的,其实不用处理也没有关系。...总结概要 在这篇文章中,我们主要通过一个量子线路打印的python项目介绍,也顺带通过sphinx将python项目的注释文档自动化的生成API接口文档,完成了一个项目开发及文档输出流程的简要分析,在实战中掌握更多的工具使用方法

    2.9K20

    围绕Sphinx搭建代码化的内容管理+文档开发系统 | 技术传播

    默认支持reStructuredText格式内容源码;通过第三方插件支持MyST Markdown格式的内容源码;最终将内容源码发布为html、PDF、ePub、Texinfo、manual pages...如果期望获得比较好的Web文档发布效果,可以配置应用sphinx-rtd-them。 使用VSCode编写内容源码,包括node和index。...执行发布命令,或者运行发布脚本,即可发布为多种目标格式的文档,如Web或PDF。 考虑到文章篇幅不宜过长,具体实施落地的操作方法就不展开说明了。...围绕Sphinx构建整个内容管理、文档开发和系统集成,几乎可以完全参照代码开发的系统构建: 使用VSCode进行源码编写; 使用Git进行内容和版本管理; 使用Sphinx进行文档发布; 使用Jenkins...在这里,只有一点需要特别说明的是: 如果想对Sphinx直出的PDF进行一定人工干预,如添加企业LOGO,或者应用自定义样式之类,那么,从源码到PDF之间,可以被编辑的中间文件,并不是我们所熟悉的Word

    22010

    Sphinx&coreseek实现中文分词索引

    Sphinx服务器查询,sphinx返回查询结果在原数据库表中的id(主键) step4: 查询程序根据返回的主键id在原数据库中取出相应记录 3....取出的数据中,必须有id(若无名称为id的字段,可以使用别名),id为主键 # 2. id后面的字段创建索引 sql_query = SELECT id,name...foreach($data as $v){ // param1: 输出的数据 // param2: 索引名称 // param3: 关键词 // param4...Sphinx匹配模式 提供了5种模式: SPH_MATCH_ALL: (默认)匹配所有查询词,会对查询关键词分词,查询结果必须同时包含所有关键词 SPH_MATCH_ANY: 查询关键词分词,查询结果匹配其中任意一个即可...SPH_MATCH_PHRASE: 查询关键词不分词,查询结果必须严格匹配整个查询关键词 SPH_MATCH_EXTENDED: 支持扩展语法,支持@字段查询,如查询title包含abc,content

    1.6K64

    Sphinx补篇

    /en/stable/webhooks.html https://zh-sphinx-doc.readthedocs.io/en/latest/rest.html 我的写作习惯是用到的参考资料直接发出来...源文件转换为各种输出格式,自动生成交叉引用,索引等。...也就是说,如果您的目录包含一堆reST格式的文档(可能还有文档的子目录)以及),Sphinx可以生成结构良好的HTML文件(在其他目录中),以方便浏览和导航。...这个内容有点超纲,latex的渲染是学术界的共识,我之后会讲这个.假如我写论文的话. https://sphinx-doc-zh.readthedocs.io/en/latest/config.html...源目录*在 :term:`资源目录` ,*编译目录 是我们指定的期望编译输出的目标目录. -b 选项可选择编译器; 当前实例Sphnix 将编译输出 HTML 文档.

    1.2K10

    ack - 比grep好用的文本搜索工具

    对于符合搜索条件的文件,ack会逐行读取文件内容,并使用正则表达式对每一行进行匹配。如果某一行匹配成功,ack会将包含匹配内容的行及其所在的文件名、行号等信息输出给用户。...只搜索特定类型的文件:ack --python "pattern"只在 Python 文件(.py扩展名)中搜索包含pattern的文本行。...ack支持多种文件类型,如--javascript、--html等。...简洁的输出:ack的输出格式更加简洁明了,默认只显示匹配的文件名、行号和匹配的行内容,便于阅读和定位。而grep的输出可能会包含一些额外的信息,需要用户进行额外的处理才能提取关键信息。...不过对于大多数常见的搜索需求,ack的正则表达式功能已经足够使用。如何在ack中排除特定文件类型的搜索?如何在ack中使用正则表达式进行更复杂的搜索?如何在ack中使用彩色输出?

    6910

    用Sphinx快速制作文档

    下面列出了其良好特性,这些特性在Python官方文档中均有体现: 丰富的输出格式: 支持 HTML (包括 Windows 帮助文档), LaTeX (可以打印PDF版本), manual pages(...可自动生成美观的模块索引 精确的语法高亮: 基于 Pygments 自动生成语法高亮 开放的扩展: 支持代码块的自动测试,并包含Python模块的自述文档(API docs)等 Sphinx 使用...我们需要在终端中输入下列命令进行安装: pip install sphinx 创建Sphinx项目 创建一个用于存放文档的文件夹,然后在该文件夹路径下运行下列命令快速生成Sphinx项目: sphinx-quickstart...'.MD': CommonMarkParser, } 生成文档 在Sphinx项目所在的文件夹路径下运行下列命令生成文档: make html 生成后的文档位于build/html文件夹内,...用浏览器打开index.html即可看到生成后的文档。

    1.9K61

    Sphinx初尝

    下面列出了其良好特性,这些特性在Python官方文档中均有体现: 丰富的输出格式: 支持 HTML (包括 Windows 帮助文档), LaTeX (可以打印PDF版本), manual pages(...可自动生成美观的模块索引 精确的语法高亮: 基于 Pygments 自动生成语法高亮 开放的扩展: 支持代码块的自动测试,并包含Python模块的自述文档(API docs)等 Sphinx 使用 reStructuredText...请输入以下设置的值(只需按Enter 接受默认值(如果在括号中给出)。 选定的根路径:。 您有两个选择来放置Sphinx输出的构建目录。...\make 文件类型 运行Sphinx v3.3.0 制作输出目录...完成 建立[mo]:过时的0个po文件的目标 建立[html]:过时的1个源文件的目标 更新环境:[新配置]添加了1个,更改了0...HTML页面位于build \ html中。 编译过后的目录是这样的 里面有三个html文件,都打开看看 以上是打开的三个网页文档 那我写完就想自动预览文档,咋办?

    1.6K20

    ReStructuredText 文档编写全攻略编写文档说明

    将 rst 格式的文件转换成 html 等格式的文件,方便托管在服务器上,进行访问,依赖的工具有:sphinx sphinx 介绍 sphinx 是一个基于python的文档生成工具,许多 python...优势在于: 输出格式丰富 文档组织结构清晰 语法高亮 最大的优势是可以像管理代码一样的管理文档:即文档即代码 安装:默认需要提前安装 python pip install sphinx or easy_install...,遇到问题再针对性的查找: 比如:如何在文档内提供下载链接,点击链接就能进行下载 gitbook的使用 Gitbook 和 sphinx 有很多相似之处: 自动的生成文档 使用标记语言:gitbook...sphinx_rtd_theme html_theme = "sphinx_rtd_theme" html_theme_path = [sphinx_rtd_theme.get_html_theme_path...()] # or html_theme = "sphinx_rtd_theme" # or html_theme = "sphinx_rtd_theme" html_theme_path =

    5.9K31

    用正确的姿势开源Python项目

    MANIFEST.in ├── README.rst ├── setup.cfg ├── setup.py └── test_httpmultipart.py 14 directories, 21 files 这个目录中包含了我的...不过我推荐使用SPHINX,它是用Python写的工具,使用了一种叫做reStructuredText的语法编辑,可以对多个文本文件重编,可以输出成HTML或者PDF等格式。...#(这里有一系列的提问,进行初始化) 编译 $ make html #(如果按照默认配置生成的Makefile的话,这样就可以编译出html了) Sphinx的使用还有很多值得说的地方,推荐两个资料...还有很关键的一点是Sphinx有autodoc和automodule的扩展, 可以从代码中提取出文档,与代码直接进行关联。提供一个例子可以方便的在文档和源码中进行跳转。...Github和Bitbucket仓库的导入,同时也可以很好的和Travisci集成,在上面我们的.travis.yml文件中,在最后一项after_success中,我们就配置了对Coveralls的支持

    90230

    下载量过亿的 15 个 Python 库

    在 Python 3 中,输出时需要使用 print() 函数,而 Python 2 中是使用不带括号的 print。因此,使用 six.print_() 可以同时支持两种语言。...使用 pip 从 Python Package Index和其他仓库(如本地镜像或包含私有软件的自定义仓库等)安装软件包不费吹灰之力。...Pip 最大的好处就是它可以安装一系列包,通常会放在 requirements.txt 文件中。该文件还可以指定每个包的详细版本号。绝大多数 Python 项目都会包含这个文件。...我们来看看 idna 是什么意思: IDNA 是处理包含非 ASCII 字符的域名的规则。但原始的域名不是已经支持非 ASCII 字符了吗?那么问题何在?...12. docutils:5.08亿次下载 Docutils 是一个模块化系统,用于将纯文本文档转换成其他格式,如 HTML、XML 和 LaTeX等。

    17210

    如何调试Android Framework?

    如何在正确的地方下断点 「正确的地方」包含两个含义:首先,调试是以进程为单位进行的,如果你需要调试运行在进程A 中的代码,却把debugger attach到了B进程,那么这个断点压根儿就是牛头不对马嘴...如何在合适的进程下断点?...学习指南 如何在对应的代码处下断点?...如果这部分类在sdk中没有导入(比如@hide)的,又或者压根儿不是SDK的类,(比如系统app的源码)那应该怎么办呢?直接导入这部分代码即可。...根据上面的分析,我们首先得知道「系统设置˜」运行在哪一个进程,通常情况下进程名字就是包名;我们查出设置的包名即可,而包名是在源码的AndroidManifeist中声明的,因此,我们找到「系统设置」这个程序的源码即可

    2.8K22

    Linux下的shell命令笔记

    image.png 在当前例子中使用到 grep查找命令, 如:grep -n bin 01.sh 常用的 grep 选项有: -c 只输出匹配行的个数。...-l 查询多文件时只输出包含匹配字符的文件名。 -n 显示匹配行及行号。 -s 不显示不存在或无匹配文本的错误信息。 -v 显示不包含匹配文本的所有行。...n "48" test.txt 显示行号;显示匹配字符“48”的行及行号,相同于 nl test.txt |grep 48) grep -v "48" test.txt 显示输出没有字符“48”所有的行...,重复出现2次或3次所有行 grep -n "^$" test.txt 显示输出空行的行号 ls -l |grep "^d" 如果要查询目录列表中的目录 同:ls -d * ls -l |grep..."^d[d]" 在一个目录中查询不包含目录的所有文件 ls -l |grpe "^d…..x..x" 查询其他用户和用户组成员有可执行权限的目录集合 输出到文件中 #!

    3.7K60

    Go:log库中的文件行号显示实现原理探讨

    Go语言的log包通过使用Lshortfile和Llongfile标志,提供了显示日志记录所在文件及其行号的功能。本文将详细讲解log包中显示文件行号的实现原理,并剖析相关的源码。...这些函数可以向标准错误输出(stderr)或者指定的输出位置记录日志信息。 文件行号显示实现 关键标志 在log包中,通过设置不同的标志,可以控制日志记录的格式。...= 0 { *buf = append(*buf, prefix...) } } 在这里,如果设置了Lshortfile标志,会提取文件路径中的短文件名(即文件名不包含路径部分),然后将文件名和行号格式化后追加到日志消息中...log.Ltime | log.Lshortfile) log.Println("This is a log message with file name and line number") } 运行上述代码,输出的日志将包含日期...结论 通过对log包源码的分析,我们了解了如何通过Lshortfile和Llongfile标志实现日志记录中的文件名和行号显示。

    27010
    领券