aboutsummaryrefslogtreecommitdiff
path: root/main.typ
blob: 1ed62ff21aed70083776ecd56b9aada6d0234aeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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))
    }
}