treefmt: fix config, add prettier-plugin-go-template

This commit is contained in:
Jan Kremer 2024-10-17 17:41:01 +02:00
parent 6ccec6f792
commit 9e8f680c52
Signed by: jan
GPG key ID: A7DA689CB3B078EC
10 changed files with 137 additions and 85 deletions

View file

@ -1,9 +1,13 @@
{{ define "main" }} {{ .Content }} {{ $pages := .Paginate (where {{ define "main" }}
.Site.RegularPages "Type" "ne" "page") }} {{ range $pages.Pages }} {{ .Content }}
{{ $pages := .Paginate (where
.Site.RegularPages "Type" "ne" "page")
}}
{{ range $pages.Pages }}
<a href="{{ .RelPermalink }}" style="display: block"> <a href="{{ .RelPermalink }}" style="display: block">
<div class="list"> <div class="list">
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} {{ {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
$dateHuman := .Date | time.Format "2006-01-02" }} {{ $dateHuman := .Date | time.Format "2006-01-02" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
<h2>{{ .Title }}</h2> <h2>{{ .Title }}</h2>
@ -11,4 +15,5 @@
<p class="lead">{{ .Description }}</p> <p class="lead">{{ .Description }}</p>
</div> </div>
</a> </a>
{{ end }} {{ end }} {{ end }}
{{ end }}

View file

@ -1,8 +1,10 @@
{{ define "main" }} {{ .Content }} {{ range .Pages }} {{ define "main" }}
{{ .Content }}
{{ range .Pages }}
<a href="{{ .RelPermalink }}" style="display: block"> <a href="{{ .RelPermalink }}" style="display: block">
<div class="list"> <div class="list">
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} {{ {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
$dateHuman := .Date | time.Format "2006-01-02" }} {{ $dateHuman := .Date | time.Format "2006-01-02" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
<h2>{{ .Title }}</h2> <h2>{{ .Title }}</h2>
@ -10,4 +12,5 @@
<p class="lead">{{ .Description }}</p> <p class="lead">{{ .Description }}</p>
</div> </div>
</a> </a>
{{ end }} {{ end }} {{ end }}
{{ end }}

View file

@ -1,7 +1,7 @@
{{ define "main" }} {{ define "main" }}
<article> <article>
{{ $dateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }} {{ {{ $dateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }}
$dateHuman := .Lastmod | time.Format "2006-01-02" }} {{ $dateHuman := .Lastmod | time.Format "2006-01-02" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
<br /> <br />
@ -11,4 +11,5 @@
{{ .Content }} {{ .Content }}
</article> </article>
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} {{ end }} {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
{{ end }}

View file

@ -5,10 +5,18 @@
<meta name="author" content="Jan Kremer" /> <meta name="author" content="Jan Kremer" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title> <title>
{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s %s" .Title {{ if .IsHome }}
site.Title }}{{ end }} {{ site.Title }}
{{ else }}
{{ printf "%s %s" .Title
site.Title
}}
{{ end }}
</title> </title>
{{ partialCached "head/css.html" . }} {{ partialCached "head/js.html" . }} {{ {{ partialCached "head/css.html" . }} {{ partialCached "head/js.html" . }}
partial "head/analytics.html" . }} {{ with .OutputFormats.Get "rss" -}} {{ {{ partial "head/analytics.html" . }}
printf `<link rel="%q" type="%q" href="%q" title="%q" />` .Rel .MediaType.Type {{ with .OutputFormats.Get "rss" -}}
.Permalink site.Title | safeHTML }} {{ end }} {{ printf `<link rel="%q" type="%q" href="%q" title="%q" />` .Rel .MediaType.Type
.Permalink site.Title | safeHTML
}}
{{ end }}

View file

@ -1,11 +1,16 @@
{{- with resources.Get "css/main.css" }} {{- if eq hugo.Environment {{- with resources.Get "css/main.css" }}
"development" }} {{- if eq hugo.Environment
"development"
}}
<link rel="stylesheet" href="{{ .RelPermalink }}" /> <link rel="stylesheet" href="{{ .RelPermalink }}" />
{{- else }} {{- with . | minify | fingerprint }} {{- else }}
{{- with . | minify | fingerprint }}
<link <link
rel="stylesheet" rel="stylesheet"
href="{{ .RelPermalink }}" href="{{ .RelPermalink }}"
integrity="{{ .Data.Integrity }}" integrity="{{ .Data.Integrity }}"
crossorigin="anonymous" crossorigin="anonymous"
/> />
{{- end }} {{- end }} {{- end }} {{- end }}
{{- end }}
{{- end }}

View file

@ -1,11 +1,18 @@
{{- with resources.Get "js/main.js" }} {{- if eq hugo.Environment "development" {{- with resources.Get "js/main.js" }}
}} {{- with . | js.Build }} {{- if eq hugo.Environment "development" }}
{{- with . | js.Build }}
<script src="{{ .RelPermalink }}"></script> <script src="{{ .RelPermalink }}"></script>
{{- end }} {{- else }} {{- $opts := dict "minify" true }} {{- with . | js.Build {{- end }}
$opts | fingerprint }} {{- else }}
{{- $opts := dict "minify" true }}
{{- with . | js.Build
$opts | fingerprint
}}
<script <script
src="{{ .RelPermalink }}" src="{{ .RelPermalink }}"
integrity="{{- .Data.Integrity }}" integrity="{{- .Data.Integrity }}"
crossorigin="anonymous" crossorigin="anonymous"
></script> ></script>
{{- end }} {{- end }} {{- end }} {{- end }}
{{- end }}
{{- end }}

View file

@ -4,9 +4,9 @@ Renders a menu for the given menu ID.
@context {page} page The current page. @context {page} page The current page.
@context {string} menuID The menu ID. @context {string} menuID The menu ID.
@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }} @example: {{ partial "menu.html" (dict "menuID" "main" "page" .)
}}
*/}} */}}
{{- $page := .page }} {{- $page := .page }}
{{- $menuID := .menuID }} {{- $menuID := .menuID }}
@ -40,7 +40,8 @@ Renders a menu for the given menu ID.
{{- printf " %s=%q" $k $v | safeHTMLAttr }} {{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end }} {{- end }}
{{- end -}} {{- end -}}
>{{ $name }}</a> >{{ $name }}</a
>
{{- with .Children }} {{- with .Children }}
<ul> <ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }} {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}

