diff options
| author | Kumar Damani <me@kumardamani.net> | 2026-07-24 04:29:08 +0000 |
|---|---|---|
| committer | Kumar Damani <me@kumardamani.net> | 2026-07-24 04:29:08 +0000 |
| commit | 3d615f7b4c19abf34f23ff09ea587a597f2de42a (patch) | |
| tree | 10a0e4c3e0fa2c9b0254bb1826ae89f67fbc7df0 /main.typ | |
| parent | 62fcd12a0a1ea557334dec1fa0cfdce69d003bd8 (diff) | |
converted to typst
Diffstat (limited to 'main.typ')
| -rw-r--r-- | main.typ | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/main.typ b/main.typ new file mode 100644 index 0000000..1ed62ff --- /dev/null +++ b/main.typ @@ -0,0 +1,78 @@ +// Entrypoint for the kumardamani.net bundle. Compiling this file with +// typst compile --root . --features bundle,html -f bundle main.typ <outdir> +// emits the whole site: one HTML document per page plus all assets. + +#import "/global/common.typ": * +#import "/site.typ": site-info + +#import "/index.typ" as index-page +#import "/software.typ" as software-page +#import "/contact.typ" as contact-page + +#import "/post/framework-server-p2.typ" as post-framework-server-p2 +#import "/post/nas-upgrade.typ" as post-nas-upgrade +#import "/post/listing-my-fav-advice.typ" as post-listing-my-fav-advice +#import "/post/framework-server.typ" as post-framework-server +#import "/post/nixos-p1.typ" as post-nixos-p1 +#import "/post/programming-as-art.typ" as post-programming-as-art +#import "/post/self-host.typ" as post-self-host +#import "/post/programs.typ" as post-programs + +#let title-for(id) = site-info.pages.at(id).title + " – " + site-info.title + +#document("index.html", title: title-for("index"))[ + #page("index", site-info, index-page.doc) +] <index> + +#document("software.html", title: title-for("software"))[ + #page("software", site-info, software-page.doc) +] <software> + +#document("contact.html", title: title-for("contact"))[ + #page("contact", site-info, contact-page.doc) +] <contact> + +#document("post/framework-server-p2.html", title: title-for("post/framework-server-p2"))[ + #post-page("post/framework-server-p2", site-info, post-framework-server-p2.doc) +] <post-framework-server-p2> + +#document("post/nas-upgrade.html", title: title-for("post/nas-upgrade"))[ + #post-page("post/nas-upgrade", site-info, post-nas-upgrade.doc) +] <post-nas-upgrade> + +#document("post/listing-my-fav-advice.html", title: title-for("post/listing-my-fav-advice"))[ + #post-page("post/listing-my-fav-advice", site-info, post-listing-my-fav-advice.doc) +] <post-listing-my-fav-advice> + +#document("post/framework-server.html", title: title-for("post/framework-server"))[ + #post-page("post/framework-server", site-info, post-framework-server.doc) +] <post-framework-server> + +#document("post/nixos-p1.html", title: title-for("post/nixos-p1"))[ + #post-page("post/nixos-p1", site-info, post-nixos-p1.doc) +] <post-nixos-p1> + +#document("post/programming-as-art.html", title: title-for("post/programming-as-art"))[ + #post-page("post/programming-as-art", site-info, post-programming-as-art.doc) +] <post-programming-as-art> + +#document("post/self-host.html", title: title-for("post/self-host"))[ + #post-page("post/self-host", site-info, post-self-host.doc) +] <post-self-host> + +#document("post/programs.html", title: title-for("post/programs"))[ + #post-page("post/programs", site-info, post-programs.doc) +] <post-programs> + +// global assets +#asset("main.css", read("/global/main.css", encoding: none)) +#asset("extlink.svg", read("/global/extlink.svg", encoding: none)) +#asset("favicon.ico", read("/global/favicon.ico", encoding: none)) +#asset("favicon.svg", read("/global/favicon.svg", encoding: none)) + +// image assets collected from pages via the img/fig helpers +#context { + for path in _asset-paths.final().dedup() { + asset(path, read("/" + path, encoding: none)) + } +} |
