summaryrefslogtreecommitdiff
path: root/gemini
diff options
context:
space:
mode:
authortjpcc <tjp@ctrl-c.club>2023-04-29 13:45:38 -0600
committertjpcc <tjp@ctrl-c.club>2023-04-29 13:45:38 -0600
commitaa6bdb0649c2f2a63b4deae8c4984a660cd0400a (patch)
treebe5d7b3cf21115199b9127050a8ca459a287a9b5 /gemini
parent46ad450327111b9d28b592658d75ef57da498298 (diff)
include a CSS class in htmlconv output
Diffstat (limited to 'gemini')
-rw-r--r--gemini/gemtext/htmlconv/convert.go27
-rw-r--r--gemini/gemtext/htmlconv/convert_test.go5
2 files changed, 20 insertions, 12 deletions
diff --git a/gemini/gemtext/htmlconv/convert.go b/gemini/gemtext/htmlconv/convert.go
index 2af4eea..407eb43 100644
--- a/gemini/gemtext/htmlconv/convert.go
+++ b/gemini/gemtext/htmlconv/convert.go
@@ -56,10 +56,17 @@ func Convert(wr io.Writer, doc gemtext.Document, overrides *template.Template) e
}
var baseTmpl = template.Must(template.New("htmlconv").Parse(`
-{{ define "header" }}<html><body>{{ end }}
-{{ define "textline" }}{{ if ne .String "\n" }}<p>{{ . }}</p>{{ end }}{{ end }}
+{{ define "header" -}}
+<!DOCTYPE html>
+<html><body class="gemtext">{{ end }}
+{{ define "textline" -}}
+ {{ if ne .String "\n" -}}
+<p class="gemtext">{{ . }}</p>
+ {{- end }}
+{{- end }}
{{ define "linkline" -}}
- <p>=> <a href="{{ .ValidatedURL }}">{{ if eq .Label "" -}}
+ <p class="gemtext">=> <a class="gemtext" href="{{ .ValidatedURL }}">
+ {{- if eq .Label "" -}}
{{ .URL }}
{{- else -}}
{{ .Label }}
@@ -67,22 +74,22 @@ var baseTmpl = template.Must(template.New("htmlconv").Parse(`
</a></p>
{{- end }}
{{ define "preformattedtextlines" -}}
- <pre>
+ <pre class="gemtext">
{{- range . -}}
{{ . }}
{{- end -}}
</pre>
{{- end }}
-{{ define "heading1line" }}<h1>{{ .Body }}</h1>{{ end }}
-{{ define "heading2line" }}<h2>{{ .Body }}</h2>{{ end }}
-{{ define "heading3line" }}<h3>{{ .Body }}</h3>{{ end }}
+{{ define "heading1line" }}<h1 class="gemtext">{{ .Body }}</h1>{{ end }}
+{{ define "heading2line" }}<h2 class="gemtext">{{ .Body }}</h2>{{ end }}
+{{ define "heading3line" }}<h3 class="gemtext">{{ .Body }}</h3>{{ end }}
{{ define "listitemlines" -}}
- <ul>
+ <ul class="gemtext">
{{- range . -}}
- <li>{{ .Body }}</li>
+ <li class="gemtext">{{ .Body }}</li>
{{- end -}}
</ul>
{{- end }}
-{{ define "quoteline" }}<blockquote>{{ .Body }}</blockquote>{{ end }}
+{{ define "quoteline" }}<blockquote class="gemtext">{{ .Body }}</blockquote>{{ end }}
{{ define "footer" }}</body></html>{{ end }}
`))
diff --git a/gemini/gemtext/htmlconv/convert_test.go b/gemini/gemtext/htmlconv/convert_test.go
index 641ffb8..6e8bfcd 100644
--- a/gemini/gemtext/htmlconv/convert_test.go
+++ b/gemini/gemtext/htmlconv/convert_test.go
@@ -32,8 +32,9 @@ This is some non-blank regular text.
func TestConvert(t *testing.T) {
htmlDoc := `
-<html><body><h1>top-level header line</h1><h2>subtitle</h2><p>This is some non-blank regular text.
-</p><ul><li>an</li><li>unordered</li><li>list</li></ul><p>=> <a href="gemini://google.com/">as if</a></p><p>=> <a href="https://google.com/">https://google.com/</a></p><blockquote> this is a quote</blockquote><blockquote> -tjp</blockquote><pre>doc := gemtext.Parse(req.Body)
+<!DOCTYPE html>
+<html><body class="gemtext"><h1 class="gemtext">top-level header line</h1><h2 class="gemtext">subtitle</h2><p class="gemtext">This is some non-blank regular text.
+</p><ul class="gemtext"><li class="gemtext">an</li><li class="gemtext">unordered</li><li class="gemtext">list</li></ul><p class="gemtext">=> <a class="gemtext" href="gemini://google.com/">as if</a></p><p class="gemtext">=> <a class="gemtext" href="https://google.com/">https://google.com/</a></p><blockquote class="gemtext"> this is a quote</blockquote><blockquote class="gemtext"> -tjp</blockquote><pre class="gemtext">doc := gemtext.Parse(req.Body)
</pre></body></html>`[1:]
doc, err := gemtext.Parse(bytes.NewBufferString(gmiDoc))