summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh73
1 files changed, 29 insertions, 44 deletions
diff --git a/build.sh b/build.sh
index 166eeba..be30116 100755
--- a/build.sh
+++ b/build.sh
@@ -1,36 +1,10 @@
#!/bin/sh
-header='<meta charset="UTF-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<style>
- body {
- max-width: 45rem;
- margin: auto;
- padding: 0.5em;
- text-align: justify;
- }
- h1 { text-align: center }
- pre {
- padding: 1ch;
- background-color: #f5f5f5;
- overflow: auto;
- }
- img {
- display: block;
- margin: auto;
- }
- .footer {
- text-align: center;
- font-size: 0.8em;
- }
-</style>
-'
-
md2html() {
# Usage:
# md2html file.md > file.html
# Options: -v esc=false to not escape html
-awk '
+ awk '
function newblock(nblock) {
if (text)
print "<" block ">" text "</" block ">"
@@ -192,44 +166,55 @@ awk '
newblock()
while (nl > 0)
print "</" list[nl--] ">"
- }' "$1"
+ }' "$@"
}
genhtml() (
cd "$1" || return
- . ./meta.sh
+ . ./meta
exec 1>index.html
# Header
- echo "<!DOCTYPE html>"
- echo "<!-- generated by build.sh. DO NOT EDIT. -->"
- echo "<html lang=\"${lang:-en}\">"
- echo "<title>$title</title>"
- [ "$description" ] && echo "<meta name=\"description\" content=\"$description\">"
- echo "$header"
- [ "$1" != . ] && echo "<a href=\"..\">$blog_title</a><hr>"
+ cat <<- EOT
+ <!doctype html>
+ <html lang="${lang:-en}">
+ <title>$title</title>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width">
+ <link rel="stylesheet" href="/style.css">
+ EOT
# Body
+ [ "$1" != . ] && echo "<a href=\"..\">$blog_title</a><hr>"
# pandoc *.md
- for f in *.md; do
- [ -f "$f" ] && md2html "$f"
- done
+ md2html *.md
# Footer
- [ "$1" != . ] && echo "<hr>From: $author, $date"
+ [ "$1" = . ] && return
+ echo "<hr>From: $author, $date. <a href=\"mailto:marc@vertes.org?subject=$(urlenc "Re: $link")\">Feedback</a>"
)
+urlenc() {
+ while [ -n "$1" ]; do
+ set -- "${1#?}" "${1%${1#?}}"
+ case $2 in
+ ([-._~0-9A-Za-z]) printf %c "$2" ;;
+ (*) printf %%%02x "'$2" ;;
+ esac
+ done
+ echo
+}
+
for d in *; do
[ -d "$d" ] && genhtml "$d"
done
genhtml .
-# Fix for mastodon.
-sed '/mstdn/s/href=/rel="me" href=/' index.html >xx && mv xx index.html
# Put a license in index footer.
-echo '<hr><div class="footer">
+echo '<footer>
+<hr>
<a href="feed.xml">RSS feed</a>. &emsp; &emsp; Licensed under
<a href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
-</div>' >>index.html
+</footer>' >>index.html