diff options
-rw-r--r-- | LICENSE | 25 | ||||
-rw-r--r-- | Makefile | 32 | ||||
-rw-r--r-- | README | 0 | ||||
-rw-r--r-- | docs/401.html | 1 | ||||
-rw-r--r-- | docs/403.html | 1 | ||||
-rw-r--r-- | docs/404.html | 1 | ||||
-rw-r--r-- | docs/500.html | 1 | ||||
-rw-r--r-- | docs/base | 50 | ||||
-rw-r--r-- | docs/blog | 1 | ||||
-rw-r--r-- | docs/contact | 12 | ||||
-rw-r--r-- | docs/links | 33 | ||||
-rw-r--r-- | docs/root | 24 | ||||
-rw-r--r-- | docs/status | 1 | ||||
-rwxr-xr-x | perl.cgi | 70 | ||||
-rw-r--r-- | static/badge.png | bin | 0 -> 3872 bytes | |||
-rw-r--r-- | static/banner.png | bin | 0 -> 1555 bytes | |||
-rw-r--r-- | static/blunt.png | bin | 0 -> 1350 bytes | |||
-rw-r--r-- | static/created_by_a_human.png | bin | 0 -> 5180 bytes | |||
-rw-r--r-- | static/cursor.png | bin | 0 -> 1030 bytes | |||
-rw-r--r-- | static/gay.gif | bin | 0 -> 1329 bytes | |||
-rw-r--r-- | static/header.png | bin | 0 -> 1688 bytes | |||
-rw-r--r-- | static/main.css | 168 | ||||
-rw-r--r-- | static/mothracompat.gif | bin | 0 -> 7334 bytes | |||
-rw-r--r-- | static/obsd.jpg | bin | 0 -> 33935 bytes | |||
-rw-r--r-- | static/tile.png | bin | 0 -> 115727 bytes | |||
-rw-r--r-- | static/under_construction.png | bin | 0 -> 2552 bytes |
26 files changed, 420 insertions, 0 deletions
@@ -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/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><a href="https://pastanoggin.com"><img src="https://pastanoggin.com/static/badge.png" alt="button to https://pastanoggin.com"></a></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 "cadence now!" 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 Binary files differnew file mode 100644 index 0000000..08375c5 --- /dev/null +++ b/static/badge.png diff --git a/static/banner.png b/static/banner.png Binary files differnew file mode 100644 index 0000000..1f8960d --- /dev/null +++ b/static/banner.png diff --git a/static/blunt.png b/static/blunt.png Binary files differnew file mode 100644 index 0000000..b0cff36 --- /dev/null +++ b/static/blunt.png diff --git a/static/created_by_a_human.png b/static/created_by_a_human.png Binary files differnew file mode 100644 index 0000000..4dca2c0 --- /dev/null +++ b/static/created_by_a_human.png diff --git a/static/cursor.png b/static/cursor.png Binary files differnew file mode 100644 index 0000000..bf18a13 --- /dev/null +++ b/static/cursor.png diff --git a/static/gay.gif b/static/gay.gif Binary files differnew file mode 100644 index 0000000..7bfa068 --- /dev/null +++ b/static/gay.gif diff --git a/static/header.png b/static/header.png Binary files differnew file mode 100644 index 0000000..5f4d9b7 --- /dev/null +++ b/static/header.png 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 Binary files differnew file mode 100644 index 0000000..3ec3731 --- /dev/null +++ b/static/mothracompat.gif diff --git a/static/obsd.jpg b/static/obsd.jpg Binary files differnew file mode 100644 index 0000000..c7edfef --- /dev/null +++ b/static/obsd.jpg diff --git a/static/tile.png b/static/tile.png Binary files differnew file mode 100644 index 0000000..a5ddb12 --- /dev/null +++ b/static/tile.png diff --git a/static/under_construction.png b/static/under_construction.png Binary files differnew file mode 100644 index 0000000..27189c0 --- /dev/null +++ b/static/under_construction.png |