Changes
4 changed files (+208/-55)
-
-
@@ -265,6 +265,30 @@color: var(--color-fg-weak); } .metadata { padding: 0; margin: 0; display: flex; flex-direction: column; } .metadata--key { padding: 0; margin: 0; margin-block-end: var(--space-xxs); font-size: var(--font-xs); font-weight: var(--font-thick); color: var(--color-fg-weak); } .metadata--value { padding: 0; margin: 0; font-size: var(--font-md); margin-block-end: var(--space-xl); } /* Sticky header and aside */ @media (min-height: 50rem) { .header {
-
-
static/repo-commit.css (new)
-
@@ -0,0 +1,135 @@/* Copyright 2025 Shota FUJI <pockawoooh@gmail.com> * SPDX-License-Identifier: MIT */ .repo-commit--message { font-family: var(--font-mono); font-size: var(--font-md); font-weight: var(--font-regular); line-height: 1.2; margin: 0; margin-block-end: var(--space-xxl); padding-block-end: var(--space-xxl); white-space: pre-wrap; border-block-end: 1px solid var(--color-border-subtle); } .repo-commit--message::first-line { font-size: var(--font-lg); font-weight: var(--font-thick); line-height: 1.3; } .repo-commit--subheading { font-size: var(--font-lg); font-weight: var(--font-thick); margin: var(--space-lg) 0; line-height: 1.1; } .repo-commit--summary { font-size: var(--font-sm); margin: var(--space-lg) 0; line-height: 1; } .repo-commit--filename { font-size: var(--font-md); margin: var(--space-md) 0; margin-block-start: var(--space-xxl); line-height: 1.3; } .repo-commit--signature { font-size: var(--font-sm); line-height: 1.2; margin: 0; margin-block-start: var(--space-md); padding: var(--space-sm); display: block; width: 100%; height: 20rem; border: 1px solid var(--color-border-subtle); resize: none; white-space: pre; background: transparent; border-radius: var(--radii-sm); box-shadow: 1px 1px 3px var(--color-shadow); color: var(--color-fg); overflow: auto; } .repo-commit--file-list, .repo-commit--diff { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; } .repo-commit--file-list { gap: var(--space-xl); } .repo-commit--diff { display: grid; grid-template-columns: minmax(max-content, 100%); font-family: var(--font-mono); font-size: var(--font-sm); line-height:1.3; border: 1px solid var(--color-border-subtle); box-shadow: 1px 1px 3px var(--color-shadow); border-radius: var(--radii-md); overflow-x: auto; overflow-y: hidden; } .repo-commit--diff-item { display: contents; } .repo-commit--diff-header { display: block; padding: var(--space-md) var(--space-lg); margin: 0; font-size: var(--font-sm); font-style: italic; line-height: 1.2; border-block-end: 1px solid var(--color-border-subtle); color: var(--color-fg-weak); } .repo-commit--diff-header:not(:where(li:first-child > .repo-commit--diff-header)) { border-block-start: 1px solid var(--color-border-subtle); } .repo-commit--diff-header-inner { position: sticky; left: var(--space-lg); } .repo-commit--diff-line { padding: 0 var(--space-lg); } .repo-commit--diff-line[data-op="add"] { background-color: oklch(var(--uchu-green-5-raw) / 15%); } .repo-commit--diff-line[data-op="delete"] { background-color: oklch(var(--uchu-red-5-raw) / 15%); } .repo-commit--diff-icon { display: inline-flex; width: var(--font-md); height: var(--font-md); line-height: 1; font-size: var(--font-md); font-weight: var(--font-thick); color: var(--color-fg-subtle); } .repo-commit--diff-line-text { white-space: pre; }
-
-
-
@@ -2,30 +2,6 @@ /* Copyright 2025 Shota FUJI <pockawoooh@gmail.com>* SPDX-License-Identifier: MIT */ .metadata { padding: 0; margin: 0; display: flex; flex-direction: column; } .metadata--key { padding: 0; margin: 0; margin-block-end: var(--space-xxs); font-size: var(--font-xs); font-weight: var(--font-thick); color: var(--color-fg-weak); } .metadata--value { padding: 0; margin: 0; font-size: var(--font-md); margin-block-end: var(--space-xl); } .recent-commits { margin-block-start: var(--space-xl); }
-
-
-
@@ -8,6 +8,7 @@ <html lang="en">{{ $shorthash := slice .Commit.Hash.String 0 8 }} <head> {{ template "head" }} <link rel="stylesheet" href="/static/repo-commit.css" /> <title> {{ $shorthash }} - {{ .Meta.DisplayName }} </title>
-
@@ -33,21 +34,20 @@ {{ template "repo-nav" . }}</header> <main class="passthru"> <div class="main"> <h1>{{ $shorthash }}</h1> <pre> <section class="repo-commit--message"> {{- .Commit.Message -}} </pre> <h2>Changes</h2> <p> </section> <h2 class="repo-commit--subheading">Changes</h2> <p class="repo-commit--summary"> {{ .Diff.Stat.FilesChanged }} changed files (+{{ .Diff.Stat.Insertions }}/-{{ .Diff.Stat.Deletions }}) </p> <ul> <ul class="repo-commit--file-list"> {{ $meta := .Meta }} {{ $root := . }} {{- range .Diff.Files }} <li> <div> <div class="repo-commit--filename"> {{- if or .IsRename .IsDelete }} <a href="/{{ $meta.DisplayName }}/blob/{{ $root.Parent.Hash.String }}/{{ .OldName }}">{{ .OldName }}</a> {{- if .IsRename }}
-
@@ -65,21 +65,30 @@ <div>{{ if .IsBinary -}} <p>Diff for binary file is unavailable.</p> {{- else -}} <ul> <ul class="repo-commit--diff"> {{- range .TextFragments }} <li> <span>{{ .Header }}</span> <pre> {{- range .Lines -}} {{- $op := "" -}} <li class="repo-commit--diff-item"> <div class="repo-commit--diff-header"> <span class="repo-commit--diff-header-inner">{{ .Header }}</span> </div> {{- range .Lines -}} {{- $op := "" -}} {{- if eq .Op.String "+" -}} {{- $op = "add" -}} {{- else if eq .Op.String "-" -}} {{- $op = "delete" -}} {{- end -}} <span class="repo-commit--diff-line" data-op="{{ $op }}"> <span class="repo-commit--diff-icon"> {{- if eq .Op.String "+" -}} {{- $op = "add" -}} + {{- else if eq .Op.String "-" -}} {{- $op = "delete" -}} {{- end -}} <span data-op="{{ $op }}">{{ .String }}</span> - {{- end -}} </pre> </span> <span class="repo-commit--diff-line-text">{{- .Line -}}</span> </span> {{- end -}} </li> {{ end -}} </ul>
-
@@ -90,40 +99,49 @@ {{ end -}}</ul> </div> <div class="aside"> <h2>Metadata</h2> <dl> <dt>Author</dt> <dd> <dl class="metadata"> <dt class="metadata--key">Authored by</dt> <dd class="metadata--value"> <a href="mailto:{{ .Commit.Author.Email }}"> {{- .Commit.Author.Name -}} </a> authored at </dd> <dt class="metadata--key">Authored at</dt> <dd class="metadata--value"> <time datetime='{{ .Commit.Author.When.Format "2006-01-02T15:04:05-0700" }}'> {{ .Commit.Author.When.Format "2006-01-02 15:04:05 -0700" }} </time> </dd> <dt>Committer</dt> <dd> <dt class="metadata--key">Committed by</dt> <dd class="metadata--value"> <a href="mailto:{{ .Commit.Committer.Email }}"> {{- .Commit.Committer.Name -}} </a> commited at </dd> <dt class="metadata--key">Committed at</dt> <dd class="metadata--value"> <time datetime='{{ .Commit.Committer.When.Format "2006-01-02T15:04:05-0700" }}'> {{ .Commit.Committer.When.Format "2006-01-02 15:04:05 -0700" }} </time> </dd> {{- if .Commit.PGPSignature }} <dt>Signature</dt> <dd> <dt class="metadata--key">Signature</dt> <dd class="metadata--value"> <details> <summary>View</summary> <pre><code>{{ .Commit.PGPSignature }}</code></pre> <textarea class="repo-commit--signature" readonly> {{- .Commit.PGPSignature -}} </textarea> </details> </dd> {{ end -}} <dt class="metadata--key">Object name</dt> <dd class="metadata--value"> {{- .Commit.Hash.String -}} </dd> {{- if not .Parent.Hash.IsZero }} <dt>Parent</dt> <dd> <dt class="metadata--key">Parent</dt> <dd class="metadata--value"> <a href="/{{ .Meta.DisplayName }}/commit/{{ .Parent.Hash.String }}"> {{- slice .Parent.Hash.String 0 8 -}} </a>
-