aboutsummaryrefslogtreecommitdiff
path: root/main.typ
diff options
context:
space:
mode:
Diffstat (limited to 'main.typ')
-rw-r--r--main.typ78
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))
+ }
+}