#!/bin/sh START=$(pwd) find -- . -type d | sed '/^\.\$/d' | sed '/^\.\/\.git\//d' | sed '/^\.\/.git/d' | while read -r line; do cd "${line}" || continue line=$(echo "${line}" | sed 's/^\.\///') if ! test -f ./index.org; then echo "#+title: =~/${line}=" > index.org echo "* Directories" >> index.org for dir in */; do echo "- [[/dotfiles/${line}/${dir}][${dir}]]" >> index.org done echo "* Files" >> index.org for file in *; do if test -f "${file}"; then if echo "${file}" | grep -q "\.org\$"; then new_file=$(basename "$(grep '#+begin_src' "${file}" | head -1 | cut -d ' ' -f 4)") fi if [ "$new_file" = "" ]; then new_file=$file fi echo "- [[/dotfiles/${line}/${file}][${new_file}]]" >> index.org fi done fi cd "${START}" || exit done