digraph_string = `
#
# KTS npm packages
{ node [fillcolor=lightgrey class=type_kxfm]
cli jira2dot dot2svg visco
}
#
# npmjs-hosted packages
{ node [fillcolor=grey class=type_npm]
dot2svg_npm visco_npm
graphviz [label="hpcc graphviz"]
}
# documents
{ node[shape=note class=type_doc]
node [style=filled]
svg_doc
dot_doc
}
#
# META
{ node [style=filled class=type_meta]
global_page project_page dashboard_gadget kts_notebook forge_environment jira_module notebook
forge_deployment -> jira_instance [label=install]
jira_instance_2
static_webpage
}
#
# other nodes
Maru_Renewables [ URL="https://www.goegetap.name/Maru-Renewables/" ]
graph_js_css [label="graph.(js|css)"]
knowhere [URL="https://knowhere.atlassian.net/"]
gordon_smith [URL="https://github.com/GordonSmith"]
Graphviz [URL="https://graphviz.org/"]
ktslib_o [ URL="https://observablehq.com/@bogo/kxfm" label="@bogo/kxfm" tooltip="KTS Library"]
shell_scripts [label="bash + jq" style="rounded,filled,dashed"]
this_notebook [tooltip="kts-js architecture"]
#
# Clusters
subgraph cluster_observable {
this_notebook kts_notebook notebook observablehq ktslib_o
}
subgraph cluster_jira {
forge_faas forge_webapp global_page global_value_map project_page project_value_map dashboard_gadget custom_value_map forge_environment forge_deployment jira_module jira_instance knowhere kts_forge_app index_html
}
subgraph cluster_jira_2 {
jira_instance_2 [label=jira_instance tooltip="as data source, not necessarily with KTS-4-Jira app deployed"]
}
subgraph cluster_standalone {
static_webpage Maru_Renewables
}
subgraph cluster_javascript {
cli jira2dot dot2svg dot2svg_npm graphviz fs visco visco_npm graph_js_css node_js
}
#
# edges
#
{fs jira2dot dot2svg node_js} -> cli -> {svg_doc dot_doc}
dot_doc -> svg_doc
svg_doc -> static_webpage [label=deploy]
dot_doc -> kts_notebook [label=attach style=dotted labeltooltip="optional"]
gordon_smith -> graphviz -> {cli index_html ktslib_o}
dot2svg -> forge_webapp
visco -> index_html -> forge_webapp
jira_instance_2 -> jira2dot -> forge_faas
{forge_faas forge_webapp} -> kts_forge_app -> {global_value_map project_value_map custom_value_map}
kts_forge_app -> forge_deployment [label=depoy]
forge_environment -> forge_deployment
Graphviz -> graphviz [label=transpile]
dot2svg -> dot2svg_npm
visco -> visco_npm -> svg_doc
{dot2svg_npm visco_npm} -> ktslib_o -> kts_notebook
observablehq -> notebook
Graphviz -> shell_scripts
#
# sequence edges
{ edge [arrowhead=onormalonormal penwidth=1 color=""]
graph_js_css -> visco [label=refactor]
shell_scripts -> kts_js [label=port]
}
#
# contains edges
{ edge [arrowhead=diamond]
kts_js -> {cli dot2svg jira2dot}
}
#
# realization edges
{ edge [color=blue penwidth=1 arrowhead=onormal]
global_page -> global_value_map
project_page -> project_value_map
dashboard_gadget -> custom_value_map
static_webpage -> Maru_Renewables
jira_instance -> knowhere
jira_module -> {global_page project_page dashboard_gadget}
notebook -> kts_notebook -> this_notebook
notebook -> ktslib_o
}
`