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 }}

+
diff --git a/site/_includes/base.njk b/site/_includes/base.njk index e79e07e..97b876f 100644 --- a/site/_includes/base.njk +++ b/site/_includes/base.njk @@ -7,15 +7,13 @@ title: Joshua's Homepage - - {{ title }} + + {{ tag | capitalize if tag else title }} - joshua.seigler.net - -
-

- {{ title }} -

-
- {{ content | safe }} + + {% include "-header.njk" %} +
+ {{ content | safe }} +
diff --git a/site/_includes/post.njk b/site/_includes/post.njk index b652a24..94c4ad0 100644 --- a/site/_includes/post.njk +++ b/site/_includes/post.njk @@ -1,3 +1,4 @@ --- layout: base.njk --- +{{ content | safe }} diff --git a/site/blog/blog.json b/site/blog/blog.json deleted file mode 100644 index 1bbd3cb..0000000 --- a/site/blog/blog.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "layout": "post.njk", - "permalink": "/posts/{{ title | slugify }}/", - "tags": "posts" -} diff --git a/site/collections/collections.md b/site/collections/collections.md new file mode 100644 index 0000000..c27e9bb --- /dev/null +++ b/site/collections/collections.md @@ -0,0 +1,13 @@ +--- +layout: "base.njk" +pagination: + data: collections + size: 1 + alias: tag + filter: + - all +permalink: /{{ tag | slugify }}/ +--- +{% for item in collections[ tag ] | reverse %} + - [{{ item.data.title }}]({{ item.url }}){% if item.data.dateString %}{% endif %} +{% endfor %} diff --git a/site/index.md b/site/index.md deleted file mode 100644 index 1aedd78..0000000 --- a/site/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: base -title: joshua.seigler.net ---- - -## Posts - -{% for post in collections.posts %} -- [{{ post.data.title }}]({{ post.url }}) -{% endfor %} - -## Music - -{% for m in music %} -- [{{ m }}](music/{{ m | slug }}.pdf) -{% endfor %} - -## Recipes - -{% for recipe in collections.recipes %} -- [{{ recipe.data.title }}]({{ recipe.url }}) -{% endfor %} diff --git a/site/index.njk b/site/index.njk new file mode 100644 index 0000000..ca821e9 --- /dev/null +++ b/site/index.njk @@ -0,0 +1,20 @@ +--- +layout: base +title: Home +--- + +{% for name, collection in collections %} + {% if name !== "all" %} +

{{name | capitalize }}

+ + {% endif %} +{% endfor %} diff --git a/site/blog/2024-06-05--first-post.md b/site/posts/2024-06-05--first-post.md similarity index 60% rename from site/blog/2024-06-05--first-post.md rename to site/posts/2024-06-05--first-post.md index 6b0c4d0..1cd0160 100644 --- a/site/blog/2024-06-05--first-post.md +++ b/site/posts/2024-06-05--first-post.md @@ -1,5 +1,5 @@ --- -title: Hello world +title: First post --- It's my first post! diff --git a/site/posts/posts.11tydata.js b/site/posts/posts.11tydata.js new file mode 100644 index 0000000..c8eab1c --- /dev/null +++ b/site/posts/posts.11tydata.js @@ -0,0 +1,10 @@ +const { DateTime } = require("luxon"); + +module.exports = { + layout: "post.njk", + permalink: "/posts/{{ title | slugify }}/", + tags: ["posts"], + eleventyComputed: { + dateString: ({ page }) => DateTime.fromJSDate(page.date, { zone: 'utc' }).toLocaleString(DateTime.DATE_FULL) + } +}; diff --git a/site/recipes/recipes.11tydata.js b/site/recipes/recipes.11tydata.js new file mode 100644 index 0000000..9dd77c7 --- /dev/null +++ b/site/recipes/recipes.11tydata.js @@ -0,0 +1,4 @@ +module.exports = { + layout: "base.njk", + tags: ["recipes"], +}; diff --git a/site/recipes/recipes.json b/site/recipes/recipes.json deleted file mode 100644 index 8c507cf..0000000 --- a/site/recipes/recipes.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "layout": "base.njk", - "tags": "recipes" -}