You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
montpelliermaalsi2024/obsidian/taskfile.yml

79 lines
2.0 KiB
YAML

4 months ago
version: '3'
#
# You can override the host variable by passing it as a command line parameter.
# task upload -- UPLOAD_TARGET: "localvm"
#
vars:
UPLOAD_TARGET:
# UPLOAD_TARGET: "remotevps"
# UPLOAD_TARGET: "localvm"
tasks:
default:
desc: whole workflow
cmds:
- task: copy
- task: obsidian_convert
# - task: deadlinks
- task: mkdocs
# **CAREFULL** be sur you deploy on the right upload target
- task: upload
copy:
desc: copies the folder without the hidden files (and filter on a YAML frontmatter attribute)
cmds:
- cp ../ders/mkdocs.yml .
- ./bin/copy_folder.py ../ders/ders tmp0
# # filter the exercices
# - ./bin/filter_md_files.py --source tmp0 --destination tmp --filter-key kind --filter-value exercice
# - rm -rf tmp0
- mv tmp0 tmp
obsidian_convert:
desc: converts obsidian wiki syntax into a standard markdown
cmds:
- ./bin/obsidian_converter.py tmp/ docs
- rm -rf tmp
generates:
- docs
# deadlinks:
# desc: remove dead links
# cmds:
# - ./bin/md_link_cleaner.py --source tmp2 --destination docs
# - rm -rf tmp2
# generates:
# - docs
mkdocs:
desc: mkdocs html generation
cmds:
- ./.venv/bin/mkdocs build
generates:
- site
upload:
desc: uploads the generated html
cmds:
- |
if [ "{{.UPLOAD_TARGET}}" = "remotevps" ]; then
echo "deployment in remote VPS"
rsync -avH -e "ssh -i ./hosts/XXXXX.key" --force --stats ./site/* root@monvps.fr:/var/www/html/
elif [ "{{.UPLOAD_TARGET}}" = "localvm" ]; then
echo "deployment in the local VM"
rsync -avH -e "ssh -i ./hosts/localvm/toto_key" --force --stats ./site/* ubuntu@toto.local:/var/www/html/
else
echo "Unknown deployment target: {{.UPLOAD_TARGET}}"
exit 1
fi
- task: clean
clean:
desc: suppression of all data
cmds:
# generated files and folders
- rm -rf docs
- rm -rf site