[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" """