digraph {
node[shape=box, style=filled, fillcolor=grey];
// Inputs
subgraph cluster_local_files {
label="Local files"
style=dashed
inbox[label="inbox.org", fillcolor=lightgreen];
plan[label="TODOs", fillcolor=lightgreen]
notes[label="Notes", fillcolor=lightgreen];
}
subgraph cluster_remote_collection {
label="Remote collection"
style=dashed
mailbox[label="IMAP mailbox", fillcolor=lightgreen]
git[label="Git code repo"];
gitlab[label="Gitlab issues/MR"]
notion[label="Notion"]
caldav[label="Caldav calendar", fillcolor=lightgreen];
carddav[label="Carddav"];
gcalendar[label="Google calendar", fillcolor=lightgreen];
}
// Processing
org_parser[label="Org parser", fillcolor=lightgreen];
plan -> org_parser;
notes -> org_parser;
inbox -> org_parser;
mb_sync[label="Mailbox sync", fillcolor=lightblue, tooltip=mbsync];
mb_parser[label="Mailbox parser"];
mailbox -> mb_sync -> mb_parser;
git_sync[label="Git sync"];
git_parser[label="Git parser"];
git -> git_sync -> git_parser;
gitlab_sync[label="Gitlab sync"];
gitlab_parser[label="Gitlab parser"];
gitlab -> gitlab_sync -> gitlab_parser;
notion_sync[label="Notion sync"];
notion_parser[label="Notion parser"];
notion -> notion_sync -> notion_parser;
carddav_sync[label="Carddav sync"];
carddav_parser[label="Carddav parser"];
carddav -> carddav_sync -> carddav_parser;
caldav_sync[label="Caldav sync", fillcolor=lightgreen];
caldav_parser[label="Caldav parser", fillcolor=lightgreen];
caldav -> caldav_sync -> caldav_parser;
gcalendar -> caldav_sync;
// Intermediate format
{
librarian[label="Librarian system", fillcolor="#ffcc44"];
org_server[label="Org-Server", fillcolor=lightgreen];
{
web_editor[label="Web editor", fillcolor="#ffcc44"];
emacs[label="Emacs", fillcolor=lightblue];
}
emacs -> librarian -> emacs;
org_server -> web_editor -> org_server;
}
org_parser -> librarian;
mb_parser -> librarian;
git_parser -> librarian;
gitlab_parser -> librarian;
notion_parser -> librarian;
caldav_parser -> librarian[color=red];
carddav_parser -> librarian;
librarian -> org_server -> librarian;
// Outputs
{
rank=same;
reading_list[label="Wallabag"]
tech_tree[label="TechTree.svg"]
planning_viewer[label="Task Viewer", fillcolor="#ffcc44"]
archives[label="Archives"];
calendar[label="Calendar"];
hourly_report[label="Hourly report", fillcolor=lightgreen];
search[label="Search", fillcolor=lightgreen];
contact_tsv[label="Sxmo contact TSV"];
website[label="Public Website", fillcolor=lightgreen];
browser_extension[label="Browser Extension", fillcolor="#ffcc44"];
}
librarian -> reading_list;
librarian -> tech_tree;
org_server -> planning_viewer;
librarian -> archives;
org_parser -> website;
librarian -> calendar;
org_parser -> hourly_report;
org_parser -> search;
librarian -> contact_tsv;
org_server -> browser_extension;
}
GIT feels different from the others...
Should local files use a disk:/ backend, and have git:/ being another, similar, backend