1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-09-19 20:02:10 +00:00

Minify feeds with xmllint

This works particularly well on my Atom feeds with embedded XHTML.
This commit is contained in:
Rohan Kumar 2023-11-25 19:05:53 -08:00
parent 9ae88a5bef
commit 429dcda2cd
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479
3 changed files with 19 additions and 18 deletions

View file

@ -1,12 +1,12 @@
{{- $parsedDest := urls.Parse (.Destination | absURL) -}}
{{- if (strings.HasPrefix .Destination "#") -}}<!-- if it's a fragment -->
<a href="{{ .Destination }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- else if not (strings.HasPrefix .Destination $parsedDest.Scheme) -}}<!-- if it's a relative url -->
{{- $baseURL := trim .Page.Site.BaseURL "/" -}}
{{- $fragment := "" -}}
{{- with $parsedDest.Fragment -}}{{- $fragment = printf "#%s" . -}}{{- end -}}
{{- $href := printf "%s%s%s" $baseURL $parsedDest.Path $fragment | absURL -}}
<a href="{{ $href }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- if (strings.HasPrefix .Destination "#") -}}
<a href="{{ .Destination }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- else if not (strings.HasPrefix .Destination $parsedDest.Scheme) -}}
{{- $baseURL := trim .Page.Site.BaseURL "/" -}}
{{- $fragment := "" -}}
{{- with $parsedDest.Fragment -}}{{- $fragment = printf "#%s" . -}}{{- end -}}
{{- $href := printf "%s%s%s" $baseURL $parsedDest.Path $fragment | absURL -}}
<a href="{{ $href }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- else -}}
<a href="{{ .Destination | htmlEscape }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
<a href="{{ .Destination | htmlEscape }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- end -}}

View file

@ -1,12 +1,12 @@
{{- $parsedDest := urls.Parse (.Destination | absURL) -}}
{{- if (strings.HasPrefix .Destination "#") -}}<!-- if it's a fragment -->
<a href="{{ .Destination }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- else if not (strings.HasPrefix .Destination $parsedDest.Scheme) -}}<!-- if it's a relative url -->
{{- $baseURL := trim .Page.Site.BaseURL "/" -}}
{{- $fragment := "" -}}
{{- with $parsedDest.Fragment -}}{{- $fragment = printf "#%s" . -}}{{- end -}}
{{- $href := printf "%s%s%s" $baseURL $parsedDest.Path $fragment | absURL -}}
<a href="{{ $href }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- if (strings.HasPrefix .Destination "#") -}}
<a href="{{ .Destination }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- else if not (strings.HasPrefix .Destination $parsedDest.Scheme) -}}
{{- $baseURL := trim .Page.Site.BaseURL "/" -}}
{{- $fragment := "" -}}
{{- with $parsedDest.Fragment -}}{{- $fragment = printf "#%s" . -}}{{- end -}}
{{- $href := printf "%s%s%s" $baseURL $parsedDest.Path $fragment | absURL -}}
<a href="{{ $href }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- else -}}
<a href="{{ .Destination }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
<a href="{{ .Destination }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
{{- end -}}

View file

@ -20,4 +20,5 @@ trap cleanup EXIT
export XMLLINT_INDENT=' '
export OUTPUT_DIR="$output_dir"
find "$output_dir" -type f -name '*.html' -exec sh "$script_dir/xhtmlize-single-file.sh" {} \;
find "$output_dir" -type f -name '*.xml' -exec xmllint --noblanks --encode UTF-8 --noent {} --output {} \;
# done