| -rw-r--r-- | .air.web.toml | 18L |
| -rwxr-xr-x | .gitignore | 15L |
| -rw-r--r-- | .pre-commit-config.yaml | 14L |
| -rw-r--r-- | Dockerfile | 39L |
| -rw-r--r-- | Justfile | 13L |
| -rw-r--r-- | LICENSE | 674L |
| -rw-r--r-- | README.md | 57L |
| -rw-r--r-- | cmd/buildjs/main.go | 29L |
| -rw-r--r-- | cmd/server/handlers/cache.go | 6L |
| -rw-r--r-- | cmd/server/handlers/curl.go | 87L |
| -rw-r--r-- | cmd/server/handlers/curl_test.go | 36L |
| -rw-r--r-- | cmd/server/handlers/experience.go | 46L |
| -rw-r--r-- | cmd/server/handlers/fs.go | 48L |
| -rw-r--r-- | cmd/server/handlers/fs_test.go | 33L |
| -rw-r--r-- | cmd/server/handlers/handler.go | 30L |
| -rw-r--r-- | cmd/server/handlers/home.go | 28L |
| -rw-r--r-- | cmd/server/handlers/projects.go | 132L |
| -rw-r--r-- | cmd/server/handlers/render.go | 57L |
| -rw-r--r-- | cmd/server/handlers/sitemap.go | 37L |
| -rw-r--r-- | cmd/server/handlers/wakatime.go | 24L |
| -rw-r--r-- | cmd/server/logging.go | 56L |
| -rw-r--r-- | cmd/server/main.go | 104L |
| -rw-r--r-- | cmd/tui/main.go | 18L |
| -rwxr-xr-x | env.example | 7L |
| -rwxr-xr-x | generate_cloud_config.sh | 184L |
| -rwxr-xr-x | git-hooks/post-receive | 6L |
| -rw-r--r-- | go.mod | 72L |
| -rw-r--r-- | go.sum | 179L |
| -rw-r--r-- | internal/config/about.go | 58L |
| -rw-r--r-- | internal/config/experience.go | 102L |
| -rw-r--r-- | internal/config/projects.go | 83L |
| -rw-r--r-- | internal/config/site.go | 11L |
| -rw-r--r-- | internal/content/projects.go | 114L |
| -rw-r--r-- | internal/content/projects_test.go | 67L |
| -rw-r--r-- | internal/external/git.go | 279L |
| -rw-r--r-- | internal/external/git_test.go | 121L |
| -rw-r--r-- | internal/external/wakatime.go | 136L |
| -rw-r--r-- | internal/external/wakatime_test.go | 147L |
| -rw-r--r-- | internal/ssh/git.go | 159L |
| -rw-r--r-- | internal/ssh/git_test.go | 54L |
| -rw-r--r-- | internal/ssh/kex_test.go | 58L |
| -rw-r--r-- | internal/ssh/limiter.go | 74L |
| -rw-r--r-- | internal/ssh/network.go | 16L |
| -rw-r--r-- | internal/ssh/owner.go | 97L |
| -rw-r--r-- | internal/ssh/owner_test.go | 44L |
| -rw-r--r-- | internal/ssh/route.go | 57L |
| -rw-r--r-- | internal/ssh/server.go | 123L |
| -rw-r--r-- | internal/tui/about_ascii.go | 11L |
| -rw-r--r-- | internal/tui/about_render.go | 105L |
| -rw-r--r-- | internal/tui/boot.go | 109L |
| -rw-r--r-- | internal/tui/content.go | 236L |
| -rw-r--r-- | internal/tui/experience_test.go | 63L |
| -rw-r--r-- | internal/tui/helpers.go | 120L |
| -rw-r--r-- | internal/tui/hscroll.go | 61L |
| -rw-r--r-- | internal/tui/hscroll_test.go | 197L |
| -rw-r--r-- | internal/tui/keys.go | 79L |
| -rw-r--r-- | internal/tui/layout.go | 97L |
| -rw-r--r-- | internal/tui/local.go | 18L |
| -rw-r--r-- | internal/tui/markdown.go | 176L |
| -rw-r--r-- | internal/tui/markdown_images.go | 168L |
| -rw-r--r-- | internal/tui/markdown_images_test.go | 66L |
| -rw-r--r-- | internal/tui/markdown_wide.go | 156L |
| -rw-r--r-- | internal/tui/program.go | 37L |
| -rw-r--r-- | internal/tui/project_markdown_render.go | 181L |
| -rw-r--r-- | internal/tui/projects_readme.go | 88L |
| -rw-r--r-- | internal/tui/readme_render_test.go | 71L |
| -rw-r--r-- | internal/tui/shell.go | 612L |
| -rw-r--r-- | internal/tui/shell_cmds.go | 1199L |
| -rw-r--r-- | internal/tui/shell_cmds_test.go | 217L |
| -rw-r--r-- | internal/tui/shell_lang.go | 368L |
| -rw-r--r-- | internal/tui/shell_test.go | 325L |
| -rw-r--r-- | internal/tui/styles.go | 66L |
| -rw-r--r-- | internal/tui/tags.go | 29L |
| -rw-r--r-- | internal/tui/types.go | 135L |
| -rw-r--r-- | internal/tui/update.go | 320L |
| -rw-r--r-- | internal/tui/vfs.go | 18L |
| -rw-r--r-- | internal/tui/view.go | 273L |
| -rw-r--r-- | internal/tui/waka_footer.go | 40L |
| -rw-r--r-- | internal/utils/htmx.go | 7L |
| -rw-r--r-- | internal/utils/logo.go | 75L |
| -rw-r--r-- | internal/utils/markdown.go | 56L |
| -rw-r--r-- | internal/utils/period.go | 149L |
| -rw-r--r-- | internal/utils/period_test.go | 82L |
| -rw-r--r-- | internal/utils/tab.go | 19L |
| -rw-r--r-- | internal/utils/tags.go | 123L |
| -rw-r--r-- | internal/utils/title.go | 9L |
| -rw-r--r-- | internal/utils/title_test.go | 16L |
| -rw-r--r-- | internal/utils/uptime.go | 28L |
| -rw-r--r-- | internal/vfs/overlay.go | 274L |
| -rw-r--r-- | internal/vfs/overlay_test.go | 73L |
| -rw-r--r-- | internal/vfs/vfs.go | 264L |
| -rw-r--r-- | internal/vfs/vfs_test.go | 126L |
| -rw-r--r-- | internal/web/renderer.go | 204L |
| -rw-r--r-- | internal/web/scripts/app.js | 48L |
| -rw-r--r-- | internal/web/scripts/modules/dom.js | 8L |
| -rw-r--r-- | internal/web/scripts/modules/experience.js | 187L |
| -rw-r--r-- | internal/web/scripts/modules/header.js | 222L |
| -rw-r--r-- | internal/web/scripts/modules/help.js | 81L |
| -rw-r--r-- | internal/web/scripts/modules/layout.js | 156L |
| -rw-r--r-- | internal/web/scripts/modules/lightbox.js | 87L |
| -rw-r--r-- | internal/web/scripts/modules/portrait.js | 23L |
| -rw-r--r-- | internal/web/scripts/modules/projects.js | 200L |
| -rw-r--r-- | internal/web/scripts/modules/reveal.js | 74L |
| -rw-r--r-- | internal/web/scripts/modules/shell-cmds.js | 1074L |
| -rw-r--r-- | internal/web/scripts/modules/shell-fs.js | 270L |
| -rw-r--r-- | internal/web/scripts/modules/shell-lang.js | 254L |
| -rw-r--r-- | internal/web/scripts/modules/shell.js | 818L |
| -rw-r--r-- | internal/web/scripts/modules/wakatime.js | 94L |
| -rw-r--r-- | internal/web/styles/about.css | 379L |
| -rw-r--r-- | internal/web/styles/experience.css | 522L |
| -rw-r--r-- | internal/web/styles/footer.css | 51L |
| -rw-r--r-- | internal/web/styles/header.css | 112L |
| -rw-r--r-- | internal/web/styles/layout.css | 364L |
| -rw-r--r-- | internal/web/styles/lightbox.css | 54L |
| -rw-r--r-- | internal/web/styles/project_detail.css | 265L |
| -rw-r--r-- | internal/web/styles/projects.css | 91L |
| -rw-r--r-- | internal/web/templates/layout.gohtml | 64L |
| -rw-r--r-- | internal/web/templates/partials/about.gohtml | 53L |
| -rw-r--r-- | internal/web/templates/partials/experience.gohtml | 83L |
| -rw-r--r-- | internal/web/templates/partials/footer.gohtml | 11L |
| -rw-r--r-- | internal/web/templates/partials/header.gohtml | 21L |
| -rw-r--r-- | internal/web/templates/partials/lightbox.gohtml | 11L |
| -rw-r--r-- | internal/web/templates/partials/project_detail.gohtml | 27L |
| -rw-r--r-- | internal/web/templates/partials/projects.gohtml | 28L |
| -rwxr-xr-x | static/amplifier/logo.svg | 9L |
| -rwxr-xr-x | static/favicon.png | 38823B |
| -rw-r--r-- | static/hark/logo.svg | 3L |
| -rwxr-xr-x | static/mandolin/company.jpeg | 458766B |
| -rwxr-xr-x | static/mandolin/company_silly.jpeg | 476108B |
| -rwxr-xr-x | static/mandolin/employee_polaroids.jpeg | 442617B |
| -rwxr-xr-x | static/mandolin/logo.svg | 11L |
| -rwxr-xr-x | static/mandolin/moment_polaroids.jpeg | 316922B |
| -rw-r--r-- | static/me-sm.jpg | 40796B |
| -rwxr-xr-x | static/me.jpg | 3096726B |
| -rwxr-xr-x | static/robots.txt | 4L |
| -rwxr-xr-x | static/site.webmanifest | 21L |
| -rw-r--r-- | static/style.css | 369L |