From 8b6f3001897e8b6630d427a10bb212ea2bb40c06 Mon Sep 17 00:00:00 2001 From: EmaMaker Date: Sat, 12 Aug 2023 10:01:38 +0200 Subject: [PATCH 1/2] index pages use source file birth instead of output this was a bug introduced with index pages for subsections --- rivet.sh | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/rivet.sh b/rivet.sh index 0f0dce0..b860249 100755 --- a/rivet.sh +++ b/rivet.sh @@ -170,10 +170,7 @@ rm -f "$destdir"/_header.html "$destdir"/_footer.html "$destdir"/_metadata.html # Generate an ordered (by open time) file list find "$srcdir" -type f -exec ls -1t {} + | awk '/^.*\/[^_].+\.(md|html)$/' > "$objlist" -rm -f "$objdate" -while IFS="" read -r file; do - stat -c '%y' "$file" >> "$objdate" -done < "$objlist" + sed -e "s,^\/*[^\/]*\/,$destdir/," "$objlist" > "$tmpsed" mv "$tmpsed" "$objlist" @@ -206,17 +203,27 @@ if ! [ "$SKIP_LIST" ]; then lobjlist=$(mktemp) lobjdate=$(mktemp) llinklist=$(mktemp) - for indexf in $(find "$destdir" -type f -iname "index.html"); do + lmdlist=$(mktemp) + + for indexf in $(find "$destdir" -mindepth 1 -type f -iname "index.html"); do outdir=$(echo $(dirname "$indexf") | sed "s/$destdir//g") # Generate an ordered (by open time) list of files in the subdirectory by filtering the global list +# Filter global list grep "$outdir" "$objlist" > "$lobjlist" sed -e "s,^\/*[^\/]*\/,$destdir/," "$lobjlist" > "$tmpsed" + mv "$tmpsed" "$lobjlist" + +# Get the corresponding .md source file for every .html file, so that the file date is referring to +# the source and not to the output + sed -e 's/\.html$/\.md/' "$lobjlist" > "$tmpsed" + sed -e "s/$destdir/$srcdir/" "$tmpsed" > "$lmdlist" + +# Generate the list of dates for each file (open time) rm -f "$lobjdate" while IFS="" read -r file; do stat -c '%y' "$file" >> "$lobjdate" - done < "$lobjlist" - mv "$tmpsed" "$lobjlist" + done < "$lmdlist" grep "$outdir" "$linklist" > "$llinklist" From 0101078c5e1f3348acd9315375ff66f09d001661 Mon Sep 17 00:00:00 2001 From: EmaMaker Date: Thu, 12 Jun 2025 11:21:22 +0200 Subject: [PATCH 2/2] ignore md/html files starting in __ consider them as drafts and not to be published --- rivet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rivet.sh b/rivet.sh index b860249..3aa6a98 100755 --- a/rivet.sh +++ b/rivet.sh @@ -169,7 +169,7 @@ cp -r "$srcdir"/* "$destdir" rm -f "$destdir"/_header.html "$destdir"/_footer.html "$destdir"/_metadata.html # Generate an ordered (by open time) file list -find "$srcdir" -type f -exec ls -1t {} + | awk '/^.*\/[^_].+\.(md|html)$/' > "$objlist" +find "$srcdir" -type f -not -iname "__*" -exec ls -1t {} + | awk '/^.*\/[^_].+\.(md|html)$/' > "$objlist" sed -e "s,^\/*[^\/]*\/,$destdir/," "$objlist" > "$tmpsed" mv "$tmpsed" "$objlist"