commit bf20024ff91e04e70a9dfeac8647c0352161dff7 Author: Lewis Dale Date: Mon Jan 9 23:36:46 2023 +0000 Initial commit diff --git a/assets/css/cube.css b/assets/css/cube.css new file mode 100644 index 0000000..ccde748 --- /dev/null +++ b/assets/css/cube.css @@ -0,0 +1,587 @@ +.grid { + display: grid; + gap: var(--grid-gutter, var(--space-size-2)); + grid-template-columns: + repeat(var(--grid-placement, auto-fill), + minmax(var(--grid-min-item-size, 16rem), 1fr)); +} + +.grid[data-grid="[20 80]"] { + grid-template-columns: 9rem repeat( auto-fill, clamp(10rem,60vw,40rem)); +} + +.grid[data-grid-cols="2"] { + --grid-min-item-size: clamp(10rem, 50%, 25rem); +} + +.grid[data-grid-cols="3"] { + --grid-min-item-size: clamp(8rem, 33%, 16rem); +} + +.grid[data-grid-cols="4"] { + --grid-min-item-size: clamp(8rem, 25%, 16rem); + +} + +.grid[data-grid-cols="5"] { + --grid-placement: auto-fill; + --grid-min-item-size: clamp(9rem, 20%, 10rem); +} + +[class*=row] { + display: flex; + flex-direction: row; + gap: var(--row-gutter, var(--space-size-2)); + align-items: center; + flex-wrap: wrap; +} + +[class*=row] > * { + flex-grow: 1; +} + +.row-collapse { + --row-gutter: 0; + padding-left: 2rem; +} + +.row-collapse > * { + margin-left: -1.5rem; +} + +.with-sidebar { + display: flex; + flex-wrap: wrap; + gap: var(--space-size-1); +} + +.sidebar { + flex-basis: 20rem; + flex-grow: 1; +} + +.with-sidebar > :not(.sidebar) { + flex-basis: 0; + flex-grow: 999; + min-inline-size: 50%; +} + +[class*=stack] { + display: flex; + flex-direction: column; +} + +.stack-sm { + --stack-spacing: var(--space-size-0); +} + +.stack-md { + --stack-spacing: var(--space-size-base); +} + +.stack-lg { + --stack-spacing: var(--space-size-1); +} + +.stack-xl { + --stack-spacing: var(--space-size-2); +} + +.stack-2xl { + --stack-spacing: var(--space-size-3); +} + +[class*=stack] > * + * { + -webkit-margin-before: var(--stack-spacing, 1.5rem); + margin-block-start: var(--stack-spacing, 1.5rem) +} + +.hero { + margin-left: auto; + margin-right: auto; + max-width: var(--hero-max-w, var(--screen-lg)); + width: 100%; +} + +[class*=wrapper] { + margin-left: var(--wrapper-margin, auto); + margin-right: var(--wrapper-margin, auto); + max-width: var(--wrapper-width, var(--screen-lg)); + padding: var(--wrapper-padding, var(--space-size-0)); + width: 100%; +} + +.wrapper-lg { + --wrapper-width: var(--screen-lg); +} + +.wrapper-md { + --wrapper-width: var(--screen-md); +} + +.wrapper-sm { + --wrapper-width: var(--screen-sm); +} + +.border-primary { + border-color: var(--color-primary); +} + +.border-secondary { + border-color: var(--color-secondary); +} + +.border-accent { + border-color: var(--color-accent); +} + +.color-primary { + color: var(--color-primary); +} + +.color-secondary { + color: var(--color-secondary); +} + +.color-accent { + color: var(--color-accent); +} + +.flow > * + * { + margin-top: var(--flow-space, var(--space-size-1)); +} + +.flow-1l > * > * + * { + margin-top: var(--flow-space, var(--space-size-1)); +} + +.w-paragraph { + max-width: 80ch; + width: 100%; +} + +.w-content { + width: -moz-fit-content; + width: fit-content; +} + +.basic-select { + border: 2px solid black; + border-top: 0px solid; + background-color: white; + background-image: linear-gradient(0deg, rgba(153, 153, 153, 0.1) 12.50%, #ffffff 12.50%, #ffffff 50%, rgba(153, 153, 153, 0.1) 50%, rgba(153, 153, 153, 0.1) 62.50%, #ffffff 62.50%, #ffffff 100%); + background-size: 8.00px 8.00px; + line-height: 1.3; +} + +.basic-select a { + padding: 0.2rem var(--space-size-0); + text-decoration: none; + display: block; +} + +.basic-select a:hover, +.basic-select a:focus { + background: var(--color-cyan); + outline: none; +} + +.basic-select::before { + content: "128"; + display: block; + background: black; + color: white; + background-image: linear-gradient(135deg, transparent 30%, red 30%, red 40%, yellow 40%, yellow 50%, #44ff00 50%, #44ff00 60%, #00fff7 60%, #00fff7 70%, transparent 70%); + background-size: 15rem 100%; + background-position: 110%; + background-repeat: no-repeat; + padding: 0 var(--space-size-0); +} + +.headerbar { + background: black; + font-size: var(--text-size-base); + position: fixed; + max-width: calc(var(--wrapper-width, var(--screen-lg)) - (2 * var(--space-size-0))); + top: 92%; + color: white; + text-align: left; + padding: 0 var(--space-size-0); + background-image: linear-gradient(135deg, transparent 30%, red 30%, red 40%, yellow 40%, yellow 50%, #44ff00 50%, #44ff00 60%, #00fff7 60%, #00fff7 70%, transparent 70%); + background-size: 10rem 100%; + background-position: right -1rem top; + background-repeat: no-repeat; + width: calc(100% - (2 * var(--space-size-0))); + margin: 0; +} + +.blogpost { + position: relative; + padding: 0; + overflow: auto; + padding-left: var(--space-size-0); + padding-right: var(--space-size-0); +} + +.blogpost:not(:has(#mono:checked)) .e-content { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +.post-title a:not(:hover) { + text-decoration: none; +} + +.circle { + max-width: 4rem; + flex: 1 1 4rem; +} + +.circle img { + border-radius: 100%; +} + +.linkback { + margin-top: 0; + display: inline-block; + width: 100%; + font-size: clamp(0.83rem, 0.90rem + -0.32vw, 0.67rem); + text-decoration-thickness: 0.05rem; +} + +.comment { + position: relative; + margin-left: auto; + margin-right: auto; + width: 90%; + border-width: 0px; + border-top-width: 1px; + border-style: solid; + padding-top: clamp(1.20rem, 1.08rem + 0.59vw, 1.50rem); + border-color: var(--color-accent); +} + +.comment:first-of-type { + border-width: 0px; +} + +.controls { + display: flex; + width: 100%; + justify-content: space-between; +} + +header nav a { + text-decoration: none; +} + +.heading:not(:hover) { + text-decoration: none; +} + +.micro { + display: block; + border: 2px solid black; + background-image: linear-gradient(0deg, rgba(153, 153, 153, 0.1) 12.50%, #ffffff 12.50%, #ffffff 50%, rgba(153, 153, 153, 0.1) 50%, rgba(153, 153, 153, 0.1) 62.50%, #ffffff 62.50%, #ffffff 100%); + background-size: 8.00px 8.00px; + padding: var(--space-size-0); + font-size: var(--text-size-1); +} + +.micro time { + font-weight: bold; +} + +.pixelated { + width: 100%; + height: auto; + image-rendering: pixelated; +} + +pre[class*="language"], code[class*="language"] { + margin-top: var(--flow-space, var(--space-size-1)) !important; +} + +pre .comment { + border: 0; +} + +@media (prefers-color-scheme: light) { + .pumpkin { + --color-pumpkin-body-fill: black; + --color-pumpkin-body-stroke: transparent; + --color-pumpkin-accent-fill: #FCEE21; + --color-pumpkin-accent-stroke: transparent; + } +} + +[data-color-scheme="light"] .pumpkin { + --color-pumpkin-body-fill: black; + --color-pumpkin-body-stroke: transparent; + --color-pumpkin-accent-fill: #FCEE21; + --color-pumpkin-accent-stroke: transparent; +} + +.pumpkin { + --color-pumpkin-body-fill: white; + --color-pumpkin-body-stroke: black; + --color-pumpkin-accent-fill: var(--color-rose); + --color-pumpkin-accent-stroke: black; + height: auto; + width: 35px; +} + +.pumpkin .body { + fill-rule: evenodd; + clip-rule: evenodd; + fill: var(--color-pumpkin-body-fill); + stroke: var(--color-pumpkin-body-stroke); +} + +.pumpkin .detail { + fill-rule: evenodd; + clip-rule: evenodd; + fill: var(--color-pumpkin-accent-fill); + stroke: var(--color-pumpkin-accent-stroke); +} + +.square { + aspect-ratio: 1; + -o-object-position: center center; + object-position: center center; + -o-object-fit: cover; + object-fit: cover; + width: 100%; + height: auto; +} + +.invisible { + visibility: hidden; +} + +.static { + position: static; +} + +.fixed { + position: fixed; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.mt-auto { + margin-top: auto; +} + +.mt-size-1 { + margin-top: clamp(1.20rem, 1.08rem + 0.59vw, 1.50rem); +} + +.block { + display: block; +} + +.inline-block { + display: inline-block; +} + +.flex { + display: flex; +} + +.grid { + display: grid; +} + +.contents { + display: contents; +} + +.h-\[90vh\] { + height: 90vh; +} + +.h-\[90dvh\] { + height: 90dvh; +} + +.h-full { + height: 100%; +} + +.h-screen { + height: 100vh; +} + +.h-\[100dvh\] { + height: 100dvh; +} + +.h-auto { + height: auto; +} + +.max-h-\[90vh\] { + max-height: 90vh; +} + +.max-h-\[90dvh\] { + max-height: 90dvh; +} + +.min-h-screen { + min-height: 100vh; +} + +.w-screen { + width: 100vw; +} + +.w-\[60\%\] { + width: 60%; +} + +.w-full { + width: 100%; +} + +.max-w-\[10\%\] { + max-width: 10%; +} + +.max-w-\[40ch\] { + max-width: 40ch; +} + +.max-w-\[75\%\] { + max-width: 75%; +} + +.flex-grow { + flex-grow: 1; +} + +.resize { + resize: both; +} + +.flex-col { + flex-direction: column; +} + +.items-start { + align-items: flex-start; +} + +.items-center { + align-items: center; +} + +.justify-center { + justify-content: center; +} + +.self-start { + align-self: flex-start; +} + +.self-end { + align-self: flex-end; +} + +.overflow-y-scroll { + overflow-y: scroll; +} + +.truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.bg-lightGrey { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.p-none { + padding: 0; +} + +.py-size-0 { + padding-top: clamp(0.83rem, 0.90rem + -0.32vw, 0.67rem); + padding-bottom: clamp(0.83rem, 0.90rem + -0.32vw, 0.67rem); +} + +.pt-size-0 { + padding-top: clamp(0.83rem, 0.90rem + -0.32vw, 0.67rem); +} + +.pl-none { + padding-left: 0; +} + +.pt-size-2 { + padding-top: clamp(1.44rem, 1.12rem + 1.58vw, 2.25rem); +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-size-0 { + font-size: clamp(0.83rem, 0.90rem + -0.32vw, 0.67rem); +} + +.text-size-2 { + font-size: clamp(1.44rem, 1.12rem + 1.58vw, 2.25rem); +} + +.text-base { + font-size: clamp(1.00rem, 1.00rem + 0.00vw, 1.00rem); +} + +.font-bold { + font-weight: 700; +} + +.font-semibold { + font-weight: 600; +} + +.outline { + outline-style: solid; +} + +.blur { + --tw-blur: blur(8px); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.grayscale { + --tw-grayscale: grayscale(100%); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} \ No newline at end of file diff --git a/assets/css/prism-pojoaque.css b/assets/css/prism-pojoaque.css new file mode 100644 index 0000000..c00fdc9 --- /dev/null +++ b/assets/css/prism-pojoaque.css @@ -0,0 +1,149 @@ +/* + * Pojoaque Style by Jason Tate + * http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html + * Based on Solarized Style from http://ethanschoonover.com/solarized + * http://softwaremaniacs.org/media/soft/highlight/test.html +*/ + +code[class*="language-"], +pre[class*="language-"] { + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + font-family: Menlo, Monaco, "Courier New", monospace; + font-size: 15px; + line-height: 1.5; + color: #dccf8f; + text-shadow: 0; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + border-radius: 5px; + border: 1px solid #000; + color: #DCCF8F; + background: #181914 url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQACQYGBgcGCQcHCQ0IBwgNDwsJCQsPEQ4ODw4OERENDg4ODg0RERQUFhQUERoaHBwaGiYmJiYmKysrKysrKysrKwEJCAgJCgkMCgoMDwwODA8TDg4ODhMVDg4PDg4VGhMRERERExoXGhYWFhoXHR0aGh0dJCQjJCQrKysrKysrKysr/8AAEQgAjACMAwEiAAIRAQMRAf/EAF4AAQEBAAAAAAAAAAAAAAAAAAABBwEBAQAAAAAAAAAAAAAAAAAAAAIQAAEDAwIHAQEAAAAAAAAAAADwAREhYaExkUFRcYGxwdHh8REBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AyGFEjHaBS2fDDs2zkhKmBKktb7km+ZwwCnXPkLVmCTMItj6AXFxRS465/BTnkAJvkLkJe+7AKKoi2AtRS2zuAWsCb5GOlBN8gKfmuGHZ8MFqIth3ALmFoFwbwKWyAlTAp17uKqBvgBD8sM4fTjhvAhkzhaRkBMKBrfs7jGPIpzy7gFrAqnC0C0gB0EWwBDW2cBVQwm+QtPpa3wBO3sVvszCnLAhkzgL5/RLf13cLQd8/AGlu0Cb5HTx9KuAEieGJEdcehS3eRTp2ATdt3CpIm+QtZwAhROXFeb7swp/ahaM3kBE/jSIUBc/AWrgBN8uNFAl+b7sAXFxFn2YLUU5Ns7gFX8C4ib+hN8gFWXwK3bZglxEJm+gKdciLPsFV/TClsgJUwKJ5FVA7tvIFrfZhVfGJDcsCKaYgAqv6YRbE+RWOWBtu7+AL3yRalXLyKqAIIfk+zARbDgFyEsncYwJvlgFRW+GEWntIi2P0BooyFxcNr8Ep3+ANLbMO+QyhvbiqdgC0kVvgUUiLYgBS2QtPbiVI1/sgOmG9uO+Y8DW+7jS2zAOnj6O2BndwuIAUtkdRN8gFoK3wwXMQyZwHVbClsuNLd4E3yAUR6FVDBR+BafQGt93LVMxJTv8ABts4CVLhcfYWsCb5kC9/BHdU8CLYFY5bMAd+eX9MGthhpbA1vu4B7+RKkaW2Yq4AQtVBBFsAJU/AuIXBhN8gGWnstefhiZyWvLAEnbYS1uzSFP6Jvn4Baxx70JKkQojLib5AVTey1jjgkKJGO0AKWyOm7N7cSpgSpAdPH0Tfd/gp1z5C1ZgKqN9J2wFxcUUuAFLZAm+QC0Fb4YUVRFsAOvj4KW2dwtYE3yAWk/wS/PLMKfmuGHZ8MAXF/Ja32Yi5haAKWz4Ydm2cSpgU693Atb7km+Zwwh+WGcPpxw3gAkzCLY+iYUDW/Z3Adc/gpzyFrAqnALkJe+7DoItgAtRS2zuKqGE3yAx0oJvkdvYrfZmALURbDuL5/RLf13cAuDeBS2RpbtAm+QFVA3wR+3fUtFHoBDJnC0jIXH0HWsgMY8inPLuOkd9chp4z20ALQLSA8cI9jYAIa2zjzjBd8gRafS1vgiUho/kAKcsCGTOGWvoOpkAtB3z8Hm8x2Ff5ADp4+lXAlIvcmwH/2Q==') repeat left top; +} + +pre[class*="language-"] { + padding: 12px; + overflow: auto; +} + +:not(pre) > code[class*="language-"] { + padding: 2px 6px; +} + +.token.namespace { + opacity: .7; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #586e75; + font-style: italic; +} + +.token.number, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #468966; +} + +.token.attr-name { + color: #b89859; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #dccf8f; +} + +.token.selector, +.token.regex { + color: #859900; +} + +.token.atrule, +.token.keyword { + color: #cb4b16; +} + +.token.attr-value { + color: #468966; +} + +.token.function, +.token.variable, +.token.placeholder { + color: #b58900; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol { + color: #b89859; +} + +.token.tag { + color: #ffb03b; +} + +.token.important, +.token.statement, +.token.deleted { + color: #dc322f; +} + +.token.punctuation { + color: #dccf8f; +} + +.token.entity { + cursor: help; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +/* +.pojoaque-colors { + color: #586e75; + color: #b64926; + color: #468966; + color: #ffb03b; + color: #b58900; + color: #b89859; + color: #dccf8f; + color: #d3a60c; + color: #cb4b16; + color: #dc322f; + color: #073642; + color: #181914; +} +*/ diff --git a/assets/fonts/zx_spectrum-7-webfont.woff b/assets/fonts/zx_spectrum-7-webfont.woff new file mode 100644 index 0000000..e1b71da Binary files /dev/null and b/assets/fonts/zx_spectrum-7-webfont.woff differ diff --git a/assets/fonts/zx_spectrum-7-webfont.woff2 b/assets/fonts/zx_spectrum-7-webfont.woff2 new file mode 100644 index 0000000..6780ae9 Binary files /dev/null and b/assets/fonts/zx_spectrum-7-webfont.woff2 differ diff --git a/assets/fonts/zx_spectrum-7.ttf b/assets/fonts/zx_spectrum-7.ttf new file mode 100644 index 0000000..9a1989d Binary files /dev/null and b/assets/fonts/zx_spectrum-7.ttf differ diff --git a/assets/fonts/zx_spectrum-7_bold-webfont.woff b/assets/fonts/zx_spectrum-7_bold-webfont.woff new file mode 100644 index 0000000..339e5e0 Binary files /dev/null and b/assets/fonts/zx_spectrum-7_bold-webfont.woff differ diff --git a/assets/fonts/zx_spectrum-7_bold-webfont.woff2 b/assets/fonts/zx_spectrum-7_bold-webfont.woff2 new file mode 100644 index 0000000..7ba8636 Binary files /dev/null and b/assets/fonts/zx_spectrum-7_bold-webfont.woff2 differ diff --git a/assets/fonts/zx_spectrum-7_bold.ttf b/assets/fonts/zx_spectrum-7_bold.ttf new file mode 100644 index 0000000..4cc12db Binary files /dev/null and b/assets/fonts/zx_spectrum-7_bold.ttf differ diff --git a/assets/js/prism.js b/assets/js/prism.js new file mode 100644 index 0000000..e0091e6 --- /dev/null +++ b/assets/js/prism.js @@ -0,0 +1,12 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript+bash+json+python+rust+yaml */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(jg.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +!function(e){for(var a="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",t=0;t<2;t++)a=a.replace(//g,(function(){return a}));a=a.replace(//g,(function(){return"[^\\s\\S]"})),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism); +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..308b1d0 --- /dev/null +++ b/footer.php @@ -0,0 +1,2 @@ + + diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..c35c7ed --- /dev/null +++ b/functions.php @@ -0,0 +1,46 @@ +get( 'Version' ), 'all'); + wp_enqueue_style('zxs_cubeCSS', get_stylesheet_directory_uri() . "/assets/css/cube.css", array(), wp_get_theme()->get( 'Version' ), 'all'); +} + +add_action('wp_enqueue_scripts', 'zxs_add_themes'); + +function zxs_add_class( $classes ) { + $classes = array_diff( $classes, array( 'flow' ) ); + if ( ! is_singular() ) { + if ( 'page' !== get_post_type() ) { + $classes[] = 'flow'; + } + } + return $classes; +} +add_filter('post_class', 'zxs_add_class'); + +add_action('after_setup_theme', function() { + + // remove SVG and global styles + remove_action('wp_enqueue_scripts', 'wp_enqueue_global_styles'); + + // remove wp_footer actions which add's global inline styles + remove_action('wp_footer', 'wp_enqueue_global_styles', 1); + + // remove render_block filters which adding unnecessary stuff + remove_filter('render_block', 'wp_render_duotone_support'); + remove_filter('render_block', 'wp_restore_group_inner_container'); + remove_filter('render_block', 'wp_render_layout_support_flag'); + remove_action( 'wp_body_open', 'wp_global_styles_render_svg_filters' ); + + }); + + function zxs_remove_block_library_css() { + wp_dequeue_style( 'wp-block-library' ); + wp_dequeue_style( 'wp-block-library-theme' ); + wp_dequeue_style( 'wc-blocks-style' ); // Remove WooCommerce block CSS +// wp_dequeue_style( 'classic-theme-styles' ); + } + + add_action( 'wp_enqueue_scripts', 'zxs_remove_block_library_css', 100 ); diff --git a/header.php b/header.php new file mode 100644 index 0000000..725fc8f --- /dev/null +++ b/header.php @@ -0,0 +1,11 @@ + + + + + + + + + + > + \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..0717044 --- /dev/null +++ b/index.php @@ -0,0 +1,16 @@ + + + \ No newline at end of file diff --git a/page-micro.php b/page-micro.php new file mode 100644 index 0000000..77e6607 --- /dev/null +++ b/page-micro.php @@ -0,0 +1,35 @@ + + + 'microblog', 'posts_per_page'=> 6, 'paged' => get_query_var('paged') ?? 1 ); +$myQuery = new WP_Query($args); + +$post = $wp_query->get_queried_object(); + +?> +
+
+

post_name ?>

+
+
    + have_posts()) : ?> + have_posts()) : $myQuery->the_post(); ?> +
  • + +
    +
  • + + + +
