From ee5d1609bfc22b44750a1160d2727c34fa8934ed Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Thu, 4 Apr 2024 20:44:42 +0200 Subject: Use first heading as title in Gemini documents --- spartan.filter.dpi | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/spartan.filter.dpi b/spartan.filter.dpi index 27128b1..586b71d 100755 --- a/spartan.filter.dpi +++ b/spartan.filter.dpi @@ -83,17 +83,26 @@ serve_page() { printf "\n" if [ "$ftype" == "text/gemini" ]; then + # Use first line as title if it is a top level header + IFS=" \n\r" read -r -u 9 first_line + title= + case "$first_line" in + "# "*) title="${first_line#"# "}";; + *) title="${noproto}";; + esac + printf "Content-type: text/html\r\n\r\n" echo "" echo "" echo "" - echo "${noproto}" + echo "${title}" echo "" echo "" echo "" - <&9 cat | tr -d '\r' | fix_links | markdown -f +fencedcode + (printf "%s\n" "$first_line"; <&9 cat) \ + | tr -d '\r' | fix_links | markdown -f +fencedcode echo "" echo "" else -- cgit v1.2.3