kogral/templates/export/graph.json.tera

50 lines
2.1 KiB
Plaintext
Raw Normal View History

2026-01-23 16:12:50 +00:00
{
"graph": {
"name": "{{ graph.name }}",
"version": "{{ graph.version }}",
"description": "{{ graph.description | escape }}",
"created": "{{ graph.created }}",
"modified": "{{ graph.modified }}",
"metadata": {{ graph.metadata | json_encode | safe }}
},
"nodes": [
{% for node in nodes -%}
{
"id": "{{ node.id }}",
"type": "{{ node.type }}",
"title": "{{ node.title | escape }}",
"created": "{{ node.created }}",
"modified": "{{ node.modified }}",
"content": "{{ node.content | escape }}",
"tags": [{% for tag in node.tags %}"{{ tag | escape }}"{% if not loop.last %}, {% endif %}{% endfor %}],
"status": "{{ node.status }}",
"relates_to": [{% for rel in node.relates_to %}"{{ rel }}"{% if not loop.last %}, {% endif %}{% endfor %}],
"depends_on": [{% for dep in node.depends_on %}"{{ dep }}"{% if not loop.last %}, {% endif %}{% endfor %}],
"implements": [{% for impl in node.implements %}"{{ impl }}"{% if not loop.last %}, {% endif %}{% endfor %}],
"extends": [{% for ext in node.extends %}"{{ ext }}"{% if not loop.last %}, {% endif %}{% endfor %}]{% if node.project %},
"project": "{{ node.project }}"{% endif %}{% if node.metadata %},
"metadata": {{ node.metadata | json_encode | safe }}{% endif %}
}{% if not loop.last %},{% endif %}
{% endfor %}
],
"edges": [
{% for edge in edges -%}
{
"from": "{{ edge.from }}",
"to": "{{ edge.to }}",
"type": "{{ edge.edge_type }}",
"strength": {{ edge.strength }},
"created": "{{ edge.created }}"{% if edge.metadata %},
"metadata": {{ edge.metadata | json_encode | safe }}{% endif %}
}{% if not loop.last %},{% endif %}
{% endfor %}
]{% if stats %},
"stats": {
"total_nodes": {{ stats.total_nodes }},
"total_edges": {{ stats.total_edges }},
"nodes_by_type": {{ stats.nodes_by_type | json_encode | safe }},
"nodes_by_status": {{ stats.nodes_by_status | json_encode | safe }}{% if stats.top_tags %},
"top_tags": {{ stats.top_tags | json_encode | safe }}{% endif %}
}{% endif %}
}