This repository has been archived on 2024-02-11. You can view files and clone it, but cannot push or open issues or pull requests.
sitio/build.sh

44 lines
1.3 KiB
Bash
Raw Normal View History

2021-10-08 23:36:43 +00:00
#!/bin/sh
template () {
2021-10-11 19:13:38 +00:00
echo "<!doctype html>"
echo "<meta charset=utf-8>"
echo "<meta name=viewport content='width=device-width, initial-scale=1.0'>"
echo "<link rel=stylesheet href=drip.css>"
echo "<title>$1</title>"
2021-10-11 19:18:21 +00:00
: "${inicio:=}"
2021-10-08 23:36:43 +00:00
if test "$inicio" != true; then
2021-10-11 19:13:38 +00:00
echo "<a href=.>☚ Volver al inicio</a>"
2021-10-08 23:36:43 +00:00
fi
if test -n "$2"; then
2021-10-11 19:13:38 +00:00
echo "<header>"
echo "<h1>$1</h1>"
echo "<p><small>Último cambio: <time datetime='$(git log -1 --format=%ai "$2")'>$(date -d "@$(git log -1 --format=%at "$2")" '+%Y-%m-%d %H:%M')</time></small></p>"
echo "</header>"
2021-10-08 23:36:43 +00:00
fi
}
outdir=build
mkdir -p $outdir
# Autocopiarnos :)
2021-10-11 19:14:23 +00:00
cp ./*.sh ./*.md ./*.css ./*.png ./*.mp4 "$outdir"
2021-10-08 23:36:43 +00:00
index="$outdir/index.html"
inicio=true header=false template "nulo.in" > "$index"
cmark --unsafe index.md >> "$index"
2021-10-11 19:13:38 +00:00
echo "<h2>Lista de páginas</h2><ul>" >> "$index"
2021-10-08 23:36:43 +00:00
for file in *.md; do
test "$(basename "$file")" = index.md && continue
2021-10-08 23:36:43 +00:00
title="$(basename "$file" .md)"
outfile="$outdir/$title.html"
template "$title" "$file" > "$outfile"
2021-10-11 19:10:22 +00:00
cmark --unsafe "$file" >> "$outfile"
2021-10-08 23:36:43 +00:00
# TODO: hacky
sed -i "s/<a /<a rel='noopener noreferrer' /gi" "$outfile"
2021-10-08 23:48:29 +00:00
sed -i 's/\[\[\(.*\)\]\]/<a href="\1.html">\1<\/a>/g' "$outfile"
2021-10-11 19:13:38 +00:00
echo "<li><a href='$title.html'>$title</a></li>" >> "$index"
2021-10-08 23:36:43 +00:00
done
2021-10-11 19:13:38 +00:00
echo "</ul>" >> "$index"