Skip to main content

标记扩展

项目描述

代码气候 构建状态 编解码器 PyPI 版本

复用扩展

<nav class="contents" id="table-of-contents">

目录

</nav>

概述

该项目仍处于 alpha 阶段。期待向后兼容的重大变化。

ditaaPlantUML指令添加到reStructuredText,并希望 将来可以使用Markdownmuextensions通过为 Hovercraft 等项目提供插件来做到这一点Pelican,并简化了向其他Docutils项目注册指令的过程。

它允许添加一个reStructuredText块,如下所示:

.. ditaa-image::

    +---------------+                      /---------------------+
    | +-----------+ |    +------------+    |+---+  +----+   /---+|
    | | ..dita::  | +--->+muextensions+--->+|   +->+{io}+-> +   ||
    | |   ~~~~~~~ | |    |        {io}|    ||{d}|  +----+   |   ||
    | |   ~~~~~~~ | |    +------------+    |+---+           +---/|
    | +-----------+ |                      |                     |
    |            {d}|                      |                     |
    +---------------+                      +---------------------/

并将其作为图像嵌入到Docutils生成的文档中:

简单的ditaa示例

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的包装脚本以执行它以获得PlantUML支持。该项目的contrib/scripts/plantuml中包含一个示例包装脚本。

要获得ditaa支持,请按照ditaa文档的“获取 ”部分中的说明进行安装。

muextensionsmuextensions.contrib.pelican中为Pelican提供了一个插件。

如果一切配置正确,将muextensions集成到 Pelican中应该很简单:

  1. 在安装Pelican的 Python 虚拟环境中安装muextensions

    pip install muextensions
  2. 在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中的plantumlditaa 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

要运行集成测试,假设系统上同时安装了ditaaplantuml,请使用--run-integration选项。要保存集成测试的输出以供检查,请添加 --save-integration-output-to选项:

pytest --run-integration
pytest --run-integration --save-integration-output-to=./tmp

贡献

贡献时,请在提交拉取请求之前记住以下几点:

  • 确保毒物检查完成且没有失败。

  • 在进行代码更改时,添加相关的单元测试。

  • 如果修复错误,请尝试添加回归测试。它应该在修复应用之前失败,然后通过。

  • 该项目符合Semantic Versioning 2.0.0

附录

待办事项清单

  • [X] 添加鹈鹕支持。

  • [X] 添加对 Ditaa 的支持。

  • [-] 传播这个词:

  • [-] 完成向气垫船添加插件支持!(regebro/hovercraft#196)。

  • [ ] 为以下各项添加 GitHub 票证。

  • [ ] 添加缓存。

  • [ ] 添加一个plantuml-text指令。这应该通过plantuml -ttxt生成和嵌入 ASCII 艺术。

  • [ ] 添加一个ditaa-text指令。这应该将 ASCII 艺术直接作为代码块嵌入指令内容中。

  • [] 添加从figure继承的ditaa-figureplantuml-figure指令 。

  • [ ] 为高管添加 REST 调用程序,以进一步加快速度。

  • [ ] 完成删除已弃用的uml指令。

  • []查看https://pypi.org/project/pbr/

  • [ ] 添加 Markdown 支持。

参考

  • 去做

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

muextensions-0.0.18.tar.gz (13.8 kB 查看哈希

已上传 source