tildelog/lib/make_gemini.sh

28 lines
836 B
Bash

#!/usr/bin/env bash
declare gemini_index
make_gemini() {
if [ ! -d "${HOME}/public_gemini" ]; then
printf "Creating ~/public_gemini\\n"
mkdir "${HOME}/public_gemini"
fi
if [ ! -L "${HOME}/public_gemini/blog" ]; then
ln -sf "${HOME}/public_html/blog/" "${HOME}/public_gemini/blog"
fi
if [ ! -f "${HOME}/public_gemini/blog/$gemini_index" ]; then
cat <<-'EOF' >"${HOME}/public_gemini/blog/${gemini_index}"
#!/usr/bin/env sh
printf "20 text/gemini\r\n"
printf "my bashblog posts\r\n"
user=$(stat -c '%U' $0)
for post in $(ls -t /home/$user/public_gemini/blog/*.md); do
post=$(basename $post)
printf "=> /~$user/blog/$post $post\r\n"
done
EOF
chmod +x "${HOME}/public_gemini/blog/${gemini_index}"
fi
}