Initial commit

This commit is contained in:
KirbyCMS Deploy
2026-04-15 11:50:31 +00:00
commit 0a8c107828
1114 changed files with 203788 additions and 0 deletions

434
assets/css/index.css Normal file
View File

@@ -0,0 +1,434 @@
* {
margin: 0;
padding: 0;
}
:root {
--padding: 1.5rem;
--color-black: #000;
--color-white: #fff;
--color-grey: #777;
--color-light: #efefef;
--color-text: var(--color-black);
--color-text-grey: var(--color-grey);
--color-background: var(--color-white);
--color-code-light-grey: #cacbd1;
--color-code-comment: #a9aaad;
--color-code-white: #c5c9c6;
--color-code-red: #d16464;
--color-code-orange: #de935f;
--color-code-yellow: #f0c674;
--color-code-green: #a7bd68;
--color-code-aqua: #8abeb7;
--color-code-blue: #7e9abf;
--color-code-purple: #b294bb;
--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
html {
font-family: var(--font-family-sans);
color: var(--color-text);
background: var(--color-background);
}
img {
width: 100%;
}
body {
padding: var(--padding);
max-width: 70rem;
margin: 0 auto;
}
li {
list-style: none;
}
a {
color: currentColor;
text-decoration: none;
}
button {
font: inherit;
background: none;
border: 0;
color: currentColor;
cursor: pointer;
}
strong, b {
font-weight: 600;
}
small {
font-size: inherit;
color: var(--color-text-grey);
}
.bg-light {
background-color: var(--color-light);
}
.color-grey {
color: var(--color-text-grey);
}
.header {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-right: -1rem;
margin-left: -1rem;
margin-bottom: 6rem;
}
.logo {
padding: 1rem;
display: flex;
align-items: center;
font-weight: 600;
cursor: pointer;
}
.menu {
display: flex;
}
.menu a {
padding: 1rem;
display: block;
}
.menu a[aria-current] {
text-decoration: underline;
}
.social {
display: flex;
padding: 0 .5rem;
}
.social a {
padding: 1rem .5rem;
}
.section {
padding: 3rem 0;
}
.grid {
--columns: 12;
--gutter: 3rem;
display: grid;
grid-gap: var(--gutter);
grid-template-columns: 1fr;
}
.grid > .column {
margin-bottom: var(--gutter);
}
.autogrid {
--gutter: 3rem;
--min: 10rem;
display: grid;
grid-gap: var(--gutter);
grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
grid-auto-flow: dense;
}
h1, h2, h3, h4, h5, h6 {
font-size: inherit;
font-weight: inherit;
line-height: inherit;
}
.text {
line-height: 1.5em;
}
.text a {
text-decoration: underline;
}
.text :first-child {
margin-top: 0;
}
.text :last-child {
margin-bottom: 0;
}
.text p,
.text ul,
.text ol {
margin-bottom: 1.5rem;
}
.text ul,
.text ol {
margin-left: 1rem;
}
.text ul p,
.text ol p {
margin-bottom: 0;
}
.text ul > li {
list-style: disc;
}
.text ol > li {
list-style: decimal;
}
.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
margin-bottom: 0;
}
.text h1,
.h1,
.intro {
font-size: 2rem;
margin-bottom: 3rem;
line-height: 1.25em;
}
.text h2,
.h2 {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 1.25rem;
}
.text h3,
.h3 {
font-weight: 600;
}
.text .codeblock {
display: grid;
}
.text code {
font-family: var(--font-family-mono);
font-size: 1em;
background: var(--color-light);
padding: 0 .5rem;
display: inline-block;
color: var(--color-black);
}
.text pre {
margin: 3rem 0;
background: var(--color-black);
color: var(--color-white);
padding: 1.5rem;
overflow-x: scroll;
overflow-y: hidden;
line-height: 1.5rem;
}
.text pre code {
padding: 0;
background: none;
color: inherit;
}
.text hr {
margin: 6rem 0;
}
.text dt {
font-weight: 600;
}
.text blockquote {
font-size: 1.25rem;
line-height: 1.325em;
border-left: 2px solid var(--color-black);
padding-left: 1rem;
margin: 3rem 0;
max-width: 25rem;
}
.text blockquote footer {
font-size: .875rem;
font-style: italic;
}
.text figure {
margin: 3rem 0;
}
.text figcaption {
padding-top: .75rem;
color: var(--color-text-grey);
}
.text figure ul {
line-height: 0;
display: grid;
gap: 1.5rem;
margin: 0;
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}
.text figure ul li {
list-style: none;
}
hr {
border: 0;
background: currentColor;
height: 2px;
width: 1.5rem;
margin: 3rem auto;
}
.align-center {
text-align: center;
}
.intro {
max-width: 40rem;
}
.intro *:not(:last-child) {
margin-bottom: 1em;
}
.cta {
background: var(--color-black);
color: var(--color-white);
display: inline-flex;
justify-content: center;
padding: .75rem 1.5rem;
border: 4px solid var(--color-white);
outline: 2px solid var(--color-black);
}
.box {
background: var(--color-light);
padding: 1.5rem;
border: 4px solid var(--color-white);
outline: 2px solid var(--color-light);
}
.video,
.img {
position: relative;
display: block;
--w: 1;
--h: 1;
padding-bottom: calc(100% / var(--w) * var(--h));
background: var(--color-black);
}
.img img,
.video iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
border: 0;
}
.img[data-contain] img {
object-fit: contain;
}
.img-caption,
.video-caption {
padding-top: .75rem;
line-height: 1.5em;
}
.footer {
padding: 9rem 0 6rem;
line-height: 1.5em;
}
.footer:before {
content: "";
display: block;
width: 1.5rem;
height: 2px;
background: var(--color-black);
margin-bottom: 1.5rem;
}
.footer h2 {
font-weight: 600;
margin-bottom: .75rem;
}
.footer ul,
.footer p {
color: var(--color-text-grey);
}
.footer p {
max-width: 15rem;
}
.footer a:hover {
color: var(--color-text);
}
.map {
--w: 2;
--h: 1;
padding-bottom: calc(100% / var(--w) * var(--h));
position: relative;
overflow: hidden;
background: var(--color-black);
}
.map iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
.margin-s {
margin-bottom: .75rem;
}
.margin-m {
margin-bottom: 1.5rem;
}
.margin-l {
margin-bottom: 3rem;
}
.margin-xl {
margin-bottom: 4.5rem;
}
.margin-xxl {
margin-bottom: 6rem;
}
@media screen and (min-width: 60rem) {
body {
--padding: 3rem;
}
.grid {
grid-template-columns: repeat(12, 1fr);
}
.grid > .column {
grid-column: span var(--columns);
}
}
.pagination {
display: flex;
padding-top: 6rem;
}
.pagination > span {
color: var(--color-text-grey);
}
.pagination > * {
padding: .5rem;
width: 3rem;
text-align: center;
border: 2px solid currentColor;
margin-right: 1.5rem;
}
.pagination > a:hover {
background: var(--color-black);
color: var(--color-white);
border-color: var(--color-black);
}
.note-excerpt {
line-height: 1.5em;
}
.note-excerpt header {
margin-bottom: 1.5rem;
}
.note-excerpt figure {
margin-bottom: .5rem;
}
.note-excerpt-title {
font-weight: 600;
}
.note-excerpt-date {
color: var(--color-text-grey);
}

