summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2026-01-30 20:13:43 -0700
committermo khan <mo@mokhan.ca>2026-01-30 20:13:43 -0700
commitb51a073cbd715b96303880a2fea2c139ecdaf15f (patch)
tree6dfbe1b056d2d28a02f3214345a73d2f97dcb4d6
parent076a5bc43665a96908e47a30c53058312d66f2ee (diff)
refactor: fix indentation in some of the html templates
-rw-r--r--internal/templates/blob.gohtml119
-rw-r--r--internal/templates/branches.gohtml99
-rw-r--r--internal/templates/commit.gohtml430
-rw-r--r--internal/templates/layout.gohtml83
-rw-r--r--internal/templates/list.gohtml2
5 files changed, 355 insertions, 378 deletions
diff --git a/internal/templates/blob.gohtml b/internal/templates/blob.gohtml
index 5db5fcf..ec4ec6f 100644
--- a/internal/templates/blob.gohtml
+++ b/internal/templates/blob.gohtml
@@ -1,70 +1,63 @@
{{- /*gotype: mokhan.ca/antonmedv/gitmal/pkg/templates.BlobParams */ -}}
{{ define "head" }}
- <style>
- [id] {
- scroll-margin-top: var(--header-height);
- }
-
- pre {
- border: 1px solid var(--c-border);
- border-top: none;
- border-bottom-left-radius: var(--border-radius);
- border-bottom-right-radius: var(--border-radius);
- }
-
- pre {
- margin: 0;
- padding: 8px 16px;
- overflow-x: auto;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
- tab-size: 4;
- font-family: var(--font-family-mono), monospace;
- }
-
- pre > code {
- display: block;
- padding: 0 16px;
- width: fit-content;
- min-width: 100%;
- line-height: var(--code-line-height);
- font-size: var(--code-font-size);
- }
-
- .border {
- border: 1px solid var(--c-border);
- border-top: none;
- border-bottom-left-radius: 6px;
- border-bottom-right-radius: 6px;
- }
-
- .binary-file {
- padding: 8px 16px;
- font-style: italic;
- }
-
- .image {
- padding: 8px 16px;
- text-align: center;
- }
-
- .image img {
- max-width: 100%;
- height: auto;
- }
- </style>
+<style>
+ [id] {
+ scroll-margin-top: var(--header-height);
+ }
+ pre {
+ border: 1px solid var(--c-border);
+ border-top: none;
+ border-bottom-left-radius: var(--border-radius);
+ border-bottom-right-radius: var(--border-radius);
+ }
+ pre {
+ margin: 0;
+ padding: 8px 16px;
+ overflow-x: auto;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ tab-size: 4;
+ font-family: var(--font-family-mono), monospace;
+ }
+ pre > code {
+ display: block;
+ padding: 0 16px;
+ width: fit-content;
+ min-width: 100%;
+ line-height: var(--code-line-height);
+ font-size: var(--code-font-size);
+ }
+ .border {
+ border: 1px solid var(--c-border);
+ border-top: none;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ }
+ .binary-file {
+ padding: 8px 16px;
+ font-style: italic;
+ }
+ .image {
+ padding: 8px 16px;
+ text-align: center;
+ }
+ .image img {
+ max-width: 100%;
+ height: auto;
+ }
+</style>
{{ end }}
{{ define "body" }}
- {{ template "header" . }}
- {{ if .IsImage }}
- <div class="image border">{{.Content}}</div>
- {{ else if .IsBinary}}
- <div class="binary-file border">Binary file</div>
- {{ else }}
- {{ .Content }}
- {{ end }}
+ {{ template "header" . }}
+ {{ if .IsImage }}
+ <div class="image border">{{.Content}}</div>
+ {{ else if .IsBinary}}
+ <div class="binary-file border">Binary file</div>
+ {{ else }}
+ {{ .Content }}
+ {{ end }}
{{ end }}
diff --git a/internal/templates/branches.gohtml b/internal/templates/branches.gohtml
index 743461d..fa0313e 100644
--- a/internal/templates/branches.gohtml
+++ b/internal/templates/branches.gohtml
@@ -1,58 +1,53 @@
{{- /*gotype: mokhan.ca/antonmedv/gitmal/pkg/templates.BranchesParams*/ -}}
{{ define "head" }}
- <style>
- .branches {
- border: 1px solid var(--c-border);
- border-radius: var(--border-radius);
- overflow: hidden;
- }
-
- .branch-row {
- display: flex;
- align-items: center;
- gap: 12px;
- height: 44px;
- padding-inline: 16px;
- border-bottom: 1px solid var(--c-border);
- background-color: var(--c-bg-elv);
- }
-
- .branch-row:last-child {
- border-bottom: none;
- }
-
- .branch-row a {
- color: var(--c-text-1);
- }
-
- .branch-row a:hover {
- color: var(--c-brand-2);
- text-decoration: none;
- }
-
- .badge {
- font-size: 12px;
- color: var(--c-text-2);
- border: 1px solid var(--c-border);
- padding: 2px 6px;
- border-radius: 999px;
- }
- </style>
+<style>
+ .branches {
+ border: 1px solid var(--c-border);
+ border-radius: var(--border-radius);
+ overflow: hidden;
+ }
+ .branch-row {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ height: 44px;
+ padding-inline: 16px;
+ border-bottom: 1px solid var(--c-border);
+ background-color: var(--c-bg-elv);
+ }
+ .branch-row:last-child {
+ border-bottom: none;
+ }
+ .branch-row a {
+ color: var(--c-text-1);
+ }
+ .branch-row a:hover {
+ color: var(--c-brand-2);
+ text-decoration: none;
+ }
+ .badge {
+ font-size: 12px;
+ color: var(--c-text-2);
+ border: 1px solid var(--c-border);
+ padding: 2px 6px;
+ border-radius: 999px;
+ }
+</style>
{{ end }}
{{ define "body" }}
- <h1>Branches</h1>
- <div class="branches">
- {{ if .Branches }}
- {{ range .Branches }}
- <div class="branch-row">
- <a href="{{ .Href }}">{{ .Name }}</a>
- {{ if .IsDefault }}<span class="badge">default</span>{{ end }}
- <a href="{{ .CommitsHref }}" style="margin-left:auto; font-size:13px; color: var(--c-text-2)">commits →</a>
- </div>
- {{ end }}
- {{ else }}
- <div class="branch-row">(no branches)</div>
- {{ end }}
- </div>
+ <h1>Branches</h1>
+ <div class="branches">
+ {{ if .Branches }}
+ {{ range .Branches }}
+ <div class="branch-row">
+ <a href="{{ .Href }}">{{ .Name }}</a>
+ {{ if .IsDefault }}<span class="badge">default</span>{{ end }}
+ <a href="{{ .CommitsHref }}" style="margin-left:auto; font-size:13px; color: var(--c-text-2)">commits →</a>
+ </div>
+ {{ end }}
+ {{ else }}
+ <div class="branch-row">(no branches)</div>
+ {{ end }}
+ </div>
{{ end }}
diff --git a/internal/templates/commit.gohtml b/internal/templates/commit.gohtml
index 7e0d9c3..5761cb9 100644
--- a/internal/templates/commit.gohtml
+++ b/internal/templates/commit.gohtml
@@ -1,220 +1,220 @@
{{- /*gotype: mokhan.ca/antonmedv/gitmal/pkg/templates.CommitParams*/ -}}
{{ define "head" }}
- <style>
- h1 code {
- border-radius: var(--border-radius);
- background: var(--c-bg-alt);
- padding: 4px 8px;
- font-family: var(--font-family-mono), monospace;
- font-weight: 500;
- }
-
- .commit {
- display: flex;
- flex-direction: column;
- gap: 16px;
- margin-bottom: 16px;
- }
-
- .commit-info {
- display: flex;
- flex-direction: row;
- gap: 8px;
- align-items: flex-end;
- }
-
- .commit-author {
- color: var(--c-text-1);
- font-weight: 600;
- min-width: 0;
- overflow-wrap: break-word;
- }
-
- .commit-date {
- color: var(--c-text-2);
- font-size: 12px;
- font-family: var(--font-family-mono), monospace;
- }
-
- .commit-message {
- border: 1px solid var(--c-border);
- border-radius: var(--border-radius);
- padding: 16px;
- }
-
- .ref-badges {
- display: inline-flex;
- gap: 6px;
- margin-left: 8px;
- }
-
- .badge {
- font-size: 12px;
- color: var(--c-text-2);
- border: 1px solid var(--c-border);
- padding: 2px 6px;
- border-radius: 999px;
- white-space: nowrap;
- }
-
- .commit-subject {
- font-size: 16px;
- font-weight: 600;
- line-height: 1.3;
- hyphens: auto;
- }
-
- .commit-body {
- margin-top: 16px;
- white-space: pre-wrap;
- line-height: 1.5;
- hyphens: auto;
- }
-
- .commit-subinfo {
- display: flex;
- flex-direction: row;
- gap: 16px;
- justify-content: space-between;
- }
-
- .commit-layout {
- display: grid;
- grid-template-columns: 1fr;
- gap: 16px;
- }
-
- @media (min-width: 960px) {
- .commit-layout {
- grid-template-columns: 300px 1fr;
- align-items: start;
- }
-
- .files-tree {
- position: sticky;
- top: 16px;
- }
-
- .files-tree-content {
- max-height: calc(100vh - var(--header-height) - 40px);
- overflow: auto;
- }
- }
-
- .files-tree {
- border: 1px solid var(--c-border);
- border-radius: var(--border-radius);
- }
-
- .files-tree-header {
- display: flex;
- flex-direction: row;
- align-items: center;
- padding-inline: 16px;
- height: var(--header-height);
- border-bottom: 1px solid var(--c-border);
- border-top-left-radius: var(--border-radius);
- border-top-right-radius: var(--border-radius);
- background: var(--c-bg-alt);
- font-size: 14px;
- font-weight: 600;
- }
-
- .files-tree-content {
- display: block;
- padding-block: 6px;
- }
-
- .tree .children {
- margin-left: 16px;
- border-left: 1px dashed var(--c-border);
- }
-
- .tree .node {
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 10px 16px;
- }
-
- .tree .file-name {
- flex: 1;
- font-weight: 500;
- color: var(--c-text-1);
- cursor: pointer;
- }
-
- .tree .file-name:hover {
- color: var(--c-brand-2);
- text-decoration: underline;
- }
-
- .tree .dir {
- color: var(--c-dir);
- }
-
- .tree .file-added {
- color: var(--c-green);
- }
-
- .tree .file-deleted {
- color: var(--c-red);
- }
-
- .tree .file-renamed {
- color: var(--c-yellow);
- }
-
- /* Per-file sections */
-
- .files {
- min-width: 0;
- }
-
- .file-section + .file-section {
- margin-top: 16px;
- }
-
- pre {
- border: 1px solid var(--c-border);
- border-top: none;
- border-bottom-left-radius: var(--border-radius);
- border-bottom-right-radius: var(--border-radius);
- }
-
- pre {
- margin: 0;
- padding: 8px 16px;
- overflow-x: auto;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
- tab-size: 4;
- font-family: var(--font-family-mono), monospace;
- }
-
- pre > code {
- display: block;
- padding: 0 16px;
- width: fit-content;
- min-width: 100%;
- line-height: var(--code-line-height);
- font-size: var(--code-font-size);
- }
-
- .binary-file {
- padding: 8px 16px;
- font-style: italic;
- }
-
- .border {
- border: 1px solid var(--c-border);
- border-top: none;
- border-bottom-left-radius: 6px;
- border-bottom-right-radius: 6px;
- }
- </style>
+<style>
+ h1 code {
+ border-radius: var(--border-radius);
+ background: var(--c-bg-alt);
+ padding: 4px 8px;
+ font-family: var(--font-family-mono), monospace;
+ font-weight: 500;
+ }
+
+ .commit {
+ display: flex;
+ flex-direction: column;
+ gap: 16px;
+ margin-bottom: 16px;
+ }
+
+ .commit-info {
+ display: flex;
+ flex-direction: row;
+ gap: 8px;
+ align-items: flex-end;
+ }
+
+ .commit-author {
+ color: var(--c-text-1);
+ font-weight: 600;
+ min-width: 0;
+ overflow-wrap: break-word;
+ }
+
+ .commit-date {
+ color: var(--c-text-2);
+ font-size: 12px;
+ font-family: var(--font-family-mono), monospace;
+ }
+
+ .commit-message {
+ border: 1px solid var(--c-border);
+ border-radius: var(--border-radius);
+ padding: 16px;
+ }
+
+ .ref-badges {
+ display: inline-flex;
+ gap: 6px;
+ margin-left: 8px;
+ }
+
+ .badge {
+ font-size: 12px;
+ color: var(--c-text-2);
+ border: 1px solid var(--c-border);
+ padding: 2px 6px;
+ border-radius: 999px;
+ white-space: nowrap;
+ }
+
+ .commit-subject {
+ font-size: 16px;
+ font-weight: 600;
+ line-height: 1.3;
+ hyphens: auto;
+ }
+
+ .commit-body {
+ margin-top: 16px;
+ white-space: pre-wrap;
+ line-height: 1.5;
+ hyphens: auto;
+ }
+
+ .commit-subinfo {
+ display: flex;
+ flex-direction: row;
+ gap: 16px;
+ justify-content: space-between;
+ }
+
+ .commit-layout {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: 16px;
+ }
+
+ @media (min-width: 960px) {
+ .commit-layout {
+ grid-template-columns: 300px 1fr;
+ align-items: start;
+ }
+
+ .files-tree {
+ position: sticky;
+ top: 16px;
+ }
+
+ .files-tree-content {
+ max-height: calc(100vh - var(--header-height) - 40px);
+ overflow: auto;
+ }
+ }
+
+ .files-tree {
+ border: 1px solid var(--c-border);
+ border-radius: var(--border-radius);
+ }
+
+ .files-tree-header {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ padding-inline: 16px;
+ height: var(--header-height);
+ border-bottom: 1px solid var(--c-border);
+ border-top-left-radius: var(--border-radius);
+ border-top-right-radius: var(--border-radius);
+ background: var(--c-bg-alt);
+ font-size: 14px;
+ font-weight: 600;
+ }
+
+ .files-tree-content {
+ display: block;
+ padding-block: 6px;
+ }
+
+ .tree .children {
+ margin-left: 16px;
+ border-left: 1px dashed var(--c-border);
+ }
+
+ .tree .node {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ padding: 10px 16px;
+ }
+
+ .tree .file-name {
+ flex: 1;
+ font-weight: 500;
+ color: var(--c-text-1);
+ cursor: pointer;
+ }
+
+ .tree .file-name:hover {
+ color: var(--c-brand-2);
+ text-decoration: underline;
+ }
+
+ .tree .dir {
+ color: var(--c-dir);
+ }
+
+ .tree .file-added {
+ color: var(--c-green);
+ }
+
+ .tree .file-deleted {
+ color: var(--c-red);
+ }
+
+ .tree .file-renamed {
+ color: var(--c-yellow);
+ }
+
+ /* Per-file sections */
+
+ .files {
+ min-width: 0;
+ }
+
+ .file-section + .file-section {
+ margin-top: 16px;
+ }
+
+ pre {
+ border: 1px solid var(--c-border);
+ border-top: none;
+ border-bottom-left-radius: var(--border-radius);
+ border-bottom-right-radius: var(--border-radius);
+ }
+
+ pre {
+ margin: 0;
+ padding: 8px 16px;
+ overflow-x: auto;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ tab-size: 4;
+ font-family: var(--font-family-mono), monospace;
+ }
+
+ pre > code {
+ display: block;
+ padding: 0 16px;
+ width: fit-content;
+ min-width: 100%;
+ line-height: var(--code-line-height);
+ font-size: var(--code-font-size);
+ }
+
+ .binary-file {
+ padding: 8px 16px;
+ font-style: italic;
+ }
+
+ .border {
+ border: 1px solid var(--c-border);
+ border-top: none;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ }
+</style>
{{ end }}
{{ define "body" }}
diff --git a/internal/templates/layout.gohtml b/internal/templates/layout.gohtml
index edf504a..3b81bbf 100644
--- a/internal/templates/layout.gohtml
+++ b/internal/templates/layout.gohtml
@@ -2,59 +2,50 @@
<!DOCTYPE html>
<html lang="en">
<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>{{ .Title }}</title>
- <link rel="stylesheet" href="{{ .RootHref }}css/layout.css">
- {{- if .NeedsMarkdownCSS }}<link rel="stylesheet" href="{{ .RootHref }}css/markdown.css">{{ end }}
- {{- if .NeedsSyntaxCSS }}<link rel="stylesheet" href="{{ .RootHref }}css/syntax.css">{{ end }}
- {{ template "head" . }}
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>{{ .Title }}</title>
+ <link rel="stylesheet" href="{{ .RootHref }}css/layout.css">
+{{- if .NeedsMarkdownCSS }}<link rel="stylesheet" href="{{ .RootHref }}css/markdown.css">{{ end }}
+{{- if .NeedsSyntaxCSS }}<link rel="stylesheet" href="{{ .RootHref }}css/syntax.css">{{ end }}
+{{ template "head" . }}
</head>
<body>
{{ template "svg" . }}
<div class="menu">
- <div class="menu-content">
- <a href="{{ .RootHref }}index.html" class="project-name">{{ .Name }}</a>
- <div class="menu-item {{ if eq .Selected "code" }}selected{{ end }}">
- <a href="{{ .RootHref }}blob/{{ .CurrentRefDir }}/index.html">
- <svg aria-hidden="true" width="16" height="16">
- <use xlink:href="#code"></use>
- </svg>
- Code
- </a>
- </div>
- <div class="menu-item {{ if eq .Selected "branches" }}selected{{ end }}">
- <a href="{{ .RootHref }}branches.html">
- <svg aria-hidden="true" focusable="false" width="16" height="16">
- <use xlink:href="#branch"></use>
- </svg>
- Branches
- </a>
- </div>
- <div class="menu-item {{ if eq .Selected "tags" }}selected{{ end }}">
- <a href="{{ .RootHref }}tags.html">
- <svg aria-hidden="true" focusable="false" width="16" height="16">
- <use xlink:href="#tag"></use>
- </svg>
- Tags
- </a>
- </div>
- <div class="menu-item {{ if eq .Selected "commits" }}selected{{ end }}">
- <a href="{{ .RootHref }}commits/{{ .CurrentRefDir }}/index.html">
- <svg aria-hidden="true" focusable="false" width="16" height="16">
- <use xlink:href="#commit"></use>
- </svg>
- Commits
- </a>
- </div>
+ <div class="menu-content">
+ <a href="{{ .RootHref }}index.html" class="project-name">{{ .Name }}</a>
+ <div class="menu-item {{ if eq .Selected "code" }}selected{{ end }}">
+ <a href="{{ .RootHref }}blob/{{ .CurrentRefDir }}/index.html">
+ <svg aria-hidden="true" width="16" height="16"><use xlink:href="#code"></use></svg>
+ Code
+ </a>
</div>
+ <div class="menu-item {{ if eq .Selected "branches" }}selected{{ end }}">
+ <a href="{{ .RootHref }}branches.html">
+ <svg aria-hidden="true" focusable="false" width="16" height="16"><use xlink:href="#branch"></use></svg>
+ Branches
+ </a>
+ </div>
+ <div class="menu-item {{ if eq .Selected "tags" }}selected{{ end }}">
+ <a href="{{ .RootHref }}tags.html">
+ <svg aria-hidden="true" focusable="false" width="16" height="16"><use xlink:href="#tag"></use></svg>
+ Tags
+ </a>
+ </div>
+ <div class="menu-item {{ if eq .Selected "commits" }}selected{{ end }}">
+ <a href="{{ .RootHref }}commits/{{ .CurrentRefDir }}/index.html">
+ <svg aria-hidden="true" focusable="false" width="16" height="16"><use xlink:href="#commit"></use></svg>
+ Commits
+ </a>
+ </div>
+ </div>
</div>
<main>
- <div class="main-content">
- {{ template "body" . }}
- </div>
+ <div class="main-content">
+ {{ template "body" . }}
+ </div>
</main>
-<footer>
-</footer>
+<footer></footer>
</body>
</html>
diff --git a/internal/templates/list.gohtml b/internal/templates/list.gohtml
index 9780504..9ba1df1 100644
--- a/internal/templates/list.gohtml
+++ b/internal/templates/list.gohtml
@@ -82,8 +82,6 @@
padding: 16px;
}
}
-
- {{.CSSMarkdown}}
{{ end }}
</style>
{{ end }}