Compare commits
No commits in common. "8f1508e20001e03068ac2d9a61ae93038282b525" and "c49758a5c5bba73be9a07b7cf476673626df84ba" have entirely different histories.
8f1508e200
...
c49758a5c5
2
makefile
2
makefile
@ -1,4 +1,4 @@
|
|||||||
VERSION = 0.3.1
|
VERSION = 0.3
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
MANPREFIX = ${PREFIX}/share/man
|
MANPREFIX = ${PREFIX}/share/man
|
||||||
|
|
||||||
|
68
rivet.sh
68
rivet.sh
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh -e
|
||||||
|
|
||||||
# Copyright (c) 2021 Alessandro Mauri
|
# Copyright (c) 2021 Alessandro Mauri
|
||||||
#
|
#
|
||||||
@ -110,7 +110,6 @@ footerfile=$srcdir/_footer.html
|
|||||||
metafile=$srcdir/_metadata.html
|
metafile=$srcdir/_metadata.html
|
||||||
objlist="$(mktemp)"
|
objlist="$(mktemp)"
|
||||||
objdate="$(mktemp)"
|
objdate="$(mktemp)"
|
||||||
tmpsed="$(mktemp)"
|
|
||||||
|
|
||||||
# Check if index.md is present
|
# Check if index.md is present
|
||||||
if ! [ -e "$srcdir"/index.md ]; then
|
if ! [ -e "$srcdir"/index.md ]; then
|
||||||
@ -134,14 +133,10 @@ if ! [ -e "$metafile" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Remove junk from {header,footer} files
|
# Remove junk from {header,footer} files
|
||||||
sed 's/<header.*>//' "$headerfile" > "$tmpsed"
|
sed -i 's/<header.*>//' "$headerfile"
|
||||||
mv "$tmpsed" "$headerfile"
|
sed -i 's/<\/header>//' "$headerfile"
|
||||||
sed 's/<\/header>//' "$headerfile" > "$tmpsed"
|
sed -i 's/<footer.*>//' "$footerfile"
|
||||||
mv "$tmpsed" "$headerfile"
|
sed -i 's/<\/footer>//' "$footerfile"
|
||||||
sed 's/<footer.*>//' "$footerfile" > "$tmpsed"
|
|
||||||
mv "$tmpsed" "$headerfile"
|
|
||||||
sed 's/<\/footer>//' "$footerfile" > "$tmpsed"
|
|
||||||
mv "$tmpsed" "$headerfile"
|
|
||||||
|
|
||||||
# Remove any junk from the domain eg. [https://]domain.com[/]
|
# Remove any junk from the domain eg. [https://]domain.com[/]
|
||||||
domain="$(echo "$2" | sed -e 's/^https*:\/\///' -e 's/\/$//')"
|
domain="$(echo "$2" | sed -e 's/^https*:\/\///' -e 's/\/$//')"
|
||||||
@ -169,13 +164,13 @@ cp -r "$srcdir"/* "$destdir"
|
|||||||
rm -f "$destdir"/_header.html "$destdir"/_footer.html "$destdir"/_metadata.html
|
rm -f "$destdir"/_header.html "$destdir"/_footer.html "$destdir"/_metadata.html
|
||||||
|
|
||||||
# Generate an ordered (by open time) file list
|
# Generate an ordered (by open time) file list
|
||||||
find "$srcdir" -type f -exec ls -1t {} + | awk '/^.*\/[^_].+\.(md|html)$/' > "$objlist"
|
find "$srcdir" -type f -regex '.*\/[^_].+\..*' -exec ls -1t {} + |
|
||||||
|
awk '/.*\.(md|html)$/' > "$objlist"
|
||||||
rm -f "$objdate"
|
rm -f "$objdate"
|
||||||
while IFS="" read -r file; do
|
while IFS="" read -r file; do
|
||||||
stat -c '%y' "$file" >> "$objdate"
|
stat -c '%y' "$file" >> "$objdate"
|
||||||
done < "$objlist"
|
done < "$objlist"
|
||||||
sed -e "s,^\/*[^\/]*\/,$destdir/," "$objlist" > "$tmpsed"
|
sed -i -e "s,^\/*[^\/]*\/,$destdir/," "$objlist"
|
||||||
mv "$tmpsed" "$objlist"
|
|
||||||
|
|
||||||
# Convert convertible files
|
# Convert convertible files
|
||||||
while IFS="" read -r file; do
|
while IFS="" read -r file; do
|
||||||
@ -183,21 +178,18 @@ while IFS="" read -r file; do
|
|||||||
done < "$objlist"
|
done < "$objlist"
|
||||||
|
|
||||||
# Convert the file list to a list that contains the path of all the html files
|
# Convert the file list to a list that contains the path of all the html files
|
||||||
sed -e 's/\.md$/\.html/' "$objlist" > "$tmpsed"
|
sed -i -e 's/\.md$/\.html/' "$objlist"
|
||||||
mv "$tmpsed" "$objlist"
|
|
||||||
|
|
||||||
# Create a list that contains the links to all html files
|
# Create a list that contains the links to all html files
|
||||||
linklist="$(mktemp)"
|
linklist="$(mktemp)"
|
||||||
cp -f "$objlist" "$linklist"
|
cp -f "$objlist" "$linklist"
|
||||||
sed -e "s/^$destdir//" "$linklist" > "$tmpsed"
|
sed -i -e "s/^$destdir//" "$linklist"
|
||||||
mv "$tmpsed" "$linklist"
|
|
||||||
|
|
||||||
# Insert metadata into <head>
|
# Insert metadata into <head>
|
||||||
if ! [ "$SKIP_META" ]; then
|
if ! [ "$SKIP_META" ]; then
|
||||||
find "$destdir" -name "*.html" |
|
find "$destdir" -name "*.html" |
|
||||||
while IFS="" read -r file; do
|
while IFS="" read -r file; do
|
||||||
sed "/<head>/r $metafile" "$file" > "$tmpsed"
|
sed -i "/<head>/r $metafile" "$file"
|
||||||
mv "$tmpsed" "$file"
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -224,33 +216,27 @@ EOF
|
|||||||
printf "<p><a href=\"%s\">%s - %s</a></p>\n" "$line" "$ldate" "$title" >> "$tmpfile"
|
printf "<p><a href=\"%s\">%s - %s</a></p>\n" "$line" "$ldate" "$title" >> "$tmpfile"
|
||||||
done < "$linklist"
|
done < "$linklist"
|
||||||
echo '</div>' >> "$tmpfile"
|
echo '</div>' >> "$tmpfile"
|
||||||
sed '/<\/body>/i REPLACE' "$destdir"/index.html > "$tmpsed"
|
sed -i '/<\/body>/i REPLACE' "$destdir"/index.html
|
||||||
mv "$tmpsed" "$destdir"/index.html
|
sed -i "/^REPLACE/r $tmpfile" "$destdir"/index.html
|
||||||
sed "/^REPLACE/r $tmpfile" "$destdir"/index.html > "$tmpsed"
|
sed -i 's/^REPLACE//' "$destdir"/index.html
|
||||||
mv "$tmpsed" "$destdir"/index.html
|
|
||||||
sed 's/^REPLACE//' "$destdir"/index.html > "$tmpsed"
|
|
||||||
mv "$tmpsed" "$destdir"/index.html
|
|
||||||
rm -f "$tmpfile"
|
rm -f "$tmpfile"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# enclose article inside <article></article>
|
# enclose article inside <article></article>
|
||||||
find "$destdir" -name "*.html" |
|
find "$destdir" -name "*.html" |
|
||||||
while IFS="" read -r file; do
|
while IFS="" read -r file; do
|
||||||
sed -e '/<body>/a <article>' -e '/<\/body>/i </article>' "$file" > "$tmpsed"
|
sed -i -e '/<body>/a <article>' -e '/<\/body>/i </article>' "$file"
|
||||||
mv "$tmpsed" "$file"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Prepate the header
|
# Prepate the header
|
||||||
if ! [ "$SKIP_HEADER" ]; then
|
if ! [ "$SKIP_HEADER" ]; then
|
||||||
tmphead="$(mktemp)"
|
tmphead="$(mktemp)"
|
||||||
cp "$headerfile" "$tmphead"
|
cp "$headerfile" "$tmphead"
|
||||||
sed '1s/^/<header>/' "$tmphead" > "$tmpsed"
|
sed -i '1s/^/<header>/' "$tmphead"
|
||||||
mv "$tmpsed" "$tmphead"
|
|
||||||
echo '</header>' >> "$tmphead"
|
echo '</header>' >> "$tmphead"
|
||||||
find "$destdir" -name "*.html" |
|
find "$destdir" -name "*.html" |
|
||||||
while IFS="" read -r file; do
|
while IFS="" read -r file; do
|
||||||
sed "/<body>/r $tmphead" "$file" > "$tmpsed"
|
sed -i "/<body>/r $tmphead" "$file"
|
||||||
mv "$tmpsed" "$file"
|
|
||||||
done
|
done
|
||||||
rm -f "$tmphead"
|
rm -f "$tmphead"
|
||||||
fi
|
fi
|
||||||
@ -259,17 +245,13 @@ fi
|
|||||||
if ! [ "$SKIP_FOOTER" ]; then
|
if ! [ "$SKIP_FOOTER" ]; then
|
||||||
tmpfoot="$(mktemp)"
|
tmpfoot="$(mktemp)"
|
||||||
cp "$footerfile" "$tmpfoot"
|
cp "$footerfile" "$tmpfoot"
|
||||||
sed '1s/^/<footer>/' "$tmpfoot" > "$tmpsed"
|
sed -i '1s/^/<footer>/' "$tmpfoot"
|
||||||
mv "$tmpsed" "$tmpfoot"
|
|
||||||
echo '</footer>' >> "$tmpfoot"
|
echo '</footer>' >> "$tmpfoot"
|
||||||
find "$destdir" -name "*.html" |
|
find "$destdir" -name "*.html" |
|
||||||
while IFS="" read -r file; do
|
while IFS="" read -r file; do
|
||||||
sed '/<\/body>/i REPLACE' "$file" > "$tmpsed"
|
sed -i '/<\/body>/i REPLACE' "$file"
|
||||||
mv "$tmpsed" "$file"
|
sed -i "/^REPLACE/r $tmpfoot" "$file"
|
||||||
sed "/^REPLACE/r $tmpfoot" "$file" > "$tmpsed"
|
sed -i 's/^REPLACE//' "$file"
|
||||||
mv "$tmpsed" "$file"
|
|
||||||
sed 's/^REPLACE//' "$file" > "$tmpsed"
|
|
||||||
mv "$tmpsed" "$file"
|
|
||||||
done
|
done
|
||||||
rm -f "$tmpfoot"
|
rm -f "$tmpfoot"
|
||||||
fi
|
fi
|
||||||
@ -282,12 +264,10 @@ if ! [ "$SKIP_SITEMAP" ]; then
|
|||||||
</urlset>
|
</urlset>
|
||||||
EOF
|
EOF
|
||||||
while IFS="" read -r line; do
|
while IFS="" read -r line; do
|
||||||
sed "/<\/urlset>/i \
|
sed -i "/<\/urlset>/i \
|
||||||
<url><loc>$line<\/loc><\/url>" "$destdir"/sitemap.xml > "$tmpsed"
|
<url><loc>$line<\/loc><\/url>" "$destdir"/sitemap.xml
|
||||||
mv "$tmpsed" "$destdir"/sitemap.xml
|
|
||||||
done < "$linklist"
|
done < "$linklist"
|
||||||
sed 's/^<url>/\t<url>/' "$destdir"/sitemap.xml > "$tmpsed"
|
sed -i 's/^<url>/\t<url>/' "$destdir"/sitemap.xml
|
||||||
mv "$tmpsed" "$destdir"/sitemap.xml
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate atom feed
|
# Generate atom feed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user