46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
# 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
|