#!/usr/bin/env perl # # gem2html - opinionated converter text/gemini to html # public domain use v5.10; use strict; use warnings; use open ":std", ":encoding(UTF-8)"; my $in_pre = 0; my $in_list = 0; while (<>) { chomp; if ($in_pre && m/^```/) { $in_pre = 0; say ""; } elsif (!$in_pre && m/^```/) { if ($in_list) { $in_list = 0; say ""; } $in_pre = 1; print "
";
	} elsif ($in_pre) {
		say san($_);
	} elsif ($in_list && m/^$/) {
		say "";
		$in_list = 0;
	} elsif (m/^\*\s+(.*)/) { # NB: at least one space
		if (!$in_list) {
			$in_list = "item";
			say "";
			say "