mirror of
https://github.com/mrrpnya/lipu-sona.git
synced 2025-02-21 03:30:28 +00:00
slight addition to blog pages, allowing for cuts
This commit is contained in:
parent
279e27b186
commit
56fa92f515
2 changed files with 74 additions and 13 deletions
53
blogindex.sh
53
blogindex.sh
|
@ -1,24 +1,59 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
DIRECTORY="pages/blog"
|
DIRECTORY="pages/blog"
|
||||||
|
|
||||||
FILES=`ls $DIRECTORY/*.md -1 | sort`
|
FILES=`ls $DIRECTORY/*.md -1 | sort`
|
||||||
|
|
||||||
|
RETURNDATE=""
|
||||||
|
|
||||||
|
function printcut {
|
||||||
|
# argument 1: filename
|
||||||
|
|
||||||
|
CUT=`grep -m 1 -n '<!--[[:space:]]*cut[[:space:]]*-->[[:space:]]*' $1`
|
||||||
|
if [ -n "$CUT" ]; then
|
||||||
|
CUTLINE=`echo "$CUT" | cut -d ':' -f 1`
|
||||||
|
head -n $(($CUTLINE - 1)) $1 | grep -v '^%' | sed 's/^/> /'
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# date is read from the 3rd %ed line of the document or from the git commit date
|
||||||
|
function getdate {
|
||||||
|
|
||||||
|
FILEDATE=`grep "^%" $1 | sed '3q;d' | cut -d ' ' -f 2-`
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
FTIME=`date -u --date="$FILEDATE" "+%s"`
|
||||||
|
else
|
||||||
|
RETURNDATE=0
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
RETURNDATE=$FTIME
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
RETURNDATE=0
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
echo -n > blogdates.txt
|
echo -n > blogdates.txt
|
||||||
for f in $FILES; do
|
for f in $FILES; do
|
||||||
MTIME=`git log -n 1 --pretty=format:%at $f`
|
getdate $f
|
||||||
MTIME=${MTIME-9999999999}
|
printf "%d\t%s\n" $RETURNDATE $f >> blogdates.txt
|
||||||
printf "%d\t%s\n" $MTIME $f >> blogdates.txt
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# resort by last git commit time
|
# resort by resulting times
|
||||||
FILES=`cat blogdates.txt | sort -nr | cut -f 2-`
|
FILES=`cat blogdates.txt | sort -nr | cut -f 2-`
|
||||||
|
|
||||||
cat tpl/blog_header.md
|
cat tpl/blog_header.md
|
||||||
|
|
||||||
for f in $FILES; do
|
for f in $FILES; do
|
||||||
|
|
||||||
MTIME=`git log -n 1 --pretty=format:%at $f`
|
getdate $f
|
||||||
|
MTIME=$RETURNDATE
|
||||||
|
|
||||||
TITLE=`head -n 1 $f`
|
TITLE=`head -n 1 $f`
|
||||||
TITLE=${TITLE#"% "}
|
TITLE=${TITLE#"% "}
|
||||||
|
@ -26,11 +61,13 @@ for f in $FILES; do
|
||||||
OUTPAGE=${f%.md}.html
|
OUTPAGE=${f%.md}.html
|
||||||
OUTPAGE=${OUTPAGE#pages/blog/}
|
OUTPAGE=${OUTPAGE#pages/blog/}
|
||||||
|
|
||||||
if [ $MTIME ]; then
|
if [ $MTIME -gt 0 ]; then
|
||||||
echo " * [$TITLE]($OUTPAGE) (last update `date -d "@$MTIME" "+%Y-%m-%d %H:%M"`)"
|
echo " * [$TITLE]($OUTPAGE) (`date -d "@$MTIME" "+%Y-%m-%d"`)"
|
||||||
else
|
else
|
||||||
echo " * [$TITLE]($OUTPAGE)"
|
echo " * [$TITLE]($OUTPAGE)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
printcut $f
|
||||||
done
|
done
|
||||||
|
|
||||||
cat tpl/blog_footer.md
|
cat tpl/blog_footer.md
|
||||||
|
|
34
blogrss.sh
34
blogrss.sh
|
@ -4,11 +4,33 @@ DIRECTORY="pages/blog"
|
||||||
|
|
||||||
FILES=`ls $DIRECTORY/*.md -1 | sort`
|
FILES=`ls $DIRECTORY/*.md -1 | sort`
|
||||||
|
|
||||||
|
RETURNDATE=""
|
||||||
|
|
||||||
|
# date is read from the 3rd %ed line of the document or from the git commit date
|
||||||
|
function getdate {
|
||||||
|
|
||||||
|
FILEDATE=`grep "^%" $1 | sed '3q;d' | cut -d ' ' -f 2-`
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
FTIME=`date -u --date="$FILEDATE" "+%s"`
|
||||||
|
else
|
||||||
|
RETURNDATE=0
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
RETURNDATE=$FTIME
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
RETURNDATE=0
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
echo -n > blogdates.txt
|
echo -n > blogdates.txt
|
||||||
for f in $FILES; do
|
for f in $FILES; do
|
||||||
MTIME=`git log -n 1 --pretty=format:%at $f`
|
getdate $f
|
||||||
MTIME=${MTIME-9999999999}
|
printf "%d\t%s\n" $RETURNDATE $f >> blogdates.txt
|
||||||
printf "%d\t%s\n" $MTIME $f >> blogdates.txt
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# resort by last git commit time
|
# resort by last git commit time
|
||||||
|
@ -24,7 +46,9 @@ cat << RSSHEADER
|
||||||
RSSHEADER
|
RSSHEADER
|
||||||
|
|
||||||
for f in $FILES; do
|
for f in $FILES; do
|
||||||
MTIME=`git log -n 1 --pretty=format:%at $f`
|
|
||||||
|
getdate $f
|
||||||
|
MTIME=$RETURNDATE
|
||||||
|
|
||||||
TITLE=`head -n 1 $f`
|
TITLE=`head -n 1 $f`
|
||||||
TITLE=${TITLE#"% "}
|
TITLE=${TITLE#"% "}
|
||||||
|
@ -37,7 +61,7 @@ for f in $FILES; do
|
||||||
echo "<title>$TITLE</title>"
|
echo "<title>$TITLE</title>"
|
||||||
echo "<link>$OUTPAGE</link>"
|
echo "<link>$OUTPAGE</link>"
|
||||||
|
|
||||||
if [ $MTIME ]; then
|
if [ $MTIME -gt 0 ]; then
|
||||||
echo "<pubdate>`date -R -u -d \"@$MTIME\"`</pubdate>"
|
echo "<pubdate>`date -R -u -d \"@$MTIME\"`</pubdate>"
|
||||||
fi
|
fi
|
||||||
echo "</item>"
|
echo "</item>"
|
||||||
|
|
Loading…
Add table
Reference in a new issue