Usando Quartz e Cloudflare Pages. É uma boa alternativa gratuita ao Obsidian Publish.
Shell no diretório do projeto de notas públicas para rodar o script que faz a copia dos arquivos do vault original para o projeto de notas públicas.
O arquivo copy_from_vault.py
descrito abaixo faz a rotina de copiar os arquivos do meu vault de origem do Obsidian para o diretório content
do meu projeto no Quartz.
#!/bin/bash
# Run the Python script
/usr/bin/python3 /Users/my-user/project/copy_from_vault.py
# Check if the Python script executed successfully
if [ $? -eq 0 ]; then
echo "Python script executed successfully."
# Add all changed files to the Git commit index
git add .
# Commit the changes with a message
git commit -m "Automated commit: changes after running copy_from_vault.py"
# Push the changes to the origin remote
git push origin
else
echo "Python script execution failed."
fi
Exemplo de plist para execução de shell:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.alisson.publicnotes</string>
<key>ProgramArguments</key>
<array>
<string>/Users/my-user/run.sh</string>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>9</integer>
<key>Minute</key>
<integer>35</integer>
</dict>
<dict>
<key>Hour</key>
<integer>10</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Hour</key>
<integer>13</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Hour</key>
<integer>18</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Hour</key>
<integer>20</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</array>
<key>StandardOutPath</key>
<string>/tmp/com.alisson.publicnotes.out</string>
<key>StandardErrorPath</key>
<string>/tmp/com.alisson.publicnotes.err</string>
<key>UserName</key>
<string>my-user-name</string>
</dict>
</plist>