craft-letter/justfile
2026-01-22 11:38:43 +01:00

59 lines
1.7 KiB
Makefile

CONFFILE := "pelicanconf.py"
PUBLISHCONF := "publishconf.py"
PELICANOPTS := ""
SERVER := "localhost"
default:
just --list
help:
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
@echo 'Set the RELATIVE variable to 1 to enable relative urls '
# (re)generate the web site
html:
pelican content -o output -s "{{CONFFILE}}" {{PELICANOPTS}}
# remove the generated files
clean:
[ ! -d "output" ] || rm -rf output
# regenerate files upon modification
regenerate:
pelican -r content -o output -s "{{CONFFILE}}" {{PELICANOPTS}}
# serve site at http://localhost:8000
serve:
pelican -l content -o output -s "{{CONFFILE}}" {{PELICANOPTS}}
# serve (as root) to {{SERVER}}:80
serve-global:
pelican -l content -o output -s "{{CONFFILE}}" {{PELICANOPTS}} -b {{SERVER}}
# serve and regenerate together
devserver:
pelican -lr content -o output -s "{{CONFFILE}}" {{PELICANOPTS}}
# regenerate and serve on 0.0.0.0
devserver-global:
pelican -lr content -o output -s "{{CONFFILE}}" {{PELICANOPTS}} -b 0.0.0.0
# generate using production settings
publish:
pelican content -o output -s "{{PUBLISHCONF}}" {{PELICANOPTS}}
rsync -e ssh -av --delete-after /Users/pascal/Documents/craft-letter/output/ craftletter@ssh-craftletter.alwaysdata.net:/home/craftletter/www
# connect to production server
ssh:
ssh craftletter@ssh-craftletter.alwaysdata.net
# Create the skeleton for a new issue of the newsletter, and reference it into the home page
new number:
PYTHONPATH=PWD venv/bin/python ./scripts/create_newsletter.py {{number}}
# generate HTML email
mail file:
echo {{file}}
PYTHONPATH=PWD venv/bin/python ./scripts/prepare_email.py {{file}}