13 Star 22 Fork 8

onsale/mywiki

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
generate-index.sh 1.55 KB
一键复制 编辑 原始数据 按行查看 历史
leonly 提交于 2017-03-18 13:02 . first commit
#!/bin/bash
OUTFILE="index.md"
if [ "x$1" = "x" -o ! -d "$1" ]; then
exit 1
fi
if [ $# -eq 1 ]; then
find "$1" -type d -printf '%P\n' | while read TDIR; do
$0 "$1" "$TDIR"
done
exit 0
fi
# Check directory
INDIR="$1/$2"
if [ ! -d "$INDIR" ]; then
exit 1
fi
# Whether already has valid index.md file
if [ -s "$INDIR/$OUTFILE" ]; then
grep -q "Auto-index of" "$INDIR/$OUTFILE"
if [ $? -ne 0 ]; then
exit 0
fi
fi
OUTTMP=`mktemp /tmp/.gen-index-XXXXX`
PTITLE=`basename "$2"`
if [ "x$PTITLE" = "x" ]; then
PTITLE="/"
fi
echo -e "\`\`\`\n\"title\": \"$PTITLE\"\n\`\`\`\n" > $OUTTMP
RELPATH="/$2"
echo -e "# Auto-index of '$RELPATH'\n\n| Name | Last Modified | Size | Type |\n| -------------------- | -------------------- | ---------- | -------- |" >> $OUTTMP
PDIR=`dirname "$2"`
if [ "x$PDIR" = "x" -o "x$PDIR" = "x." ]; then
PDIR="/index.md"
else
PDIR="/$PDIR/index.md"
fi
echo "| [⇧ [parent directory]]($PDIR) | | | |" >> $OUTTMP
if [ "x$2" = "x" ]; then
RELPATH=""
fi
find $INDIR -mindepth 1 -maxdepth 1 -type d -printf "| [📁 %f]("$RELPATH"/%f/index.md) | %TY-%Tm-%Td %TH:%TM:%.2TS | %s | %M |\n" >> $OUTTMP
find $INDIR -maxdepth 1 -type f \( -iname \*.markdown -o -iname \*.md -a ! -name index.md \) -printf "| [📕 %f]("$RELPATH"/%f) | %TY-%Tm-%Td %TH:%TM:%.2TS | %s | %M |\n" >> $OUTTMP
# whether need to overwrite index file
if [ -s "$INDIR/$OUTFILE" ]; then
diff -q "$INDIR/$OUTFILE" $OUTTMP >/dev/null 2>&1
if [ $? -eq 0 ]; then
exit 0
fi
fi
echo "Generate index file: $INDIR/$OUTFILE"
cat $OUTTMP > "$INDIR/$OUTFILE"
rm -f $OUTTMP
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/onsale/mywiki.git
git@gitee.com:onsale/mywiki.git
onsale
mywiki
mywiki
master

搜索帮助