flake.nix | 46 ++--- framework/bundle.ts | 328 +++++++++++++++++------------- framework/css.ts | 15 +- framework/debug.safe.ts | 2 +- framework/engine/jsx-runtime.ts | 2 +- framework/engine/marko-runtime.ts | 1 + framework/engine/render.test.tsx | 2 +- framework/engine/render.ts | 38 +++- framework/engine/suspense.ts | 4 +- framework/esbuild-support.ts | 15 +- framework/generate.ts | 99 ++++++---- framework/hot.ts | 14 +- framework/incremental.test.ts | 22 +-- framework/incremental.ts | 328 +++++++++++++++++------------- framework/lib/assets.ts | 210 ++++++++++++++++---- framework/lib/async.ts | 4 +- framework/lib/fs.ts | 4 +- framework/lib/markdown.tsx | 20 +- framework/lib/sitegen.ts | 41 +++- framework/lib/sqlite.ts | 4 +- framework/lib/testing.ts | 10 +- framework/lib/view.ts | 114 ++++++----- framework/marko.ts | 23 +-- framework/watch.ts | 19 +- src/backend.ts | 6 +- src/blog/pages/25/file-viewer-internals.mdx | 10 - src/blog/pages/25/marko-intro.markodown | 290 --------------------------- src/blog/pages/webdev/deranged-typescript.md | 87 ++++++++ src/blog/pages/webdev/marko-intro.markodown | 339 ++++++++++++++++++++++++++++++++ src/file-viewer/backend.tsx | 24 ++- src/file-viewer/bin/scan3.ts | 34 ++-- src/file-viewer/format.ts | 54 +++-- src/file-viewer/rsync.ts | 8 +- src/global.css | 26 +-- src/q+a/backend.ts | 42 ++-- src/q+a/clover-markdown.tsx | 4 +- src/q+a/image.tsx | 9 +- src/q+a/pages/admin.q+a.marko | 2 +- src/q+a/pages/q+a.marko | 10 +- src/q+a/views/backend-inbox.marko | 4 +- src/source-of-truth.ts | 8 +- tsconfig.json | 5 +- 42 files changed, 1415 insertions(+), 912 deletions(-)