diff --git a/rivet.sh b/rivet.sh old mode 100755 new mode 100644 index 3aa6a98..969995d --- a/rivet.sh +++ b/rivet.sh @@ -169,8 +169,11 @@ 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 -not -iname "__*" -exec ls -1t {} + | awk '/^.*\/[^_].+\.(md|html)$/' > "$objlist" - +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" @@ -198,48 +201,13 @@ if ! [ "$SKIP_META" ]; then done fi -# For every file named "index.html", prepare index file list +# Prepare index file list if ! [ "$SKIP_LIST" ]; then - lobjlist=$(mktemp) - lobjdate=$(mktemp) - llinklist=$(mktemp) - 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 < "$lmdlist" - - grep "$outdir" "$linklist" > "$llinklist" - -# Modify "Pages" header to show the current section - if [ "$indexf" = "$destdir/index.html" ]; then - llinksec=$linksec - else - title="$(sed -E -n 's/.*