build_dir := ".build" ansible_dir := ".ansible" [private] run_pandoc dir output_file: build @pandoc --pdf-engine=xelatex \ -H {{build_dir}}/"head.tex" \ -H {{build_dir}}/"footer.tex" \ -o {{dir}}/{{output_file}} \ {{build_dir}}/"Report.md" \ {{build_dir}}/"Definitions.md" [private] run_ansible build *ARGS: @echo "Running ansible with build directory: {{build}}" @cd {{ansible_dir}} && \ ansible-playbook playbook.yaml \ --extra-vars "build_dir={{build}}" \ {{ARGS}} alias ansible := build # Run the playbook, using the vault example files. [group("build")] ansible-vault-example: ( run_ansible build_dir "--extra-vars @group_vars/vault_example/vars.yaml" "--extra-vars @group_vars/vault_example/vault.yaml" "--ask-vault-password" ) # Run the playbook, which generates files required to build a report. [group("build")] build: (run_ansible justfile_directory()/build_dir) # Build & generate an HTML report. [group("generate")] html title="Report.html" output_dir=".build": ( run_pandoc output_dir file_stem(title) + ".html" ) open {{output_dir}}/{{ prepend(file_stem(title), ".html") }} # Build & generate a PDF report. [group("generate")] pdf title="Report.pdf" output_dir="${PWD}": (run_pandoc output_dir file_stem(title) + ".pdf") open {{output_dir}}/{{ prepend(file_stem(title), ".pdf") }} && \ @osascript ./scripts/notify.scpt # Build & generate a Latex file. [group("generate")] [group("debug")] tex title="Report.tex" output_dir=".build": (run_pandoc output_dir file_stem(title) + ".tex") @echo "Wrote to: " + {{output_dir}}/{{file_stem(title)}} + ".tex" # Removes build directory, useful when debugging. [group("utilities")] clean: @rm -rf {{build_dir}} # just encase it gets built in wrong directory. @rm -rf {{ansible_dir}}/{{build_dir}}