Initial Release

This commit is contained in:
2026-05-24 19:52:45 -07:00
commit 8242fdbbb3
181 changed files with 10119 additions and 0 deletions
+131
View File
@@ -0,0 +1,131 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/public/fonts/terminus.css?v={{ .Version }}">
<meta name="description" content="Tech, Chunibyo & Other Delusions">
<title>Page Not Found</title>
<style>
body {
background: black;
overflow: hidden;
padding: 0;
margin: 0;
}
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background:
repeating-linear-gradient(to bottom,
rgba(255, 0, 0, .50) 0px,
rgba(0, 255, 0, .25) 2px,
rgba(0, 0, 255, .50) 4px);
mix-blend-mode: multiply;
}
span,
a,
p {
font-family: 'Terminus', sans-serif;
font-size: 1.25em;
line-height: 1.5em;
color: #f0f0f0;
text-decoration: none;
padding: 0;
margin: 0;
}
a:hover,
a:focus-visible {
text-decoration: underline;
}
div.layout-content {
padding: 16px;
box-sizing: border-box;
}
.animation-blink {
animation: kf-blink 500ms infinite step-start;
}
@keyframes kf-blink {
50% {
opacity: 0;
}
}
.animation-scrollin {
box-sizing: border-box;
overflow: hidden;
text-wrap-mode: nowrap;
animation: kf-scrollin 1s forwards linear;
}
@keyframes kf-scrollin {
0% {
width: 0%;
}
100% {
width: 100%;
}
}
</style>
</head>
<body>
<div class="layout-content animation-wobble">
<noscript>
<a class="animation-scrollin" href="/">
404 PAGE NOT FOUND. Click here to return to the homepage.
</a>
</noscript>
</div>
<script>
const container = document.querySelector("div.layout-content")
const messages = [
"ERROR: REALITY NOT FOUND",
"YOU HAVE FALLEN OUT OF YOUR UNIVERSE.",
"<br>",
"DONT PANIC! WE CAN SENSE YOU!",
"WE ARE BRINGING YOU INTO OURS FOR NOW.",
"<br>",
"REDIRECTING IN:",
"3...",
"2...",
"1...",
"<br>",
]
let timer, line = 0
function tick() {
container.innerHTML = messages
.filter((_, i) => line > i)
.map((m, i) => {
const me = line - 1 === i
const styleP = me ? "animation-scrollin" : ""
const styleS = me ? "inline-block" : "none"
return `<p class="${styleP} ">${messages[i]} <span class="animation-blink" style="display: ${styleS}">_</span> </p>`
}
)
.join("")
if (line === messages.length) {
window.location.replace("/")
clearInterval(timer)
}
line++
}
timer = setInterval(tick, 1000)
tick()
</script>
</body>
</html>
+77
View File
@@ -0,0 +1,77 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="theme-color" content="#4D58FF">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/svg+xml" href="/public/blog/favicon.svg?v={{ .Version }}">
<link rel="stylesheet" href="/public/blog/main.css?v={{ .Version }}">
<link rel="stylesheet" href="/public/fonts/terminus.css?v={{ .Version }}">
{{ if .Article }}
<meta property="og:type" content="article">
<meta property="og:title" content="{{ .Article.Title }}">
<meta property="og:image" content="https://panca.kz{{ .Article.BannerMain }}?v={{ $.Version }}">
<meta property="og:url" content="https://panca.kz/public/blog/{{ .Article.ID }}">
<meta property="og:description" content="{{ .Article.Description }}">
<meta name="description" content="{{ .Article.Description }}">
<title>panca.kz - Blog - {{ .Article.Title }}</title>
{{ else }}
<meta name="description" content="Tech, Chunibyo & Other Delusions">
<title>panca.kz - Blog</title>
{{ end }}
</head>
<body>
<div class="layout-wrapper">
<div class="layout-background"></div>
<div class="layout-foreground">
<div class="effect-glass-wrapper layout-pane">
<div class="effect-glass-corner"></div>
<div class="effect-glass-corner"></div>
<div class="effect-glass-corner"></div>
<div class="effect-glass-corner"></div>
<nav class="effect-glass-container section-navigation">
</nav>
</div>
<div class="effect-glass-wrapper layout-pane">
<div class="effect-glass-corner"></div>
<div class="effect-glass-corner"></div>
<div class="effect-glass-corner"></div>
<div class="effect-glass-corner"></div>
<article class="effect-glass-container section-article">
<h1 id="#" hidden></h1>
<div class="article-list"></div>
<div class="article-header"></div>
<div class="article-content">
<noscript>
<p class="element-paragraph" style="text-align: center;">
<b>NOTICE:</b> JavaScript is required to view this site.
</p>
<style>
div.layout-pane:first-child {
display: none;
}
</style>
</noscript>
</div>
</article>
</div>
</div>
</div>
<data key="version" value="{{ .Version }}"></data>
<data key="manifest" value="{{ .ManifestRaw }}"></data>
<script src="/public/blog/scripts/background.js?v={{ .Version }}" defer></script>
<script src="/public/blog/scripts/foreground.js?v={{ .Version }}" defer></script>
</body>
</html>
+63
View File
@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#4D58FF">
<meta name="description" content="Tech, Chunibyo & Other Delusions">
<title>panca.kz - Home</title>
<link rel="stylesheet" href="/public/home/main.css?v={{ .Version }}">
<link rel="stylesheet" href="/public/fonts/poppins.css?v={{ .Version }}">
</head>
<body>
<div class="homepage-wrapper">
<div class="block-links">
<a href="/blog/">Blog</a>
<a href="https://panca.kz/goto/code">Code</a>
<a href="https://panca.kz/goto/stickers">Stickers</a>
</div>
<div class="block-banner" style="background-image: url('/public/home/banner.gif?v={{ .Version }}');">
<a id="banner-link-picross" href="/secret/picross"></a>
</div>
<div class="block-footer">
<img fetchpriority="low" class="footer-barcode" src="data:image/gif;base64,R0lGODlhGQAZAPAAAAAAAP///yH5BAUKAAAALAAAAAAZABkAAAJvjB9goJ2ImHxs0STVs446vYFNxnXhMUKVqWXstJIQd5mRO1kYXmHq0vKgfLlWD+YbopCjVMdJ/LyMPWD1stQ9aTBpziqKsZbVrvD6A5OozexMpPWIV1nqCe4FvTdCoHpb0oazs0NHGHMzwxcW8VAAADs=" alt="A QR Code">
<div class="footer-quotes">
<p>
<b>Tech, Chunibyo & Other Delusions</b><br>
Welcome to my personal homepage, use the buttons at
the top of the page to visit other sections of the site.
</p>
<p id="footer-motd"></p>
<script>
m = [
/* Sun */ "Even God rested on the seventh day, are you treating yourself well?",
/* Mon */ "If it's been done before then you can do it too! And if they got close you can get even closer!",
/* Tue */ "It's Tetris Tuesday! Play <a target='_blank' href='https://tetr.io'>TETR.IO</a>!",
/* Wed */ "If bored, read about the 'Nintendo 3DS system software'... What? Too nerdy?",
/* Thu */ "Make sure you clean your keyboard, theres so much hidden gunk in there.",
/* Fri */ "Did you eat something sweet today? Everybody deserves a sweet treat, especially you!",
/* Sat */ "Your abandoned projects miss you, maybe try giving them a visit?",
]
document.querySelector("#footer-motd").innerHTML = m[new Date().getDay()]
</script>
</div>
<div class="footer-spacer"></div>
<a id="footer-logo" href="/secret/sprites">
<img fetchpriority="high" height="80" width="210" src="/public/home/logo.gif?v={{ .Version }}" alt="Site logo with the word bacon pancakes">
</a>
</div>
</div>
</body>
</html>
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://panca.kz/blog/rss.xml" rel="self" type="application/rss+xml"></atom:link>
<link>https://panca.kz/blog</link>
<title>pancakz Blog</title>
<description>Tech, Chunibyo &amp; Other Delusions</description>
<category>Personal Blogs</category>
<language>en-US</language>
<generator>teto</generator>
<copyright>Copyright 2026 bakonpancakz</copyright>
<lastBuildDate>{{ .Date }}</lastBuildDate>
</channel>
{{ range $index, $elem := .Manifest.Articles }}
<item>
<link>https://panca.kz/blog/{{ $elem.ID }}</link>
<guid isPermaLink="true">https://panca.kz/blog/{{ $elem.ID}}</guid>
<title><![CDATA[{{ $elem.Title }}]]></title>
<description><![CDATA[{{ $elem.Description }}]]></description>
<pubDate>{{ $elem.Date.UTC.Format $.RFC1123 }}</pubDate>
{{ range $i, $tag := $elem.Tags }}
<category>{{ $tag }}</category>
{{ end }}
</item>
{{ end }}
</rss>
@@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#4D58FF">
<meta name="description" content="Cheater!">
<title>panca.kz - Boo Picross (Secret #2)</title>
<link rel="stylesheet" href="/public/secret/picross/award.css?v={{ .Version }}">
</head>
<body>
<!-- Certificate -->
<div class="layout-buttons no-print">
<button onclick="javascript:window.location.assign('/')">Done</button>
<button onclick="javascript:print()">Print</button>
</div>
<div class="layout-document" style="opacity: 0;">
<span id="cheat"></span>
<span id="name"></span>
<span id="time"></span>
<span id="date"></span>
<img class="page-background" src="/public/secret/picross/template.png?v={{ .Version }}">
</div>
<script src="/public/secret/picross/award.js?v={{ .Version }}" defer></script>
</body>
</html>
@@ -0,0 +1,222 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#4D58FF">
<meta name="description" content="Secret Webpage #2">
<title>panca.kz - Boo Picross (Secret #2)</title>
<link rel="stylesheet" href="/public/fonts/poppins.css?v={{ .Version }}">
<link rel="stylesheet" href="/public/secret/picross/board.css?v={{ .Version }}">
</head>
<body>
<!-- Was bored and I love picross puzzles. Enjoy this little minigame. -->
<!-- In case you're wondering I sampled my keyboard for the audio. -->
<!-- Also no you cannot mute it, now suffer. -->
<audio hidden src="/public/secret/picross/set.mp3?v={{ .Version }}" id="audio-set"></audio>
<audio hidden src="/public/secret/picross/del.mp3?v={{ .Version }}" id="audio-del"></audio>
<div role="main" class="layout-container">
<div class="layout-header">
<p>Secret Picross Challenge!</p>
<p class="text-tip">Complete this puzzle to prove you can do picross puzzles!</p>
<p class="text-tip text-hidden">Controls: Left click to fill, right click to mark.</p>
</div>
<div class="layout-content">
<!-- thank you gzip for savin bandwidth -->
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">1</p>
<p class="picross-hint"></p>
<p class="picross-hint">1</p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">1</p>
<p class="picross-hint">3</p>
<p class="picross-hint">1</p>
<p class="picross-hint"></p>
<p class="picross-hint">1</p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">1</p>
<p class="picross-hint picross-active">7</p>
<p class="picross-hint">5</p>
<p class="picross-hint">5</p>
<p class="picross-hint">4</p>
<p class="picross-hint">8</p>
<p class="picross-hint">3</p>
<p class="picross-hint">2</p>
<p class="picross-hint">2</p>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">3</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint">1</p>
<p class="picross-hint">1</p>
<p class="picross-hint">1</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">5</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint">2</p>
<p class="picross-hint">2</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint">3</p>
<p class="picross-hint">1</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint">5</p>
<p class="picross-hint">1</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">8</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">7</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
<div class="picross-row">
<p class="picross-hint"></p>
<p class="picross-hint"></p>
<p class="picross-hint">5</p>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
<button class="picross-button"></button>
</div>
</div>
<div class="layout-footer">
<p class="layout-timer text-tip">Time Spent: 00:00:00</p>
<div class="layout-actions">
<a id="action-quit"
target="_blank"
href="https://www.youtube.com/watch?v=KxGRhd_iWuE&t=2"
onclick="this.onclick=() => window.location.assign('/')">
I Give Up...
</a>
<a id="action-send">Check It!</a>
</div>
</div>
</div>
<script src="/public/secret/picross/board.js?v={{ .Version }}" defer></script>
</body>
</html>
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#4D58FF">
<meta name="description" content="Secret Webpage #1">
<title>panca.kz - About Sprites (Secret #1)</title>
<link rel="stylesheet" href="/public/fonts/poppins.css?v={{ .Version }}">
<link rel="stylesheet" href="/public/secret/sprites/main.css?v={{ .Version }}">
</head>
<body>
<!-- Article -->
<div role="main" class="layout-section effect-caution">
<p class="effect-rhombus">A Trip to the Zoo</p>
<img fetchpriority="high" class="article-banner" alt="A group of sprites" src="/public/secret/sprites/banner.gif?v={{ .Version }}">
<p class="article-paragraph">
<b>Welcome to the Sprite Garden, everyone!</b> Please do watch your step!
</p>
<p class="article-paragraph">
This domain is inhabited by spiritual creatures known as Sprites, most likely
nicknamed for their small stature. At first glance they may seem unimpressive,
but in reality, theyre bursting with creative energy! They are the souls
of the creative, unable to properly express their artistic desires they reside here.
Under the protection of Boo, the grand entity, they are free to chase their hyperfixations
until satisfied, after which theyll reincarnate having discovered another dream to chase.
</p>
<p class="article-paragraph">
Theyre mostly harmless, if a little mischievous! Now come along, little ones,
we have much more to see today!
</p>
<a href="/">&lt; Go Home</a>
</div>
<!-- Sprites -->
<div role="banner" class="layout-section" style="justify-content: center;">
<canvas id="sprites"></canvas>
<audio id="active" hidden src="/public/secret/sprites/pop.webm?v={{ .Version }}"></audio>
<audio id="bounce" hidden src="/public/secret/sprites/pop.webm?v={{ .Version }}"></audio>
<script src="/public/secret/sprites/main.js?v={{ .Version }}" defer></script>
</div>
</body>
</html>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{{ range .Locations }}
<url>
<loc>{{ . }}</loc>
<lastmod>{{ $.Date }}</lastmod>
</url>
{{ end }}
{{ range .Manifest.Articles }}
<url>
<loc>https://panca.kz/blog/{{ .ID }}</loc>
<lastmod>{{ .Date.UTC.Format "2006-01-02" }}</lastmod>
</url>
{{ end }}
</urlset>