acdw tipped me off to `exec > FILE` which redirects all output to that file so you don't have to pipe and append so carefully all the time. thanks acdw!!
46 lines
1.2 KiB
Makefile
46 lines
1.2 KiB
Makefile
# list all recipes
|
|
default:
|
|
just --list --unsorted
|
|
|
|
# build index
|
|
@index:
|
|
find src -type f -name "*.md" -print0 \
|
|
| sort -zr \
|
|
| xargs -r0 sed -nr '/^(date|name|title): /p' \
|
|
| sed '/^date/{G;}' \
|
|
| recfmt '* <time>{{{{date}}</time> [{{{{title}}]({{{{name}}.html)|' \
|
|
| sed 's/|/\n\n/g' \
|
|
| pandoc \
|
|
-f markdown+autolink_bare_uris \
|
|
-t html5 \
|
|
-s \
|
|
--include-in-header templates/headerinclude.html \
|
|
-A templates/footer.html \
|
|
-M title="a blog that is just a bunch of lists" \
|
|
> www/index.html
|
|
|
|
# build htmls
|
|
html:
|
|
make html
|
|
|
|
# build rss
|
|
rss:
|
|
#!/usr/bin/env sh
|
|
exec > www/feed.xml
|
|
echo "<rss version=\"2.0\"><channel><title>list blog</title>"
|
|
echo "<link>http://tilde.town/~dozens/listblog/index.html</link><description>a blog that is just a bunch of lists</description><atom:link rel=\"self\" type=\"application/rss+xml\" href=\"http://tilde.town/~dozens/listblog/episodes.xml\"/>"
|
|
for f in `ls src/*.md`; do
|
|
ed -s $f < commands.ed | recfmt -f templates/template.recfmt | m4
|
|
done
|
|
echo '</channel></rss>'
|
|
|
|
# make html and rss
|
|
build: index html rss
|
|
|
|
# upload
|
|
up:
|
|
rsync -zaP www/ tilde:public_html/listblog
|
|
|
|
# build and upload
|
|
all: build up
|