用于生成具有版本名称和url的json文件的工具。

versjon的Python项目详细描述


https://img.shields.io/appveyor/ci/SteinwurfApS/versjon/master.svg?style=flat-square&logo=appveyorhttps://travis-ci.org/steinwurf/versjon.svg?branch=master

它是什么:

  • 用于链接项目Sphinx的多个版本的工具 无需特殊服务,如阅读docs.org. 在
  • 如果您将文档作为静态站点构建和宿主,则非常有用。在

工作原理:

  • versjon通过在生成的 文档。在

示范

demo.gif

安装

  1. 使用pip安装versjon工具:

    python -m pip install versjon
    

构建文档

  1. 将文档的所有不同版本构建到一个公共 目录。例如,生成site目录中的所有文档:

    ^{pr2}$

    versjon将使用Sphinx中指定的version 配置:https://www.sphinx-doc.org/en/master/usage/configuration.html 如果在conf.py中指定了version编号,则可以省略 Sphinx构建的-D version选项。在

  2. 在公共目录中运行versjon,就完成了。在

索引页

默认情况下,versjon将生成一个index.html文件,并重定向到 最新的稳定版本,或者如果没有semver版本,则第一个分支, 大概是主人吧。 您可以使用--no-index选项禁用此行为。在

稳定指数

默认情况下,versjon将在文档根目录中生成一个名为 stable。此文件夹将包含一个index.html,并重定向到 最新稳定版本。可以使用禁用此行为 --no-stable-index选项。在

内置模板(注入)

versjon附带了两个内置模板,它们被注入 在生成的HTML中:

  • head.html:此模板被注入到的<head>标记中 生成的HTML页面。在此模板中,您可以访问以下内容 变量:generalbuildpage。在
  • header.html:此模板在^{tt25}的开头被注入$ 标签。在此模板中,您可以访问以下变量: generalbuildpage。在
  • footer.html:此模板在^{tt25}的末尾被注入$ 标签。您可以访问此模板中的以下变量: generalbuildpage。在
  • index.html:此模板用于生成index.htmlroot文件夹中。在此模板中,您可以访问 以下变量:generalpage。在
  • stable_index.html:此模板用于生成index.htmlstable文件夹中。在此模板中,您可以访问 以下变量:generalpage。在

定制

您可以提供自己的模板来生成版本选择器等

最简单的方法可能是复制一个默认的HTML模板,例如。, src/templates/footer.html1并调整它。在

如果你想“注入”一个自定义页脚。创建一个名为^{tt29}的文件$ 并将其放在项目中的某个地方,例如,mydocs/footer.htmlnow invoke versjon,带--user_templates参数,例如:

./versjon --user_templates=mydocs

verjson将优先在用户路径中查找模板。如果没有 发现它将回退到内置的。在

如果要禁用内置模板,只需使用 与要禁用的模板同名,例如header.htmlif 模板为空,不会插入任何内容。在

context

在模板中,您可以访问versjon收集的信息。基于 这样就可以生成所需的HTML。在

下面列出了各种变量。在

一般变量

  • semver:具有有效语义名称的版本dict列表 版本号,以及此版本中可用文件的列表。在
  • other:具有非语义版本名称的版本dict列表 编号,以及此版本中可用文件的列表。 通常,other列表将包含b牧场。在
  • stable:如果我们有任何语义版本,则释放stable版本 将是semver列表中的最新版本。在
  • docs_path:字典将版本映射到版本的生成文件夹 相对于文档根目录。在

构建变量

  • current:当前版本名
  • is_semver:如果当前版本遵循语义版本控制,则为True

页面变量

  • page_root:从给定HTML到文档根的相对路径 第页。 将page_rootdocs_path中的路径连接起来将得到一个 从一个HTML页面到特定的根文件夹的有效相对链接 版本。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?