hachem.wtf
aboutsummaryrefslogtreecommitdiff

mktypst

just a couple of dumb typst templates so i stop rewriting the same document setup every fucking time.

$ 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:

#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

$ 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] <name>
       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 <im@hachem.wtf>
$ 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

$ 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 for more.