summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE25
-rw-r--r--Makefile32
-rw-r--r--README0
-rw-r--r--docs/401.html1
-rw-r--r--docs/403.html1
-rw-r--r--docs/404.html1
-rw-r--r--docs/500.html1
-rw-r--r--docs/base50
-rw-r--r--docs/blog1
-rw-r--r--docs/contact12
-rw-r--r--docs/links33
-rw-r--r--docs/root24
-rw-r--r--docs/status1
-rwxr-xr-xperl.cgi70
-rw-r--r--static/badge.pngbin0 -> 3872 bytes
-rw-r--r--static/banner.pngbin0 -> 1555 bytes
-rw-r--r--static/blunt.pngbin0 -> 1350 bytes
-rw-r--r--static/created_by_a_human.pngbin0 -> 5180 bytes
-rw-r--r--static/cursor.pngbin0 -> 1030 bytes
-rw-r--r--static/gay.gifbin0 -> 1329 bytes
-rw-r--r--static/header.pngbin0 -> 1688 bytes
-rw-r--r--static/main.css168
-rw-r--r--static/mothracompat.gifbin0 -> 7334 bytes
-rw-r--r--static/obsd.jpgbin0 -> 33935 bytes
-rw-r--r--static/tile.pngbin0 -> 115727 bytes
-rw-r--r--static/under_construction.pngbin0 -> 2552 bytes
26 files changed, 420 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..516bf3a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,25 @@
+Below is an example license to be used for new code in OpenBSD,
+modeled after the ISC license.
+
+It is important to specify the year of the copyright. Additional years
+should be separated by a comma, e.g.
+ Copyright (c) 2003, 2004
+
+If you add extra text to the body of the license, be careful not to
+add further restrictions.
+
+/*
+ * Copyright (c) YYYY YOUR NAME HERE <user@your.dom.ain>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..bb98d07
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,32 @@
+PREFIX = /var/www
+CGIBINDIR = cgi-bin
+HTDOCSDIR = htdocs/pastanoggin.com
+
+CGIDIR = ${PREFIX}/${CGIBINDIR}
+ROOTDIR = ${PREFIX}/${HTDOCSDIR}
+
+install:
+ # perl
+ install -d ${DISTDIR}${PREFIX}/usr/bin
+ install -g www -m 755 -o www /usr/bin/perl ${DESTDIR}${PREFIX}/usr/bin
+ install -d ${DISTDIR}${PREFIX}/usr/lib
+ install -g www -m 755 -o www /usr/lib/libperl.so.* \
+ ${DESTDIR}${PREFIX}/usr/lib
+ install -g www -m 755 -o www /usr/lib/libm.so.* ${DESTDIR}${PREFIX}/usr/lib
+ install -g www -m 755 -o www /usr/lib/libc.so.* ${DESTDIR}${PREFIX}/usr/lib
+ install -d ${DISTDIR}${PREFIX}/usr/libexec
+ install -g www -m 755 -o www /usr/libexec/ld.so \
+ ${DESTDIR}${PREFIX}/usr/libexec
+ install -d ${DISTDIR}${PREFIX}/usr/libdata/perl5
+ # cgi
+ install -d ${DESTDIR}${CGIDIR}
+ install -g www -m 0555 -o www perl.cgi ${DESTDIR}${CGIDIR}
+ # documents
+ install -d ${DESTDIR}${ROOTDIR}/docs
+ install -g www -m 0555 -o www docs/* ${DESTDIR}${ROOTDIR}/docs
+ # static files
+ install -d ${DESTDIR}${ROOTDIR}/static
+ install -g www -m 0555 -o www static/* ${DESTDIR}${ROOTDIR}/static
+
+uninstall:
+ rm -f ${DESTDIR}${PREFIX}/cgi-bin/perl.cgi
diff --git a/README b/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README
diff --git a/docs/401.html b/docs/401.html
new file mode 100644
index 0000000..066cbfe
--- /dev/null
+++ b/docs/401.html
@@ -0,0 +1 @@
+401
diff --git a/docs/403.html b/docs/403.html
new file mode 100644
index 0000000..e1a29c1
--- /dev/null
+++ b/docs/403.html
@@ -0,0 +1 @@
+403
diff --git a/docs/404.html b/docs/404.html
new file mode 100644
index 0000000..f1b1cb3
--- /dev/null
+++ b/docs/404.html
@@ -0,0 +1 @@
+404
diff --git a/docs/500.html b/docs/500.html
new file mode 100644
index 0000000..1b79f38
--- /dev/null
+++ b/docs/500.html
@@ -0,0 +1 @@
+500
diff --git a/docs/base b/docs/base
new file mode 100644
index 0000000..5f981ab
--- /dev/null
+++ b/docs/base
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="icon" href="/static/blunt.png" type="image/png">
+ <link rel="stylesheet" type="text/css" href="/static/main.css">
+ <title>
+ [%title%]
+ </title>
+ </head>
+ <body>
+ <header class="box lighten">
+ <img id="banner" src="/static/banner.png">
+ <img id="construction" src="/static/under_construction.png">
+ </header>
+ <nav class="box lighten">
+ <ul class="nav-list">
+ <li class="nav-item"><a class="nav-link" href="/">home</a></li>
+ <li class="nav-item"><a class="nav-link" href="/contact">contact</a></li>
+ <li class="nav-item"><a class="nav-link" href="/blog">blog</a></li>
+ <li class="nav-item"><a class="nav-link" href="https://git.pastanoggin.com">code</a></li>
+ <li class="nav-item"><a class="nav-link" href="/links">links</a></li>
+ </ul>
+ </nav>
+ <main class="box lighten">
+ [%content%]
+ </main>
+ <dl id="status" class="lighten">
+ <dt id="status-header">status</dt>
+ <dd id="status-body">
+ [%status%]
+ </dd>
+ </dl>
+ <footer class="box lighten">
+ <a class="footer-link" href="https://openbsd.org" target="_blank">
+ <img class="buttonbadge" src="/static/obsd.jpg">
+ </a>
+ <a class="footer-link" href="http://plan9.stanleylieber.com/mothra" target="_blank">
+ <img class="buttonbadge" src="/static/mothracompat.gif">
+ </a>
+ <a class="footer-link" href="https://cadence.moe/blog/2024-10-05-created-by-a-human-badges" target="_blank">
+ <img class="buttonbadge" src="/static/created_by_a_human.png">
+ </a>
+ <a class="footer-link" href="https://pastanoggin.com" target="_blank">
+ <img class="buttonbadge" src="/static/gay.gif">
+ </a>
+ </footer>
+ </body>
+</html>
diff --git a/docs/blog b/docs/blog
new file mode 100644
index 0000000..5a4a279
--- /dev/null
+++ b/docs/blog
@@ -0,0 +1 @@
+No blogs here yet!!!
diff --git a/docs/contact b/docs/contact
new file mode 100644
index 0000000..7ac968b
--- /dev/null
+++ b/docs/contact
@@ -0,0 +1,12 @@
+<h2>how 2 contact?</h2>
+
+<dl>
+ <dt>E-mail</dt>
+ <dd>[REDACTED] (working on it)</dd>
+ <dt>IRC</dt>
+ <dd>anelli (not registered everywhere though)</dd>
+ <dt>XMPP</dt>
+ <dd>anelli@pastanoggin.com</dd>
+</dl>
+
+<p>yay!</p>
diff --git a/docs/links b/docs/links
new file mode 100644
index 0000000..0d7174a
--- /dev/null
+++ b/docs/links
@@ -0,0 +1,33 @@
+<p><i>-because search engines suck :b</i></p>
+
+<h2>my button :3</h2>
+<section>
+ <a href="https://pastanoggin.com"><img class="buttonbadge" src="/static/badge.png" alt="button to https://pastanoggin.com"></a>
+ <pre class="codeblock"><code>&lt;a href="https://pastanoggin.com"&gt;&lt;img src="https://pastanoggin.com/static/badge.png" alt="button to https://pastanoggin.com"&gt;&lt;/a&gt;</code></pre>
+</section>
+
+<h2>kin</h2>
+<ul class="links-list">
+ <li><a href="http://thedaemon.space">thedaemon - based 9fronter</a></li>
+ <li><a href="https://dataswamp.org/~solene">solene - OpenBSD OG</a></i>
+</ul>
+
+<h2>preddy</h2>
+<ul class="links-list">
+ <li><a href="https://cadence.moe"><img class="buttonbadge" src="https://cadence.moe/static/img/cadence_now.png" alt="The text &quot;cadence now!&quot; on a purple background. There is a moon-shaped logo on the left side and a tiny star in the bottom right."></a></li>
+ <li><a href="https://nonkiru.art"><img class="buttonbadge" src="https://nonkiru.art/assets/images/buttons/nonkiru_button_light.gif" alt="button to nonkiru(light)"></a></li>
+ <li><a href="https://goblin-heart.net/sadgrl"><img class="buttonbadge" src="https://goblin-heart.net/sadgrl/assets/images/buttons/sadgrlonline.gif" alt="button to https://goblin-heart.net/sadgrl"></a></li>
+</ul>
+
+<h2>tech</h2>
+<ul class="links-list">
+ <li><a href="https://openbsd.org">OpenBSD - secure os</a></li>
+ <li><a href="https://9front.org">9front - unix done right</a></li>
+ <li><a href="https://unixdigest.com">unix digest</a></li>
+</ul>
+
+<h2>other</h2>
+<ul class="links-list">
+ <li><a href="https://analognowhere.com">unix_surrealism</a></li>
+ <li><a href="https://www.fieggen.com/shoelace" title="Ian's Shoelace Site">Ian's Shoelace Site</a></li>
+</ul>
diff --git a/docs/root b/docs/root
new file mode 100644
index 0000000..8bd8e37
--- /dev/null
+++ b/docs/root
@@ -0,0 +1,24 @@
+<blockquote>
+<p>"DO <b>YOU</b> HAVE A GRIMOIRE, SHITASS????"</p>
+<cite>- My friend</cite>
+</blockquote>
+<hr>
+
+<p>Hello, this is alex/anelli/noodle/etc,</p>
+<p>I think personal websites are way cooler than social media so hi. After surfing some neocities-like websites i was like "daym this is fun" (check out my favourites in the <i>links</i> page); so I'm trying to make a funny website too with blackjack and hookers as the cool kids say. I'll also blog and host code here for the lols.</p>
+
+<h2>Likes:</h2>
+<ul>
+<li>Birds</li>
+<li>Computers</li>
+<li>Self-hosting</li>
+<li>Xavier Renegade Angel</li>
+</ul>
+
+<h2>Dislikes:</h2>
+<ul>
+<li>Okara</li>
+<li>Spinach</li>
+<li>Consumerism</li>
+<li>Proprietary software/hardware</li>
+</ul>
diff --git a/docs/status b/docs/status
new file mode 100644
index 0000000..500b2c2
--- /dev/null
+++ b/docs/status
@@ -0,0 +1 @@
+openbsd vs freebsd rap battle
diff --git a/perl.cgi b/perl.cgi
new file mode 100755
index 0000000..d7a1476
--- /dev/null
+++ b/perl.cgi
@@ -0,0 +1,70 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use open qw< :encoding(UTF-8) >;
+
+my $BASEDIR = "/htdocs/pastanoggin.com";
+my $base_filename = "$BASEDIR/docs/base";
+my $status_filename = "$BASEDIR/docs/status";
+
+sub print_file {
+ my $filename = shift;
+ my $file = undef;
+ open($file, "<", $filename)
+ or die "$0: can't open $filename for reading: $!";
+ print while (<$file>);
+ die "unexpected error while reading from $filename: $!" if $!
+}
+
+sub print_header {
+ my $code = shift;
+ print <<~END;
+ Status: $code
+ Content-Type: text/html
+
+ END
+}
+
+sub render_page {
+ my ($docname, $doctitle) = @_;
+ my $doc_filename = "$BASEDIR/docs/$docname";
+
+ my $base_file = undef;
+ open($base_file, "<", $base_filename)
+ or die "$0: can't open $base_filename for reading: $!";
+
+ # print header and contents
+ print_header 200;
+ while (<$base_file>) {
+ if (/\[%title%\]/) {
+ print "$doctitle";
+ } elsif (/\[%content%\]/) {
+ print_file $doc_filename;
+ } elsif (/\[%status%\]/) {
+ print_file "$status_filename";
+ } else {
+ print;
+ }
+ }
+ die "unexpected error while reading from $base_filename: $!" if $!
+}
+
+sub render_error {
+ my $errcode = shift;
+ print_header $errcode;
+ print_file "$BASEDIR/docs/${errcode}.html";
+}
+
+my $path = $ENV{'PATH_INFO'} || '/';
+
+if ($path =~ /^\/?$/) {
+ render_page 'root', 'pastanoggin!!';
+} elsif ($path =~ /^\/contact\/?$/) {
+ render_page 'contact', 'hello, is it me you\'re looking for?';
+} elsif ($path =~ /^\/blog\/?$/) {
+ render_page 'blog', 'yapyapyapyap :D';
+} elsif ($path =~ /^\/links\/?$/) {
+ render_page 'links', 'the interwebs';
+} else {
+ render_error '404';
+}
diff --git a/static/badge.png b/static/badge.png
new file mode 100644
index 0000000..08375c5
--- /dev/null
+++ b/static/badge.png
Binary files differ
diff --git a/static/banner.png b/static/banner.png
new file mode 100644
index 0000000..1f8960d
--- /dev/null
+++ b/static/banner.png
Binary files differ
diff --git a/static/blunt.png b/static/blunt.png
new file mode 100644
index 0000000..b0cff36
--- /dev/null
+++ b/static/blunt.png
Binary files differ
diff --git a/static/created_by_a_human.png b/static/created_by_a_human.png
new file mode 100644
index 0000000..4dca2c0
--- /dev/null
+++ b/static/created_by_a_human.png
Binary files differ
diff --git a/static/cursor.png b/static/cursor.png
new file mode 100644
index 0000000..bf18a13
--- /dev/null
+++ b/static/cursor.png
Binary files differ
diff --git a/static/gay.gif b/static/gay.gif
new file mode 100644
index 0000000..7bfa068
--- /dev/null
+++ b/static/gay.gif
Binary files differ
diff --git a/static/header.png b/static/header.png
new file mode 100644
index 0000000..5f4d9b7
--- /dev/null
+++ b/static/header.png
Binary files differ
diff --git a/static/main.css b/static/main.css
new file mode 100644
index 0000000..f54c149
--- /dev/null
+++ b/static/main.css
@@ -0,0 +1,168 @@
+:root {
+ --color-grey: #222222;
+ --text-color: #f9f9f9;
+ --color-purple: #8f60af;
+ --background-img: url(/static/tile.png);
+ --banner-img: url(/static/banner.png);
+}
+
+* {
+ cursor: url("/static/cursor.png"), auto;
+}
+
+body {
+ min-width: 20rem;
+ max-width: 60rem;
+ margin: auto;
+ padding: 1em;
+ color: var(--text-color);
+ background-image: var(--background-img);
+ display: flex;
+ gap: 1em;
+ flex-wrap: wrap;
+ flex-direction: row-reverse;
+}
+
+header {
+ flex-basis: 100%;
+ display: flex;
+ position: relative;
+ justify-content: center;
+}
+
+nav {
+ flex-basis: 10%;
+ flex-grow: 1;
+ display: flex;
+ align-items: start;
+}
+
+main {
+ flex-basis: 70%;
+ flex-grow: 1;
+}
+
+footer {
+ flex-basis: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.5em;
+}
+
+a {
+ color: lightblue;
+}
+
+.nav-list {
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ display: flex;
+ gap: 1em;
+ flex-wrap: wrap;
+}
+
+.nav-item {
+ flex-grow: 1;
+ flex-shrink: 1;
+ flex-basis: 0;
+ display: flex;
+}
+
+.box {
+ padding: 1em;
+ border-style: groove;
+ border-width: 0.5em;
+ background-color: var(--color-grey);
+ border-color: var(--color-purple);
+}
+
+.lighten:hover {
+ filter: brightness(110%);
+}
+
+.nav-link {
+ width: 100%;
+ text-align: center;
+ align-content: center;
+ color: var(--color-grey);
+ text-decoration: none;
+ background: var(--color-purple);
+ border-style: outset;
+ border-color: var(--color-purple);
+ padding: 0.5em;
+ font-family: monospace;
+ font-weight: bold;
+ font-size: 1.5em;
+}
+
+.nav-link:hover {
+ filter: brightness(130%);
+}
+
+.buttonbadge {
+ width: 88px;
+ height: 31px;
+ vertical-align: middle;
+}
+
+.codeblock {
+ white-space: pre-wrap;
+ word-break: break-all;
+ background: black;
+ color: lightgreen;
+}
+
+#banner {
+ max-width: 100%;
+ object-fit: contain;
+ image-rendering: pixelated;
+}
+
+#construction {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ height: auto;
+ width: 30%;
+ max-width: 125px;
+ max-height: 100%;
+}
+
+#status {
+ margin: 0;
+ background-color: #8f60af;
+ color: var(--color-grey);
+ border-radius: 1.5em;
+ padding: 0.5em;
+ display: flex;
+ align-items: center;
+ gap: 1em;
+ flex-basis: 100%;
+ border-color: var(--color-grey);
+ border-width: 0.1em;
+ border-style: solid;
+}
+
+#status-header {
+ padding: 0.1em 1em;
+ background: white;
+ height: 100%;
+ border-radius: 1em;
+ text-align: center;
+ align-content: center;
+}
+
+#status-body {
+ margin: 0;
+ font-size: 1.2em;
+ color: white;
+ word-break: break-word;
+}
+
+@media only screen and (min-width: 800px) {
+ ul {
+ flex-direction: column;
+ }
+}
diff --git a/static/mothracompat.gif b/static/mothracompat.gif
new file mode 100644
index 0000000..3ec3731
--- /dev/null
+++ b/static/mothracompat.gif
Binary files differ
diff --git a/static/obsd.jpg b/static/obsd.jpg
new file mode 100644
index 0000000..c7edfef
--- /dev/null
+++ b/static/obsd.jpg
Binary files differ
diff --git a/static/tile.png b/static/tile.png
new file mode 100644
index 0000000..a5ddb12
--- /dev/null
+++ b/static/tile.png
Binary files differ
diff --git a/static/under_construction.png b/static/under_construction.png
new file mode 100644
index 0000000..27189c0
--- /dev/null
+++ b/static/under_construction.png
Binary files differ