site

Francesco Saccone's site content.
git clone git://git.francescosaccone.com/site
Log | Files | Refs | README | LICENSE

commit f06fef924e04382d635bc3181ef97793a14e5309
parent a317888e6a065d5c5b972292e2b192c0247e0de0
Author: Francesco Saccone <francesco@francescosaccone.com>
Date:   Sat,  8 Mar 2025 17:30:06 +0100

feat: add script for Gemtext pages generation

Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>

Diffstat:
Agenerate-gemini.sh | 27+++++++++++++++++++++++++++
1 file changed, 27 insertions(+), 0 deletions(-)

diff --git a/generate-gemini.sh b/generate-gemini.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +for program in cat dirname echo find lowdown mkdir rm read; do + if ! command -v "$program" > /dev/null 2>&1; then + echo "Error: Required program '$program' is not installed." + exit 1 + fi +done + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 <destination>" + exit 1 +fi + +SOURCE="$(dirname "$0")" +DESTINATION="$1" + +find "$SOURCE" -type f -name "*.md" | while IFS= read -r md_file; do + relative_path="${md_file#$SOURCE/}" + gemini_file="$DESTINATION/${relative_path%.md}.gmi" + + mkdir -p "$(dirname "$gemini_file")" + + lowdown -t gemini "$md_file" > "$gemini_file" + + echo "Parsed: $md_file -> $gemini_file" +done