首页
学习
活动
专区
工具
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 <option...价值发短信指定要发送到服务器选项值倍数倍数通过使用,可以一次选择多个属性选项。名字名字它用于在下拉列表定义名称必填必填通过使用此属性,用户在提交表单之前选择一个值。...大小数此属性用于定义下拉列表可见选项数量价值发短信指定要发送到服务器选项值自动对焦自动对焦它用于在页面加载时自动获取下拉列表焦点例以下示例在HTML下拉列表添加一个选项 <!

25420

何在 iOS 源码包含图片?

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

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

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

    2.9K20

    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,就可以记录学习笔记了,示例如下: # 单例模式 这是单例模式 ## 二级标题

    1.9K30

    围绕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

    16910

    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

    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.8K61

    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.7K31

    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

    用正确姿势开源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支持

    89830

    下载量过亿 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等。

    16010

    如何调试Android Framework?

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

    2.7K22

    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标志实现日志记录文件名和行号显示。

    16910

    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

    windows7使用Sphinx+PHP+MySQL详细介绍

    摘要 由于业务需要,需要做类似淘宝商城商品检索功能,对于数据量很大情况,MySQL 查询效率损耗很大,需要使用专门索引引擎进行搜索查询,实现功能,对于和 PHP 和 Mysql 结合索引引擎...php/ext 目录下 2.修改 php.ini 配置文件 # 在 Dynamic Extensions 列表添加php_sphinx扩展 extension=php_sphinx.dll 修改后重启...apache 服务 3.在 phpinfo.php 输出信息查看 sphinx 扩展是否安装成功 sphinx sphinx support enabled Version...默认 sphinx 返回数据包含 id 信息是和数据记录信息是相关,所以我们需要通过 id 到数据库查询相关信息。...empty($filterkey)) { // 只在status==1记录检索 $filterRes = $sphinx->SetFilter($filterkey,

    2.2K10
    领券