new theme

This commit is contained in:
rhiannon morris 2024-09-15 17:50:10 +02:00
parent f5ac91e29c
commit 3f827564b4
5 changed files with 198 additions and 118 deletions

View file

@ -1,5 +1,19 @@
:root {
--section-prefix: '';
@counter-style circled {
system: fixed;
symbols: "\2460" "\2461" "\2462" "\2463" "\2464" "\2465" "\2466" "\2467"
"\2468" "\2469" "\246A" "\246B" "\246C" "\246D" "\246E" "\246F"
"\2470" "\2471" "\2472" "\2473";
speak-as: numbers;
suffix: " ";
}
@counter-style inv-circled {
system: fixed;
symbols: "\278A" "\278B" "\278C" "\278D" "\278E" "\278F" "\2790" "\2791"
"\2792" "\2793" "\24EB" "\24EC" "\24ED" "\24EE" "\24EF" "\24F0"
"\24F1" "\24F2" "\24F3" "\24F4";
speak-as: numbers;
suffix: " ";
}
main :is(h1, h2, h3, h4, h5, h6):not(.unnumbered)::before {
@ -9,40 +23,46 @@ main :is(h1, h2, h3, h4, h5, h6):not(.unnumbered)::before {
main h1:not(.unnumbered) { counter-increment: h1; }
main h1 { counter-reset: h2 h3 h4 h5 h6; }
main h1:not(.unnumbered)::before {
content: var(--section-prefix) counter(h1);
content: counter(h1, inv-circled);
}
main h1.unnumbered::before {
content: "\2B8A ";
}
/*
main h2:not(.unnumbered) { counter-increment: h2; }
main h2:not(.unnumbered)::before {
content: var(--section-prefix) counter(h1) '.' counter(h2);
content: counter(h1) '.' counter(h2);
}
main h2 { counter-reset: h3 h4 h5 h6; }
main h3:not(.unnumbered) { counter-increment: h3; }
main h3 { counter-reset: h4 h5 h6; }
main h3:not(.unnumbered)::before {
content: var(--section-prefix) counter(h1) '.' counter(h2) '.' counter(h3);
content: counter(h1) '.' counter(h2) '.' counter(h3);
}
main h4:not(.unnumbered) { counter-increment: h4; }
main h4 { counter-reset: h5 h6; }
main h4:not(.unnumbered)::before {
content: var(--section-prefix)
content:
counter(h1) '.' counter(h2) '.' counter(h3) '.' counter(h4);
}
main h5:not(.unnumbered) { counter-increment: h5; }
main h5 { counter-reset: h6; }
main h5:not(.unnumbered)::before {
content: var(--section-prefix)
content:
counter(h1) '.' counter(h2) '.' counter(h3) '.' counter(h4) '.'
counter(h5);
}
main h6:not(.unnumbered) { counter-increment: h6; }
main h6:not(.unnumbered)::before {
content: var(--section-prefix)
content:
counter(h1) '.' counter(h2) '.' counter(h3) '.' counter(h4) '.'
counter(h5) '.' counter(h6);
}
*/

View file

@ -1,93 +1,108 @@
@import url(counters.css);
@import url(fonts/schola/schola.css);
@import url(fonts/muller/muller.css);
@import url(fonts/junius/junius.css);
@import url(fonts/pragmatapro/pragmatapro.css);
:root {
--root-col: hsl(30deg, 5%, 26%);
--fg-col: hsl(336deg, 17%, 11%);
--bg-col: hsl(40deg, 91%, 98%);
--link-col: hsl(355deg, 52%, 48%);
--ipa-font: JuniusX;
--light: #feb;
--dark: #325;
--mid: #83869e;
--red1: #f42;
--red2: #d16;
--fg: var(--dark);
--bg: var(--light);
--accent: var(--red1);
--other-accent: var(--red2);
}
:root {
background: var(--root-col);
background: var(--bg);
color: var(--fg);
font-family: schola;
font-size: 16pt;
height: 100vh;
font-family: PragmataPro;
font-size: 13pt;
}
body {
background: url(paper.png), var(--bg-col);
background-blend-mode: multiply;
color: var(--fg-col);
box-shadow: 0 0 5em var(--fg-col);
@media (prefers-color-scheme: dark) {
:root {
--fg: var(--light);
--bg: var(--dark);
--accent: var(--red2);
--other-accent: var(--red1);
}
}
:root, body { margin: 0; padding: 0; }
main {
border-bottom: 2px dotted var(--fg);
max-width: 50em;
min-height: 100%;
margin: 0 auto;
padding: 1em 2em 3em;
margin: 1em auto 0;
padding: 0.5em 2em;
line-height: 150%;
box-sizing: border-box;
}
header {
text-align: center;
text-wrap: balance;
background: var(--fg);
color: var(--bg);
--accent: var(--other-accent);
padding: 1em;
}
header h1 {
font-size: 250%;
font-weight: 200;
margin-top: 0;
}
h1, h2, h3, h4, h5, h6 {
margin: 1em 0 0.25em;
font-family: Muller;
clear: both;
margin: 0;
}
/* h1, h2, h3, h4, h5, h6 { */
h1 {
font-size: 150%;
font-weight: 300;
}
margin: 1em 0 0.25em;
h2 {
font-size: 140%;
font-weight: 300;
}
font-weight: normal;
font-variant-east-asian: full-width;
-moz-font-feature-settings: "fwid";
-webkit-font-feature-settings: "fwid";
font-feature-settings: "fwid";
h3 {
font-size: 130%;
font-weight: 300;
}
clear: both;
h4 {
font-size: 120%;
font-weight: 300;
}
h5 {
font-size: 110%;
font-weight: 400;
}
h6 {
font-size: 100%;
font-weight: 600;
}
header h1 {
margin-bottom: 0.5rem;
h1 { font-size: 125%; }
h2 { font-size: 125%; }
h3 { font-size: 120%; }
h4 { font-size: 110%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
main h1 {
background: var(--fg);
color: var(--bg);
padding: 0.25rem 0.75rem;
margin-bottom: 1rem;
}
main :is(h2, h3, h4, h5, h6) {
padding: 0.25rem 0.75rem;
border-bottom: 2px dotted var(--fg);
margin-bottom: 1rem;
}
hr {
border: 1px solid var(--root-col);
width: 80%;
border: none;
border-bottom: 2px dotted var(--fg);
height: 0;
}
@ -96,21 +111,21 @@ pre + hr {
}
.meta {
margin-top: 1rem;
display: flex;
column-gap: 1em;
column-gap: 2em;
align-items: baseline;
justify-content: center;
}
header .date {
font-size: 80%;
font-weight: 400;
font-style: italic;
margin-top: 0;
}
font-variant-east-asian: normal;
-moz-font-feature-settings: normal;
-webkit-font-feature-settings: normal;
font-feature-settings: normal;
font-size: 100%;
.tags {
font-size: 80%;
margin: 0;
}
.tags ul {
@ -155,8 +170,10 @@ header .date {
a {
color: var(--link-col);
color: inherit;
text-decoration: 2px dotted underline var(--accent);
}
a:hover { color: var(--accent); }
b, strong {
font-weight: 600;
@ -167,15 +184,15 @@ dfn {
font-weight: 500;
}
ul li {
list-style: '— ';
}
ul li { list-style: '❀ '; }
.post-list li { list-style: '✒ '; }
.tag-list li { list-style: ' '; } /* a tag in pragmatapro */
table {
margin: auto;
border-spacing: 0;
border-top: 2px solid var(--root-col);
border-bottom: 2px solid var(--root-col);
border-top: 2px solid var(--fg);
border-bottom: 2px solid var(--fg);
}
th {
@ -183,7 +200,7 @@ th {
}
thead th {
border-bottom: 1px solid var(--root-col);
border-bottom: 1px solid var(--fg);
}
td, th {
@ -193,7 +210,7 @@ td, th {
code {
font-family: PragmataPro;
font-size: 90%;
font-size: inherit;
}
pre {
@ -201,13 +218,13 @@ pre {
width: min-content;
margin: 0.5em auto;
padding: 0.5em 0.8em;
border: 1px solid var(--root-col);
border: 1px solid var(--fg);
background: hsla(0deg, 0%, 100%, 40%);
}
.ipa, .lang, .ebnf-t {
font-family: var(--ipa-font);
/* font-family: var(--ipa-font); */
font-feature-settings:
"ccmp", "calt", "liga", "loca", "mark", "mkmk", "ss01";
@ -218,26 +235,30 @@ pre {
text-underline-offset: 0.125em;
}
.ipa {
font-weight: 500;
.lang, .ebnf-t { font-weight: 500; }
.abbr-list dt {
font-family: PragmataPro;
font-weight: normal;
}
.lang, .ebnf-t {
font-weight: 700;
}
.gloss .abbr {
font-size: 70%;
font-weight: bold;
.gloss .abbr, .abbr-list dt {
font-variant: all-small-caps;
}
.scr {
height: 1.5em;
vertical-align: -40%;
padding-right: 0.5ex;
margin-right: 0.5ex;
padding: 2px;
background: var(--light);
}
.gloss .scr {
.gloss-split, .gloss-gloss {
font-size: 80%;
}
:is(.gloss, .bigscr) .scr {
height: 2em;
}
@ -294,22 +315,20 @@ blockquote {
font-size: 125%;
}
main nav {
text-align: center;
font-size: 125%;
}
#toc > h2 {
font-size: 120%;
font-weight: 300;
}
#toc > ul {
columns: 2;
margin-left: 2em;
margin-right: 2em;
> li { list-style: circled; }
}
figure img {
max-width: 100%;
}
figure img:not(.scr) {
border: 3px solid currentcolor;
}
figure:not(.left) {
text-align: center;
}
@ -337,23 +356,31 @@ figure li {
figcaption {
font-size: 80%;
font-style: italic;
margin: auto;
margin: 0 auto;
}
:not(.floating) > figcaption {
width: 75%;
}
dt { font-weight: 500; float: left; clear: left; }
dd { margin-left: 4em; }
figcaption:first-child { margin-bottom: 0.5em; }
figcaption:last-child { margin-top: 0.5em; }
dt {
font-weight: 500;
display: inline;
break-after: avoid;
}
dd {
margin-left: 1em;
display: inline;
break-before: avoid;
}
dd::after {
content: '';
display: block;
}
u u {
text-decoration: double underline;
}
@ -384,14 +411,30 @@ u u {
footer {
clear: both;
margin: 1.5em auto 1em;
padding-top: 0.5em;
margin: 1.5em auto 3em;
font-size: 80%;
font-weight: 500;
text-align: center;
}
footer ul::before {
margin: 0;
content: '➸ ';
}
footer ul::after {
margin: 0;
content: ' 🐌︎';
}
footer li {
display: inline;
list-style: none;
}
footer li + li::before { content: ' · '; }
.ebnf {
border: none;
}
@ -446,10 +489,10 @@ blockquote {
aside {
margin: 0.5em 3em;
padding-left: 1em;
}
aside:not(.no-line) {
border-left: 2px solid var(--root-col);
padding-left: 1em;
border-left: 2px solid var(--fg);
}
aside > details summary {
@ -538,15 +581,29 @@ aside.floating :last-child { margin-bottom: 0; }
}
*/
math[display=block] {
border: 2px dotted var(--fg);
padding: 1em 3em;
margin: auto;
width: min-content;
}
.rulebox math[display=block] {
border: none;
padding: 0;
}
.texdefs {
display: none;
}
.rulebox {
float: right;
border: 1px solid var(--root-col);
border: 1px solid var(--fg);
background: #ffffff66;
padding: .4em 1.2em;
margin-left: 3em;
}
/* the last thing in the :is is for priority fuckery */
@ -562,3 +619,8 @@ mark {
background: #fbc;
padding: 0 0.35ch;
}
.light {
background: var(--light);
color: var(--dark);
}

View file

@ -1,8 +1,10 @@
$if(hide-footer)$$else$
<footer>
<hr>
<a href=/index.html>all posts</a> ·
<a href=/all-tags.html>all tags</a>
<ul>
<li><a href=/index.html>all posts</a>
<li><a href=/all-tags.html>all tags</a>
<li><a href=/rss.xml>rss</a>
</ul>
</footer>
$endif$

View file

@ -3,9 +3,6 @@
<meta charset=utf-8>
<link rel=stylesheet href=/style/page.css>
$if(show-toc)$
<link rel=stylesheet href=/style/counters.css>
$endif$
$for(css)$
<link rel=stylesheet href=/style/$css$>
$endfor$

View file

@ -6,7 +6,7 @@ $head()$
$endif$
<div class=meta>
$if(date)$
<h2 class=date>$date$</h2>
<span class=date>$date$</span>
$endif$
$if(tags)$
<nav class=tags>
@ -19,18 +19,17 @@ $head()$
</nav>
$endif$
</div>
<hr>
</header>
<main>
$if(show-toc)$
<nav id=toc>
<h2>contents</h2>
<h1 class=unnumbered>contents</h1>
$table-of-contents$
</nav>
<hr>
$endif$
<main>
$body$
</main>