Python的MermaidJS标记构建器
项目描述
Python MermaidJS标记构建器
MermaidJS标记构建器帮助编写MermaidJS标记。
MermaidJS是一个非常棒的产品,但其语法非常易于阅读和编写(与graphviz相比)。
例如,流程图上的节点或箭头形状在ASCII码中很容易看到,但不容易即兴编写。
此库应该有助于编写mermaidJS标记,然后可以在Markdown/github或playground中渲染。
注意:此为正在进行中的工作
待办事项列表中的下一个任务
- 流程图的样式(添加类和样式)
- "带有前缀的克隆"(创建节点或子图的克隆,但添加前缀到ID,以避免冲突)
- 类图
- 序列图的组
- 打包用于分发
示例
流程图
未指定类型版本
chart = (Chart(title='test1')
.add_node('user')
.add_node('client')
.add_node('server')
.add_node('database')
.add_link_between('user', 'client')
.add_link_between('client', 'server')
.add_link_between('server', 'database'))
OOP(更复杂的版本)
chart = Chart(title='Test', direction=ChartDir.TB)
node1 = Node(title="this is my node", id='my-node', shape=NodeShape.HEXAGON)
node2 = Node(title="this is my second node")
chart.add_node(node1).add_node(node2)
link = Link(src=node1.get_id(), dest=node2.get_id(), text='this is my link')
chart.add_link(link)
subgraph = Subgraph(title='subgraph', direction=ChartDir.LR)
subgraph.add_node(Node(title='i am a node inside subgraph'))
subgraph2 = Subgraph(title='subgraph2', direction=ChartDir.LR)
sn1 = Node(title='subnode 2')
sn2 = Node(title='subnode 3')
(subgraph2
.add_node(sn1)
.add_node(sn2)
.add_link(Link(src=sn1, dest=sn2, text='link between subnodes')))
subgraph.add_subgraph(subgraph2)
chart.add_subgraph(subgraph)
序列图
diagram = SequenceDiagram()
client = Participant(id='C', label='Client')
server = Participant(id='S', label='Server')
database = Participant(id='D', label='Database')
(diagram
.add_participant(client)
.add_participant(server)
.add_participant(database)
.add_message(Message(src=client, dest=server, text='HTTP Request', activation_mode=ActivationMode.ACTIVATE))
.add_message(Message(src=server, dest=database, text='SQL Query'))
.add_message(Message(src=database, dest=server, text='Result', arrow=ArrowType.DOTTED_LINE_NO_ARROW))
.add_message(Message(src=server, dest=client, text='HTTP Response', activation_mode=ActivationMode.DEACTIVATE))
.add_note(Note(participants=[client], text='This is a note', position=NotePosition.LEFT_OF)))
有关更多示例,请参阅flowchart_test.py
和sequence_diagram_test.py
。
开发
此库没有任何依赖。
python3 -m venv venv
source venv/bin/activate
pip3 install -e .
只需使用python3.5+,因为它使用types
和Union
运行测试
pytest
预览 - 将结果粘贴到https://www.devtoolsdaily.com/diagrams/mermaidjs/playground/
项目详情
关闭
mermaid_builder-0.0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3016ef25668bcb28de4a4746aabdfaa531c06a7e7f89fa1596e6a274c7c73705 |
|
MD5 | 3625aded224a524ca7a463921d2ba3f1 |
|
BLAKE2b-256 | 6457d83e7e62de05adbba2476b7596ed4a253907a4f4c19be74c40e7ce2944dc |
关闭
mermaid_builder-0.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | decd7d25268bda7a520ce0cab7873e50fac1e33b41e5a1dd7daec5c0ae3c7ffb |
|
MD5 | 2b0802d684c36be0140156b091296f4e |
|
BLAKE2b-256 | 5f4e7480454b7ee7de5c2c8561e83b4564196ecf1c9847e893dfbb51032e5a3b |