View file

@ -1,8 +1,12 @@
{{- /* For a given taxonomy, renders a list of terms assigned to the page. {{- /* For a given taxonomy, renders a list of terms assigned to the page.
@context {page} page The current page. @context {string} taxonomy The taxonony. @context {page} page The current page. @context {string} taxonomy The taxonony.
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} */}} {{- @example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .)
$page := .page }} {{- $taxonomy := .taxonomy }} {{- with $page.GetTerms }}
$taxonomy }} {{- $label := (index . 0).Parent.LinkTitle }} */}} {{- $page := .page }} {{- $taxonomy := .taxonomy }}
{{- with $page.GetTerms
$taxonomy
}}
{{- $label := (index . 0).Parent.LinkTitle }}
<div class="tags"> <div class="tags">
<ul> <ul>
{{- range . }} {{- range . }}

View file

@ -1,9 +1,27 @@
{ pkgs, ... }:
{ {
projectRootFile = "flake.nix"; projectRootFile = "flake.nix";
programs = { programs = {
nixfmt.enable = true; nixfmt.enable = true;
gofmt.enable = true; gofmt.enable = true;
taplo.enable = true; taplo.enable = true;
prettier.enable = true; prettier = {
}; enable = true;
settings = {
plugins = [
"${pkgs.prettier-plugin-go-template}/lib/node_modules/prettier-plugin-go-template/lib/index.js"
];
overrides = [
{
files = [ "*.html" ];
options.parser = "go-template";
}
];
};
};
};
settings.global.excludes = [
"public/**"
"static/**"
];
} }