index pages use source file birth instead of output

this was a bug introduced with index pages for subsections
This commit is contained in:
EmaMaker 2023-08-12 10:01:38 +02:00
parent a03113d112
commit 8b6f300189

View File

@ -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"