diff --git a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot b/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot
deleted file mode 100755
index 3610c74..0000000
Binary files a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot and /dev/null differ
diff --git a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg b/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg
deleted file mode 100755
index 254f4cc..0000000
--- a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf b/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf
deleted file mode 100755
index 9798360..0000000
Binary files a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf and /dev/null differ
diff --git a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff b/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff
deleted file mode 100755
index c6685a1..0000000
Binary files a/assets/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff and /dev/null differ
diff --git a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot b/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot
deleted file mode 100755
index 88a6c74..0000000
Binary files a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot and /dev/null differ
diff --git a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg b/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg
deleted file mode 100755
index 881a6bd..0000000
--- a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf b/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf
deleted file mode 100755
index 9da91de..0000000
Binary files a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf and /dev/null differ
diff --git a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff b/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff
deleted file mode 100755
index b0e5b68..0000000
Binary files a/assets/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff and /dev/null differ
diff --git a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot b/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot
deleted file mode 100755
index 22fff5b..0000000
Binary files a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot and /dev/null differ
diff --git a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg b/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg
deleted file mode 100755
index c5013b3..0000000
--- a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf b/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf
deleted file mode 100755
index daceffb..0000000
Binary files a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf and /dev/null differ
diff --git a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff b/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff
deleted file mode 100755
index 440ae04..0000000
Binary files a/assets/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff and /dev/null differ
diff --git a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot b/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot
deleted file mode 100755
index 4ef9973..0000000
Binary files a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot and /dev/null differ
diff --git a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg b/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg
deleted file mode 100755
index 24cf3ef..0000000
--- a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf b/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf
deleted file mode 100755
index 5ae5198..0000000
Binary files a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf and /dev/null differ
diff --git a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff b/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff
deleted file mode 100755
index 10eb336..0000000
Binary files a/assets/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff and /dev/null differ
diff --git a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.eot b/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.eot
deleted file mode 100755
index bcc6f9d..0000000
Binary files a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.eot and /dev/null differ
diff --git a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.svg b/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.svg
deleted file mode 100755
index a6c168a..0000000
--- a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.svg
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.ttf b/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.ttf
deleted file mode 100755
index 725af42..0000000
Binary files a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.ttf and /dev/null differ
diff --git a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.woff b/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.woff
deleted file mode 100755
index 5753ca4..0000000
Binary files a/assets/et-book/et-book-semi-bold-old-style-figures/et-book-semi-bold-old-style-figures.woff and /dev/null differ
diff --git a/assets/fonts/ftaurebesh/FTAurebesh-Bold.woff2 b/assets/fonts/ftaurebesh/FTAurebesh-Bold.woff2
new file mode 100644
index 0000000..0a0dd3d
Binary files /dev/null and b/assets/fonts/ftaurebesh/FTAurebesh-Bold.woff2 differ
diff --git a/assets/fonts/ftaurebesh/FTAurebesh-Medium.woff2 b/assets/fonts/ftaurebesh/FTAurebesh-Medium.woff2
new file mode 100644
index 0000000..183321b
Binary files /dev/null and b/assets/fonts/ftaurebesh/FTAurebesh-Medium.woff2 differ
diff --git a/assets/fonts/ftaurebesh/ftaurebesh.css b/assets/fonts/ftaurebesh/ftaurebesh.css
new file mode 100644
index 0000000..fd8ce44
--- /dev/null
+++ b/assets/fonts/ftaurebesh/ftaurebesh.css
@@ -0,0 +1,16 @@
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 500;
+ font-display: block;
+ src: url("FTAurebesh-Medium.woff2") format("woff2");
+ size-adjust: 150%;
+}
+@font-face {
+ font-family: FTAurebesh;
+ font-style: normal;
+ font-weight: 700;
+ font-display: block;
+ src: url("FTAurebesh-Bold.woff2") format("woff2");
+ size-adjust: 150%;
+}
diff --git a/assets/fonts/inter/InterVariable-Italic.woff2 b/assets/fonts/inter/InterVariable-Italic.woff2
new file mode 100644
index 0000000..f22ec25
Binary files /dev/null and b/assets/fonts/inter/InterVariable-Italic.woff2 differ
diff --git a/assets/fonts/inter/InterVariable.woff2 b/assets/fonts/inter/InterVariable.woff2
new file mode 100644
index 0000000..22a12b0
Binary files /dev/null and b/assets/fonts/inter/InterVariable.woff2 differ
diff --git a/assets/fonts/inter/inter.css b/assets/fonts/inter/inter.css
new file mode 100644
index 0000000..d80b71a
--- /dev/null
+++ b/assets/fonts/inter/inter.css
@@ -0,0 +1,14 @@
+@font-face {
+ font-family: Inter;
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("InterVariable.woff2") format("woff2");
+}
+@font-face {
+ font-family: Inter;
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("InterVariable-Italic.woff2") format("woff2");
+}
diff --git a/assets/site.css b/assets/site.css
new file mode 100644
index 0000000..8804ddb
--- /dev/null
+++ b/assets/site.css
@@ -0,0 +1,134 @@
+@import url(fonts/inter/inter.css);
+@import url(fonts/ftaurebesh/ftaurebesh.css);
+
+:root {
+ --ecru: hsla(46, 56%, 65%, 1);
+ --wenge: hsla(288, 6%, 33%, 1);
+ --cordovan: hsla(354, 30%, 44%, 1);
+ --isabelline: hsla(40, 26%, 93%, 1);
+
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ flex-grow: 1;
+ padding: 0;
+ font-size: 16px;
+ font-size: clamp(16px, 1.5vw, 36px);
+ line-height: 1.5;
+ --ratio: 1.333;
+ --s-5: calc(var(--s-4) / var(--ratio));
+ --s-4: calc(var(--s-3) / var(--ratio));
+ --s-3: calc(var(--s-2) / var(--ratio));
+ --s-2: calc(var(--s-1) / var(--ratio));
+ --s-1: calc(var(--s0) / var(--ratio));
+ --s0: 1rem;
+ --s1: calc(var(--s0) * var(--ratio));
+ --s2: calc(var(--s1) * var(--ratio));
+ --s3: calc(var(--s2) * var(--ratio));
+ --s4: calc(var(--s3) * var(--ratio));
+ --s5: calc(var(--s4) * var(--ratio));
+ --content-width: clamp(87.5vw, 30rem, 100vw - 1rem);
+ --inset: calc(50vw - var(--content-width) / 2);
+}
+
+*, :after, :before {
+ box-sizing: inherit;
+ font-family: inherit;
+}
+
+body {
+ flex-grow: 1;
+ padding: 0;
+ margin: 0;
+ font-family: Inter, sans-serif;
+ background-color: var(--isabelline);
+ color: var(--wenge);
+ border: 0.5rem solid var(--cordovan);
+}
+
+a {
+ color: inherit;
+}
+a:link {
+ text-decoration: underline;
+}
+
+li::marker {
+ color: color-mix(in lch, currentcolor 50%, transparent)
+}
+li > aside {
+ display: inline-block;
+ margin-left: 1ch;
+ font-size: var(--s-1);
+}
+ul, ol {
+ padding-left: 0;
+ ul, ol {
+ padding-left: 2em;
+ }
+}
+p {
+ margin: 0;
+ + p {
+ margin-top: 1lh;
+ }
+}
+
+body > header {
+ background-color: var(--wenge);
+ color: var(--isabelline);
+ padding: 0 var(--inset);
+ nav {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ padding-top: 0.5rem;
+ gap: 1ch;
+ aside {
+ margin-left: auto;
+ font-size: var(--s-1);
+ }
+ }
+}
+
+label {
+ cursor: pointer;
+ text-decoration: underline;
+ > input[type='radio'] {
+ visibility: hidden;
+ position: fixed;
+ bottom: 110%;
+ }
+}
+label:has(input[type='radio']:checked) {
+ color: var(--ecru);
+}
+
+[data-font=aurebesh] {
+ font-family: FTAurebesh;
+}
+[data-font=english] {
+ font-family: Inter;
+}
+
+h1,h2,h3,h4 {
+ font-weight: 700;
+ margin: 1rem calc(-0.5rem - var(--inset)) 0;
+ padding: 0 calc(0.5rem + var(--inset));
+}
+main {
+ h1,h2,h3,h4 {
+ background-image: linear-gradient(50deg, var(--ecru) 0%, var(--ecru) calc(var(--inset) * 0.25), transparent calc(var(--inset) + 12rem))
+ }
+ padding: 0 var(--inset);
+}
+h1 {
+ font-size: var(--s3);
+}
+h2 {
+ font-size: var(--s2);
+}
+h3 {
+ font-size: var(--s3);
+}
diff --git a/assets/tufte.css b/assets/tufte.css
deleted file mode 100644
index 834848e..0000000
--- a/assets/tufte.css
+++ /dev/null
@@ -1,486 +0,0 @@
-@charset "UTF-8";
-
-/* Import ET Book styles
- adapted from https://github.com/edwardtufte/et-book/blob/gh-pages/et-book.css */
-
-@font-face {
- font-family: "et-book";
- src: url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot");
- src: url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff"), url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf") format("truetype"), url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf") format("svg");
- font-weight: normal;
- font-style: normal;
- font-display: swap;
-}
-
-@font-face {
- font-family: "et-book";
- src: url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot");
- src: url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff"), url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf") format("truetype"), url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf") format("svg");
- font-weight: normal;
- font-style: italic;
- font-display: swap;
-}
-
-@font-face {
- font-family: "et-book";
- src: url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot");
- src: url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff"), url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf") format("truetype"), url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf") format("svg");
- font-weight: bold;
- font-style: normal;
- font-display: swap;
-}
-
-@font-face {
- font-family: "et-book-roman-old-style";
- src: url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot");
- src: url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff") format("woff"), url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf") format("truetype"), url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf") format("svg");
- font-weight: normal;
- font-style: normal;
- font-display: swap;
-}
-
-/* Tufte CSS styles */
-html {
- font-size: 15px;
-}
-
-body {
- width: 87.5%;
- margin-left: auto;
- margin-right: auto;
- padding-left: 12.5%;
- font-family: et-book, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
- background-color: #fffff8;
- color: #111;
- max-width: 1400px;
- counter-reset: sidenote-counter;
-}
-
-/* Adds dark mode */
-@media (prefers-color-scheme: dark) {
- body {
- background-color: #151515;
- color: #ddd;
- }
-}
-
-h1 {
- font-weight: 400;
- margin-top: 4rem;
- margin-bottom: 1.5rem;
- font-size: 3.2rem;
- line-height: 1;
-}
-
-h2 {
- font-style: italic;
- font-weight: 400;
- margin-top: 2.1rem;
- margin-bottom: 1.4rem;
- font-size: 2.2rem;
- line-height: 1;
-}
-
-h3 {
- font-style: italic;
- font-weight: 400;
- font-size: 1.7rem;
- margin-top: 2rem;
- margin-bottom: 1.4rem;
- line-height: 1;
-}
-
-hr {
- display: block;
- height: 1px;
- width: 55%;
- border: 0;
- border-top: 1px solid #ccc;
- margin: 1em 0;
- padding: 0;
-}
-
-p.subtitle {
- font-style: italic;
- margin-top: 1rem;
- margin-bottom: 1rem;
- font-size: 1.8rem;
- display: block;
- line-height: 1;
-}
-
-.numeral {
- font-family: et-book-roman-old-style;
-}
-
-.danger {
- color: red;
-}
-
-article {
- padding: 5rem 0rem;
-}
-
-section {
- padding-top: 1rem;
- padding-bottom: 1rem;
-}
-
-p,
-dl,
-ol,
-ul {
- font-size: 1.4rem;
- line-height: 2rem;
-}
-
-p {
- margin-top: 1.4rem;
- margin-bottom: 1.4rem;
- padding-right: 0;
- vertical-align: baseline;
-}
-
-/* Chapter Epigraphs */
-div.epigraph {
- margin: 5em 0;
-}
-
-div.epigraph > blockquote {
- margin-top: 3em;
- margin-bottom: 3em;
-}
-
-div.epigraph > blockquote,
-div.epigraph > blockquote > p {
- font-style: italic;
-}
-
-div.epigraph > blockquote > footer {
- font-style: normal;
-}
-
-div.epigraph > blockquote > footer > cite {
- font-style: italic;
-}
-/* end chapter epigraphs styles */
-
-blockquote {
- font-size: 1.4rem;
-}
-
-blockquote p {
- width: 55%;
- margin-right: 40px;
-}
-
-blockquote footer {
- width: 55%;
- font-size: 1.1rem;
- text-align: right;
-}
-
-section > p,
-section > footer,
-section > table {
- width: 55%;
-}
-
-/* 50 + 5 == 55, to be the same width as paragraph */
-section > dl,
-section > ol,
-section > ul {
- width: 50%;
- -webkit-padding-start: 5%;
-}
-
-dt:not(:first-child),
-li:not(:first-child) {
- margin-top: 0.25rem;
-}
-
-figure {
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
- max-width: 55%;
- -webkit-margin-start: 0;
- -webkit-margin-end: 0;
- margin: 0 0 3em 0;
-}
-
-figcaption {
- float: right;
- clear: right;
- margin-top: 0;
- margin-bottom: 0;
- font-size: 1.1rem;
- line-height: 1.6;
- vertical-align: baseline;
- position: relative;
- max-width: 40%;
-}
-
-figure.fullwidth figcaption {
- margin-right: 24%;
-}
-
-/* Links: replicate underline that clears descenders */
-a:link,
-a:visited {
- color: inherit;
-}
-
-.no-tufte-underline:link {
- background: unset;
- text-shadow: unset;
-}
-
-a:link, .tufte-underline, .hover-tufte-underline:hover {
- text-decoration: none;
- background: -webkit-linear-gradient(#fffff8, #fffff8), -webkit-linear-gradient(#fffff8, #fffff8), -webkit-linear-gradient(currentColor, currentColor);
- background: linear-gradient(#fffff8, #fffff8), linear-gradient(#fffff8, #fffff8), linear-gradient(currentColor, currentColor);
- -webkit-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
- -moz-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
- background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
- background-repeat: no-repeat, no-repeat, repeat-x;
- text-shadow: 0.03em 0 #fffff8, -0.03em 0 #fffff8, 0 0.03em #fffff8, 0 -0.03em #fffff8, 0.06em 0 #fffff8, -0.06em 0 #fffff8, 0.09em 0 #fffff8, -0.09em 0 #fffff8, 0.12em 0 #fffff8, -0.12em 0 #fffff8, 0.15em 0 #fffff8, -0.15em 0 #fffff8;
- background-position: 0% 93%, 100% 93%, 0% 93%;
-}
-
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
- a:link, .tufte-underline, .hover-tufte-underline:hover {
- background-position-y: 87%, 87%, 87%;
- }
-}
-
-/* Adds dark mode */
-@media (prefers-color-scheme: dark) {
- a:link, .tufte-underline, .hover-tufte-underline:hover {
- text-shadow: 0.03em 0 #151515, -0.03em 0 #151515, 0 0.03em #151515, 0 -0.03em #151515, 0.06em 0 #151515, -0.06em 0 #151515, 0.09em 0 #151515, -0.09em 0 #151515, 0.12em 0 #151515, -0.12em 0 #151515, 0.15em 0 #151515, -0.15em 0 #151515;
- }
-}
-
-a:link::selection,
-a:link::-moz-selection {
- text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
- background: #b4d5fe;
-}
-
-/* Sidenotes, margin notes, figures, captions */
-img {
- max-width: 100%;
-}
-
-.sidenote,
-.marginnote {
- float: right;
- clear: right;
- margin-right: -60%;
- width: 50%;
- margin-top: 0.3rem;
- margin-bottom: 0;
- font-size: 1.1rem;
- line-height: 1.3;
- vertical-align: baseline;
- position: relative;
-}
-
-.sidenote-number {
- counter-increment: sidenote-counter;
-}
-
-.sidenote-number:after,
-.sidenote:before {
- font-family: et-book-roman-old-style;
- position: relative;
- vertical-align: baseline;
-}
-
-.sidenote-number:after {
- content: counter(sidenote-counter);
- font-size: 1rem;
- top: -0.5rem;
- left: 0.1rem;
-}
-
-.sidenote:before {
- content: counter(sidenote-counter) " ";
- font-size: 1rem;
- top: -0.5rem;
-}
-
-blockquote .sidenote,
-blockquote .marginnote {
- margin-right: -82%;
- min-width: 59%;
- text-align: left;
-}
-
-div.fullwidth,
-table.fullwidth {
- width: 100%;
-}
-
-div.table-wrapper {
- overflow-x: auto;
- font-family: "Trebuchet MS", "Gill Sans", "Gill Sans MT", sans-serif;
-}
-
-.sans {
- font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
- letter-spacing: .03em;
-}
-
-code, pre > code {
- font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
- font-size: 1.0rem;
- line-height: 1.42;
- -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS. See https://github.com/edwardtufte/tufte-css/issues/81#issuecomment-261953409 */
-}
-
-.sans > code {
- font-size: 1.2rem;
-}
-
-h1 > code,
-h2 > code,
-h3 > code {
- font-size: 0.80em;
-}
-
-.marginnote > code,
-.sidenote > code {
- font-size: 1rem;
-}
-
-pre > code {
- font-size: 0.9rem;
- width: 52.5%;
- margin-left: 2.5%;
- overflow-x: auto;
- display: block;
-}
-
-pre.fullwidth > code {
- width: 90%;
-}
-
-.fullwidth {
- max-width: 90%;
- clear:both;
-}
-
-span.newthought {
- font-variant: small-caps;
- font-size: 1.2em;
-}
-
-input.margin-toggle {
- display: none;
-}
-
-label.sidenote-number {
- display: inline-block;
- max-height: 2rem; /* should be less than or equal to paragraph line-height */
-}
-
-label.margin-toggle:not(.sidenote-number) {
- display: none;
-}
-
-.iframe-wrapper {
- position: relative;
- padding-bottom: 56.25%; /* 16:9 */
- padding-top: 25px;
- height: 0;
-}
-
-.iframe-wrapper iframe {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-@media (max-width: 760px) {
- body {
- width: 84%;
- padding-left: 8%;
- padding-right: 8%;
- }
-
- hr,
- section > p,
- section > footer,
- section > table {
- width: 100%;
- }
-
- pre > code {
- width: 97%;
- }
-
- section > dl,
- section > ol,
- section > ul {
- width: 90%;
- }
-
- figure {
- max-width: 90%;
- }
-
- figcaption,
- figure.fullwidth figcaption {
- margin-right: 0%;
- max-width: none;
- }
-
- blockquote {
- margin-left: 1.5em;
- margin-right: 0em;
- }
-
- blockquote p,
- blockquote footer {
- width: 100%;
- }
-
- label.margin-toggle:not(.sidenote-number) {
- display: inline;
- }
-
- .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;
- }
-
- div.table-wrapper,
- table {
- width: 85%;
- }
-
- img {
- width: 100%;
- }
-}
diff --git a/assets/tufte.min.css b/assets/tufte.min.css
deleted file mode 100644
index b77d324..0000000
--- a/assets/tufte.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";@font-face{font-family:et-book;src:url(et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot);src:url(et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix) format("embedded-opentype"),url(et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff) format("woff"),url(et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf) format("truetype"),url(et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf) format("svg");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:et-book;src:url(et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot);src:url(et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix) format("embedded-opentype"),url(et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff) format("woff"),url(et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf) format("truetype"),url(et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf) format("svg");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:et-book;src:url(et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot);src:url(et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix) format("embedded-opentype"),url(et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff) format("woff"),url(et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf) format("truetype"),url(et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf) format("svg");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:et-book-roman-old-style;src:url(et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot);src:url(et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix) format("embedded-opentype"),url(et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff) format("woff"),url(et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf) format("truetype"),url(et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf) format("svg");font-weight:400;font-style:normal;font-display:swap}html{font-size:15px}body{width:87.5%;margin-left:auto;margin-right:auto;padding-left:12.5%;font-family:et-book,Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;background-color:#fffff8;color:#111;max-width:1400px;counter-reset:sidenote-counter}@media (prefers-color-scheme:dark){body{background-color:#151515;color:#ddd}}h1{font-weight:400;margin-top:4rem;margin-bottom:1.5rem;font-size:3.2rem;line-height:1}h2{font-style:italic;font-weight:400;margin-top:2.1rem;margin-bottom:1.4rem;font-size:2.2rem;line-height:1}h3{font-style:italic;font-weight:400;font-size:1.7rem;margin-top:2rem;margin-bottom:1.4rem;line-height:1}hr{display:block;height:1px;width:55%;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}p.subtitle{font-style:italic;margin-top:1rem;margin-bottom:1rem;font-size:1.8rem;display:block;line-height:1}.numeral{font-family:et-book-roman-old-style}.danger{color:red}article{padding:5rem 0}section{padding-top:1rem;padding-bottom:1rem}dl,ol,p,ul{font-size:1.4rem;line-height:2rem}p{margin-top:1.4rem;margin-bottom:1.4rem;padding-right:0;vertical-align:baseline}div.epigraph{margin:5em 0}div.epigraph>blockquote{margin-top:3em;margin-bottom:3em}div.epigraph>blockquote,div.epigraph>blockquote>p{font-style:italic}div.epigraph>blockquote>footer{font-style:normal}div.epigraph>blockquote>footer>cite{font-style:italic}blockquote{font-size:1.4rem}blockquote p{width:55%;margin-right:40px}blockquote footer{width:55%;font-size:1.1rem;text-align:right}section>footer,section>p,section>table{width:55%}section>dl,section>ol,section>ul{width:50%;-webkit-padding-start:5%}dt:not(:first-child),li:not(:first-child){margin-top:.25rem}figure{padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;max-width:55%;-webkit-margin-start:0;-webkit-margin-end:0;margin:0 0 3em 0}figcaption{float:right;clear:right;margin-top:0;margin-bottom:0;font-size:1.1rem;line-height:1.6;vertical-align:baseline;position:relative;max-width:40%}figure.fullwidth figcaption{margin-right:24%}a:link,a:visited{color:inherit}.no-tufte-underline:link{background:unset;text-shadow:unset}.hover-tufte-underline:hover,.tufte-underline,a:link{text-decoration:none;background:-webkit-linear-gradient(#fffff8,#fffff8),-webkit-linear-gradient(#fffff8,#fffff8),-webkit-linear-gradient(currentColor,currentColor);background:linear-gradient(#fffff8,#fffff8),linear-gradient(#fffff8,#fffff8),linear-gradient(currentColor,currentColor);-webkit-background-size:.05em 1px,.05em 1px,1px 1px;-moz-background-size:.05em 1px,.05em 1px,1px 1px;background-size:.05em 1px,.05em 1px,1px 1px;background-repeat:no-repeat,no-repeat,repeat-x;text-shadow:.03em 0 #fffff8,-.03em 0 #fffff8,0 .03em #fffff8,0 -.03em #fffff8,.06em 0 #fffff8,-.06em 0 #fffff8,.09em 0 #fffff8,-.09em 0 #fffff8,.12em 0 #fffff8,-.12em 0 #fffff8,.15em 0 #fffff8,-.15em 0 #fffff8;background-position:0 93%,100% 93%,0 93%}@media screen and (-webkit-min-device-pixel-ratio:0){.hover-tufte-underline:hover,.tufte-underline,a:link{background-position-y:87%,87%,87%}}@media (prefers-color-scheme:dark){.hover-tufte-underline:hover,.tufte-underline,a:link{text-shadow:.03em 0 #151515,-.03em 0 #151515,0 .03em #151515,0 -.03em #151515,.06em 0 #151515,-.06em 0 #151515,.09em 0 #151515,-.09em 0 #151515,.12em 0 #151515,-.12em 0 #151515,.15em 0 #151515,-.15em 0 #151515}}a:link::-moz-selection,a:link::selection{text-shadow:.03em 0 #b4d5fe,-.03em 0 #b4d5fe,0 .03em #b4d5fe,0 -.03em #b4d5fe,.06em 0 #b4d5fe,-.06em 0 #b4d5fe,.09em 0 #b4d5fe,-.09em 0 #b4d5fe,.12em 0 #b4d5fe,-.12em 0 #b4d5fe,.15em 0 #b4d5fe,-.15em 0 #b4d5fe;background:#b4d5fe}img{max-width:100%}.marginnote,.sidenote{float:right;clear:right;margin-right:-60%;width:50%;margin-top:.3rem;margin-bottom:0;font-size:1.1rem;line-height:1.3;vertical-align:baseline;position:relative}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after,.sidenote:before{font-family:et-book-roman-old-style;position:relative;vertical-align:baseline}.sidenote-number:after{content:counter(sidenote-counter);font-size:1rem;top:-.5rem;left:.1rem}.sidenote:before{content:counter(sidenote-counter) " ";font-size:1rem;top:-.5rem}blockquote .marginnote,blockquote .sidenote{margin-right:-82%;min-width:59%;text-align:left}div.fullwidth,table.fullwidth{width:100%}div.table-wrapper{overflow-x:auto;font-family:"Trebuchet MS","Gill Sans","Gill Sans MT",sans-serif}.sans{font-family:"Gill Sans","Gill Sans MT",Calibri,sans-serif;letter-spacing:.03em}code,pre>code{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:1rem;line-height:1.42;-webkit-text-size-adjust:100%}.sans>code{font-size:1.2rem}h1>code,h2>code,h3>code{font-size:.8em}.marginnote>code,.sidenote>code{font-size:1rem}pre>code{font-size:.9rem;width:52.5%;margin-left:2.5%;overflow-x:auto;display:block}pre.fullwidth>code{width:90%}.fullwidth{max-width:90%;clear:both}span.newthought{font-variant:small-caps;font-size:1.2em}input.margin-toggle{display:none}label.sidenote-number{display:inline-block;max-height:2rem}label.margin-toggle:not(.sidenote-number){display:none}.iframe-wrapper{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.iframe-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width:760px){body{width:84%;padding-left:8%;padding-right:8%}hr,section>footer,section>p,section>table{width:100%}pre>code{width:97%}section>dl,section>ol,section>ul{width:90%}figure{max-width:90%}figcaption,figure.fullwidth figcaption{margin-right:0;max-width:none}blockquote{margin-left:1.5em;margin-right:0}blockquote footer,blockquote p{width:100%}label.margin-toggle:not(.sidenote-number){display:inline}.marginnote,.sidenote{display:none}.margin-toggle:checked+.marginnote,.margin-toggle:checked+.sidenote{display:block;float:left;left:1rem;clear:both;width:95%;margin:1rem 2.5%;vertical-align:baseline;position:relative}label{cursor:pointer}div.table-wrapper,table{width:85%}img{width:100%}}
\ No newline at end of file
diff --git a/eleventy.config.js b/eleventy.config.js
index 091308b..2dd08b9 100644
--- a/eleventy.config.js
+++ b/eleventy.config.js
@@ -1,20 +1,35 @@
-const fs = require('fs');
+const fs = require("fs");
+const path = require("path");
-module.exports = function (eleventyConfig) {
- const slugify = eleventyConfig.getFilter('slugify')
- eleventyConfig.addPassthroughCopy("assets")
- eleventyConfig.addPassthroughCopy("site/music", {
- rename: (fileName) => {
- const name = fileName.slice(0, -4)
- return `${slugify(name)}.pdf`
- }
+module.exports = (config) => {
+ const slugify = config.getFilter("slugify");
+ const url = config.getFilter("url");
+ config.addPassthroughCopy("assets");
+
+ // collection from music folder
+ config.addPassthroughCopy("site/music", {
+ rename: (filename) => {
+ const ext = path.extname(filename);
+ const base = path.basename(filename, ext);
+ return `${slugify(base)}${ext}`;
+ },
});
- const musicFiles = fs.readdirSync("./site/music/").filter(function (fileName) {
- return fileName.endsWith('.pdf')
- }).map(function (filename) {
- return filename.split('.pdf')[0]
+ config.addCollection("music", () => {
+ const musicFiles = fs.readdirSync("./site/music/").map((filename) => {
+ const ext = path.extname(filename);
+ const base = path.basename(filename, ext);
+ const absUrl = `/music/${slugify(base)}${ext}`;
+ return {
+ data: {
+ title: base,
+ tags: ['music'],
+ },
+ url: url(absUrl),
+ };
+ });
+ return musicFiles;
});
- eleventyConfig.addGlobalData('music', musicFiles);
+
return {
dir: {
input: "site",
diff --git a/site/_includes/-header.njk b/site/_includes/-header.njk
new file mode 100644
index 0000000..b5b23ff
--- /dev/null
+++ b/site/_includes/-header.njk
@@ -0,0 +1,32 @@
+{{ tag | capitalize if tag else title }}
+