We would like to distribute node and relation definitions throughout the scripts. We anticipate a need for finding these so will build this tool first. github
http://search.fed.wiki.org:3030/xref HEIGHT 200
pages/search-script-annotations
http://search.dojo.fed.wiki/assets/pages/search-script-annotations/browse.html HEIGHT 600
We've borrowed Hypertext Super Collaborator code to make an annotation specific version that can produce similar diagrams with tweaks to color and layout tuned to this usage. github
digraph { overlap = false; splines=true layout = dot; node [shape=box style=filled fillcolor=gold penwidth=2] 1 6 2 9 11 node [fillcolor=palegreen penwidth=1] 0 [label="Graphviz\nColor Module by Type" fillcolor=white tooltip="name: Color Module by Type\nemphasis: [object Object]"] 1 [label="Shell\ncron" fillcolor=lightblue tooltip="name: cron"] 2 [label="Ruby\nscrape" fillcolor=lightblue tooltip="name: scrape"] 3 [label="Ruby\nrollup" fillcolor=lightblue tooltip="name: rollup"] 4 [label="Search\nslugs.txt" tooltip="name: slugs.txt"] 5 [label="Sites\nslugs.txt" tooltip="name: slugs.txt"] 6 [label="Ruby\nfound" fillcolor=lightblue tooltip="name: found"] 7 [label="Sites\ndir" tooltip="name: dir"] 8 [label="Retired\ndir" tooltip="name: dir"] 9 [label="Pages\nwords.txt" tooltip="name: words.txt"] 10 [label="Pages\nsites.txt" tooltip="name: sites.txt"] 11 [label="Sites\nwords.txt" tooltip="name: words.txt"] 12 [label="Search\nwords.txt" tooltip="name: words.txt"] 13 [label="Sites\nsites.txt" tooltip="name: sites.txt"] 14 [label="Search\nsites.txt" tooltip="name: sites.txt"] 15 [label="Wiki\nsitemap" tooltip="name: sitemap"] 16 [label="Logs\nNow-0000" tooltip="name: Now-0000"] 17 [label="Public\nsites.tgz" tooltip="name: sites.tgz"] 18 [label="Ruby\ncounts" fillcolor=lightblue tooltip="name: counts"] 19 [label="Search\ncounts.txt" tooltip="name: counts.txt"] 20 [label="Activity\nNow-0000" tooltip="name: Now-0000"] 21 [label="Public\nscraped.json" tooltip="name: scraped.json"] 22 [label="Ruby\nserver" fillcolor=lightblue tooltip="name: server"] 23 [label="Public\nfiles" tooltip="name: files"] 24 [label="API\nSearch" tooltip="name: Search"] 25 [label="API\nIndex" tooltip="name: Index"] 1->2 [label="run" labeltooltip="file: cron.sh\nline: 7\nsource: Index"] 1->3 [label="run" labeltooltip="file: cron.sh\nline: 18\nsource: Index"] 1->4 [label="write" labeltooltip="file: cron.sh\nline: 21\nsource: Index"] 1->5 [label="write" labeltooltip="file: cron.sh\nline: 21\nsource: Index"] 1->6 [label="run" labeltooltip="file: cron.sh\nline: 39\nsource: Index"] 7->6 [label="read" labeltooltip="file: found.rb\nline: 6\nsource: Index" dir=back] 8->6 [label="read" labeltooltip="file: found.rb\nline: 6\nsource: Index" dir=back] 6->7 [label="make" labeltooltip="file: found.rb\nline: 16\nsource: Index"] 9->3 [label="read" labeltooltip="file: rollup.rb\nline: 3\nsource: Index" dir=back] 10->3 [label="read" labeltooltip="file: rollup.rb\nline: 4\nsource: Index" dir=back] 3->11 [label="write" labeltooltip="file: rollup.rb\nline: 5\nsource: Index"] 3->12 [label="write" labeltooltip="file: rollup.rb\nline: 5\nsource: Index"] 3->13 [label="write" labeltooltip="file: rollup.rb\nline: 6\nsource: Index"] 3->14 [label="write" labeltooltip="file: rollup.rb\nline: 6\nsource: Index"] 7->2 [label="read" labeltooltip="file: scrape.rb\nline: 13\nsource: Index" dir=back] 15->2 [label="get" labeltooltip="file: scrape.rb\nline: 21\nsource: Index" dir=back] 2->9 [label="write" labeltooltip="file: scrape.rb\nline: 43\nsource: Index"] 2->10 [label="write" labeltooltip="file: scrape.rb\nline: 43\nsource: Index"] 1->16 [label="write" labeltooltip="file: cron.sh\nline: 8\nsource: Debug"] 1->17 [label="write" labeltooltip="file: cron.sh\nline: 34\nsource: Debug"] 16->18 [label="read" labeltooltip="file: counts.rb\nline: 6\nsource: Debug" dir=back] 18->19 [label="write" labeltooltip="file: counts.rb\nline: 16\nsource: Debug"] 6->20 [label="write" labeltooltip="file: found.rb\nline: 19\nsource: Debug"] 2->21 [label="writes" labeltooltip="file: scrape.rb\nline: 167\nsource: Debug"] 22->23 [label="serve" labeltooltip="file: server.rb\nline: 5\nsource: Query"] 22->24 [label="serve" labeltooltip="file: server.rb\nline: 6\nsource: Query"] 22->25 [label="serve" labeltooltip="file: server.rb\nline: 7\nsource: Query"] 9->24 [label="read" labeltooltip="file: server.rb\nline: 153\nsource: Query" dir=back] 11->24 [label="read" labeltooltip="file: server.rb\nline: 153\nsource: Query" dir=back] }