From e9226725ae755ecbfa3944b7b15e3fea6e6fd674 Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Fri, 28 Feb 2025 13:32:40 +0100 Subject: [PATCH] new: auto-indexing --- index.md | 2 ++ mkdocs/site | 2 +- update-index.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100755 update-index.sh diff --git a/index.md b/index.md index 6c5b97e..d27f4c7 100644 --- a/index.md +++ b/index.md @@ -6,6 +6,8 @@ Some documentation: * [Framagenda](/Phone/Framagenda) * Politique: * [Le droit d'asile (France)](/Politique/Le%20droit%20d%27asile%20pour%20les%20nuls) +* History + * [Ancient Rome](/Ancient%20Rome) * Tech: * [Dark-Olympic](/Tech/color-theme) * [Git](/Tech/git) diff --git a/mkdocs/site b/mkdocs/site index 58d1fed..8282b24 160000 --- a/mkdocs/site +++ b/mkdocs/site @@ -1 +1 @@ -Subproject commit 58d1fed77c89324fdbef2900ddbadf385255b293 +Subproject commit 8282b241103eaeaaef0be2497b7e16855943b8f0 diff --git a/update-index.sh b/update-index.sh new file mode 100755 index 0000000..6979f30 --- /dev/null +++ b/update-index.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# ready to use url-link to the given file +url() { + echo "$1" | sed 's: :%20:g' | sed 's:\.md$::g' +} + +work() { + read ln || return + + title="$1" + lvl="$2" + pre="$3" + + cur_lvl=$(echo "$ln" | sed 's:[^/]::g' | wc -c) + + if [ $cur_lvl -gt $lvl ]; then + title=$(dirname "$ln") + title=$(basename "$title") + if [ "$pre" = "" ]; then + pre="*" + else + pre=" $pre" + fi + elif [ $cur_lvl -lt $lvl ]; then + pre=$(echo "$pre" | cut -c5-) + fi + + if [ "$ln" = "" ]; then + echo Some documentation: + echo + elif [ -d "$ln" ]; then + name=$(basename "$ln") + if [ -e "$ln/README.md" ]; then + echo "$pre [$name](/$(url "$ln")): " + else + echo "$pre $name:" + fi + else + name=$(basename "$ln" .md) + name=$(head -n1 "$ln" | cut -c3-) + if [ "$name" != README ]; then + echo "$pre [$name](/$(url "$ln"))" + fi + fi + + work "$title" "$cur_lvl" "$pre" +} + +cd $(dirname "$0") +find . | cut -c3- | grep -Ev '(index.md)|(^mkdocs)|(^\.)|(\.sh$)' \ + | work "" -1 "" + -- 2.27.0