Sphinx扩展提供从Sphinx页面呈现上下文中的“git log”获得的数据。

sphinxcontrib-gitloginfo的Python项目详细描述


sphinxcontrib gitloginfo

注意•进行中的工作•关注•在制品• 注意•进行中的工作•关注•在制品• 注意•进行中的工作•注意•在制品

概述

Sphinx doc扩展,提供从页面呈现上下文中的git日志获取的信息。在

许可证

麻省理工学院执照

下载和安装

pip install sphinxcontrib-gitloginfo

详情

(在制品-待改进)

confdir是包含配置文件配置 文件。在

此扩展需要一个可选的建筑设置.json文件在confdir中。 它至少应该包含一个t3docdir的值,比如 {“t3docdir”:“Documentation”}{“t3docdir”:“docs”}t3docdir是从项目开始到docroot文件夹的相对路径 项目内部。斯芬克斯期待这样一个文件夹 以下文件(包括和参考文献除外)。如果文件丢失 t3docdir='Documentation'作为默认值。在

此扩展要求强制gitloginfo.json文件在confdir中。没有 此文件的扩展名无效。预期结构为:

^{pr2}$

在这个例子中,从repo start到project start的相对路径是 typo3/sysext/dashboard。“filedata”是一个字典(关联数组) 从git log获得的filename和timestamp-commit\u哈希对。 时间戳被认为代表UTC。在

日期格式

Sphinx知道一个配置选项html\u last\u updated\u fmt。这串是 用于日期格式。默认值为“%b%d,%Y%H:%M”。在

页面呈现

如果要呈现的页面具有sourcename页面源代码后缀然后在filedata中查找,看看我们是否 文件的时间戳提交哈希。在

在本例中,我们试图获取或猜测并组装 提交url_模板string。在

程序: 首先查找提交url_模板。 它应该是提交的url,实际的提交哈希由替换 %(提交哈希)s。示例:

https://github.com/user/repo/commit/%(commit_hash)s
https://git.typo3.org/user/repo/commit/%(commit_hash)s
https://bitbucket.org/user/repo/src/master/commits/%(commit_hash)s
https://...gitlab.../user/repo/-/commit/%(commit_hash)s

如果不给你找 主题项目存储库。如果未给出,请查找主题项目问题。如果 如果没有,则我们没有提交url,无法链接到该url。在

页面呈现上下文

如果可用,这些值将添加到Jinja2页面呈现上下文中:

t3ctx['commit_hash']
t3ctx['last_modified']
t3ctx['last_modified_isoformat']
t3ctx['commit_url']

如何生成'gitloginfo.json'

创建'gitloginfo.json'文件不是扩展名的一部分。这个 降低复杂性并帮助加速Git操作。 git-restore-mtime是一个 几乎能满足我们需要的工具。它是在GPL许可下分发的。 请参阅文件夹git restore mtime中代码中的初始注释 这个存储库。在

git restore mtime/git还原mtime-原始.py
这是原始文件: git-restore-mtime/git-restore-mtime-ORIGINAL.py
git restore mtime/git还原mtime-修改过的.py

按如下方式运行修改后的版本。–test实际上阻止文件 正在获取mtime值集。相反,我们只寻找输出:

cd path/to/repo/and/project/therein
python git-restore-mtime-modified \
   --test
   --destfile-gitloginfo=path/to/temp-gitloginfo.json
git restore mtime/示例-gitJSON.loginfo
这就是输出文件的外观。

用法

看到了吗用法.rst在

开发

这个包的初始框架是用cookiecutter和 利用pbr

cookiecutter https://github.com/sphinx-contrib/cookiecutter

此版本保存在分支“using pbr”中。在

然后我们不再使用pbr,转而使用更常规的设置.py 配置。在

历史

下一个版本

1.0.0版(2020-05-06)

  • 切换自设置.py使用“pbr”来实现更标准的方法
  • 创建代码
  • 添加git还原时间
  • 创建文档

版本0.1.0(2020-05-01)

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

推荐PyPI第三方库


热门话题
java如何在hazelcast中从地图中取出第一把未锁定的钥匙?   将个人记录从一个数据库复制到另一个数据库Oracle和Java   java Spring boot招摇过市404   ArrayList中的数组问题,Java   例外我保存了文本1。txt文件位于与Algo相同的文件夹中。java文件在中。但我得到了一个Filenotfoundexception,我找不到任何原因   雅加达ee如何解决java中“字符串或二进制数据将被截断”的问题?   Java中的swing遍历数组列表   javascript我在Ext js中有一个表,我需要在<td>标记中编写一些逻辑   java Servlet过滤器是否可以检索其url路径?   java GXT如何将网格过滤器参数添加到请求URL(获取参数)?   java无法获取maven安装路径   安卓 java。ServerSocket中的lang.nullpointerexception。接受   java jquery数据表一个数据表中的最大列数   java Spring数据jpa,jpa替换DTO对象的字符串的正向返回列表   java为什么增量后操作符在此代码中无法增量“a”?   Java包装集合   java匹配包含子域的URL   java获取计算机ip时,显示为0.0.0.0   java使用JGit从Git存储库中检出特定版本