* [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)
--- /dev/null
+#!/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 ""
+