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

1
assets/icons/discord.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="icon icon-discord" viewBox="0 0 16 16"><path d="M6.552,6.712a.891.891,0,0,0,0,1.776A.852.852,0,0,0,7.368,7.6.847.847,0,0,0,6.552,6.712Zm2.92,0a.891.891,0,1,0,.816.888A.852.852,0,0,0,9.472,6.712Z"></path> <path d="M13.36,0H2.64A1.644,1.644,0,0,0,1,1.648V12.464a1.644,1.644,0,0,0,1.64,1.648h9.072l-.424-1.48,1.024.952.968.9L15,16V1.648A1.644,1.644,0,0,0,13.36,0ZM10.272,10.448S9.984,10.1,9.744,9.8a2.524,2.524,0,0,0,1.448-.952,4.578,4.578,0,0,1-.92.472,5.265,5.265,0,0,1-1.16.344A5.6,5.6,0,0,1,7.04,9.656a6.716,6.716,0,0,1-1.176-.344,4.683,4.683,0,0,1-.912-.472,2.488,2.488,0,0,0,1.4.944c-.24.3-.536.664-.536.664a2.9,2.9,0,0,1-2.44-1.216A10.713,10.713,0,0,1,4.528,4.568a3.956,3.956,0,0,1,2.248-.84l.08.1a5.4,5.4,0,0,0-2.1,1.048s.176-.1.472-.232a6.008,6.008,0,0,1,1.816-.5.788.788,0,0,1,.136-.016A6.769,6.769,0,0,1,8.792,4.1a6.521,6.521,0,0,1,2.408.768A5.324,5.324,0,0,0,9.208,3.856l.112-.128a3.956,3.956,0,0,1,2.248.84A10.713,10.713,0,0,1,12.72,9.232,2.924,2.924,0,0,1,10.272,10.448Z" /></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g class="nc-icon-wrapper" fill="#111111"><circle fill="#111111" cx="12.145" cy="3.892" r="0.96"/> <path data-color="color-2" d="M8,12c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S10.206,12,8,12z M8,6C6.897,6,6,6.897,6,8 s0.897,2,2,2s2-0.897,2-2S9.103,6,8,6z"/> <path fill="#111111" d="M12,16H4c-2.056,0-4-1.944-4-4V4c0-2.056,1.944-4,4-4h8c2.056,0,4,1.944,4,4v8C16,14.056,14.056,16,12,16z M4,2C3.065,2,2,3.065,2,4v8c0,0.953,1.047,2,2,2h8c0.935,0,2-1.065,2-2V4c0-0.935-1.065-2-2-2H4z"/></g></svg>

After

Width:  |  Height:  |  Size: 578 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="icon icon-mastodon" viewBox="0 0 16 16"><path d="M14.943 3.935c-.215-1.591-1.612-2.845-3.268-3.088-.28-.041-1.338-.19-3.79-.19h-.019c-2.453 0-2.979.148-3.258.19-1.61.236-3.08 1.363-3.437 2.973-.172.793-.19 1.672-.158 2.478.045 1.157.054 2.311.16 3.463.073.765.2 1.524.382 2.27.339 1.38 1.711 2.53 3.056 2.998 1.44.488 2.988.57 4.472.234.163-.038.325-.081.484-.131.36-.114.783-.241 1.093-.465a.036.036 0 0 0 .015-.027v-1.116a.033.033 0 0 0-.041-.031c-.951.225-1.925.338-2.902.336-1.682 0-2.134-.792-2.264-1.122a3.463 3.463 0 0 1-.196-.884.032.032 0 0 1 .04-.033c.935.224 1.893.337 2.855.336.231 0 .461 0 .693-.006.967-.027 1.986-.076 2.938-.26l.067-.015c1.501-.286 2.93-1.184 3.075-3.458.005-.09.018-.938.018-1.03.001-.316.103-2.24-.015-3.422Zm-2.31 5.674h-1.578V5.772c0-.808-.339-1.22-1.028-1.22-.758 0-1.138.488-1.138 1.45v2.1H7.32v-2.1c0-.962-.38-1.45-1.138-1.45-.686 0-1.029.412-1.03 1.22v3.837H3.577V5.656c0-.808.208-1.45.623-1.926.429-.474.991-.718 1.689-.718.808 0 1.418.308 1.825.924l.393.655.393-.655c.407-.616 1.017-.924 1.823-.924.698 0 1.26.244 1.69.718.415.475.623 1.117.623 1.926l-.002 3.953Z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

