mirror of
https://github.com/sbrow/thor.git
synced 2026-10-25 02:01:56 -04:00
295 lines
5.0 KiB
HTML
295 lines
5.0 KiB
HTML
{{^params.stylesheets}}
|
|
<style>
|
|
/* Nav */
|
|
header nav ul {
|
|
list-style: none;
|
|
display: flex;
|
|
gap: 1rem;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Base layout */
|
|
body {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
main {
|
|
max-width: 760px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
/* Sidenote layout — activates only when sidenote elements are present */
|
|
body:has(.sidenote, .marginnote) {
|
|
counter-reset: sidenote-counter;
|
|
padding-left: 12.5%;
|
|
width: 87.5%;
|
|
}
|
|
|
|
body:has(.sidenote, .marginnote) main {
|
|
max-width: none;
|
|
width: 60%;
|
|
margin: 0;
|
|
}
|
|
|
|
/* Images */
|
|
img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
/* Superscript (footnote refs) */
|
|
sup {
|
|
line-height: 0;
|
|
}
|
|
|
|
/* Code blocks */
|
|
code,
|
|
pre>code {
|
|
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
font-size: 1.0rem;
|
|
line-height: 1.42;
|
|
-webkit-text-size-adjust: 100%;
|
|
}
|
|
|
|
pre>code {
|
|
font-size: 0.9rem;
|
|
overflow-x: auto;
|
|
display: block;
|
|
}
|
|
|
|
/* Alerts (GitHub-style) */
|
|
.alert {
|
|
border-left: 4px solid;
|
|
border-radius: 0 4px 4px 0;
|
|
padding: 0.5rem 1rem;
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
.alert-title {
|
|
font-weight: bold;
|
|
margin-bottom: 0.25rem;
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
.alert-note {
|
|
border-left-color: #3b82f6;
|
|
}
|
|
|
|
.alert-tip {
|
|
border-left-color: #22c55e;
|
|
}
|
|
|
|
.alert-important {
|
|
border-left-color: #a855f7;
|
|
}
|
|
|
|
.alert-warning {
|
|
border-left-color: #eab308;
|
|
}
|
|
|
|
.alert-caution {
|
|
border-left-color: #ef4444;
|
|
}
|
|
|
|
/* Definition lists */
|
|
dl,
|
|
ol,
|
|
ul {
|
|
font-size: 1.4rem;
|
|
line-height: 2rem;
|
|
}
|
|
|
|
dt:not(:first-child) {
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
dd {
|
|
margin-left: 0;
|
|
}
|
|
|
|
/* Sidenotes, margin notes */
|
|
.sidenote,
|
|
.marginnote {
|
|
float: right;
|
|
clear: right;
|
|
margin-right: -45%;
|
|
width: 40%;
|
|
margin-top: 0.3rem;
|
|
margin-bottom: 0;
|
|
font-size: 0.85em;
|
|
line-height: 1.5;
|
|
vertical-align: baseline;
|
|
position: relative;
|
|
}
|
|
|
|
.sidenote-number {
|
|
counter-increment: sidenote-counter;
|
|
}
|
|
|
|
.sidenote-number:after,
|
|
.sidenote:before {
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
color: var(--color-accent, currentColor);
|
|
}
|
|
|
|
.sidenote-number:after {
|
|
content: counter(sidenote-counter);
|
|
font-size: 0.8rem;
|
|
top: -0.5rem;
|
|
left: 0.1rem;
|
|
}
|
|
|
|
.sidenote:before {
|
|
content: counter(sidenote-counter) " ";
|
|
font-size: 0.8rem;
|
|
top: -0.5rem;
|
|
}
|
|
|
|
blockquote .sidenote,
|
|
blockquote .marginnote {
|
|
margin-right: -82%;
|
|
min-width: 59%;
|
|
text-align: left;
|
|
}
|
|
|
|
.marginnote>code,
|
|
.sidenote>code {
|
|
font-size: 1rem;
|
|
}
|
|
|
|
input.margin-toggle {
|
|
display: none;
|
|
}
|
|
|
|
label.sidenote-number {
|
|
display: inline-block;
|
|
max-height: 2rem;
|
|
}
|
|
|
|
label.margin-toggle:not(.sidenote-number) {
|
|
display: none;
|
|
}
|
|
|
|
/* Responsive */
|
|
@media (max-width: 1200px) {
|
|
body {
|
|
padding-left: 1rem;
|
|
padding-right: 1rem;
|
|
}
|
|
|
|
body:has(.sidenote, .marginnote) {
|
|
padding-left: 8%;
|
|
padding-right: 8%;
|
|
width: 84%;
|
|
}
|
|
|
|
body:has(.sidenote, .marginnote) main {
|
|
width: 100%;
|
|
max-width: 760px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
pre>code {
|
|
width: 97%;
|
|
}
|
|
|
|
img {
|
|
width: 100%;
|
|
}
|
|
|
|
label.margin-toggle:not(.sidenote-number) {
|
|
display: inline;
|
|
}
|
|
|
|
label.margin-toggle:not(.sidenote-number)::after {
|
|
content: "\2295";
|
|
}
|
|
|
|
.sidenote,
|
|
.marginnote {
|
|
display: none;
|
|
}
|
|
|
|
.margin-toggle:checked+.sidenote,
|
|
.margin-toggle:checked+.marginnote {
|
|
display: block;
|
|
float: left;
|
|
left: 1rem;
|
|
clear: both;
|
|
width: 95%;
|
|
margin: 1rem 2.5%;
|
|
vertical-align: baseline;
|
|
position: relative;
|
|
}
|
|
|
|
label {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
</style>
|
|
{{/params.stylesheets}}
|
|
<style>
|
|
/* Syntax highlighting. Build-time <span class="hl-*"> wrappers only appear
|
|
inside fenced code blocks. The base class (e.g. hl-keyword) is always
|
|
emitted alongside any dotted variant (hl-keyword-control), so styling the
|
|
base names covers every capture. Re-theme by overriding the --hl-* vars. */
|
|
:root {
|
|
--hl-bg: #282c34;
|
|
--hl-fg: #abb2bf;
|
|
--hl-comment: #5c6370;
|
|
--hl-keyword: #c678dd;
|
|
--hl-string: #98c379;
|
|
--hl-escape: #56b6c2;
|
|
--hl-number: #d19a66;
|
|
--hl-function: #61afef;
|
|
--hl-type: #e5c07b;
|
|
--hl-variable: #e06c75;
|
|
--hl-attribute: #d19a66;
|
|
}
|
|
|
|
pre:has(> code [class^="hl-"]) {
|
|
background: var(--hl-bg);
|
|
color: var(--hl-fg);
|
|
padding: 0.75rem 1rem;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.hl-comment { color: var(--hl-comment); font-style: italic; }
|
|
.hl-keyword,
|
|
.hl-conditional,
|
|
.hl-repeat,
|
|
.hl-exception,
|
|
.hl-include,
|
|
.hl-storageclass { color: var(--hl-keyword); }
|
|
.hl-operator,
|
|
.hl-punctuation { color: var(--hl-fg); }
|
|
.hl-string,
|
|
.hl-character { color: var(--hl-string); }
|
|
.hl-escape,
|
|
.hl-string-escape,
|
|
.hl-string-special { color: var(--hl-escape); }
|
|
.hl-number,
|
|
.hl-float,
|
|
.hl-boolean,
|
|
.hl-constant { color: var(--hl-number); }
|
|
.hl-function,
|
|
.hl-method,
|
|
.hl-constructor { color: var(--hl-function); }
|
|
.hl-type,
|
|
.hl-namespace,
|
|
.hl-module { color: var(--hl-type); }
|
|
.hl-variable,
|
|
.hl-property,
|
|
.hl-field,
|
|
.hl-parameter,
|
|
.hl-tag,
|
|
.hl-symbol { color: var(--hl-variable); }
|
|
.hl-attribute,
|
|
.hl-label,
|
|
.hl-preproc { color: var(--hl-attribute); }
|
|
</style>
|
|
{{#params.stylesheets}}<link rel="stylesheet" href="{{.|rel_url}}">
|
|
{{/params.stylesheets}}
|