diff --git a/build.py b/build.py index 81ffcd9..0c30abb 100755 --- a/build.py +++ b/build.py @@ -12,7 +12,7 @@ if __name__ == "__main__": gv = root / "index.gv" svg = out / "index.svg" make_directory(out) - run("dot", str(gv), "-Tsvg", "-o", str(svg)) + run("dot", str(gv), "-Kcirco", "-Tsvg", "-o", str(svg)) text = read_file_text(svg) write( out / "index.css", diff --git a/index.gv b/index.gv index c0e938a..7b65b83 100644 --- a/index.gv +++ b/index.gv @@ -1,3 +1,6 @@ +# ╭───────╮ +# │ Graph │ +# ╰───────╯ digraph "index" { bgcolor="transparent" color="#C0C000" @@ -6,17 +9,24 @@ fontname="DejaVu Sans" penwidth="2" rankdir="RL" +# ╭───────┬──────╮ +# │ Graph │ Edge │ +# ╰───────┴──────╯ edge [ fontcolor="#FF4040" fontname="DejaVu Sans" style="filled" ] +# ╭───────┬──────╮ +# │ Graph │ Edge │ +# ╰───────┴──────╯ node [ color="#C0C0C0" fontcolor="#FFFFFF" fontname="DejaVu Sans" penwidth="2" +shape="record" style="filled" ] @@ -27,175 +37,139 @@ style="filled" edge [color="#008000"] node [fillcolor="#408040"] -subgraph "cluster/dev" { label="Dev" -"plan" [label="Plan"] -"code" [label="Code"] -"build" [label="Build"] -"test" [label="Test"] +# ╭────────╮ +# │ DevOps │ +# ╰────────╯ + +subgraph cluster_devops { +label="DevOps" + +devops_dev_plan -> devops_ops_release [style="invis"] +devops_dev_test -> devops_ops_monitor [style="invis"] + +# ╭────────┬─────╮ +# │ DevOps │ Dev │ +# ╰────────┴─────╯ + +subgraph cluster_devops_dev { +label="Dev" + +devops_dev_plan [label="Plan"] +devops_dev_code [label="Code"] +devops_dev_build [label="Build"] +devops_dev_test [label="Test"] + } -"plan" -> "code" -> "build" -> "test" -> { -"plan" -"release" +devops_dev_plan -> devops_dev_code -> devops_dev_build -> devops_dev_test -> devops_dev_plan + +# ╭────────┬─────╮ +# │ DevOps │ Ops │ +# ╰────────┴─────╯ + +subgraph cluster_devops_ops { +label="Ops" + +devops_ops_release [label="Release"] +devops_ops_deploy [label="Deploy"] +devops_ops_operate [label="Operate"] +devops_ops_monitor [label="Monitor"] + } -subgraph "cluster/ops" { label="Ops" -"release" [label="Release"] -"deploy" [label="Deploy"] -"operate" [label="Operate"] -"monitor" [label="Monitor"] +devops_ops_release -> devops_ops_deploy -> devops_ops_operate -> devops_ops_monitor -> devops_ops_deploy + +# ╭────────╮ +# │ DevOps │ +# ╰────────╯ + +devops_dev_test -> devops_ops_release +devops_ops_monitor -> devops_dev_plan + } -"release" -> "deploy" -> "operate" -> "monitor" -> { -"deploy" -"plan" -} - -edge [color="#FF0000"] node [fillcolor="#303030"] +edge [color="#FF0000"] -subgraph "cluster/social" { -label="Social" +rwx_forge -> devops_dev_code +rwx_todo -> devops_dev_plan -subgraph "cluster/social/corp" { -label="Corp" +# ╭─────╮ +# │ RWX │ +# ╰─────╯ -"social/corp/discord" [ -fontcolor="#8080FF" -label="Discord" -URL="https://discord.gg/v6p7CtZ4Zh" -] - -"social/corp/instagram" [ -fontcolor="#8080FF" -label="InstaGram" -URL="https://instagram.com/marc.beninca" -] - -"social/corp/linkedin" [ -fontcolor="#8080FF" -label="LinkedIn" -URL="https://linkedin.com/in/marc-beninca" -] - -"social/corp/youtube" [ -fontcolor="#8080FF" -label="YouTube" -URL="https://youtube.com/@marc.beninca" -] - -} - -subgraph "cluster/social/open" { -label="Open" - -"social/open/bluesky" [ -fontcolor="#8080FF" -label="BlueSky" -URL="https://bsky.app/profile/marc.beninca.link" -] - -subgraph "cluster/social/open/keyoxide" { -label="KeyOxide" - -"social/open/keyoxide/pgp" [ -fontcolor="#8080FF" -label="PGP" -URL="https://keyoxide.org/08EDA7006234A0EB29A3A8471DBD5EC4BADA5579" -] - -"social/open/keyoxide/asp" [ -fontcolor="#8080FF" -label="ASP" -URL="https://keyoxide.org/aspe:keyoxide.org:WUD5YVN52J3RJ6CD4ZCWYL6S54" -] - -} - -} - -} - -subgraph "cluster/beninca.link" { -label="beninca.link" -URL="https://beninca.link" - -"beninca.link/marc" [ -fontcolor="#8080FF" -label="Marc" -URL="https://marc.beninca.link" -] - -} - -subgraph "cluster/rwx.work" { +subgraph cluster_rwx { label="rwx.work" URL="https://rwx.work" -"rwx.work/blog" [ +rwx_blog [ fontcolor="#8080FF" label="Blog" URL="https://blog.rwx.work" ] -"rwx.work/forge" [ +rwx_forge [ fontcolor="#8080FF" label="Forge" URL="https://forge.rwx.work" ] -"rwx.work/ilos" [ +rwx_ilos [ fontcolor="#8080FF" label="ILOS:\nIncremental Live\nOperating System" URL="https://ilos.rwx.work" ] -"rwx.work/lsgm" [ -fontcolor="#8080FF" -label="LSGM:\nLive Scan\nGrub Menu" +subgraph cluster_rwx_lsgm { +label="LSGM:\nLive Scan Grub Menu" URL="https://lsgm.rwx.work" -] -"rwx.work/ofsp" [ +rwx_lsgm_python [label="Python"] +rwx_lsgm_shell [label="Shell"] + +} + +rwx_ofsp [ fontcolor="#8080FF" label="OFSP:\nOperating File\nSystem Profile" URL="https://ofsp.rwx.work" ] -"rwx.work/prj" [ +rwx_prj [ fontcolor="#8080FF" label="PRJ:\nPRJ" URL="https://prj.rwx.work" ] -"rwx.work/rtfd" [ +rwx_rtfd [ fontcolor="#8080FF" label="RTFD:\nRead The\nFancy Docs" URL="https://rtfd.rwx.work" ] -subgraph "cluster/rwx.work/rwx" { +subgraph cluster_rwx_rwx { label="RWX:\nRead Write eXecute" URL="https://rwx.rwx.work" -"rwx.work/rwx/python" [label="Python"] -"rwx.work/rwx/shell" [label="Shell"] +rwx_rwx_dev [label="Proper\ndev branch"] +rwx_rwx_python [label="Python"] +rwx_rwx_shell [label="Shell"] } -"rwx.work/spcd" [ +rwx_spcd [ fontcolor="#8080FF" label="SPCD:\nShell to Python\nContinuous Deployment" URL="https://spcd.rwx.work" ] -"rwx.work/srmp" [ +rwx_srmp [ fontcolor="#8080FF" label="SRMP:\nSoftware Repositories\nMirror Profile" URL="https://srmp.rwx.work" ] -"rwx.work/todo" [ +rwx_todo [ fontcolor="#8080FF" label="TODO:\nTO\nDO" URL="https://todo.rwx.work" @@ -203,62 +177,82 @@ URL="https://todo.rwx.work" } -"rwx.work/forge/marc" [ +# ╭─────┬───────╮ +# │ RWX │ Forge │ +# ╰─────┴───────╯ + +rwx_forge_marc [ fontcolor="#8080FF" label="Marc" URL="https://forge.rwx.work/marc.beninca" ] -"rwx.work/forge/marc" -> "rwx.work/forge" + +rwx_forge_marc -> rwx_forge + +# ╭─────┬──────╮ +# │ RWX │ OFSP │ +# ╰─────┴──────╯ { -"ofsp/python" [label="Python"] -"ofsp/shell" [label="Shell"] -} -> "rwx.work/ofsp" +rwx_ofsp_python [label="Python"] +rwx_ofsp_shell [label="Shell"] +} -> rwx_ofsp + +# ╭─────┬──────╮ +# │ RWX │ RTFD │ +# ╰─────┴──────╯ { -"rtfd/forgejo" [label="Forgejo"] -} -> "rwx.work/rtfd" +rwx_rtfd_forgejo [label="Forgejo"] +} -> rwx_rtfd +# ╭─────┬─────┬────────╮ +# │ RWX │ RWX │ Python │ +# ╰─────┴─────┴────────╯ { -"rwx/ffmpeg" [label="FFMPEG"] -"rwx/gource" [label="Gource"] -"rwx/logo" [label="Logo"] -} -> "cluster/rwx.work/rwx" - +rwx_rwx_python_codium [label="Codium"] +rwx_rwx_python_ffmpeg [label="FFMPEG"] +rwx_rwx_python_freetube [label="FreeTube"] +rwx_rwx_python_gource [label="Gource"] +rwx_rwx_python_logo [label="Logo"] +rwx_rwx_python_venvs [label="Build VEnvs"] +} -> rwx_rwx_python +# ╭─────┬─────┬───────╮ +# │ RWX │ RWX │ Shell │ +# ╰─────┴─────┴───────╯ { -"rwx/python/codium" [label="Codium"] -"rwx/python/freetube" [label="FreeTube"] -"rwx/python/venvs" [label="Build VEnvs"] -} -> "rwx.work/rwx/python" +rwx_rwx_shell_cs [label="CryptSetup"] +rwx_rwx_shell_ffmpeg [label="FFMPEG"] +rwx_rwx_shell_git [label="Git"] +rwx_rwx_shell_venv [label="Use VEnv"] +} -> rwx_rwx_shell + +# ╭─────┬──────╮ +# │ RWX │ SRMP │ +# ╰─────┴──────╯ { -"rwx/shell/cs" [label="CryptSetup"] -"rwx/shell/venv" [label="Use VEnv"] -} -> "rwx.work/rwx/shell" +rwx_srmp_alma [label="Alma"] +rwx_srmp_debian [label="Debian"] +rwx_srmp_docker [label="Docker"] +rwx_srmp_msys [label="MSys"] +rwx_srmp_pypi [label="PyPI"] +rwx_srmp_python [label="Python"] +} -> rwx_srmp +# ╭─────┬──────┬────────╮ +# │ RWX │ SRMP │ Debian │ +# ╰─────┴──────┴────────╯ { -"srmp/alma" [label="Alma"] -"srmp/debian" [label="Debian"] -"srmp/docker" [label="Docker"] -"srmp/msys" [label="MSys"] -"srmp/pypi" [label="PyPI"] -"srmp/python" [label="Python"] -} -> "rwx.work/srmp" +rwx_srmp_debian_codium [label="Codium"] +rwx_srmp_debian_incus [label="Incus"] +} -> rwx_srmp_debian +# ╭─────┬──────╮ +# │ RWX │ TODO │ +# ╰─────┴──────╯ { -"srmp/debian/codium" [label="Codium"] -"srmp/debian/incus" [label="Incus"] -} -> "srmp/debian" - -subgraph "cluster/tilde.link" { -label="tilde.link" -URL="https://tilde.link" - -"tilde.link/tm" [ -fontcolor="#8080FF" -label="TM:\nTrack Mania" -URL="https://tm.tilde.link" -] - -} +rwx_todo_name [label="Name"] +rwx_todo_subdomain [label="Subdomain"] +} -> rwx_todo }