Merge branch 'style/herman'
This commit is contained in:
commit
f71c396687
@ -115,6 +115,8 @@ already implemented:
|
|||||||
- Reply by email: if you supply an email address, the theme creates a "Reply to
|
- Reply by email: if you supply an email address, the theme creates a "Reply to
|
||||||
this post by email" button at the end of every post (see Kev Quirk's [original
|
this post by email" button at the end of every post (see Kev Quirk's [original
|
||||||
implementation](https://kevquirk.com/adding-the-post-title-to-my-reply-by-email-button)).
|
implementation](https://kevquirk.com/adding-the-post-title-to-my-reply-by-email-button)).
|
||||||
|
- `absfigure` shortcode: a shortcut to use the `figure` shortcode that also
|
||||||
|
converts relative URLs into absolute URLs by using the `absURL` function.
|
||||||
- Single-use CSS (EXPERIMENTAL): you can add some styles to a single page by
|
- Single-use CSS (EXPERIMENTAL): you can add some styles to a single page by
|
||||||
writing the CSS you need in `assets/{custom_css}.css` and then including
|
writing the CSS you need in `assets/{custom_css}.css` and then including
|
||||||
`style: "{custom_css}.css"` in the [front
|
`style: "{custom_css}.css"` in the [front
|
||||||
|
202
assets/herman.css
Normal file
202
assets/herman.css
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
:root {
|
||||||
|
font-size: 62.5%; /* 10px */
|
||||||
|
--color-dark: #181a20;
|
||||||
|
--color-light: #fafafa;
|
||||||
|
--color-primary: #1a8fe3;
|
||||||
|
--size: 1rem;
|
||||||
|
--spacing: calc(var(--size) * 2.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: var(--color-dark);
|
||||||
|
color: var(--color-light);
|
||||||
|
padding: 4rem;
|
||||||
|
font-family: Avenir, 'Avenir Next LT Pro', Montserrat, Corbel, 'URW Gothic',
|
||||||
|
source-sans-pro, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
|
||||||
|
"Segoe UI Symbol", "Noto Color Emoji";
|
||||||
|
font-size: calc(var(--size) * 1.8);
|
||||||
|
line-height: 1.5;
|
||||||
|
min-height: 80vh;
|
||||||
|
max-width: 1600px;
|
||||||
|
margin: 0 auto;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
max-width: 70ch;
|
||||||
|
margin-inline: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
padding-bottom: var(--spacing);
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a, a.blog-tags {
|
||||||
|
margin-right: calc(var(--spacing) / 2);
|
||||||
|
}
|
||||||
|
a.blog-tags {
|
||||||
|
line-height: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
padding-bottom: var(--spacing);
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
padding-top: var(--spacing);
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: currentColor;
|
||||||
|
text-decoration-color: var(--color-primary);
|
||||||
|
text-decoration-thickness: 0.3ex;
|
||||||
|
text-underline-offset: 0.3ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration-thickness: 0.4ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4 {
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: calc(var(--size) * 4.2);
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: calc(var(--size) * 3.4);
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
font-size: calc(var(--size) * 2.6);
|
||||||
|
}
|
||||||
|
h4 {
|
||||||
|
font-size: calc(var(--size) * 1.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
padding-inline-start: var(--spacing);
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
margin-block-start: var(--spacing);
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
padding-inline-start: var(--spacing);
|
||||||
|
border-inline-start: 0.2em solid;
|
||||||
|
font-style: italic;
|
||||||
|
max-width: 50ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
:is(h1, h2, h3, h4, blockquote) {
|
||||||
|
margin-block-end: calc(var(--spacing) / 2);
|
||||||
|
}
|
||||||
|
:is(h1, h2, h3, h4) + * {
|
||||||
|
margin-block-start: calc(var(--spacing) / 3);
|
||||||
|
}
|
||||||
|
:is(h1, h2, h3, h4) + :where(h2, h3, h4) {
|
||||||
|
margin-block-start: calc(var(--spacing) * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.title h1 {
|
||||||
|
font-size: calc(var(--size) * 3.4);
|
||||||
|
margin-top: calc(var(--spacing) / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.blog-posts {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: unset;
|
||||||
|
}
|
||||||
|
ul.blog-posts li {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
ul.blog-posts li span {
|
||||||
|
min-width: 11ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.byline {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro',
|
||||||
|
Menlo, Consolas, 'DejaVu Sans Mono', monospace;
|
||||||
|
padding: 2px calc(var(--spacing) / 4);
|
||||||
|
background-color: #282a36;
|
||||||
|
font-size: calc(var(--size) * 1.4);
|
||||||
|
}
|
||||||
|
pre code {
|
||||||
|
display: block;
|
||||||
|
padding: var(--spacing);
|
||||||
|
overflow-x: auto;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
-moz-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
table,
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
border: 1px solid;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-color: var(--color-light);
|
||||||
|
padding: calc(var(--spacing) / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
color: currentColor;
|
||||||
|
cursor: not-allowed;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 600px) {
|
||||||
|
ul.blog-posts li {
|
||||||
|
flex-direction: row;
|
||||||
|
gap: calc(var(--spacing) / 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* "Skip to main content" link */
|
||||||
|
.skip-link {
|
||||||
|
position: absolute;
|
||||||
|
top: 5;
|
||||||
|
transform: translateY(-600%);
|
||||||
|
transition: transform 0.5s;
|
||||||
|
background-color: #181a20;
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skip-link:focus {
|
||||||
|
transform: translateY(0%);
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin-inline-start: 0em;
|
||||||
|
margin-inline-end: 0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption > p {
|
||||||
|
margin-block-start: 9px;
|
||||||
|
text-align: center;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
Binary file not shown.
Before Width: | Height: | Size: 636 KiB After Width: | Height: | Size: 6.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 359 KiB After Width: | Height: | Size: 4.5 KiB |
@ -69,11 +69,11 @@
|
|||||||
/* Operator */ .chroma .o { color: #ff79c6 }
|
/* Operator */ .chroma .o { color: #ff79c6 }
|
||||||
/* OperatorWord */ .chroma .ow { color: #ff79c6 }
|
/* OperatorWord */ .chroma .ow { color: #ff79c6 }
|
||||||
/* Punctuation .chroma .p { } */
|
/* Punctuation .chroma .p { } */
|
||||||
/* Comment */ .chroma .c { color: #7c90d0 }
|
/* Comment */ .chroma .c { color: #8491b8 }
|
||||||
/* CommentHashbang */ .chroma .ch { color: #7c90d0 }
|
/* CommentHashbang */ .chroma .ch { color: #8491b8 }
|
||||||
/* CommentMultiline */ .chroma .cm { color: #7c90d0 }
|
/* CommentMultiline */ .chroma .cm { color: #8491b8 }
|
||||||
/* CommentSingle */ .chroma .c1 { color: #7c90d0 }
|
/* CommentSingle */ .chroma .c1 { color: #8491b8 }
|
||||||
/* CommentSpecial */ .chroma .cs { color: #7c90d0 }
|
/* CommentSpecial */ .chroma .cs { color: #8491b8 }
|
||||||
/* CommentPreproc */ .chroma .cp { color: #ff79c6 }
|
/* CommentPreproc */ .chroma .cp { color: #ff79c6 }
|
||||||
/* CommentPreprocFile */ .chroma .cpf { color: #ff79c6 }
|
/* CommentPreprocFile */ .chroma .cpf { color: #ff79c6 }
|
||||||
/* Generic .chroma .g { } */
|
/* Generic .chroma .g { } */
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
{{ $fg = $fg.Filter (images.Text $byline (dict
|
{{ $fg = $fg.Filter (images.Text $byline (dict
|
||||||
"font" $font
|
"font" $font
|
||||||
"color" "#c9d1d9"
|
"color" "#898a8d"
|
||||||
"size" 60
|
"size" 60
|
||||||
"linespacing" 30
|
"linespacing" 30
|
||||||
"x" 0
|
"x" 0
|
||||||
|
29
layouts/shortcodes/absfigure.html
Normal file
29
layouts/shortcodes/absfigure.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<figure{{ with .Get "class" }} class="{{ . }}"{{ end }}>
|
||||||
|
{{- if .Get "link" -}}
|
||||||
|
<a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}>
|
||||||
|
{{- end -}}
|
||||||
|
<img src="{{ .Get "src" | absURL}}"
|
||||||
|
{{- if or (.Get "alt") (.Get "caption") }}
|
||||||
|
alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}"
|
||||||
|
{{- end -}}
|
||||||
|
{{- with .Get "width" }} width="{{ . }}"{{ end -}}
|
||||||
|
{{- with .Get "height" }} height="{{ . }}"{{ end -}}
|
||||||
|
{{- with .Get "loading" }} loading="{{ . }}"{{ end -}}
|
||||||
|
/><!-- Closing img tag -->
|
||||||
|
{{- if .Get "link" }}</a>{{ end -}}
|
||||||
|
{{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}}
|
||||||
|
<figcaption>
|
||||||
|
{{ with (.Get "title") -}}
|
||||||
|
<h4>{{ . }}</h4>
|
||||||
|
{{- end -}}
|
||||||
|
{{- if or (.Get "caption") (.Get "attr") -}}<p>
|
||||||
|
{{- .Get "caption" | markdownify -}}
|
||||||
|
{{- with .Get "attrlink" }}
|
||||||
|
<a href="{{ . }}">
|
||||||
|
{{- end -}}
|
||||||
|
{{- .Get "attr" | markdownify -}}
|
||||||
|
{{- if .Get "attrlink" }}</a>{{ end }}</p>
|
||||||
|
{{- end }}
|
||||||
|
</figcaption>
|
||||||
|
{{- end }}
|
||||||
|
</figure>
|
Loading…
x
Reference in New Issue
Block a user