unexplrd's example setup with mise
This example has the following structure:
.
├── mise.lock
├── mise.toml
├── vendor/
│ └── typst-packages/
│ └── ...
└── src/
├── assets/
│ ├── foo.csv
│ ├── bar.c
│ └── ...
├── figures/
│ ├── clojure-logo.png
│ ├── error-log.jpg
│ └── ...
├── doc.toml
├── appendices.typ
├── main.typ
└── utils.typ
Advantages
- Declarative approach
- Fixed dependencies: locked Typst version,
nurepackage fetched from a specific commit - Customizable: it's just a
.tomlfile, modify it according to your needs
Mise tasks
compile: Executetypst compileonsrc/main.typwatch: Executetypst watchonsrc/main.typfetch-nure-package: clone package git repository to a directory specified in[vars]update-package-rev: updatesvars.nure_package_revwith the last commit id from the specified branch (vars.nure_package_ref)
Examples
- A patch to add new subjects to the package:
To apply it, add the following command to the
diff --git a/src/config/universities.yaml b/src/config/universities.yaml index 8855a07..1aefc96 100644 --- a/src/config/universities.yaml +++ b/src/config/universities.yaml @@ -60,7 +60,6 @@ ПЕСЕ: Психологія екстремальних стосунків та ефективної адаптації ПНП: Програмування на платформі .NЕТ ПП: Проектний практикум - ПРОГ: Програмування ПарП: Параллельне програмування СА: Системний аналіз СМП: Скриптові мови програмування @@ -76,3 +75,10 @@ ФІЛ: Філософія ФВС: Фізичне виховання та спорт ХТ: Хмарні технології + АКС: Архітектура комп'ютерних систем + ІКС: Інформаційно-комунікаційні системи + МБ: Мережна безпека + МКр: Мережна криміналістика + ОКЗІ: Основи криптографічного захисту інформації + Прог: Програмування + ТІК: Теорія інформаціі та кодуванняfetch_nure_packagetask:git -C {{vars.nure_package_path}} apply --check --apply --quiet $MISE_PROJECT_ROOT/custom-subjects.patch || exit 0