我可以使用什么技术或工具在RestructuredText中绘制架构图?
我不想为简单的东西导入 png、jpeg、..。
我正在寻找的是一个RestructuredText等价于 Latex 中的TikZ来绘制,例如state machine。它极大地加快了文档编写速度。
我使用 rst2pdf 来生成我的文档。
我可以使用什么技术或工具在RestructuredText中绘制架构图?
我不想为简单的东西导入 png、jpeg、..。
我正在寻找的是一个RestructuredText等价于 Latex 中的TikZ来绘制,例如state machine。它极大地加快了文档编写速度。
我使用 rst2pdf 来生成我的文档。
reStructuredText 没有内置的东西可以实现这一点。就个人而言,我只会将您需要的图像作为图像包含在内。ReStructuredText 被设计为人类可读的,并且在 reStructuredText 文档中包含一些额外的特定于图形的标记语言在某种程度上违背了这一点(在我看来)。我会将绘制图形所需的标记保留在与 reStructuredText 文件相同的目录中的单独文件中,并让脚本自动生成图像,然后将其包含在您的文档中。
但是,reStructuredText 当然是可扩展的,因此您可以编写自己的自定义指令来绘制图表,类似于siafoo.net。请注意,我从未使用过它,它看起来像是一个不错的起点。
我最终得到了graphviz。为了简单起见(没有sphinx),我创建了一个将 dot 编译为 svg 的 Makefile:
figures/main_components.dot
main.rst
Makefile
生成文件:
generate_figures:
for f in $$(find . -iname *.dot); do \
f_dir=$$(dirname $$f); \
f_name=$$(basename $$f); \
f_name="$${f_name%.*}";\
dot -Tsvg $$f -o $$f_dir/$$f_name.svg; \
done;
在 main.rst 中,我使用 svg-s。
.. figure:: figures/main_components.svg
:scale: 50%