forked from pencelheimer/typst_nure_template
67 lines
2.3 KiB
TOML
67 lines
2.3 KiB
TOML
[settings]
|
||
quiet = true
|
||
env_shell_expand = true
|
||
lockfile = true
|
||
|
||
[tools]
|
||
typst = "latest"
|
||
typstyle = "latest"
|
||
tinymist = "latest"
|
||
yq = "latest"
|
||
|
||
[vars]
|
||
vendor_dir = "{{config_root}}/vendor"
|
||
package_dir = "{{vars.vendor_dir}}/typst-packages"
|
||
|
||
work_doc_config = "src/doc.toml"
|
||
work_input_file = "src/main.typ"
|
||
work_output_file = "{{config_root}}/main.pdf"
|
||
|
||
nure_package_repo = "https://gitea.linerds.us/pencelheimer/typst_nure_template.git"
|
||
nure_package_ref = "0.1.1"
|
||
nure_package_rev = "d6037872ddb6391afec147a679fa05f08cba6bb0"
|
||
|
||
nure_package_name = "vendor/nure"
|
||
nure_package_ver = "{{vars.nure_package_ref}}"
|
||
|
||
nure_package_path = "{{vars.package_dir}}/{{vars.nure_package_name}}/{{vars.nure_package_ver}}"
|
||
|
||
[env]
|
||
TYPST_PACKAGE_DIR = "{{vars.package_dir}}"
|
||
TYPST_PACKAGE_PATH = "$TYPST_PACKAGE_DIR"
|
||
|
||
[tasks]
|
||
compile.depends = ["fetch-nure-package"]
|
||
watch.depends = ["fetch-nure-package"]
|
||
compile.run = "mise exec -- typst compile {{vars.work_input_file}} {{vars.work_output_file}}"
|
||
watch.run = "mise exec -- typst watch {{vars.work_input_file}} {{vars.work_output_file}}"
|
||
format.run = "mise exec -- typstyle -l 120 -i $MISE_PROJECT_ROOT/src"
|
||
clean.run = "rm -rvif *.pdf"
|
||
|
||
update-package-rev.run = "mise config set vars.nure_package_rev $(git ls-remote {{vars.nure_package_repo}} refs/heads/{{vars.nure_package_ref}} | cut -f1)"
|
||
|
||
[tasks.fetch-nure-package]
|
||
silent = "stdout"
|
||
run = """
|
||
#!/usr/bin/env bash
|
||
|
||
if [ ! -d {{vars.nure_package_path}}/.git ]; then
|
||
git clone --depth 1 --revision {{vars.nure_package_rev}} {{vars.nure_package_repo}} {{vars.nure_package_path}}
|
||
else
|
||
git -C {{vars.nure_package_path}} fetch --depth 1 origin {{vars.nure_package_rev}}
|
||
git -C {{vars.nure_package_path}} checkout {{vars.nure_package_rev}}
|
||
fi
|
||
"""
|
||
|
||
[tasks.rename]
|
||
depends = ["compile"]
|
||
run = """
|
||
#!/usr/bin/env bash
|
||
# Generates the following name from doc.toml: ПЗ1_Прізвище_ПЗПІ-23-2_ПарП.pdf
|
||
# Assumes authors.at(0).name to be in the following format: "Прізвище І. Б."
|
||
|
||
final_name=$(mise exec -- yq '.type + (.number | tostring) + "_" + (.authors[0].name | split(" "))[0] + "_" + (.authors[0].edu-program + "-" + .authors[0].group) + "_" + .subject + ".pdf"' "{{vars.work_doc_config}}");
|
||
|
||
cp -v "{{vars.work_output_file}}" "$final_name"
|
||
"""
|