4
assets/icons/youtube.svg Normal file
View File

@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
<title>YouTube</title>
<path d="M15.8 4.8c-.2-1.3-.8-2.2-2.2-2.4C11.4 2 8 2 8 2s-3.4 0-5.6.4C1 2.6.3 3.5.2 4.8 0 6.1 0 8 0 8s0 1.9.2 3.2c.2 1.3.8 2.2 2.2 2.4C4.6 14 8 14 8 14s3.4 0 5.6-.4c1.4-.3 2-1.1 2.2-2.4C16 9.9 16 8 16 8s0-1.9-.2-3.2zM6 11V5l5 3-5 3z"/>
</svg>

After

Width:  |  Height:  |  Size: 339 B

7
assets/js/index.js Normal file
View File

@@ -0,0 +1,7 @@
// Lightbox
Array.from(document.querySelectorAll("[data-lightbox]")).forEach(element => {
element.onclick = (e) => {
e.preventDefault();
basicLightbox.create(`<img src="${element.href}">`).show();
};
});

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

@@ -0,0 +1 @@
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).basicLightbox=e()}}(function(){return function i(c,u,a){function s(n,e){if(!u[n]){if(!c[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(l)return l(n,!0);var o=new Error("Cannot find module '"+n+"'");throw o.code="MODULE_NOT_FOUND",o}var r=u[n]={exports:{}};c[n][0].call(r.exports,function(e){return s(c[n][1][e]||e)},r,r.exports,i,c,u,a)}return u[n].exports}for(var l="function"==typeof require&&require,e=0;e<a.length;e++)s(a[e]);return s}({1:[function(e,n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=t.visible=void 0;var u=function(e){var n=1<arguments.length&&void 0!==arguments[1]&&arguments[1],t=document.createElement("div");return t.innerHTML=e.trim(),!0===n?t.children:t.firstChild},a=function(e,n){var t=e.children;return 1===t.length&&t[0].tagName===n},c=function(e){return null!=(e=e||document.querySelector(".basicLightbox"))&&!0===e.ownerDocument.body.contains(e)};t.visible=c;t.create=function(e,o){var r=function(e,n){var t=u('\n\t\t<div class="basicLightbox '.concat(n.className,'">\n\t\t\t<div class="basicLightbox__placeholder" role="dialog"></div>\n\t\t</div>\n\t')),o=t.querySelector(".basicLightbox__placeholder");e.forEach(function(e){return o.appendChild(e)});var r=a(o,"IMG"),i=a(o,"VIDEO"),c=a(o,"IFRAME");return!0===r&&t.classList.add("basicLightbox--img"),!0===i&&t.classList.add("basicLightbox--video"),!0===c&&t.classList.add("basicLightbox--iframe"),t}(e=function(e){var n="string"==typeof e,t=e instanceof HTMLElement==1;if(!1===n&&!1===t)throw new Error("Content must be a DOM element/node or string");return!0===n?Array.from(u(e,!0)):"TEMPLATE"===e.tagName?[e.content.cloneNode(!0)]:Array.from(e.children)}(e),o=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(null==(e=Object.assign({},e)).closable&&(e.closable=!0),null==e.className&&(e.className=""),null==e.onShow&&(e.onShow=function(){}),null==e.onClose&&(e.onClose=function(){}),"boolean"!=typeof e.closable)throw new Error("Property `closable` must be a boolean");if("string"!=typeof e.className)throw new Error("Property `className` must be a string");if("function"!=typeof e.onShow)throw new Error("Property `onShow` must be a function");if("function"!=typeof e.onClose)throw new Error("Property `onClose` must be a function");return e}(o)),n=function(e){return!1!==o.onClose(i)&&(t=function(){if("function"==typeof e)return e(i)},(n=r).classList.remove("basicLightbox--visible"),setTimeout(function(){return!1===c(n)||n.parentElement.removeChild(n),t()},410),!0);var n,t};!0===o.closable&&r.addEventListener("click",function(e){e.target===r&&n()});var i={element:function(){return r},visible:function(){return c(r)},show:function(e){return!1!==o.onShow(i)&&(n=r,t=function(){if("function"==typeof e)return e(i)},document.body.appendChild(n),setTimeout(function(){requestAnimationFrame(function(){return n.classList.add("basicLightbox--visible"),t()})},10),!0);var n,t},close:n};return i}},{}]},{},[1])(1)});

11
assets/js/prism.js Normal file

File diff suppressed because one or more lines are too long