叶元命令,用于绘制项目部分的方案。

foliantcontrib.project-graph的Python项目详细描述


项目图

叶元命令,用于绘制项目部分的方案。此扩展使用由folinatcontrib.meta扩展收集的元信息。

Graphviz用于生成方案。

libgraphviz-dev需要安装在您的计算机上。

安装

$ pip install foliantcontrib.project_graph

用法

首先,需要指定项目中文档之间的所有关系。为此,请将relates部分添加到文档的元数据中:

---relates:-tests/test1.md-specs/spec.md---

relates部分中,需要指定与当前文档相关的文档列表。您可以指定连接文档的相对路径或其ID(如果相应文档的meta部分分配了ID):

# index.md---id:index---
# glossary.md---relates:-index---

指定所有关系后,运行draw命令:

$ foliant draw

scheme将出现在文件project_graph.png

配置

projectgraph有许多选项:

project_graph:directed:falsefilename:project_graph.pnggv_attributes:node:shape:rectcolor:greenedge:arrowhead:opengraph:ranksep:1main_relation:penwidth:2

directed :指定要定向或不定向的图形。默认值:false

filename :图形输出文件名。默认值:project_graph.png

gv_attributes :具有图形全局属性的字典。每个字典都应该存储在graphviz实体键(nodeedge,或graph)或类型键下。所有具有此类型的节或关系都将获得这些属性。

如果只想调整一个节点的外观,请在文档的meta中添加一个gv_attributes选项:

---id:indexrelates:-glossarygv_attributes:color:greenshape:circle---

还可以更改连接节点的边的外观。为此,可以使用关系的详细语法。

关系详细语法

如前所述,要指定关系,您需要添加一个relates参数,并包括一个相关文档ID的列表\文件路径:

---relates:-doc1.md-MAIN_SPEC---

但也有一个详细的语法用于指定关系,如下所示:

---relates:-rel_path:doc1.mdtype:details-rel_id:MAIN_SPECgv_attributes:color:#CCCCCCarrowhead:none---

在详细的语法中,每个关系不是一个字符串,而是一个映射。这一次,如果按路径指向文档,则必须显式使用rel_path键;如果按ID指向文档,则必须使用rel_id键。

还可以通过添加type键来指定关系类型。现在,这个键的值只转到边标签,但是很快您就可以用一种类型更改所有边的外观。

最后,可以通过调整gv_attributes键中的graphviz属性来覆盖此特定边的外观。

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

推荐PyPI第三方库


热门话题
java是地图。size()始终与map相同。entrySet()。大小()   java如何使用全局二级索引的分区键更新项   java AutoCompleteTextView背景/前景颜色   java线程、MediaPlayer、ProgressDialog和上下文问题   java为什么我不能制作这个minecraft mod?   java安卓如何从片段调用的Activity类启动新活动   java从一个数据库读取值并将其写入另一个数据库   java如何在运行时调整log4j级别?   shell停止将命令行参数中的通配符扩展为Java   java调用外部类变量是线程安全的吗?   groovy无法通过在Wildfly中使用Camel CDI在Java中执行Grrovy脚本来解决类问题   java如何修复NoSuchMethodError:“void freemaker”。样板配置<无法排除旧版本时初始化>(freemarker.template.Version)?   Java串行通信IllegatStateException端口已关闭   java禁止创建。兽人。crc文件   java Servlet会话失效   java如何在arraylist中计算最小距离   java JSlider可调整高分辨率屏幕的大小   java HashMap有containsValue方法,但没有getValue方法