From 62873b4e91a1e4fbff772bacd232bbc48a4be514 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Thu, 2 Jul 2026 10:48:58 +0200 Subject: [PATCH] Adds output dir variable in task. Adds dry-run description in readme. --- Manuscript/Taskfile.yml | 23 ++++++++++++----------- README.md | 7 +++++++ ResearchReport/Taskfile.yml | 21 +++++++++++---------- Supplements/Taskfile.yml | 22 +++++++++++----------- 4 files changed, 41 insertions(+), 32 deletions(-) diff --git a/Manuscript/Taskfile.yml b/Manuscript/Taskfile.yml index fe1b161..33579c9 100644 --- a/Manuscript/Taskfile.yml +++ b/Manuscript/Taskfile.yml @@ -4,6 +4,7 @@ vars: PROJECT_NAME: Manuscript PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}' UTILS: "../resources/scripts/task_utils.py" + OUTPUT_DIR: "_output" tasks: default: @@ -12,43 +13,43 @@ tasks: render: desc: "Render with the default (non-anonymized) profile, all formats" - cmd: quarto render --profile=default --output-dir _output/default + cmd: quarto render --profile=default --output-dir {{.OUTPUT_DIR}}/default render:anonymized: desc: "Render with the anonymized profile, all formats" - cmd: quarto render --profile=anonymized --output-dir _output/anonymized + cmd: quarto render --profile=anonymized --output-dir {{.OUTPUT_DIR}}/anonymized render:html: desc: "Render to HTML only (default profile)" - cmd: quarto render --profile=default --to html --output-dir _output/default + cmd: quarto render --profile=default --to html --output-dir {{.OUTPUT_DIR}}/default render:docx: desc: "Render to docx only (default profile)" - cmd: quarto render --profile=default --to docx --output-dir _output/default + cmd: quarto render --profile=default --to docx --output-dir {{.OUTPUT_DIR}}/default render:jats: desc: "Render to JATS XML only (default profile)" - cmd: quarto render --profile=default --to jats --output-dir _output/default + cmd: quarto render --profile=default --to jats --output-dir {{.OUTPUT_DIR}}/default render:pdf: desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml" - cmd: quarto render --profile=default --to pdf --output-dir _output/default + cmd: quarto render --profile=default --to pdf --output-dir {{.OUTPUT_DIR}}/default package: desc: "Zip the default-profile rendered output into Manuscript-default.zip" deps: [render] - cmd: "{{.PYTHON}} {{.UTILS}} zip _output/default {{.PROJECT_NAME}}-default.zip" + cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/default {{.PROJECT_NAME}}-default.zip" sources: - - _output/default/**/* + - "{{.OUTPUT_DIR}}/default/**/*" generates: - "{{.PROJECT_NAME}}-default.zip" package:anonymized: desc: "Zip the anonymized-profile rendered output into Manuscript-anonymized.zip" deps: [render:anonymized] - cmd: "{{.PYTHON}} {{.UTILS}} zip _output/anonymized {{.PROJECT_NAME}}-anonymized.zip" + cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/anonymized {{.PROJECT_NAME}}-anonymized.zip" sources: - - _output/anonymized/**/* + - "{{.OUTPUT_DIR}}/anonymized/**/*" generates: - "{{.PROJECT_NAME}}-anonymized.zip" @@ -61,5 +62,5 @@ tasks: - data.zip clean: - desc: "Remove _output, .quarto, and stray *_files/*_cache folders" + desc: "Remove {{.OUTPUT_DIR}}, .quarto, and stray *_files/*_cache folders" cmd: "{{.PYTHON}} {{.UTILS}} clean-project ." diff --git a/README.md b/README.md index ea6ff39..f76e995 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,13 @@ In any arch-based Linux distro, run `go-task finalize` instead. More on how to include more detail in the front matter can be found in the official [quarto manual](https://quarto.org/docs/authoring/front-matter.html). Their quick introduction into [Markdown Basics](https://quarto.org/docs/authoring/markdown-basics.html) is also worth reading. +If you want to know, which command is being run by `task`, use the `--dry` parameter: + +```bash +> task manuscript:render:html --dry +task: [manuscript:render:html] quarto render --profile=default --to html --output-dir _output/default +``` + ## Project layout Each of `Manuscript/`, `ResearchReport/`, and `Supplements/` contains a Quarto project with its own `_quarto.yml`, `index.qmd`, `data/`, and `figures/` folders. diff --git a/ResearchReport/Taskfile.yml b/ResearchReport/Taskfile.yml index 4b016b5..dcf98ce 100644 --- a/ResearchReport/Taskfile.yml +++ b/ResearchReport/Taskfile.yml @@ -4,6 +4,7 @@ vars: PROJECT_NAME: ResearchReport PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}' UTILS: "../resources/scripts/task_utils.py" + OUTPUT_DIR: "_output" tasks: default: @@ -12,39 +13,39 @@ tasks: render: desc: "Render with the default (non-anonymized) profile, all formats" - cmd: quarto render --profile=default --output-dir _output/default + cmd: quarto render --profile=default --output-dir {{.OUTPUT_DIR}}/default render:anonymized: desc: "Render with the anonymized profile, all formats" - cmd: quarto render --profile=anonymized --output-dir _output/anonymized + cmd: quarto render --profile=anonymized --output-dir {{.OUTPUT_DIR}}/anonymized render:html: desc: "Render to HTML only (default profile)" - cmd: quarto render --profile=default --to html --output-dir _output/default + cmd: quarto render --profile=default --to html --output-dir {{.OUTPUT_DIR}}/default render:docx: desc: "Render to docx only (default profile)" - cmd: quarto render --profile=default --to docx --output-dir _output/default + cmd: quarto render --profile=default --to docx --output-dir {{.OUTPUT_DIR}}/default render:pdf: desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml" - cmd: quarto render --profile=default --to pdf --output-dir _output/default + cmd: quarto render --profile=default --to pdf --output-dir {{.OUTPUT_DIR}}/default package: desc: "Zip the default-profile rendered output into ResearchReport-default.zip" deps: [render] - cmd: "{{.PYTHON}} {{.UTILS}} zip _output/default {{.PROJECT_NAME}}-default.zip" + cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/default {{.PROJECT_NAME}}-default.zip" sources: - - _output/default/**/* + - "{{.OUTPUT_DIR}}/default/**/*" generates: - "{{.PROJECT_NAME}}-default.zip" package:anonymized: desc: "Zip the anonymized-profile rendered output into ResearchReport-anonymized.zip" deps: [render:anonymized] - cmd: "{{.PYTHON}} {{.UTILS}} zip _output/anonymized {{.PROJECT_NAME}}-anonymized.zip" + cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/anonymized {{.PROJECT_NAME}}-anonymized.zip" sources: - - _output/anonymized/**/* + - "{{.OUTPUT_DIR}}/anonymized/**/*" generates: - "{{.PROJECT_NAME}}-anonymized.zip" @@ -57,5 +58,5 @@ tasks: - data.zip clean: - desc: "Remove _output, .quarto, and stray *_files/*_cache folders" + desc: "Remove {{.OUTPUT_DIR}}, .quarto, and stray *_files/*_cache folders" cmd: "{{.PYTHON}} {{.UTILS}} clean-project ." diff --git a/Supplements/Taskfile.yml b/Supplements/Taskfile.yml index 91f8f15..bcd1667 100644 --- a/Supplements/Taskfile.yml +++ b/Supplements/Taskfile.yml @@ -1,10 +1,10 @@ -# Supplements/Taskfile.yml version: "3" vars: PROJECT_NAME: Supplements PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}' UTILS: "../resources/scripts/task_utils.py" + OUTPUT_DIR: "_output" tasks: default: @@ -13,39 +13,39 @@ tasks: render: desc: "Render with the default (non-anonymized) profile, all formats" - cmd: quarto render --profile=default --output-dir _output/default + cmd: quarto render --profile=default --output-dir {{.OUTPUT_DIR}}/default render:anonymized: desc: "Render with the anonymized profile, all formats" - cmd: quarto render --profile=anonymized --output-dir _output/anonymized + cmd: quarto render --profile=anonymized --output-dir {{.OUTPUT_DIR}}/anonymized render:html: desc: "Render to HTML only (default profile)" - cmd: quarto render --profile=default --to html --output-dir _output/default + cmd: quarto render --profile=default --to html --output-dir {{.OUTPUT_DIR}}/default render:docx: desc: "Render to docx only (default profile)" - cmd: quarto render --profile=default --to docx --output-dir _output/default + cmd: quarto render --profile=default --to docx --output-dir {{.OUTPUT_DIR}}/default render:pdf: desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml" - cmd: quarto render --profile=default --to pdf --output-dir _output/default + cmd: quarto render --profile=default --to pdf --output-dir {{.OUTPUT_DIR}}/default package: desc: "Zip the default-profile rendered output into Supplements-default.zip" deps: [render] - cmd: "{{.PYTHON}} {{.UTILS}} zip _output/default {{.PROJECT_NAME}}-default.zip" + cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/default {{.PROJECT_NAME}}-default.zip" sources: - - _output/default/**/* + - "{{.OUTPUT_DIR}}/default/**/*" generates: - "{{.PROJECT_NAME}}-default.zip" package:anonymized: desc: "Zip the anonymized-profile rendered output into Supplements-anonymized.zip" deps: [render:anonymized] - cmd: "{{.PYTHON}} {{.UTILS}} zip _output/anonymized {{.PROJECT_NAME}}-anonymized.zip" + cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/anonymized {{.PROJECT_NAME}}-anonymized.zip" sources: - - _output/anonymized/**/* + - "{{.OUTPUT_DIR}}/anonymized/**/*" generates: - "{{.PROJECT_NAME}}-anonymized.zip" @@ -58,5 +58,5 @@ tasks: - data.zip clean: - desc: "Remove _output, .quarto, and stray *_files/*_cache folders" + desc: "Remove {{.OUTPUT_DIR}}, .quarto, and stray *_files/*_cache folders" cmd: "{{.PYTHON}} {{.UTILS}} clean-project ."