Replace Make with Just
This commit is contained in:
parent
af4c2d7241
commit
d04d523bdf
3 changed files with 59 additions and 79 deletions
79
Makefile
79
Makefile
|
|
@ -1,79 +0,0 @@
|
|||
PY?=
|
||||
PELICAN?=pelican
|
||||
PELICANOPTS=
|
||||
|
||||
BASEDIR=$(CURDIR)
|
||||
INPUTDIR=$(BASEDIR)/content
|
||||
OUTPUTDIR=$(BASEDIR)/output
|
||||
CONFFILE=$(BASEDIR)/pelicanconf.py
|
||||
PUBLISHCONF=$(BASEDIR)/publishconf.py
|
||||
|
||||
|
||||
DEBUG ?= 0
|
||||
ifeq ($(DEBUG), 1)
|
||||
PELICANOPTS += -D
|
||||
endif
|
||||
|
||||
RELATIVE ?= 0
|
||||
ifeq ($(RELATIVE), 1)
|
||||
PELICANOPTS += --relative-urls
|
||||
endif
|
||||
|
||||
SERVER ?= "0.0.0.0"
|
||||
|
||||
PORT ?= 0
|
||||
ifneq ($(PORT), 0)
|
||||
PELICANOPTS += -p $(PORT)
|
||||
endif
|
||||
|
||||
|
||||
help:
|
||||
@echo 'Makefile for a pelican Web site '
|
||||
@echo ' '
|
||||
@echo 'Usage: '
|
||||
@echo ' make html (re)generate the web site '
|
||||
@echo ' make clean remove the generated files '
|
||||
@echo ' make regenerate regenerate files upon modification '
|
||||
@echo ' make publish generate using production settings '
|
||||
@echo ' make serve [PORT=8000] serve site at http://localhost:8000'
|
||||
@echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 '
|
||||
@echo ' make devserver [PORT=8000] serve and regenerate together '
|
||||
@echo ' make devserver-global regenerate and serve on 0.0.0.0 '
|
||||
@echo ' make mail file=FILEPATH generate HTML email '
|
||||
@echo ' '
|
||||
@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 '
|
||||
@echo ' '
|
||||
|
||||
html:
|
||||
"$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||
|
||||
clean:
|
||||
[ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)"
|
||||
|
||||
regenerate:
|
||||
"$(PELICAN)" -r "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||
|
||||
serve:
|
||||
"$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||
|
||||
serve-global:
|
||||
"$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b $(SERVER)
|
||||
|
||||
devserver:
|
||||
"$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||
|
||||
devserver-global:
|
||||
"$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b 0.0.0.0
|
||||
|
||||
publish:
|
||||
"$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS)
|
||||
rsync -e ssh -av --delete-after /Users/pascal/Documents/craft-letter/output/ craftletter@ssh-craftletter.alwaysdata.net:/home/craftletter/www
|
||||
|
||||
ssh:
|
||||
ssh craftletter@ssh-craftletter.alwaysdata.net
|
||||
|
||||
mail:
|
||||
PYTHONPATH=PWD venv/bin/python ./prepare_email.py $(file)
|
||||
|
||||
.PHONY: html help clean regenerate serve serve-global devserver devserver-global publish mail
|
||||
59
justfile
Normal file
59
justfile
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
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}}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue