💾 Archived View for it.omarpolo.com › articoli › text-gemini-a-testo-semplice captured on 2022-04-29 at 11:25:05. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-01-08)
-=-=-=-=-=-=-
Mi sono imbattuto su un post interessante su antenna poco fa che mi ha fatto tornare in mente l'idea di servire, eventualmente, una qualche variante delle mie capsule anche nel gopherspace.
Non ho ancora provato a servire nulla via gopher, ma avere un qualche sistema per formattare i post automaticamente non mi dispiace e, quindi, ispirato dall'articolo (grazie Ruario!) ho aperto sam (cosa dire? mi piace cambiare editor in questo periodo) e buttato un piccolo script in AWK.
NB: sto usando la versione di awk presente su OpenBSD che, se non ho capito male, dovrebbe essere più o meno il "One and True AWK". Non credo di aver fatto uso di funzionalità non standard però, quindi dovrebbe funzionare anche con altre implementazioni.
Ho usato il mio convertitore text/gemini => HTML come base. La novità questa volta è l'uso delle pipe in awk che sapevo esistessero ma non avevo mai avuto l'occasione di usarle.
L'idea delle pipe in awk è utile e strana allo stesso tempo. La sintassi è la seguente
expression | cmd close(cmd)
La funzione `close' va chiamata con la stessa stringa usata per avviare il processo, questo perchè AWK non aspetta la terminazione di `cmd' altrimenti.
Ho avuto anche l'occasione di giocare un po' con par, una piccala utility per formattare il testo. Funziona in modo simile a fmt(1), solo con una valanga di opzioni in più e una pagina di manuale decisamente più complessa. Dopo un po' di tentativi ed errori, e con l'aiuto di sed, sono riuscito a domarlo e fargli produrre l'output desiderato.
par, una piccola utility per formattare il testo.
Senza ulteriori indugi, lo script nella sua interezza. Probabilmente bisogna aggiustare lo shebang e marcare il file come eseguibile:
Inoltre, per fornire un esempio del suo operato, ecco una versione trasformata di questa pagina:
$BlogIt: index.gmi,v 1.1 2022/01/04 16:32:32 op Exp $