2023-11-16 14:52:17 -07:00
# 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
2023-11-16 15:07:34 -07:00
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\"/>"
2023-11-16 14:52:17 -07:00
for f in ` ls src/*.md` ; do
2023-11-16 15:07:34 -07:00
ed -s $f < commands.ed | recfmt -f templates/template.recfmt | m4
2023-11-16 14:52:17 -07:00
done
2023-11-16 15:07:34 -07:00
echo '</channel></rss>'
2023-11-16 14:52:17 -07:00
# make html and rss
2024-03-01 09:27:04 -07:00
build : index html rss recfeed
2023-11-16 14:52:17 -07:00
# upload
up :
rsync -zaP www/ tilde:public_html/listblog
# build and upload
all : build up
2024-02-22 11:16:16 -07:00
# build recfeed
recfeed :
#!/usr/bin/env sh
if [ ! -f src/feed.rec ]
then recinf -d /Users/cb/blogs/lunaware/doc/feed.rec > src/feed.rec
fi
for file in ` ls src/*.md | grep 'src/\d\{5\}.md' `
do
sed -e '/^---$/,/^---$/!d' -e '/---/d' " $file "
echo " location: $( pwd ) / $file "
echo
done \
| recsel \
-p title,date:published,location \
| awk ' BEGIN { RS = "" ; FS = "\n" }
{
s = "recins src/feed.rec -t item --verbose" ;
for ( x = 1; x <= NF; x++) {
split( $x ,a,": " ) ;
s = s " -f " a[ 1] " -v \"" a[ 2] "\"" ;
}
system( s)
} '
2024-03-07 07:11:10 -07:00
recset src/feed.rec -t feed -f updated -s ` date -Iseconds`