forked from pencelheimer/typst_nure_template
65 lines
2.1 KiB
TOML
65 lines
2.1 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 = "af2ba45a16f94b37cae9db0f8fdb915db545498d"
|
|
|
|
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.copy]
|
|
depends = ["compile"]
|
|
run = """
|
|
#!/usr/bin/env bash
|
|
|
|
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"
|
|
"""
|