Commit 5950cdb
Changed files (16)
internal
internal/generator/blob.go
@@ -86,6 +86,7 @@ func GenerateBlobs(files []git.Blob, params Params) error {
Selected: "code",
NeedsMarkdownCSS: true,
NeedsSyntaxCSS: true,
+ Year: currentYear(),
},
HeaderParams: templates.HeaderParams{
Ref: params.Ref,
@@ -139,6 +140,7 @@ func GenerateBlobs(files []git.Blob, params Params) error {
CurrentRefDir: params.Ref.DirName(),
Selected: "code",
NeedsSyntaxCSS: !isBin,
+ Year: currentYear(),
},
HeaderParams: templates.HeaderParams{
Ref: params.Ref,
internal/generator/branches.go
@@ -51,6 +51,7 @@ func GenerateBranches(branches []git.Ref, defaultBranch string, params Params) e
RootHref: rootHref,
CurrentRefDir: params.DefaultRef.DirName(),
Selected: "branches",
+ Year: currentYear(),
},
Branches: entries,
})
internal/generator/commit.go
@@ -159,6 +159,7 @@ func generateCommitPage(commit git.Commit, params Params) error {
CurrentRefDir: currentRef.DirName(),
Selected: "commits",
NeedsSyntaxCSS: true,
+ Year: currentYear(),
},
Commit: commit,
FileTree: fileTree,
internal/generator/commits_list.go
@@ -64,6 +64,7 @@ func GenerateLogForBranch(allCommits []git.Commit, params Params) error {
RootHref: rootHref,
CurrentRefDir: params.Ref.DirName(),
Selected: "commits",
+ Year: currentYear(),
},
HeaderParams: templates.HeaderParams{
Header: "Commits",
internal/generator/compare.go
@@ -187,6 +187,7 @@ func generateComparePage(base, head string, params Params) error {
CurrentRefDir: params.DefaultRef.DirName(),
Selected: "",
NeedsSyntaxCSS: true,
+ Year: currentYear(),
},
Base: base,
Head: head,
internal/generator/css.go
@@ -1,51 +1,5 @@
package generator
-import (
- "os"
- "path/filepath"
-
- "mokhan.ca/xlgmokha/gitmal/internal/templates"
-)
-
func GenerateCSS(params Params) error {
- cssDir := filepath.Join(params.OutputDir, "css")
- if err := os.MkdirAll(cssDir, 0o755); err != nil {
- return err
- }
-
- if err := writeLayoutCSS(cssDir); err != nil {
- return err
- }
- if err := writeMarkdownCSS(cssDir); err != nil {
- return err
- }
- if err := writeSyntaxCSS(cssDir); err != nil {
- return err
- }
-
return nil
}
-
-func writeLayoutCSS(cssDir string) error {
- return os.WriteFile(filepath.Join(cssDir, "layout.css"), []byte(templates.LayoutCSS), 0o644)
-}
-
-func writeMarkdownCSS(cssDir string) error {
- css := "@media (prefers-color-scheme: light) {\n" +
- templates.CSSMarkdownLight +
- "\n}\n" +
- "@media (prefers-color-scheme: dark) {\n" +
- templates.CSSMarkdownDark +
- "\n}"
- return os.WriteFile(filepath.Join(cssDir, "markdown.css"), []byte(css), 0o644)
-}
-
-func writeSyntaxCSS(cssDir string) error {
- css := "@media (prefers-color-scheme: light) {\n" +
- templates.CSSSyntaxLight +
- "\n}\n" +
- "@media (prefers-color-scheme: dark) {\n" +
- templates.CSSSyntaxDark +
- "\n}"
- return os.WriteFile(filepath.Join(cssDir, "syntax.css"), []byte(css), 0o644)
-}
internal/generator/list.go
@@ -104,6 +104,7 @@ func GenerateIndex(files []git.Blob, params Params) error {
Selected: "code",
NeedsMarkdownCSS: hasReadme,
NeedsSyntaxCSS: hasReadme,
+ Year: currentYear(),
},
HeaderParams: templates.HeaderParams{
Ref: params.Ref,
@@ -211,6 +212,7 @@ func GenerateLists(files []git.Blob, params Params) error {
Selected: "code",
NeedsMarkdownCSS: hasReadme,
NeedsSyntaxCSS: hasReadme,
+ Year: currentYear(),
},
HeaderParams: templates.HeaderParams{
Ref: params.Ref,
internal/generator/utils.go
@@ -5,11 +5,16 @@ import (
"os"
"path/filepath"
"strings"
+ "time"
"mokhan.ca/xlgmokha/gitmal/internal/git"
"mokhan.ca/xlgmokha/gitmal/internal/templates"
)
+func currentYear() int {
+ return time.Now().Year()
+}
+
const Dot = "·"
func Echo(a ...any) {
internal/templates/css/layout.css
@@ -1,220 +0,0 @@
-:root {
- --c-indigo-1: #3451b2;
- --c-indigo-2: #3a5ccc;
- --c-indigo-3: #5672cd;
- --c-green: #1a7f37;
- --c-red: #c53030;
- --c-yellow: #9a6700;
- --c-dir: #54aeff;
- --c-gray-soft: rgba(142, 150, 170, .14);
- --c-bg: #ffffff;
- --c-bg-alt: #f6f6f7;
- --c-bg-elv: #ffffff;
- --c-text-1: rgba(60, 60, 67);
- --c-text-2: rgba(60, 60, 67, .78);
- --c-text-3: rgba(60, 60, 67, .56);
- --c-border: #c2c2c4;
- --c-divider: #e2e2e3;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --c-indigo-1: #a8b1ff;
- --c-indigo-2: #5c73e7;
- --c-indigo-3: #3e63dd;
- --c-green: #57ab5a;
- --c-red: #e5534b;
- --c-yellow: #c69026;
- --c-dir: #9198a1;
- --c-gray-soft: rgba(101, 117, 133, .16);
- --c-bg: #1b1b1f;
- --c-bg-alt: #161618;
- --c-bg-elv: #202127;
- --c-text-1: rgba(255, 255, 245, .86);
- --c-text-2: rgba(235, 235, 245, .6);
- --c-text-3: rgba(235, 235, 245, .38);
- --c-border: #3c3f44;
- --c-divider: #2e2e32;
- }
-}
-
-:root {
- --c-brand-1: var(--c-indigo-1);
- --c-brand-2: var(--c-indigo-2);
- --c-brand-3: var(--c-indigo-3);
- --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
- --font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
- --code-line-height: 20px;
- --code-font-size: 12px;
- --code-color: var(--c-brand-1);
- --code-bg: var(--c-gray-soft);
- --code-block-bg: var(--c-bg-alt);
- --code-block-color: var(--c-text-1);
- --header-height: 46px;
- --border-radius: 6px;
- --max-content-width: 1470px;
-}
-
-* {
- box-sizing: border-box;
-}
-
-body {
- margin: 0;
- padding: 0;
- font-family: var(--font-family), sans-serif;
- font-size: 14px;
- line-height: 1;
- color: var(--c-text-1);
- background-color: var(--c-bg);
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- -moz-text-size-adjust: none;
- -webkit-text-size-adjust: none;
- text-size-adjust: none;
- min-height: 100vh;
- display: flex;
- flex-direction: column;
-}
-
-.nowrap {
- white-space: nowrap;
-}
-
-h1 {
- margin-inline: 0;
- margin-block: 16px;
- font-size: 20px;
- font-weight: 600;
-}
-
-a {
- color: var(--c-brand-1);
- font-weight: 500;
- text-decoration: underline;
- text-underline-offset: 2px;
- text-decoration: inherit;
- touch-action: manipulation;
-}
-
-a:hover {
- color: var(--c-brand-2);
- text-decoration: underline;
-}
-
-.menu {
- background-color: var(--c-bg-alt);
- border-bottom: 1px solid var(--c-divider);
- overflow-x: auto;
-}
-
-.menu-content {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 16px;
- padding-inline: 16px;
- max-width: var(--max-content-width);
- margin-inline: auto;
-}
-
-.menu-item {
- display: flex;
- align-items: center;
- border-bottom: 2px solid transparent;
- height: 56px;
- padding-inline: 8px;
-}
-
-.menu-item a {
- display: flex;
- flex-direction: row;
- gap: 8px;
- align-items: center;
- color: var(--c-text-1);
- padding: 8px 10px;
- border-radius: 4px;
-}
-
-.menu-item a:hover {
- background-color: var(--c-bg-elv);
- text-decoration: none;
-}
-
-.menu-item.selected {
- border-bottom-color: var(--c-brand-1);
-}
-
-.project-name {
- font-weight: 600;
- font-size: 16px;
- margin-inline: 16px;
- color: var(--c-text-1);
- text-decoration: none;
-}
-
-main {
- flex-grow: 1;
- width: 100%;
- max-width: var(--max-content-width);
- margin: 16px auto;
-}
-
-.main-content {
- padding-inline: 16px;
-}
-
-footer {
- padding: 12px 16px;
- background-color: var(--c-bg-alt);
- border-top: 1px solid var(--c-divider);
- color: var(--c-text-3);
- font-size: 12px;
- text-align: center;
-}
-
-header {
- display: flex;
- flex-direction: row;
- align-items: center;
- min-height: var(--header-height);
- padding-inline: 16px;
- background: var(--c-bg-alt);
- border: 1px solid var(--c-border);
- border-top-left-radius: var(--border-radius);
- border-top-right-radius: var(--border-radius);
-}
-
-header h1 {
- word-break: break-all;
- font-weight: 600;
- font-size: 16px;
- margin: 0;
- padding: 0;
-}
-
-.header-ref {
- color: var(--c-text-2);
- border: 1px solid var(--c-border);
- border-radius: 6px;
- padding: 6px 10px;
- margin-right: 10px;
- margin-left: -6px;
-}
-
-header .path {
- font-size: 16px;
-}
-
-.breadcrumbs {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- gap: 6px;
- font-size: 16px;
-}
-
-.breadcrumbs a {
- word-break: break-all;
-}
internal/templates/css/markdown_dark.css
@@ -1,1042 +0,0 @@
-.markdown-body details,
-.markdown-body figcaption,
-.markdown-body figure {
- display: block;
-}
-
-.markdown-body summary {
- display: list-item;
-}
-
-.markdown-body [hidden] {
- display: none !important;
-}
-
-.markdown-body a {
- background-color: transparent;
- text-decoration: none;
-}
-
-.markdown-body abbr[title] {
- border-bottom: none;
- text-decoration: underline dotted;
-}
-
-.markdown-body b,
-.markdown-body strong {
- font-weight: 600;
-}
-
-.markdown-body dfn {
- font-style: italic;
-}
-
-.markdown-body h1 {
- margin: .67em 0;
- font-weight: 600;
- padding-bottom: .3em;
- font-size: 2em;
- border-bottom: 1px solid #3d444db3;
-}
-
-.markdown-body mark {
- background-color: #bb800926;
- color: #f0f6fc;
-}
-
-.markdown-body small {
- font-size: 90%;
-}
-
-.markdown-body sub,
-.markdown-body sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-.markdown-body sub {
- bottom: -0.25em;
-}
-
-.markdown-body sup {
- top: -0.5em;
-}
-
-.markdown-body img {
- border-style: none;
- max-width: 100%;
- box-sizing: content-box;
-}
-
-.markdown-body code,
-.markdown-body kbd,
-.markdown-body pre,
-.markdown-body samp {
- font-family: monospace;
- font-size: 1em;
-}
-
-.markdown-body figure {
- margin: 1em 2.5rem;
-}
-
-.markdown-body hr {
- box-sizing: content-box;
- overflow: hidden;
- border-bottom: 1px solid #3d444db3;
- height: .25em;
- padding: 0;
- margin: 1.5rem 0;
- background-color: #3d444d;
-}
-
-.markdown-body input {
- font: inherit;
- margin: 0;
- overflow: visible;
- line-height: inherit;
-}
-
-.markdown-body [type=button],
-.markdown-body [type=reset],
-.markdown-body [type=submit] {
- -webkit-appearance: button;
- appearance: button;
-}
-
-.markdown-body [type=checkbox],
-.markdown-body [type=radio] {
- box-sizing: border-box;
- padding: 0;
-}
-
-.markdown-body [type=number]::-webkit-inner-spin-button,
-.markdown-body [type=number]::-webkit-outer-spin-button {
- height: auto;
-}
-
-.markdown-body [type=search]::-webkit-search-cancel-button,
-.markdown-body [type=search]::-webkit-search-decoration {
- -webkit-appearance: none;
- appearance: none;
-}
-
-.markdown-body ::-webkit-input-placeholder {
- color: inherit;
- opacity: .54;
-}
-
-.markdown-body ::-webkit-file-upload-button {
- -webkit-appearance: button;
- appearance: button;
- font: inherit;
-}
-
-.markdown-body a:hover {
- text-decoration: underline;
-}
-
-.markdown-body ::placeholder {
- color: #9198a1;
- opacity: 1;
-}
-
-.markdown-body hr::before {
- display: table;
- content: "";
-}
-
-.markdown-body hr::after {
- display: table;
- clear: both;
- content: "";
-}
-
-.markdown-body table {
- border-spacing: 0;
- border-collapse: collapse;
- display: block;
- width: max-content;
- max-width: 100%;
- overflow: auto;
- font-variant: tabular-nums;
-}
-
-.markdown-body td,
-.markdown-body th {
- padding: 0;
-}
-
-.markdown-body details summary {
- cursor: pointer;
-}
-
-.markdown-body a:focus,
-.markdown-body [role=button]:focus,
-.markdown-body input[type=radio]:focus,
-.markdown-body input[type=checkbox]:focus {
- outline: 2px solid #1f6feb;
- outline-offset: -2px;
- box-shadow: none;
-}
-
-.markdown-body a:focus:not(:focus-visible),
-.markdown-body [role=button]:focus:not(:focus-visible),
-.markdown-body input[type=radio]:focus:not(:focus-visible),
-.markdown-body input[type=checkbox]:focus:not(:focus-visible) {
- outline: solid 1px transparent;
-}
-
-.markdown-body a:focus-visible,
-.markdown-body [role=button]:focus-visible,
-.markdown-body input[type=radio]:focus-visible,
-.markdown-body input[type=checkbox]:focus-visible {
- outline: 2px solid #1f6feb;
- outline-offset: -2px;
- box-shadow: none;
-}
-
-.markdown-body a:not([class]):focus,
-.markdown-body a:not([class]):focus-visible,
-.markdown-body input[type=radio]:focus,
-.markdown-body input[type=radio]:focus-visible,
-.markdown-body input[type=checkbox]:focus,
-.markdown-body input[type=checkbox]:focus-visible {
- outline-offset: 0;
-}
-
-.markdown-body kbd {
- display: inline-block;
- padding: 0.25rem;
- font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
- line-height: 10px;
- color: #f0f6fc;
- vertical-align: middle;
- background-color: #151b23;
- border: solid 1px #3d444db3;
- border-radius: 6px;
- box-shadow: inset 0 -1px 0 #3d444db3;
-}
-
-.markdown-body h1,
-.markdown-body h2,
-.markdown-body h3,
-.markdown-body h4,
-.markdown-body h5,
-.markdown-body h6 {
- margin-top: 1.5rem;
- margin-bottom: 1rem;
- font-weight: 600;
- line-height: 1.25;
-}
-
-.markdown-body h2 {
- font-weight: 600;
- padding-bottom: .3em;
- font-size: 1.5em;
- border-bottom: 1px solid #3d444db3;
-}
-
-.markdown-body h3 {
- font-weight: 600;
- font-size: 1.25em;
-}
-
-.markdown-body h4 {
- font-weight: 600;
- font-size: 1em;
-}
-
-.markdown-body h5 {
- font-weight: 600;
- font-size: .875em;
-}
-
-.markdown-body h6 {
- font-weight: 600;
- font-size: .85em;
- color: #9198a1;
-}
-
-.markdown-body p {
- margin-top: 0;
- margin-bottom: 10px;
-}
-
-.markdown-body blockquote {
- margin: 0;
- padding: 0 1em;
- color: #9198a1;
- border-left: .25em solid #3d444d;
-}
-
-.markdown-body ul,
-.markdown-body ol {
- margin-top: 0;
- margin-bottom: 0;
- padding-left: 2em;
-}
-
-.markdown-body ol ol,
-.markdown-body ul ol {
- list-style-type: lower-roman;
-}
-
-.markdown-body ul ul ol,
-.markdown-body ul ol ol,
-.markdown-body ol ul ol,
-.markdown-body ol ol ol {
- list-style-type: lower-alpha;
-}
-
-.markdown-body dd {
- margin-left: 0;
-}
-
-.markdown-body tt,
-.markdown-body code,
-.markdown-body samp {
- font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
- font-size: 12px;
-}
-
-.markdown-body pre {
- margin-top: 0;
- margin-bottom: 0;
- font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
- font-size: 12px;
- word-wrap: normal;
-}
-
-.markdown-body .octicon {
- display: inline-block;
- overflow: visible !important;
- vertical-align: text-bottom;
- fill: currentColor;
-}
-
-.markdown-body input::-webkit-outer-spin-button,
-.markdown-body input::-webkit-inner-spin-button {
- margin: 0;
- appearance: none;
-}
-
-.markdown-body .mr-2 {
- margin-right: 0.5rem !important;
-}
-
-.markdown-body::before {
- display: table;
- content: "";
-}
-
-.markdown-body::after {
- display: table;
- clear: both;
- content: "";
-}
-
-.markdown-body > *:first-child {
- margin-top: 0 !important;
-}
-
-.markdown-body > *:last-child {
- margin-bottom: 0 !important;
-}
-
-.markdown-body a:not([href]) {
- color: inherit;
- text-decoration: none;
-}
-
-.markdown-body .absent {
- color: #f85149;
-}
-
-.markdown-body .anchor {
- float: left;
- padding-right: 0.25rem;
- margin-left: -20px;
- line-height: 1;
-}
-
-.markdown-body .anchor:focus {
- outline: none;
-}
-
-.markdown-body p,
-.markdown-body blockquote,
-.markdown-body ul,
-.markdown-body ol,
-.markdown-body dl,
-.markdown-body table,
-.markdown-body pre,
-.markdown-body details {
- margin-top: 0;
- margin-bottom: 1rem;
-}
-
-.markdown-body blockquote > :first-child {
- margin-top: 0;
-}
-
-.markdown-body blockquote > :last-child {
- margin-bottom: 0;
-}
-
-.markdown-body h1:hover .anchor,
-.markdown-body h2:hover .anchor,
-.markdown-body h3:hover .anchor,
-.markdown-body h4:hover .anchor,
-.markdown-body h5:hover .anchor,
-.markdown-body h6:hover .anchor {
- text-decoration: none;
-}
-
-.markdown-body h1 tt,
-.markdown-body h1 code,
-.markdown-body h2 tt,
-.markdown-body h2 code,
-.markdown-body h3 tt,
-.markdown-body h3 code,
-.markdown-body h4 tt,
-.markdown-body h4 code,
-.markdown-body h5 tt,
-.markdown-body h5 code,
-.markdown-body h6 tt,
-.markdown-body h6 code {
- padding: 0 .2em;
- font-size: inherit;
-}
-
-.markdown-body summary h1,
-.markdown-body summary h2,
-.markdown-body summary h3,
-.markdown-body summary h4,
-.markdown-body summary h5,
-.markdown-body summary h6 {
- display: inline-block;
-}
-
-.markdown-body summary h1 .anchor,
-.markdown-body summary h2 .anchor,
-.markdown-body summary h3 .anchor,
-.markdown-body summary h4 .anchor,
-.markdown-body summary h5 .anchor,
-.markdown-body summary h6 .anchor {
- margin-left: -40px;
-}
-
-.markdown-body summary h1,
-.markdown-body summary h2 {
- padding-bottom: 0;
- border-bottom: 0;
-}
-
-.markdown-body ul.no-list,
-.markdown-body ol.no-list {
- padding: 0;
- list-style-type: none;
-}
-
-.markdown-body ol[type="a s"] {
- list-style-type: lower-alpha;
-}
-
-.markdown-body ol[type="A s"] {
- list-style-type: upper-alpha;
-}
-
-.markdown-body ol[type="i s"] {
- list-style-type: lower-roman;
-}
-
-.markdown-body ol[type="I s"] {
- list-style-type: upper-roman;
-}
-
-.markdown-body ol[type="1"] {
- list-style-type: decimal;
-}
-
-.markdown-body div > ol:not([type]) {
- list-style-type: decimal;
-}
-
-.markdown-body ul ul,
-.markdown-body ul ol,
-.markdown-body ol ol,
-.markdown-body ol ul {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-.markdown-body li > p {
- margin-top: 1rem;
-}
-
-.markdown-body li + li {
- margin-top: .25em;
-}
-
-.markdown-body dl {
- padding: 0;
-}
-
-.markdown-body dl dt {
- padding: 0;
- margin-top: 1rem;
- font-size: 1em;
- font-style: italic;
- font-weight: 600;
-}
-
-.markdown-body dl dd {
- padding: 0 1rem;
- margin-bottom: 1rem;
-}
-
-.markdown-body table th {
- font-weight: 600;
-}
-
-.markdown-body table th,
-.markdown-body table td {
- padding: 6px 13px;
- border: 1px solid #3d444d;
-}
-
-.markdown-body table td > :last-child {
- margin-bottom: 0;
-}
-
-.markdown-body table tr {
- background-color: #0d1117;
- border-top: 1px solid #3d444db3;
-}
-
-.markdown-body table tr:nth-child(2n) {
- background-color: #151b23;
-}
-
-.markdown-body table img {
- background-color: transparent;
-}
-
-.markdown-body img[align=right] {
- padding-left: 20px;
-}
-
-.markdown-body img[align=left] {
- padding-right: 20px;
-}
-
-.markdown-body .emoji {
- max-width: none;
- vertical-align: text-top;
- background-color: transparent;
-}
-
-.markdown-body span.frame {
- display: block;
- overflow: hidden;
-}
-
-.markdown-body span.frame > span {
- display: block;
- float: left;
- width: auto;
- padding: 7px;
- margin: 13px 0 0;
- overflow: hidden;
- border: 1px solid #3d444d;
-}
-
-.markdown-body span.frame span img {
- display: block;
- float: left;
-}
-
-.markdown-body span.frame span span {
- display: block;
- padding: 5px 0 0;
- clear: both;
- color: #f0f6fc;
-}
-
-.markdown-body span.align-center {
- display: block;
- overflow: hidden;
- clear: both;
-}
-
-.markdown-body span.align-center > span {
- display: block;
- margin: 13px auto 0;
- overflow: hidden;
- text-align: center;
-}
-
-.markdown-body span.align-center span img {
- margin: 0 auto;
- text-align: center;
-}
-
-.markdown-body span.align-right {
- display: block;
- overflow: hidden;
- clear: both;
-}
-
-.markdown-body span.align-right > span {
- display: block;
- margin: 13px 0 0;
- overflow: hidden;
- text-align: right;
-}
-
-.markdown-body span.align-right span img {
- margin: 0;
- text-align: right;
-}
-
-.markdown-body span.float-left {
- display: block;
- float: left;
- margin-right: 13px;
- overflow: hidden;
-}
-
-.markdown-body span.float-left span {
- margin: 13px 0 0;
-}
-
-.markdown-body span.float-right {
- display: block;
- float: right;
- margin-left: 13px;
- overflow: hidden;
-}
-
-.markdown-body span.float-right > span {
- display: block;
- margin: 13px auto 0;
- overflow: hidden;
- text-align: right;
-}
-
-.markdown-body code,
-.markdown-body tt {
- padding: .2em .4em;
- margin: 0;
- font-size: 85%;
- white-space: break-spaces;
- background-color: #656c7633;
- border-radius: 6px;
-}
-
-.markdown-body code br,
-.markdown-body tt br {
- display: none;
-}
-
-.markdown-body del code {
- text-decoration: inherit;
-}
-
-.markdown-body samp {
- font-size: 85%;
-}
-
-.markdown-body pre code {
- font-size: 100%;
-}
-
-.markdown-body pre > code {
- padding: 0;
- margin: 0;
- word-break: normal;
- white-space: pre;
- background: transparent;
- border: 0;
-}
-
-.markdown-body .highlight {
- margin-bottom: 1rem;
-}
-
-.markdown-body .highlight pre {
- margin-bottom: 0;
- word-break: normal;
-}
-
-.markdown-body .highlight pre,
-.markdown-body pre {
- padding: 1rem;
- overflow: auto;
- font-size: 85%;
- line-height: 1.45;
- color: #f0f6fc;
- background-color: #151b23;
- border-radius: 6px;
-}
-
-.markdown-body pre code,
-.markdown-body pre tt {
- display: inline;
- max-width: auto;
- padding: 0;
- margin: 0;
- overflow: visible;
- line-height: inherit;
- word-wrap: normal;
- background-color: transparent;
- border: 0;
-}
-
-.markdown-body .csv-data td,
-.markdown-body .csv-data th {
- padding: 5px;
- overflow: hidden;
- font-size: 12px;
- line-height: 1;
- text-align: left;
- white-space: nowrap;
-}
-
-.markdown-body .csv-data .blob-num {
- padding: 10px 0.5rem 9px;
- text-align: right;
- background: #0d1117;
- border: 0;
-}
-
-.markdown-body .csv-data tr {
- border-top: 0;
-}
-
-.markdown-body .csv-data th {
- font-weight: 600;
- background: #151b23;
- border-top: 0;
-}
-
-.markdown-body [data-footnote-ref]::before {
- content: "[";
-}
-
-.markdown-body [data-footnote-ref]::after {
- content: "]";
-}
-
-.markdown-body .footnotes {
- font-size: 12px;
- color: #9198a1;
- border-top: 1px solid #3d444d;
-}
-
-.markdown-body .footnotes ol {
- padding-left: 1rem;
-}
-
-.markdown-body .footnotes ol ul {
- display: inline-block;
- padding-left: 1rem;
- margin-top: 1rem;
-}
-
-.markdown-body .footnotes li {
- position: relative;
-}
-
-.markdown-body .footnotes li:target::before {
- position: absolute;
- top: calc(0.5rem * -1);
- right: calc(0.5rem * -1);
- bottom: calc(0.5rem * -1);
- left: calc(1.5rem * -1);
- pointer-events: none;
- content: "";
- border: 2px solid #1f6feb;
- border-radius: 6px;
-}
-
-.markdown-body .footnotes li:target {
- color: #f0f6fc;
-}
-
-.markdown-body .footnotes .data-footnote-backref g-emoji {
- font-family: monospace;
-}
-
-.markdown-body body:has(:modal) {
- padding-right: var(--dialog-scrollgutter) !important;
-}
-
-.markdown-body .pl-c {
- color: #9198a1;
-}
-
-.markdown-body .pl-c1,
-.markdown-body .pl-s .pl-v {
- color: #79c0ff;
-}
-
-.markdown-body .pl-e,
-.markdown-body .pl-en {
- color: #d2a8ff;
-}
-
-.markdown-body .pl-smi,
-.markdown-body .pl-s .pl-s1 {
- color: #f0f6fc;
-}
-
-.markdown-body .pl-ent {
- color: #7ee787;
-}
-
-.markdown-body .pl-k {
- color: #ff7b72;
-}
-
-.markdown-body .pl-s,
-.markdown-body .pl-pds,
-.markdown-body .pl-s .pl-pse .pl-s1,
-.markdown-body .pl-sr,
-.markdown-body .pl-sr .pl-cce,
-.markdown-body .pl-sr .pl-sre,
-.markdown-body .pl-sr .pl-sra {
- color: #a5d6ff;
-}
-
-.markdown-body .pl-v,
-.markdown-body .pl-smw {
- color: #ffa657;
-}
-
-.markdown-body .pl-bu {
- color: #f85149;
-}
-
-.markdown-body .pl-ii {
- color: #f0f6fc;
- background-color: #8e1519;
-}
-
-.markdown-body .pl-c2 {
- color: #f0f6fc;
- background-color: #b62324;
-}
-
-.markdown-body .pl-sr .pl-cce {
- font-weight: bold;
- color: #7ee787;
-}
-
-.markdown-body .pl-ml {
- color: #f2cc60;
-}
-
-.markdown-body .pl-mh,
-.markdown-body .pl-mh .pl-en,
-.markdown-body .pl-ms {
- font-weight: bold;
- color: #1f6feb;
-}
-
-.markdown-body .pl-mi {
- font-style: italic;
- color: #f0f6fc;
-}
-
-.markdown-body .pl-mb {
- font-weight: bold;
- color: #f0f6fc;
-}
-
-.markdown-body .pl-md {
- color: #ffdcd7;
- background-color: #67060c;
-}
-
-.markdown-body .pl-mi1 {
- color: #aff5b4;
- background-color: #033a16;
-}
-
-.markdown-body .pl-mc {
- color: #ffdfb6;
- background-color: #5a1e02;
-}
-
-.markdown-body .pl-mi2 {
- color: #f0f6fc;
- background-color: #1158c7;
-}
-
-.markdown-body .pl-mdr {
- font-weight: bold;
- color: #d2a8ff;
-}
-
-.markdown-body .pl-ba {
- color: #9198a1;
-}
-
-.markdown-body .pl-sg {
- color: #3d444d;
-}
-
-.markdown-body .pl-corl {
- text-decoration: underline;
- color: #a5d6ff;
-}
-
-.markdown-body [role=button]:focus:not(:focus-visible),
-.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
-.markdown-body button:focus:not(:focus-visible),
-.markdown-body summary:focus:not(:focus-visible),
-.markdown-body a:focus:not(:focus-visible) {
- outline: none;
- box-shadow: none;
-}
-
-.markdown-body [tabindex="0"]:focus:not(:focus-visible),
-.markdown-body details-dialog:focus:not(:focus-visible) {
- outline: none;
-}
-
-.markdown-body g-emoji {
- display: inline-block;
- min-width: 1ch;
- font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
- font-size: 1em;
- font-style: normal !important;
- font-weight: 400;
- line-height: 1;
- vertical-align: -0.075em;
-}
-
-.markdown-body g-emoji img {
- width: 1em;
- height: 1em;
-}
-
-.markdown-body .task-list-item {
- list-style-type: none;
-}
-
-.markdown-body .task-list-item label {
- font-weight: 400;
-}
-
-.markdown-body .task-list-item.enabled label {
- cursor: pointer;
-}
-
-.markdown-body .task-list-item + .task-list-item {
- margin-top: 0.25rem;
-}
-
-.markdown-body .task-list-item .handle {
- display: none;
-}
-
-.markdown-body .task-list-item-checkbox {
- margin: 0 .2em .25em -1.4em;
- vertical-align: middle;
-}
-
-.markdown-body ul:dir(rtl) .task-list-item-checkbox {
- margin: 0 -1.6em .25em .2em;
-}
-
-.markdown-body ol:dir(rtl) .task-list-item-checkbox {
- margin: 0 -1.6em .25em .2em;
-}
-
-.markdown-body .contains-task-list:hover .task-list-item-convert-container,
-.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
- display: block;
- width: auto;
- height: 24px;
- overflow: visible;
- clip: auto;
-}
-
-.markdown-body ::-webkit-calendar-picker-indicator {
- filter: invert(50%);
-}
-
-.markdown-body .markdown-alert {
- padding: 0.5rem 1rem;
- margin-bottom: 1rem;
- color: inherit;
- border-left: .25em solid #3d444d;
-}
-
-.markdown-body .markdown-alert > :first-child {
- margin-top: 0;
-}
-
-.markdown-body .markdown-alert > :last-child {
- margin-bottom: 0;
-}
-
-.markdown-body .markdown-alert .markdown-alert-title {
- display: flex;
- font-weight: 500;
- align-items: center;
- line-height: 1;
-}
-
-.markdown-body .markdown-alert.markdown-alert-note {
- border-left-color: #1f6feb;
-}
-
-.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
- color: #4493f8;
-}
-
-.markdown-body .markdown-alert.markdown-alert-important {
- border-left-color: #8957e5;
-}
-
-.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
- color: #ab7df8;
-}
-
-.markdown-body .markdown-alert.markdown-alert-warning {
- border-left-color: #9e6a03;
-}
-
-.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
- color: #d29922;
-}
-
-.markdown-body .markdown-alert.markdown-alert-tip {
- border-left-color: #238636;
-}
-
-.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
- color: #3fb950;
-}
-
-.markdown-body .markdown-alert.markdown-alert-caution {
- border-left-color: #da3633;
-}
-
-.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
- color: #f85149;
-}
-
-.markdown-body > *:first-child > .heading-element:first-child {
- margin-top: 0 !important;
-}
-
-.markdown-body .highlight pre:has(+.zeroclipboard-container) {
- min-height: 52px;
-}
internal/templates/css/markdown_light.css
@@ -1,1059 +0,0 @@
-.markdown-body details,
-.markdown-body figcaption,
-.markdown-body figure {
- display: block;
-}
-
-.markdown-body summary {
- display: list-item;
-}
-
-.markdown-body [hidden] {
- display: none !important;
-}
-
-.markdown-body a {
- background-color: transparent;
- text-decoration: none;
-}
-
-.markdown-body abbr[title] {
- border-bottom: none;
- text-decoration: underline dotted;
-}
-
-.markdown-body b,
-.markdown-body strong {
- font-weight: 600;
-}
-
-.markdown-body dfn {
- font-style: italic;
-}
-
-.markdown-body h1 {
- margin: .67em 0;
- font-weight: 600;
- padding-bottom: .3em;
- font-size: 2em;
- border-bottom: 1px solid #d1d9e0b3;
-}
-
-.markdown-body mark {
- background-color: #fff8c5;
- color: #1f2328;
-}
-
-.markdown-body small {
- font-size: 90%;
-}
-
-.markdown-body sub,
-.markdown-body sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-.markdown-body sub {
- bottom: -0.25em;
-}
-
-.markdown-body sup {
- top: -0.5em;
-}
-
-.markdown-body img {
- border-style: none;
- max-width: 100%;
- box-sizing: content-box;
-}
-
-.markdown-body code,
-.markdown-body kbd,
-.markdown-body pre,
-.markdown-body samp {
- font-family: monospace;
- font-size: 1em;
-}
-
-.markdown-body figure {
- margin: 1em 2.5rem;
-}
-
-.markdown-body hr {
- box-sizing: content-box;
- overflow: hidden;
- border-bottom: 1px solid #d1d9e0b3;
- height: .25em;
- padding: 0;
- margin: 1.5rem 0;
- background-color: #d1d9e0;
-}
-
-.markdown-body input {
- font: inherit;
- margin: 0;
- overflow: visible;
- line-height: inherit;
-}
-
-.markdown-body [type=button],
-.markdown-body [type=reset],
-.markdown-body [type=submit] {
- -webkit-appearance: button;
- appearance: button;
-}
-
-.markdown-body [type=checkbox],
-.markdown-body [type=radio] {
- box-sizing: border-box;
- padding: 0;
-}
-
-.markdown-body [type=number]::-webkit-inner-spin-button,
-.markdown-body [type=number]::-webkit-outer-spin-button {
- height: auto;
-}
-
-.markdown-body [type=search]::-webkit-search-cancel-button,
-.markdown-body [type=search]::-webkit-search-decoration {
- -webkit-appearance: none;
- appearance: none;
-}
-
-.markdown-body ::-webkit-input-placeholder {
- color: inherit;
- opacity: .54;
-}
-
-.markdown-body ::-webkit-file-upload-button {
- -webkit-appearance: button;
- appearance: button;
- font: inherit;
-}
-
-.markdown-body a:hover {
- text-decoration: underline;
-}
-
-.markdown-body ::placeholder {
- color: #59636e;
- opacity: 1;
-}
-
-.markdown-body hr::before {
- display: table;
- content: "";
-}
-
-.markdown-body hr::after {
- display: table;
- clear: both;
- content: "";
-}
-
-.markdown-body table {
- border-spacing: 0;
- border-collapse: collapse;
- display: block;
- width: max-content;
- max-width: 100%;
- overflow: auto;
- font-variant: tabular-nums;
-}
-
-.markdown-body td,
-.markdown-body th {
- padding: 0;
-}
-
-.markdown-body details summary {
- cursor: pointer;
-}
-
-.markdown-body a:focus,
-.markdown-body [role=button]:focus,
-.markdown-body input[type=radio]:focus,
-.markdown-body input[type=checkbox]:focus {
- outline: 2px solid #0969da;
- outline-offset: -2px;
- box-shadow: none;
-}
-
-.markdown-body a:focus:not(:focus-visible),
-.markdown-body [role=button]:focus:not(:focus-visible),
-.markdown-body input[type=radio]:focus:not(:focus-visible),
-.markdown-body input[type=checkbox]:focus:not(:focus-visible) {
- outline: solid 1px transparent;
-}
-
-.markdown-body a:focus-visible,
-.markdown-body [role=button]:focus-visible,
-.markdown-body input[type=radio]:focus-visible,
-.markdown-body input[type=checkbox]:focus-visible {
- outline: 2px solid #0969da;
- outline-offset: -2px;
- box-shadow: none;
-}
-
-.markdown-body a:not([class]):focus,
-.markdown-body a:not([class]):focus-visible,
-.markdown-body input[type=radio]:focus,
-.markdown-body input[type=radio]:focus-visible,
-.markdown-body input[type=checkbox]:focus,
-.markdown-body input[type=checkbox]:focus-visible {
- outline-offset: 0;
-}
-
-.markdown-body kbd {
- display: inline-block;
- padding: 0.25rem;
- font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
- line-height: 10px;
- color: #1f2328;
- vertical-align: middle;
- background-color: #f6f8fa;
- border: solid 1px #d1d9e0b3;
- border-bottom-color: #d1d9e0b3;
- border-radius: 6px;
- box-shadow: inset 0 -1px 0 #d1d9e0b3;
-}
-
-.markdown-body h1,
-.markdown-body h2,
-.markdown-body h3,
-.markdown-body h4,
-.markdown-body h5,
-.markdown-body h6 {
- margin-top: 1.5rem;
- margin-bottom: 1rem;
- font-weight: 600;
- line-height: 1.25;
-}
-
-.markdown-body h2 {
- font-weight: 600;
- padding-bottom: .3em;
- font-size: 1.5em;
- border-bottom: 1px solid #d1d9e0b3;
-}
-
-.markdown-body h3 {
- font-weight: 600;
- font-size: 1.25em;
-}
-
-.markdown-body h4 {
- font-weight: 600;
- font-size: 1em;
-}
-
-.markdown-body h5 {
- font-weight: 600;
- font-size: .875em;
-}
-
-.markdown-body h6 {
- font-weight: 600;
- font-size: .85em;
- color: #59636e;
-}
-
-.markdown-body p {
- margin-top: 0;
- margin-bottom: 10px;
-}
-
-.markdown-body blockquote {
- margin: 0;
- padding: 0 1em;
- color: #59636e;
- border-left: .25em solid #d1d9e0;
-}
-
-.markdown-body ul,
-.markdown-body ol {
- margin-top: 0;
- margin-bottom: 0;
- padding-left: 2em;
-}
-
-.markdown-body ol ol,
-.markdown-body ul ol {
- list-style-type: lower-roman;
-}
-
-.markdown-body ul ul ol,
-.markdown-body ul ol ol,
-.markdown-body ol ul ol,
-.markdown-body ol ol ol {
- list-style-type: lower-alpha;
-}
-
-.markdown-body dd {
- margin-left: 0;
-}
-
-.markdown-body tt,
-.markdown-body code,
-.markdown-body samp {
- font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
- font-size: 12px;
-}
-
-.markdown-body pre {
- margin-top: 0;
- margin-bottom: 0;
- font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
- font-size: 12px;
- word-wrap: normal;
-}
-
-.markdown-body .octicon {
- display: inline-block;
- overflow: visible !important;
- vertical-align: text-bottom;
- fill: currentColor;
-}
-
-.markdown-body input::-webkit-outer-spin-button,
-.markdown-body input::-webkit-inner-spin-button {
- margin: 0;
- appearance: none;
-}
-
-.markdown-body .mr-2 {
- margin-right: 0.5rem !important;
-}
-
-.markdown-body::before {
- display: table;
- content: "";
-}
-
-.markdown-body::after {
- display: table;
- clear: both;
- content: "";
-}
-
-.markdown-body > *:first-child {
- margin-top: 0 !important;
-}
-
-.markdown-body > *:last-child {
- margin-bottom: 0 !important;
-}
-
-.markdown-body a:not([href]) {
- color: inherit;
- text-decoration: none;
-}
-
-.markdown-body .absent {
- color: #d1242f;
-}
-
-.markdown-body .anchor {
- float: left;
- padding-right: 0.25rem;
- margin-left: -20px;
- line-height: 1;
-}
-
-.markdown-body .anchor:focus {
- outline: none;
-}
-
-.markdown-body p,
-.markdown-body blockquote,
-.markdown-body ul,
-.markdown-body ol,
-.markdown-body dl,
-.markdown-body table,
-.markdown-body pre,
-.markdown-body details {
- margin-top: 0;
- margin-bottom: 1rem;
-}
-
-.markdown-body blockquote > :first-child {
- margin-top: 0;
-}
-
-.markdown-body blockquote > :last-child {
- margin-bottom: 0;
-}
-
-.markdown-body h1 .octicon-link,
-.markdown-body h2 .octicon-link,
-.markdown-body h3 .octicon-link,
-.markdown-body h4 .octicon-link,
-.markdown-body h5 .octicon-link,
-.markdown-body h6 .octicon-link {
- color: #1f2328;
- vertical-align: middle;
- visibility: hidden;
-}
-
-.markdown-body h1:hover .anchor,
-.markdown-body h2:hover .anchor,
-.markdown-body h3:hover .anchor,
-.markdown-body h4:hover .anchor,
-.markdown-body h5:hover .anchor,
-.markdown-body h6:hover .anchor {
- text-decoration: none;
-}
-
-.markdown-body h1:hover .anchor .octicon-link,
-.markdown-body h2:hover .anchor .octicon-link,
-.markdown-body h3:hover .anchor .octicon-link,
-.markdown-body h4:hover .anchor .octicon-link,
-.markdown-body h5:hover .anchor .octicon-link,
-.markdown-body h6:hover .anchor .octicon-link {
- visibility: visible;
-}
-
-.markdown-body h1 tt,
-.markdown-body h1 code,
-.markdown-body h2 tt,
-.markdown-body h2 code,
-.markdown-body h3 tt,
-.markdown-body h3 code,
-.markdown-body h4 tt,
-.markdown-body h4 code,
-.markdown-body h5 tt,
-.markdown-body h5 code,
-.markdown-body h6 tt,
-.markdown-body h6 code {
- padding: 0 .2em;
- font-size: inherit;
-}
-
-.markdown-body summary h1,
-.markdown-body summary h2,
-.markdown-body summary h3,
-.markdown-body summary h4,
-.markdown-body summary h5,
-.markdown-body summary h6 {
- display: inline-block;
-}
-
-.markdown-body summary h1 .anchor,
-.markdown-body summary h2 .anchor,
-.markdown-body summary h3 .anchor,
-.markdown-body summary h4 .anchor,
-.markdown-body summary h5 .anchor,
-.markdown-body summary h6 .anchor {
- margin-left: -40px;
-}
-
-.markdown-body summary h1,
-.markdown-body summary h2 {
- padding-bottom: 0;
- border-bottom: 0;
-}
-
-.markdown-body ul.no-list,
-.markdown-body ol.no-list {
- padding: 0;
- list-style-type: none;
-}
-
-.markdown-body ol[type="a s"] {
- list-style-type: lower-alpha;
-}
-
-.markdown-body ol[type="A s"] {
- list-style-type: upper-alpha;
-}
-
-.markdown-body ol[type="i s"] {
- list-style-type: lower-roman;
-}
-
-.markdown-body ol[type="I s"] {
- list-style-type: upper-roman;
-}
-
-.markdown-body ol[type="1"] {
- list-style-type: decimal;
-}
-
-.markdown-body div > ol:not([type]) {
- list-style-type: decimal;
-}
-
-.markdown-body ul ul,
-.markdown-body ul ol,
-.markdown-body ol ol,
-.markdown-body ol ul {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-.markdown-body li > p {
- margin-top: 1rem;
-}
-
-.markdown-body li + li {
- margin-top: .25em;
-}
-
-.markdown-body dl {
- padding: 0;
-}
-
-.markdown-body dl dt {
- padding: 0;
- margin-top: 1rem;
- font-size: 1em;
- font-style: italic;
- font-weight: 600;
-}
-
-.markdown-body dl dd {
- padding: 0 1rem;
- margin-bottom: 1rem;
-}
-
-.markdown-body table th {
- font-weight: 600;
-}
-
-.markdown-body table th,
-.markdown-body table td {
- padding: 6px 13px;
- border: 1px solid #d1d9e0;
-}
-
-.markdown-body table td > :last-child {
- margin-bottom: 0;
-}
-
-.markdown-body table tr {
- background-color: #ffffff;
- border-top: 1px solid #d1d9e0b3;
-}
-
-.markdown-body table tr:nth-child(2n) {
- background-color: #f6f8fa;
-}
-
-.markdown-body table img {
- background-color: transparent;
-}
-
-.markdown-body img[align=right] {
- padding-left: 20px;
-}
-
-.markdown-body img[align=left] {
- padding-right: 20px;
-}
-
-.markdown-body .emoji {
- max-width: none;
- vertical-align: text-top;
- background-color: transparent;
-}
-
-.markdown-body span.frame {
- display: block;
- overflow: hidden;
-}
-
-.markdown-body span.frame > span {
- display: block;
- float: left;
- width: auto;
- padding: 7px;
- margin: 13px 0 0;
- overflow: hidden;
- border: 1px solid #d1d9e0;
-}
-
-.markdown-body span.frame span img {
- display: block;
- float: left;
-}
-
-.markdown-body span.frame span span {
- display: block;
- padding: 5px 0 0;
- clear: both;
- color: #1f2328;
-}
-
-.markdown-body span.align-center {
- display: block;
- overflow: hidden;
- clear: both;
-}
-
-.markdown-body span.align-center > span {
- display: block;
- margin: 13px auto 0;
- overflow: hidden;
- text-align: center;
-}
-
-.markdown-body span.align-center span img {
- margin: 0 auto;
- text-align: center;
-}
-
-.markdown-body span.align-right {
- display: block;
- overflow: hidden;
- clear: both;
-}
-
-.markdown-body span.align-right > span {
- display: block;
- margin: 13px 0 0;
- overflow: hidden;
- text-align: right;
-}
-
-.markdown-body span.align-right span img {
- margin: 0;
- text-align: right;
-}
-
-.markdown-body span.float-left {
- display: block;
- float: left;
- margin-right: 13px;
- overflow: hidden;
-}
-
-.markdown-body span.float-left span {
- margin: 13px 0 0;
-}
-
-.markdown-body span.float-right {
- display: block;
- float: right;
- margin-left: 13px;
- overflow: hidden;
-}
-
-.markdown-body span.float-right > span {
- display: block;
- margin: 13px auto 0;
- overflow: hidden;
- text-align: right;
-}
-
-.markdown-body code,
-.markdown-body tt {
- padding: .2em .4em;
- margin: 0;
- font-size: 85%;
- white-space: break-spaces;
- background-color: #818b981f;
- border-radius: 6px;
-}
-
-.markdown-body code br,
-.markdown-body tt br {
- display: none;
-}
-
-.markdown-body del code {
- text-decoration: inherit;
-}
-
-.markdown-body samp {
- font-size: 85%;
-}
-
-.markdown-body pre code {
- font-size: 100%;
-}
-
-.markdown-body pre > code {
- padding: 0;
- margin: 0;
- word-break: normal;
- white-space: pre;
- background: transparent;
- border: 0;
-}
-
-.markdown-body .highlight {
- margin-bottom: 1rem;
-}
-
-.markdown-body .highlight pre {
- margin-bottom: 0;
- word-break: normal;
-}
-
-.markdown-body .highlight pre,
-.markdown-body pre {
- padding: 1rem;
- overflow: auto;
- font-size: 85%;
- line-height: 1.45;
- color: #1f2328;
- background-color: #f6f8fa;
- border-radius: 6px;
-}
-
-.markdown-body pre code,
-.markdown-body pre tt {
- display: inline;
- max-width: auto;
- padding: 0;
- margin: 0;
- overflow: visible;
- line-height: inherit;
- word-wrap: normal;
- background-color: transparent;
- border: 0;
-}
-
-.markdown-body .csv-data td,
-.markdown-body .csv-data th {
- padding: 5px;
- overflow: hidden;
- font-size: 12px;
- line-height: 1;
- text-align: left;
- white-space: nowrap;
-}
-
-.markdown-body .csv-data .blob-num {
- padding: 10px 0.5rem 9px;
- text-align: right;
- background: #ffffff;
- border: 0;
-}
-
-.markdown-body .csv-data tr {
- border-top: 0;
-}
-
-.markdown-body .csv-data th {
- font-weight: 600;
- background: #f6f8fa;
- border-top: 0;
-}
-
-.markdown-body [data-footnote-ref]::before {
- content: "[";
-}
-
-.markdown-body [data-footnote-ref]::after {
- content: "]";
-}
-
-.markdown-body .footnotes {
- font-size: 12px;
- color: #59636e;
- border-top: 1px solid #d1d9e0;
-}
-
-.markdown-body .footnotes ol {
- padding-left: 1rem;
-}
-
-.markdown-body .footnotes ol ul {
- display: inline-block;
- padding-left: 1rem;
- margin-top: 1rem;
-}
-
-.markdown-body .footnotes li {
- position: relative;
-}
-
-.markdown-body .footnotes li:target::before {
- position: absolute;
- top: calc(0.5rem * -1);
- right: calc(0.5rem * -1);
- bottom: calc(0.5rem * -1);
- left: calc(1.5rem * -1);
- pointer-events: none;
- content: "";
- border: 2px solid #0969da;
- border-radius: 6px;
-}
-
-.markdown-body .footnotes li:target {
- color: #1f2328;
-}
-
-.markdown-body .footnotes .data-footnote-backref g-emoji {
- font-family: monospace;
-}
-
-.markdown-body .pl-c {
- color: #59636e;
-}
-
-.markdown-body .pl-c1,
-.markdown-body .pl-s .pl-v {
- color: #0550ae;
-}
-
-.markdown-body .pl-e,
-.markdown-body .pl-en {
- color: #6639ba;
-}
-
-.markdown-body .pl-smi,
-.markdown-body .pl-s .pl-s1 {
- color: #1f2328;
-}
-
-.markdown-body .pl-ent {
- color: #0550ae;
-}
-
-.markdown-body .pl-k {
- color: #cf222e;
-}
-
-.markdown-body .pl-s,
-.markdown-body .pl-pds,
-.markdown-body .pl-s .pl-pse .pl-s1,
-.markdown-body .pl-sr,
-.markdown-body .pl-sr .pl-cce,
-.markdown-body .pl-sr .pl-sre,
-.markdown-body .pl-sr .pl-sra {
- color: #0a3069;
-}
-
-.markdown-body .pl-v,
-.markdown-body .pl-smw {
- color: #953800;
-}
-
-.markdown-body .pl-bu {
- color: #82071e;
-}
-
-.markdown-body .pl-ii {
- color: #f6f8fa;
- background-color: #82071e;
-}
-
-.markdown-body .pl-c2 {
- color: #f6f8fa;
- background-color: #cf222e;
-}
-
-.markdown-body .pl-sr .pl-cce {
- font-weight: bold;
- color: #116329;
-}
-
-.markdown-body .pl-ml {
- color: #3b2300;
-}
-
-.markdown-body .pl-mh,
-.markdown-body .pl-mh .pl-en,
-.markdown-body .pl-ms {
- font-weight: bold;
- color: #0550ae;
-}
-
-.markdown-body .pl-mi {
- font-style: italic;
- color: #1f2328;
-}
-
-.markdown-body .pl-mb {
- font-weight: bold;
- color: #1f2328;
-}
-
-.markdown-body .pl-md {
- color: #82071e;
- background-color: #ffebe9;
-}
-
-.markdown-body .pl-mi1 {
- color: #116329;
- background-color: #dafbe1;
-}
-
-.markdown-body .pl-mc {
- color: #953800;
- background-color: #ffd8b5;
-}
-
-.markdown-body .pl-mi2 {
- color: #d1d9e0;
- background-color: #0550ae;
-}
-
-.markdown-body .pl-mdr {
- font-weight: bold;
- color: #8250df;
-}
-
-.markdown-body .pl-ba {
- color: #59636e;
-}
-
-.markdown-body .pl-sg {
- color: #818b98;
-}
-
-.markdown-body .pl-corl {
- text-decoration: underline;
- color: #0a3069;
-}
-
-.markdown-body [role=button]:focus:not(:focus-visible),
-.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
-.markdown-body button:focus:not(:focus-visible),
-.markdown-body summary:focus:not(:focus-visible),
-.markdown-body a:focus:not(:focus-visible) {
- outline: none;
- box-shadow: none;
-}
-
-.markdown-body [tabindex="0"]:focus:not(:focus-visible),
-.markdown-body details-dialog:focus:not(:focus-visible) {
- outline: none;
-}
-
-.markdown-body g-emoji {
- display: inline-block;
- min-width: 1ch;
- font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
- font-size: 1em;
- font-style: normal !important;
- font-weight: 400;
- line-height: 1;
- vertical-align: -0.075em;
-}
-
-.markdown-body g-emoji img {
- width: 1em;
- height: 1em;
-}
-
-.markdown-body .task-list-item {
- list-style-type: none;
-}
-
-.markdown-body .task-list-item label {
- font-weight: 400;
-}
-
-.markdown-body .task-list-item.enabled label {
- cursor: pointer;
-}
-
-.markdown-body .task-list-item + .task-list-item {
- margin-top: 0.25rem;
-}
-
-.markdown-body .task-list-item .handle {
- display: none;
-}
-
-.markdown-body .task-list-item-checkbox {
- margin: 0 .2em .25em -1.4em;
- vertical-align: middle;
-}
-
-.markdown-body ul:dir(rtl) .task-list-item-checkbox {
- margin: 0 -1.6em .25em .2em;
-}
-
-.markdown-body ol:dir(rtl) .task-list-item-checkbox {
- margin: 0 -1.6em .25em .2em;
-}
-
-.markdown-body .contains-task-list:hover .task-list-item-convert-container,
-.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
- display: block;
- width: auto;
- height: 24px;
- overflow: visible;
- clip: auto;
-}
-
-.markdown-body ::-webkit-calendar-picker-indicator {
- filter: invert(50%);
-}
-
-.markdown-body .markdown-alert {
- padding: 0.5rem 1rem;
- margin-bottom: 1rem;
- color: inherit;
- border-left: .25em solid #d1d9e0;
-}
-
-.markdown-body .markdown-alert > :first-child {
- margin-top: 0;
-}
-
-.markdown-body .markdown-alert > :last-child {
- margin-bottom: 0;
-}
-
-.markdown-body .markdown-alert .markdown-alert-title {
- display: flex;
- font-weight: 500;
- align-items: center;
- line-height: 1;
-}
-
-.markdown-body .markdown-alert.markdown-alert-note {
- border-left-color: #0969da;
-}
-
-.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
- color: #0969da;
-}
-
-.markdown-body .markdown-alert.markdown-alert-important {
- border-left-color: #8250df;
-}
-
-.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
- color: #8250df;
-}
-
-.markdown-body .markdown-alert.markdown-alert-warning {
- border-left-color: #9a6700;
-}
-
-.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
- color: #9a6700;
-}
-
-.markdown-body .markdown-alert.markdown-alert-tip {
- border-left-color: #1a7f37;
-}
-
-.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
- color: #1a7f37;
-}
-
-.markdown-body .markdown-alert.markdown-alert-caution {
- border-left-color: #cf222e;
-}
-
-.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
- color: #d1242f;
-}
-
-.markdown-body > *:first-child > .heading-element:first-child {
- margin-top: 0 !important;
-}
-
-.markdown-body .highlight pre:has(+.zeroclipboard-container) {
- min-height: 52px;
-}
internal/templates/css/syntax_dark.css
@@ -1,81 +0,0 @@
-/* Background */ .bg { color: #e6edf3; background-color: #0d1117; }
-/* PreWrapper */ .chroma { color: #e6edf3; background-color: #0d1117; -webkit-text-size-adjust: none; }
-/* LineNumbers targeted by URL anchor */ .chroma .ln:target { color: #e6edf3; background-color: #6e7681 }
-/* LineNumbersTable targeted by URL anchor */ .chroma .lnt:target { color: #e6edf3; background-color: #6e7681 }
-/* Error */ .chroma .err { color: #f85149 }
-/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
-/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
-/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
-/* LineHighlight */ .chroma .hl { background-color: #6e7681 }
-/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #737679 }
-/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #6e7681 }
-/* Line */ .chroma .line { display: flex; }
-/* Keyword */ .chroma .k { color: #ff7b72 }
-/* KeywordConstant */ .chroma .kc { color: #79c0ff }
-/* KeywordDeclaration */ .chroma .kd { color: #ff7b72 }
-/* KeywordNamespace */ .chroma .kn { color: #ff7b72 }
-/* KeywordPseudo */ .chroma .kp { color: #79c0ff }
-/* KeywordReserved */ .chroma .kr { color: #ff7b72 }
-/* KeywordType */ .chroma .kt { color: #ff7b72 }
-/* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold }
-/* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold }
-/* NameDecorator */ .chroma .nd { color: #d2a8ff; font-weight: bold }
-/* NameEntity */ .chroma .ni { color: #ffa657 }
-/* NameException */ .chroma .ne { color: #f0883e; font-weight: bold }
-/* NameLabel */ .chroma .nl { color: #79c0ff; font-weight: bold }
-/* NameNamespace */ .chroma .nn { color: #ff7b72 }
-/* NameProperty */ .chroma .py { color: #79c0ff }
-/* NameTag */ .chroma .nt { color: #7ee787 }
-/* NameVariable */ .chroma .nv { color: #79c0ff }
-/* NameVariableClass */ .chroma .vc { color: #79c0ff }
-/* NameVariableGlobal */ .chroma .vg { color: #79c0ff }
-/* NameVariableInstance */ .chroma .vi { color: #79c0ff }
-/* NameVariableMagic */ .chroma .vm { color: #79c0ff }
-/* NameFunction */ .chroma .nf { color: #d2a8ff; font-weight: bold }
-/* NameFunctionMagic */ .chroma .fm { color: #d2a8ff; font-weight: bold }
-/* Literal */ .chroma .l { color: #a5d6ff }
-/* LiteralDate */ .chroma .ld { color: #79c0ff }
-/* LiteralString */ .chroma .s { color: #a5d6ff }
-/* LiteralStringAffix */ .chroma .sa { color: #79c0ff }
-/* LiteralStringBacktick */ .chroma .sb { color: #a5d6ff }
-/* LiteralStringChar */ .chroma .sc { color: #a5d6ff }
-/* LiteralStringDelimiter */ .chroma .dl { color: #79c0ff }
-/* LiteralStringDoc */ .chroma .sd { color: #a5d6ff }
-/* LiteralStringDouble */ .chroma .s2 { color: #a5d6ff }
-/* LiteralStringEscape */ .chroma .se { color: #79c0ff }
-/* LiteralStringHeredoc */ .chroma .sh { color: #79c0ff }
-/* LiteralStringInterpol */ .chroma .si { color: #a5d6ff }
-/* LiteralStringOther */ .chroma .sx { color: #a5d6ff }
-/* LiteralStringRegex */ .chroma .sr { color: #79c0ff }
-/* LiteralStringSingle */ .chroma .s1 { color: #a5d6ff }
-/* LiteralStringSymbol */ .chroma .ss { color: #a5d6ff }
-/* LiteralNumber */ .chroma .m { color: #a5d6ff }
-/* LiteralNumberBin */ .chroma .mb { color: #a5d6ff }
-/* LiteralNumberFloat */ .chroma .mf { color: #a5d6ff }
-/* LiteralNumberHex */ .chroma .mh { color: #a5d6ff }
-/* LiteralNumberInteger */ .chroma .mi { color: #a5d6ff }
-/* LiteralNumberIntegerLong */ .chroma .il { color: #a5d6ff }
-/* LiteralNumberOct */ .chroma .mo { color: #a5d6ff }
-/* Operator */ .chroma .o { color: #ff7b72; font-weight: bold }
-/* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold }
-/* Comment */ .chroma .c { color: #8b949e; font-style: italic }
-/* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic }
-/* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic }
-/* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic }
-/* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic }
-/* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic }
-/* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic }
-/* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 }
-/* GenericEmph */ .chroma .ge { font-style: italic }
-/* GenericError */ .chroma .gr { color: #ffa198 }
-/* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold }
-/* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 }
-/* GenericOutput */ .chroma .go { color: #8b949e }
-/* GenericPrompt */ .chroma .gp { color: #8b949e }
-/* GenericStrong */ .chroma .gs { font-weight: bold }
-/* GenericSubheading */ .chroma .gu { color: #79c0ff }
-/* GenericTraceback */ .chroma .gt { color: #ff7b72 }
-/* GenericUnderline */ .chroma .gl { text-decoration: underline }
-/* TextWhitespace */ .chroma .w { color: #6e7681 }
-.chroma .gi { display: block; }
-.chroma .gd { display: block; }
internal/templates/css/syntax_light.css
@@ -1,76 +0,0 @@
-/* Background */ .bg { background-color: #f7f7f7; }
-/* PreWrapper */ .chroma { background-color: #f7f7f7; -webkit-text-size-adjust: none; }
-/* LineNumbers targeted by URL anchor */ .chroma .ln:target { background-color: #dedede }
-/* LineNumbersTable targeted by URL anchor */ .chroma .lnt:target { background-color: #dedede }
-/* Error */ .chroma .err { color: #f6f8fa; background-color: #82071e }
-/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
-/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
-/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
-/* LineHighlight */ .chroma .hl { background-color: #dedede }
-/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
-/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
-/* Line */ .chroma .line { display: flex; }
-/* Keyword */ .chroma .k { color: #cf222e }
-/* KeywordConstant */ .chroma .kc { color: #cf222e }
-/* KeywordDeclaration */ .chroma .kd { color: #cf222e }
-/* KeywordNamespace */ .chroma .kn { color: #cf222e }
-/* KeywordPseudo */ .chroma .kp { color: #cf222e }
-/* KeywordReserved */ .chroma .kr { color: #cf222e }
-/* KeywordType */ .chroma .kt { color: #cf222e }
-/* NameAttribute */ .chroma .na { color: #1f2328 }
-/* NameClass */ .chroma .nc { color: #1f2328 }
-/* NameConstant */ .chroma .no { color: #0550ae }
-/* NameDecorator */ .chroma .nd { color: #0550ae }
-/* NameEntity */ .chroma .ni { color: #6639ba }
-/* NameLabel */ .chroma .nl { color: #990000; font-weight: bold }
-/* NameNamespace */ .chroma .nn { color: #24292e }
-/* NameOther */ .chroma .nx { color: #1f2328 }
-/* NameTag */ .chroma .nt { color: #0550ae }
-/* NameBuiltin */ .chroma .nb { color: #6639ba }
-/* NameBuiltinPseudo */ .chroma .bp { color: #6a737d }
-/* NameVariable */ .chroma .nv { color: #953800 }
-/* NameVariableClass */ .chroma .vc { color: #953800 }
-/* NameVariableGlobal */ .chroma .vg { color: #953800 }
-/* NameVariableInstance */ .chroma .vi { color: #953800 }
-/* NameVariableMagic */ .chroma .vm { color: #953800 }
-/* NameFunction */ .chroma .nf { color: #6639ba }
-/* NameFunctionMagic */ .chroma .fm { color: #6639ba }
-/* LiteralString */ .chroma .s { color: #0a3069 }
-/* LiteralStringAffix */ .chroma .sa { color: #0a3069 }
-/* LiteralStringBacktick */ .chroma .sb { color: #0a3069 }
-/* LiteralStringChar */ .chroma .sc { color: #0a3069 }
-/* LiteralStringDelimiter */ .chroma .dl { color: #0a3069 }
-/* LiteralStringDoc */ .chroma .sd { color: #0a3069 }
-/* LiteralStringDouble */ .chroma .s2 { color: #0a3069 }
-/* LiteralStringEscape */ .chroma .se { color: #0a3069 }
-/* LiteralStringHeredoc */ .chroma .sh { color: #0a3069 }
-/* LiteralStringInterpol */ .chroma .si { color: #0a3069 }
-/* LiteralStringOther */ .chroma .sx { color: #0a3069 }
-/* LiteralStringRegex */ .chroma .sr { color: #0a3069 }
-/* LiteralStringSingle */ .chroma .s1 { color: #0a3069 }
-/* LiteralStringSymbol */ .chroma .ss { color: #032f62 }
-/* LiteralNumber */ .chroma .m { color: #0550ae }
-/* LiteralNumberBin */ .chroma .mb { color: #0550ae }
-/* LiteralNumberFloat */ .chroma .mf { color: #0550ae }
-/* LiteralNumberHex */ .chroma .mh { color: #0550ae }
-/* LiteralNumberInteger */ .chroma .mi { color: #0550ae }
-/* LiteralNumberIntegerLong */ .chroma .il { color: #0550ae }
-/* LiteralNumberOct */ .chroma .mo { color: #0550ae }
-/* Operator */ .chroma .o { color: #0550ae }
-/* OperatorWord */ .chroma .ow { color: #0550ae }
-/* Punctuation */ .chroma .p { color: #1f2328 }
-/* Comment */ .chroma .c { color: #57606a }
-/* CommentHashbang */ .chroma .ch { color: #57606a }
-/* CommentMultiline */ .chroma .cm { color: #57606a }
-/* CommentSingle */ .chroma .c1 { color: #57606a }
-/* CommentSpecial */ .chroma .cs { color: #57606a }
-/* CommentPreproc */ .chroma .cp { color: #57606a }
-/* CommentPreprocFile */ .chroma .cpf { color: #57606a }
-/* GenericDeleted */ .chroma .gd { color: #82071e; background-color: #ffebe9 }
-/* GenericEmph */ .chroma .ge { color: #1f2328 }
-/* GenericInserted */ .chroma .gi { color: #116329; background-color: #dafbe1 }
-/* GenericOutput */ .chroma .go { color: #1f2328 }
-/* GenericUnderline */ .chroma .gl { text-decoration: underline }
-/* TextWhitespace */ .chroma .w { color: #ffffff }
-.chroma .gi { display: block; }
-.chroma .gd { display: block; }
internal/templates/layout.gohtml
@@ -5,17 +5,31 @@
<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">
+ <link rel="stylesheet" href="https://src.mokhan.ca/assets/shared.css">
+ <link rel="stylesheet" href="https://src.mokhan.ca/assets/project.css">
{{- if .NeedsMarkdownCSS}}
- <link rel="stylesheet" href="{{.RootHref}}css/markdown.css">
+ <link rel="stylesheet" href="https://src.mokhan.ca/assets/markdown.css">
{{- end}}
{{- if .NeedsSyntaxCSS}}
- <link rel="stylesheet" href="{{.RootHref}}css/syntax.css">
+ <link rel="stylesheet" href="https://src.mokhan.ca/assets/syntax.css">
{{- end}}
{{- template "head" .}}
</head>
<body>
{{- template "svg" .}}
+<div class="site-header">
+ <nav class="site-nav">
+ <div class="nav-container">
+ <a href="https://www.mokhan.ca" class="nav-prompt">モ <span class="nav-prompt-text">mokhan.ca</span></a>
+ <ul class="nav-links">
+ <li><a href="https://www.mokhan.ca">~/</a></li>
+ <li><a href="https://src.mokhan.ca" class="active">/usr/src</a></li>
+ <li><a href="https://www.mokhan.ca/ls/">/var/log</a></li>
+ <li class="nav-resume"><a href="https://www.mokhan.ca/resume.html">Resume</a></li>
+ </ul>
+ </div>
+ </nav>
+</div>
<div class="menu">
<div class="menu-content">
<a href="{{.RootHref}}index.html" class="project-name">{{.Name}}</a>
@@ -50,6 +64,26 @@
{{- template "body" .}}
</div>
</main>
-<footer></footer>
+<footer class="site-footer">
+ <div class="footer-links">
+ <a href="https://www.mokhan.ca">~/</a>
+ <span class="footer-sep">·</span>
+ <a href="https://src.mokhan.ca">/usr/src</a>
+ <span class="footer-sep">·</span>
+ <a href="https://www.mokhan.ca/resume.html">Resume</a>
+ <span class="footer-sep">·</span>
+ <a href="https://www.mokhan.ca/ls/">/var/log</a>
+ </div>
+ <div class="footer-social">
+ <a href="https://github.com/xlgmokha">GitHub</a>
+ <span class="footer-sep">·</span>
+ <a href="https://gitlab.com/mokhax">GitLab</a>
+ <span class="footer-sep">·</span>
+ <a href="https://www.linkedin.com/in/xlgmokha">LinkedIn</a>
+ <span class="footer-sep">·</span>
+ <a href="https://www.speakerdeck.com/xlgmokha/">Speaker Deck</a>
+ </div>
+ <div class="footer-copy">© 2004-{{.Year}} mo khan</div>
+</footer>
</body>
</html>
internal/templates/templates.go
@@ -23,21 +23,6 @@ var funcs = FuncMap{
},
}
-//go:embed css/layout.css
-var LayoutCSS string
-
-//go:embed css/markdown_light.css
-var CSSMarkdownLight string
-
-//go:embed css/markdown_dark.css
-var CSSMarkdownDark string
-
-//go:embed css/syntax_light.css
-var CSSSyntaxLight string
-
-//go:embed css/syntax_dark.css
-var CSSSyntaxDark string
-
//go:embed layout.gohtml header.gohtml file_tree.gohtml svg.gohtml
var layoutContent embed.FS
var layout = Must(New("layout").Funcs(funcs).ParseFS(layoutContent, "*.gohtml"))
@@ -78,6 +63,7 @@ type LayoutParams struct {
Selected string
NeedsMarkdownCSS bool
NeedsSyntaxCSS bool
+ Year int
}
type HeaderParams struct {