标记扩展
项目描述
复用扩展
<nav class="contents" id="table-of-contents">目录
</nav>概述
该项目仍处于 alpha 阶段。期待向后兼容的重大变化。
将ditaa和PlantUML指令添加到reStructuredText,并希望 将来可以使用Markdown。 muextensions通过为 Hovercraft 等项目提供插件来做到这一点!和Pelican,并简化了向其他Docutils项目注册指令的过程。
它允许添加一个reStructuredText块,如下所示:
.. ditaa-image::
+---------------+ /---------------------+
| +-----------+ | +------------+ |+---+ +----+ /---+|
| | ..dita:: | +--->+muextensions+--->+| +->+{io}+-> + ||
| | ~~~~~~~ | | | {io}| ||{d}| +----+ | ||
| | ~~~~~~~ | | +------------+ |+---+ +---/|
| +-----------+ | | |
| {d}| | |
+---------------+ +---------------------/
并将其作为图像嵌入到Docutils生成的文档中:
在PlantUML的情况下,像这样的块:
.. plantuml-image::
skinparam monochrome true
skinparam shadowing false
client -> front_end
front_end -> back_end
back_end -> front_end
front_end -> client
将呈现为:
用法
先决条件
安装PlantUML并在您的路径中安装一个名为plantuml的包装脚本以执行它以获得PlantUML支持。该项目的contrib/scripts/plantuml中包含一个示例包装脚本。
鹈
muextensions在 muextensions.contrib.pelican中为Pelican提供了一个插件。
如果一切配置正确,将muextensions集成到 Pelican中应该很简单:
在安装Pelican的 Python 虚拟环境中安装muextensions :
pip install muextensions在pelicanconf.py中将 'muextensions.contrib.pelican'附加到PLUGINS中 :
PLUGINS = ['muextensions.contrib.pelican',]
有关如何在Pelican中配置插件的更多信息,请参阅其文档中的 如何使用插件部分。
气垫船!
支持气垫船!目前正在等待拉取请求 regebro/hovercraft#196 ,它将--directive-plugin参数添加到hovercraft命令。引入--directive-plugin的源代码可以在 指令分支下的pedrohdz/hovercraft中找到。
这是一个查看muextensions的快速示例,请确保首先完成 先决条件。我们将使用 docs/examples/hovercraft/中的演示演示文稿。
cd docs/examples/hovercraft/
python3.7 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install muextensions \
https://github.com/pedrohdz/hovercraft/archive/directives.zip
hovercraft --directive-plugin muextensions.contrib.hovercraft demo.rst
在网络浏览器中打开http://localhost:8000/以查看气垫船! 介绍。
其他 docutils 项目
muextensions reStructuredText指令可以通过 muextensions.connector.docutils中的Docutils连接器添加到任何Docutils项目中 。
from pathlib import Path
from muextensions.connector.docutils import plantuml, ditaa
output_path = Path('.')
plantuml.register(output_path)
ditaa.register(output_path)
muextensions.connector.docutils中的plantuml和ditaa register()函数 处理注册reStructuredText 指令,如文档Docutils的注册指令 部分所述。
发展
开发设置:
git clone git@github.com:pedrohdz/muextensions.git
cd muextensions
python3.5 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .[ci,test]
通过运行tox确保您有一个良好的基线。在venv(Python 虚拟环境)中执行tox会在测试期间导致pip相关错误,要么通过deactivate命令退出venv ,要么从新终端执行tox 。
deactivate
tox
source .venv/bin/activate
要执行单元测试:
pytest
执行和查看单元测试代码覆盖率:
pytest --cov-report=html --cov
open htmlcov/index.html
要运行集成测试,假设系统上同时安装了ditaa和plantuml,请使用--run-integration选项。要保存集成测试的输出以供检查,请添加 --save-integration-output-to选项:
pytest --run-integration
pytest --run-integration --save-integration-output-to=./tmp
贡献
贡献时,请在提交拉取请求之前记住以下几点:
确保毒物检查完成且没有失败。
在进行代码更改时,添加相关的单元测试。
如果修复错误,请尝试添加回归测试。它应该在修复应用之前失败,然后通过。
附录
待办事项清单
[X] 添加鹈鹕支持。
[X] 添加对 Ditaa 的支持。
[-] 传播这个词:
[-] 尝试在getpelican/pelican-plugins ( getpelican/pelican-plugins#1165 ) 中列出它。
[-] 尝试在stathissideris/ditaa ( stathissideris/ditaa#55 ) 中列出它。
[-] 完成向气垫船添加插件支持!(regebro/hovercraft#196)。
[ ] 为以下各项添加 GitHub 票证。
[ ] 添加缓存。
[ ] 添加一个plantuml-text指令。这应该通过plantuml -ttxt生成和嵌入 ASCII 艺术。
[ ] 添加一个ditaa-text指令。这应该将 ASCII 艺术直接作为代码块嵌入指令内容中。
[] 添加从figure继承的ditaa-figure和plantuml-figure指令 。
[ ] 为高管添加 REST 调用程序,以进一步加快速度。
[ ] 完成删除已弃用的uml指令。
[ ] 添加 Markdown 支持。
参考
去做
项目详情
muextensions -0.0.18.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 3dd6757e63b04d3e43ac15d52fda7667aaf83144b1aa5ffc2f98b45b9652c6c4 |
|
| MD5 | e48fa2bb2d139672ca6ef3932d397bce |
|
| 布莱克2-256 | be3c378696a62418a87e0de940cfcc0b75ae57bb9121807d2646180667f21978 |