1
assets/css/lightbox.css Normal file
View File

@@ -0,0 +1 @@
.basicLightbox{position:fixed;display:flex;justify-content:center;align-items:center;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.8);opacity:.01;transition:opacity .4s ease;z-index:1000;will-change:opacity}.basicLightbox--visible{opacity:1}.basicLightbox__placeholder{max-width:100%;-webkit-transform:scale(.9);transform:scale(.9);transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;z-index:1;will-change:transform}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{display:block;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;max-width:95%;max-height:95%}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{pointer-events:auto}.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{width:auto;height:auto}.basicLightbox--iframe .basicLightbox__placeholder,.basicLightbox--img .basicLightbox__placeholder,.basicLightbox--video .basicLightbox__placeholder{width:100%;height:100%;pointer-events:none}.basicLightbox--visible .basicLightbox__placeholder{-webkit-transform:scale(1);transform:scale(1)}

136
assets/css/prism.css Normal file
View File

@@ -0,0 +1,136 @@
/* PrismJS 1.19.0
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+json+markup-templating+php+yaml */
/**
* prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
* Based on https://github.com/chriskempson/tomorrow-theme
* @author Rose Pritchard
*/
code[class*="language-"],
pre[class*="language-"] {
color: var(--color-code-white);
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1rem;
margin: 0 0;
overflow: auto;
}
/* ----- Syntax Highlighting (Prism.js) ------------------------------------ */
.token.punctuation {
color: var(--color-code-light-grey);
}
.token.comment,
.token.doctype {
color: var(--color-code-comment);
}
.token.tag,
.token.markup,
.token.variable,
.token.this,
.token.selector,
.token.key,
.token.kirbytag-bracket,
.token.prolog,
.token.delimiter {
color: var(--color-code-red);
}
.token.constant,
.token.number,
.token.boolean,
.token.boolean.important,
.token.attr-name,
.token.kirbytag-attr,
.token.kirbytag-name,
.token.entity,
.token.bold,
.token.bold > .punctuation {
color: var(--color-code-orange);
}
.token.keyword,
.token.italic,
.token.italic > .punctuation {
color: var(--color-code-purple);
}
.token.function {
color: var(--color-code-blue);
}
.token.operator,
.token.title {
color: var(--color-code-aqua);
}
.token.string,
.token.attr-value,
.token.attr-value .punctuation,
.token.list.punctuation {
color: var(--color-code-green);
}
.token.scope,
.token.class-name,
.token.property,
.token.url {
color: var(--color-code-yellow);
}
/**
* 1. Markdown list bullet.
*/
.token.title,
.token.kirbytag-bracket,
.token.list.punctuation /* 1 */ {
font-weight: 700;
}
.token.title .punctuation {
color: inherit;
}
/**
* 1. Markdown bold text
*/
.token.bold /* 1 */ {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.codeblock {
background: var(--color-black);
}
.codeblock figcaption {
color: var(--color-code-white);
padding: .5rem 1rem;
font-family: var(--font-family-mono);
border-bottom: 1px solid #333;
}

View File

@@ -0,0 +1,7 @@
.contact {
padding: 3rem;
border: 2px solid #000;
}
.contact .h1 {
margin-bottom: 1.5rem;
}

View File

@@ -0,0 +1,15 @@
.album-gallery {
line-height: 0;
columns: 1;
column-gap: 1.5rem;
}
.album-gallery li {
display: block;
margin-bottom: 1.5rem;
break-inside: avoid;
}
@media screen and (min-width: 60rem) {
.album-gallery {
columns: 2;
}
}

View File

@@ -0,0 +1,72 @@
.home-grid {
display: grid;
list-style: none;
grid-gap: 1.5rem;
line-height: 0;
grid-template-columns: repeat(1, 1fr);
grid-auto-flow: dense;
}
.home-grid li {
position: relative;
--cols: 1;
--rows: 1;
overflow: hidden;
background: #000;
line-height: 0;
}
.home-grid li:first-child {
--cols: 2;
--rows: 2;
}
.home-grid li:nth-child(5) {
--cols: 2;
}
.home-grid li:nth-child(6) {
--rows: 2;
}
.home-grid li:nth-child(7) {
--cols: 2;
}
.home-grid a {
display: block;
height: 10rem;
}
.home-grid img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: all .3s;
}
.home-grid figcaption {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
color: #fff;
top: 0;
right: 0;
bottom: 0;
left: 0;
line-height: 1;
text-align: center;
background: rgba(0,0,0, .5);
}
@media screen and (min-width: 45em) {
.home-grid {
grid-template-columns: repeat(3, 1fr);
}
.home-grid li {
grid-column-start: span var(--cols);
grid-row-start: span var(--rows);
}
.home-grid a {
padding-bottom: 52.65%;
}
}

View File

@@ -0,0 +1,30 @@
.note {
max-width: 35rem;
margin: 0 auto;
}
.note-header {
padding-top: 3rem;
margin-bottom: 3rem;
}
.note-footer {
padding: 6rem 0;
}
.note-date {
color: var(--color-text-grey);
}
.note-tags {
display: flex;
margin-bottom: 1.5rem;
}
.note-tags li {
margin-right: .5rem;
}
.note-tags a {
padding: .5rem 1rem;
display: block;
background: var(--color-light);
}
.note-tags a:hover {
background: var(--color-black);
color: var(--color-white);
}