# mktypst just a couple of dumb typst templates so i stop rewriting the same document setup every fucking time. ```sh $ mktypst rapport $ typst watch rapport.typ ``` ## templates `paper` is a two-column academic article; `letter` is a french formal letter. both are french by default (`lang: "fr"`), so you get guillemets, the spacing before `; : ! ?`, `Résumé`, `Tableau`, all of it — pass `lang: "en"` for english. you apply one with a `#show` rule at the top of the document and start writing: ```typ #import "@local/hachem:0.1.0": paper #show: paper.with( title: "Les Origines de YHWH", date: "mars 2026", authors: ((name: "Hachem H.", location: [Paris, France]),), abstract: [Un paragraphe.], ) = Introduction Du texte. ``` the `letter` works the same way. there are full examples in `samples/`, and `make samples` compiles them. ## usage ```text $ mktypst --help mktypst 0.1.0 - dumb typst document generator generates a typst document that imports and applies an mktypst template, so you can start writing instead of pasting a preamble. usage: mktypst [-t template] [-T title] [-a author] [-d date] [-f] mktypst [-v | -h] options: -t, --template NAME template to apply (default paper) -T, --title TITLE document title (default: the name) -a, --author NAME author name (default: git config user.name) -d, --date DATE document date (default: current month) -f, --force overwrite an existing file --stdout write to stdout instead of a .typ file -v, --version print version and bail -h, --help print this and bail by hachem ``` ```sh $ mktypst rapport # paper, the default $ mktypst -t letter -T "candidature" x # a letter instead $ mktypst --stdout note # print it, don't write a file ``` ## install ```sh $ git clone https://git.hachem.wtf/mktypst && cd mktypst $ sudo make install # mktypst -> /usr/local/bin, templates -> @local/hachem $ make install PREFIX=~/.local # or without sudo ``` you need a c compiler for the binary, and typst (plus the eb garamond font) to build documents. the templates install into typst's local package dir, so any file can `#import "@local/hachem:0.1.0"`. in the typst app, link that folder as the namespace `local` and it works there too. ## license `mktypst` is licensed under the mit license. see [license](LICENSE) for more.