+
+ max_num_pages ); ?> + '); ?> +
+ + +
+
+
+ + \ No newline at end of file diff --git a/parts/blog.php b/parts/blog.php new file mode 100644 index 0000000..4b2215e --- /dev/null +++ b/parts/blog.php @@ -0,0 +1,24 @@ +
+
+

Blog

+
+
    + +
  • + ', esc_url(get_permalink())), '') ?> +
  • + +
+
    +
  • +
  • Newer') ?>
  • +
+
+
+ © 2023 Lewis Dale +
+
+
+ diff --git a/parts/home.php b/parts/home.php new file mode 100644 index 0000000..146daaf --- /dev/null +++ b/parts/home.php @@ -0,0 +1,17 @@ +
+
+

LewisDale.dev

+ + + +
+ © 2023 Lewis Dale +
+
+
\ No newline at end of file diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..b9c3e06 Binary files /dev/null and b/screenshot.png differ diff --git a/single.php b/single.php new file mode 100644 index 0000000..9a25258 --- /dev/null +++ b/single.php @@ -0,0 +1,32 @@ + +
+
+ Back to blog +
+ + +
+

+ +
+ +
+
+ +
+ +
+ +
+ + +" rel="stylesheet" /> + + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..bcf4652 --- /dev/null +++ b/style.css @@ -0,0 +1,561 @@ +@charset "UTF-8"; + +/* +Theme Name: ZX Spectrum +Theme URI: https://lewisdale.dev +Author: Lewis Dale +Author URI: https://lewisdale.dev/ +Description: A blast from the paste +Requires at least: 5.3 +Tested up to: 6.0 +Requires PHP: 5.6 +Version: 1.7 +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: zxs +Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready. +*/ + +@font-face { + font-family: 'Zx Spectrum'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url('/wp-content/themes/zx-spectrum/assets/fonts/zx_spectrum-7-webfont.woff2') format('woff2'), + url('/wp-content/themes/zx-spectrum/assets/fonts/zx_spectrum-7-webfont.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Zx Spectrum'; + font-style: bold; + font-weight: bold; + font-display: swap; + src: url('/wp-content/themes/zx-spectrum/assets/fonts/zx_spectrum-7_bold-webfont.woff2') format('woff2'), + url('/wp-content/themes/zx-spectrum/assets/fonts/zx_spectrum-7_bold-webfont.woff') format('woff'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url("/fonts/inter/Inter-Thin.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Thin.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url("/fonts/inter/Inter-ThinItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-ThinItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url("/fonts/inter/Inter-ExtraLight.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-ExtraLight.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url("/fonts/inter/Inter-ExtraLightItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-ExtraLightItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("/fonts/inter/Inter-Light.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Light.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("/fonts/inter/Inter-LightItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-LightItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("/fonts/inter/Inter-Regular.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Regular.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("/fonts/inter/Inter-Italic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Italic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url("/fonts/inter/Inter-Medium.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Medium.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url("/fonts/inter/Inter-MediumItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-MediumItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("/fonts/inter/Inter-SemiBold.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-SemiBold.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("/fonts/inter/Inter-SemiBoldItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-SemiBoldItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("/fonts/inter/Inter-Bold.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Bold.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("/fonts/inter/Inter-BoldItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-BoldItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + font-display: swap; + src: url("/fonts/inter/Inter-ExtraBold.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-ExtraBold.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 800; + font-display: swap; + src: url("/fonts/inter/Inter-ExtraBoldItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-ExtraBoldItalic.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url("/fonts/inter/Inter-Black.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-Black.woff?v=3.19") format("woff"); + } + +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 900; + font-display: swap; + src: url("/fonts/inter/Inter-BlackItalic.woff2?v=3.19") format("woff2"), + url("/fonts/inter/Inter-BlackItalic.woff?v=3.19") format("woff"); + } + +/* ------------------------------------------------------- + Variable font. + Usage: + + html { font-family: 'Inter', sans-serif; } + @supports (font-variation-settings: normal) { + html { font-family: 'Inter var', sans-serif; } + } + */ + +@font-face { + font-family: 'Inter var'; + font-weight: 100 900; + font-display: swap; + font-style: normal; + font-named-instance: 'Regular'; + src: url("/fonts/inter/Inter-roman.var.woff2?v=3.19") format("woff2"); + } + +@font-face { + font-family: 'Inter var'; + font-weight: 100 900; + font-display: swap; + font-style: italic; + font-named-instance: 'Italic'; + src: url("/fonts/inter/Inter-italic.var.woff2?v=3.19") format("woff2"); + } + +/* -------------------------------------------------------------------------- + [EXPERIMENTAL] Multi-axis, single variable font. + + Slant axis is not yet widely supported (as of February 2019) and thus this + multi-axis single variable font is opt-in rather than the default. + + When using this, you will probably need to set font-variation-settings + explicitly, e.g. + + * { font-variation-settings: "slnt" 0deg } + .italic { font-variation-settings: "slnt" 10deg } + + */ + +@font-face { + font-family: 'Inter var experimental'; + font-weight: 100 900; + font-display: swap; + font-style: oblique 0deg 10deg; + src: url("/fonts/inter/Inter.var.woff2?v=3.19") format("woff2"); + } + +@font-face { + font-family: "Christmas"; + font-style: normal; + font-display: swap; + src: url("/fonts/christmas.ttf") format("ttf"); +} + +/* VARIABLES GENERATED WITH TAILWIND CONFIG ON 02/01/2023. + Tokens location: ./tailwind.config.js */ + +:root { + --color-black: black; + --color-white: white; + --color-slate: #475569; + --color-light: #f3f3f3; + --color-dark: #252525; + --color-rose: #9f1239; + --color-lime: #84cc16; + --color-cyan: #67e8f9; + --color-christmas-darkGreen: #165b33; + --color-christmas-lightGreen: #146b3a; + --color-christmas-yellow: #f8b229; + --color-christmas-lightRed: #ea4630; + --color-christmas-darkRed: #930c24; + --color-lightGrey: #f3f4f6; + --color-darkGrey: #374151; + --space-size-0: clamp(0.83rem, 0.9rem + -0.32vw, 0.67rem); + --space-base: clamp(1rem, 1rem + 0vw, 1rem); + --space-size-1: clamp(1.2rem, 1.08rem + 0.59vw, 1.5rem); + --space-size-2: clamp(1.44rem, 1.12rem + 1.58vw, 2.25rem); + --space-size-3: clamp(1.73rem, 1.09rem + 3.21vw, 3.38rem); + --space-size-4: clamp(2.07rem, 0.91rem + 5.83vw, 5.06rem); + --space-size-5: clamp(2.49rem, 0.5rem + 9.96vw, 7.59rem); + --text-size-0: clamp(0.83rem, 0.9rem + -0.32vw, 0.67rem); + --text-base: clamp(1rem, 1rem + 0vw, 1rem); + --text-size-1: clamp(1.2rem, 1.08rem + 0.59vw, 1.5rem); + --text-size-2: clamp(1.44rem, 1.12rem + 1.58vw, 2.25rem); + --text-size-3: clamp(1.73rem, 1.09rem + 3.21vw, 3.38rem); + --text-size-4: clamp(2.07rem, 0.91rem + 5.83vw, 5.06rem); + --text-size-5: clamp(2.49rem, 0.5rem + 9.96vw, 7.59rem); + --font-family-sans: "Inter", ui-sans-serif, system-ui, -apple-system, + BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", + "Noto Color Emoji"; + --font-family-mono: "Zx Spectrum", ui-monospace, SFMono-Regular, Menlo, Monaco, + Consolas, "Liberation Mono", "Courier New", monospace; + --font-family-spooky: "Creepy Pumkin", ui-monospace, SFMono-Regular, Menlo, + Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --font-family-christmas: "Christmas", ui-sans-serif, system-ui, -apple-system, + BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", + "Noto Color Emoji"; + --screen-sm: 640px; + --screen-md: 768px; + --screen-lg: 1024px; + --screen-xl: 1280px; + --screen-2xl: 1536px; +} + +/* Modern reset: https://piccalil.li/blog/a-modern-css-reset/ */ + +/* Box sizing rules */ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +/* Remove default margin */ + +body, +h1, +h2, +h3, +h4, +p, +figure, +blockquote, +dl, +dd { + margin: 0; +} + +/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */ + +ul, +ol, +[role='list'] { + list-style: none; + padding: 0; + margin: 0; +} + +/* Set core root defaults */ + +html:focus-within { + scroll-behavior: smooth; +} + +/* Set core body defaults */ + +body { + min-height: 100vh; + min-height: 100dvh; /* safari-specific */ + text-rendering: optimizeSpeed; + line-height: 1.75; +} + +/* A elements that don't have a class get default styles */ + +a:not([class]) { + -webkit-text-decoration-skip: ink; + text-decoration-skip-ink: auto; +} + +/* Make images easier to work with */ + +img, +picture { + max-width: 100%; + display: block; + height: auto; +} + +/* Inherit fonts for inputs and buttons */ + +input, +button, +textarea, +select { + font: inherit; +} + +/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */ + +@media (prefers-reduced-motion: reduce) { + html:focus-within { + scroll-behavior: auto; + } + + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} + +:root { + --font-family-spooky: "Creepy Pumkin", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --font-family-christmas: "Christmas", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --color-secondary: var(--color-white); + --color-primary: var(--color-black); + --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +body { + background: var(--color-secondary); + color: var(--color-primary); + + font-size: var(--text-size-1); + font-family: "Zx Spectrum", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --font-heading: "Zx Spectrum", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/* +@media (prefers-color-scheme: dark) { + body { + --color-primary: var(--color-white); + --color-secondary: var(--color-dark); + --color-accent: var(--color-light); + --color-pumpkin-body-fill: var(--color-white); + --color-pumpkin-body-stroke: var(--color-black); + --color-pumpkin-accent-fill: var(--color-darkrose); + --color-pumpkin-accent-stroke: var(--color-black); + } +} + +body[data-color-scheme="light"] { + --color-primary: var(--color-darkGrey); + --color-secondary: var(--color-lightGrey); + --color-accent: var(--color-slate); + --color-pumpkin-body-fill: var(--color-black); + --color-pumpkin-body-stroke: transparent; + --color-pumpkin-accent-fill: #FCEE21; + --color-pumpkin-accent-stroke: transparent; +} + +body[data-color-scheme="dark"] { + --color-primary: var(--color-white); + --color-secondary: var(--color-dark); + --color-accent: var(--color-light); + --color-pumpkin-body-fill: var(--color-white); + --color-pumpkin-body-stroke: var(--color-black); + --color-pumpkin-accent-fill: var(--color-darkrose); + --color-pumpkin-accent-stroke: var(--color-black); +} */ + +h1, +h2, +h3, +h4, +.heading { + font-family: var(--font-heading); + font-weight: var(--font-heading-weight, 600); + line-height: 1.5; +} + +h1, .heading { + font-size: clamp(1.73rem, 1.09rem + 3.21vw, 3.38rem); + line-height: 1.4; +} + +h2 { + font-size: clamp(1.44rem, 1.12rem + 1.58vw, 2.25rem); + line-height: 1.2; +} + +h3 { + font-size: clamp(1.20rem, 1.08rem + 0.59vw, 1.50rem); + line-height: 1.2; +} + +h1, +h2 { + max-width: 70ch; +} + +a, [role="link"] { + color: inherit; + text-decoration-thickness: 0.15rem; + text-underline-offset: 0.3rem; + text-decoration: underline; +} + +a:hover, [role="link"]:hover { + text-decoration-style: solid; + text-decoration: underline; +} + +a:visited, [role="link"]:visited { + color: inherit; +} + +nav { + font-family: var(--font-nav); + font-size: var(--text-size-base); +} + +[data-color-scheme="spooky"] header nav { + font-size: var(--text-size-2); +} + +details ul li { + font-size: var(--text-size-base); +} + +[data-color-scheme="spooky"] details ul li { + font-size: var(--text-size-1); +} + +summary { + font-size: var(--text-size-1); + font-weight: 600; +} + +[data-color-scheme="spooky"] summary { + font-size: var(--text-size-2); +} + +p { + word-wrap: break-word; +} + +p a, p [role="link"] { + text-decoration: underline; +} + +fieldset { + --row-gutter: var(--space-size-1); +} + +fieldset legend { + font-size: var(--text-size-1); +} + +article ul { + list-style: disc; + padding-left: var(--space-size-1); +} + +article ol { + list-style: decimal; + padding-left: var(--space-size-3); +} + +input, textarea { + border-color: var(--color-accent); + border-style: solid; + border-width: 1px; +} + +:not(pre) > code { + background: var(--color-primary); + color: var(--color-secondary); + padding: 2px 10px; + border-radius: 5px; +} \ No newline at end of file