Initial commit

This commit is contained in:
2026-02-19 15:22:47 -05:00
commit 3b38f73030
21 changed files with 1375 additions and 0 deletions

30
htdocs/chat/index.html Normal file
View File

@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>eom.dev - Chat</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="/common/catppuccin.css">
<link rel="icon" type="image/x-icon" href="/common/favicon.ico">
<body>
<h1>eom.dev</h1>
<h2>Chat</h2>
<a href="/">Home
</a> | <a href="/archive">Archive
</a> | <a href="/archive/Repositories">Repositories
</a> | <a href="/stream">Live Stream
</a> | <a href="/archive/Mail">Mailbox
</a> | <a href="/chat">Chat
</a> | <a href="/donate">Donate
</a>
<h3>Internet Relay Chat</h3>
<p>
Use the embedded <a href="https://en.wikipedia.org/wiki/IRC">IRC</a> client below or <a href="https://en.wikipedia.org/wiki/Comparison_of_IRC_clients">another of your choice</a> to connect to the network.
<br>
Connect to server <code>eom.dev:6697</code> (TLS enabled) to use your own client.
</p>
<iframe src="https://kiwiirc.com/client/eom.dev/?&nick=webuser-?&theme=cli#general" style="border:0; width:100%; height:600px;"></iframe>
</body>
<footer>
<p>© Eric O'Neill Meehan 2026</p>
</footer>
</html>

View File

@@ -0,0 +1,11 @@
<h1>eom.dev</h1>
<h2>Archive</h2>
<a href="/">Home
</a> | <a href="/archive">Archive
</a> | <a href="/archive/Repositories">Repositories
</a> | <a href="/stream">Live Stream
</a> | <a href="/archive/Mail">Mailbox
</a> | <a href="/chat">Chat
</a> | <a href="/donate">Donate
</a>
<h3>Browse the Archive</h3>

View File

@@ -0,0 +1,126 @@
/* Catppuccin Inspired Theme */
:root {
--Light-Rosewater: #dc8a78;
--Light-Flamingo: #dd7878;
--Light-Pink: #ea76cb;
--Light-Mauve: #8839ef;
--Light-Red: #d20f39;
--Light-Maroon: #e64553;
--Light-Peach: #fe640b;
--Light-Yellow: #df8e1d;
--Light-Green: #40a02b;
--Light-Teal: #179299;
--Light-Sky: #04a5e5;
--Light-Sapphire: #209fb5;
--Light-Blue: #1e66f5;
--Light-Lavender: #7287fd;
--Light-Text: #4c4f69;
--Light-Subtext-1: #5c5f77;
--Light-Subtext-0: #6c6f85;
--Light-Overlay-2: #7c7f93;
--Light-Overlay-1: #8c8fa1;
--Light-Overlay-0: #9ca0b0;
--Light-Surface-2: #acb0be;
--Light-Surface-1: #bcc0cc;
--Light-Surface-0: #ccd0da;
--Light-Base: #eff1f5;
--Light-Mantle: #e6e9ef;
--Light-Crust: #dce0e8;
--Dark-Rosewater: #f5e0dc;
--Dark-Flamingo: #f2cdcd;
--Dark-Pink: #f5c2e7;
--Dark-Mauve: #cba6f7;
--Dark-Red: #f38ba8;
--Dark-Maroon: #eba0ac;
--Dark-Peach: #fab387;
--Dark-Yellow: #f9e2af;
--Dark-Green: #a6e3a1;
--Dark-Teal: #94e2d5;
--Dark-Sky: #89dceb;
--Dark-Sapphire: #74c7ec;
--Dark-Blue: #89b4fa;
--Dark-Lavender: #b4befe;
--Dark-Text: #cdd6f4;
--Dark-Subtext-1: #bac2de;
--Dark-Subtext-0: #a6adc8;
--Dark-Overlay-2: #9399b2;
--Dark-Overlay-1: #7f849c;
--Dark-Overlay-0: #6c7086;
--Dark-Surface-2: #585b70;
--Dark-Surface-1: #45475a;
--Dark-Surface-0: #313244;
--Dark-Base: #1e1e2e;
--Dark-Mantle: #181825;
--Dark-Crust: #11111b;
}
body {
margin: 0;
font-family: 'Arial', sans-serif;
transition: background-color 0.3s, color 0.3s;
}
/* Light mode styles */
@media (prefers-color-scheme: light) {
body {
background-color: var(--Light-Base);
color: var(--Light-Text);
}
a {
color: var(--Light-Blue);
}
strong {
color: var(--Light-Red);
}
pre, code {
color: var(--Light-Subtext-1);
background-color: var(--Light-Mantle);
}
}
/* Dark mode styles */
@media (prefers-color-scheme: dark) {
body {
background-color: var(--Dark-Base);
color: var(--Dark-Text);
}
a {
color: var(--Dark-Blue);
}
strong {
color: var(--Dark-Red);
}
pre, code {
color: var(--Dark-Subtext-1);
background-color: var(--Dark-Mantle);
}
}
/* Additional common styles */
h1, h2, h3, h4, h5, h6 {
margin: 0.5em 0;
}
button {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}
button:hover {
background-color: rgba(0, 0, 0, 0.1); /* Light hover effect */
}
a {
text-decoration: none;
}

9
htdocs/common/ddg.js Normal file
View File

@@ -0,0 +1,9 @@
function duckduckgo() {
const form = document.getElementById("ddg-site-search");
const input = document.getElementById("ddg-query");
form.addEventListener("submit", function () {
const domain = window.location.hostname;
input.value = "site:" + domain + " " + input.value;
});
};

BIN
htdocs/common/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,20 @@
<style>
div.page_header {
display: none;
}
</style>
<link rel="icon" type="image/x-icon" href="/common/favicon.ico"></link>
<h1>eom.dev</h1>
<h2>Repositories</h2>
<a href="/">Home
</a> | <a href="/archive">Archive
</a> | <a href="/archive/Repositories">Repositories
</a> | <a href="/stream">Live Stream
</a> | <a href="/archive/Mail">Mailbox
</a> | <a href="/chat">Chat
</a> | <a href="/donate">Donate
</a>
<h3>Browse Source Code</h3>
<p>
Powered by <a href="https://git-scm.com/docs/gitweb">gitweb</a>.
</p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

90
htdocs/donate/index.html Normal file
View File

@@ -0,0 +1,90 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>eom.dev - Donate</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="/common/catppuccin.css">
<link rel="icon" type="image/x-icon" href="/common/favicon.ico">
<script src="ddg.js"></script>
<body>
<h1>eom.dev</h1>
<h2>Donate</h2>
<a href="/">Home
</a> | <a href="/archive">Archive
</a> | <a href="/archive/Repositories">Repositories
</a> | <a href="/stream">Live Stream
</a> | <a href="/archive/Mail">Mailbox
</a> | <a href="/chat">Chat
</a> | <a href="/donate">Donate
</a>
<h3>Support the Platform</h3>
<p>
Make a donation to support Eric's online services, engineering projects, and educational content.
</p>
<table width=100% style="border-spacing: 20px;">
<tr>
<th>USD</th><th>XMR</th><th>BTC</th>
</tr>
<tr>
<td style="vertical-align: top;">
<center>
<p>
Make a donation through <a href="https://stripe.com/">Stripe</a>.
</p>
<br>
<script async
src="https://js.stripe.com/v3/buy-button.js">
</script>
<stripe-buy-button
buy-button-id="buy_btn_1T2GbAC5KPXqTvVLpcz9TMQU"
publishable-key="pk_live_51RXqTsC5KPXqTvVLWl5bzCxoaZivWceeLGMNURUmxzQMwaM5pUUl4VabywrjCQvgKopGFvUBqPLxRMF3eALsiDst00tR59vRhN"
>
</stripe-buy-button>
</center>
</td>
<td style="vertical-align: top;">
<center>
<p>
Monero donations can be sent to <code>48mFvxYDSCzMy5a3Zaj7ewApbX4GwXVXX9T1JC8mqBC19s9UcrNq8eaKkQ6GKdhHGQGmhdpvMd3mcbjf4eQbP8Yv7KdAREw</code>
</p>
<h5>P2Pool</h5>
<p>
Contribute compute power to the eom.dev mining pool with <a href="https://xmrig.com/">XMRig</a>.
<br>
Update the <i>user</i> field in the <code>~/.xmrig.json</code> configuration below to your wallet address.
<br>
You may use the Monero donation address above if you would like to donate your payouts to eom.dev.
<br>
</center>
<pre style="padding-left: 40%">
{
"autosave": true,
"donate-level": 5,
"cpu": true,
"opencl": false,
"cuda": false,
"pools": [
{
"coin": "monero",
"algo": null,
"url": "p2pool.eom.dev:3333",
"user": "yourwalletaddresshere",
"pass": "x",
"tls": true,
"keepalive": true,
"nicehash": false
}
]
}</pre>
</td>
<td style="vertical-align: top;">
<center>
<p>
Bitcoin donations can be sent to <code>aaaabbbbccccddddeeee</code>
</p>
</center>
</td>
</p>
</body>
</html>

53
htdocs/index.html Normal file
View File

@@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>eom.dev - Home</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="/common/catppuccin.css">
<link rel="icon" type="image/x-icon" href="/common/favicon.ico">
<body>
<h1>eom.dev</h1>
<h2>Eric O'Neill Meehan</h2>
<a href="/">Home
</a> | <a href="/archive">Archive
</a> | <a href="/archive/Repositories">Repositories
</a> | <a href="/stream">Live Stream
</a> | <a href="/archive/Mail">Mailbox
</a> | <a href="/chat">Chat
</a> | <a href="/donate">Donate
</a>
<h3>Contact</h3>
<img src="/common/profile_2026.jpg">
<table style='text-align: center;'>
<tr>
<td style="text-align: left;">email</td><td style="text-align: left;">eric@eom.dev</td>
</tr>
<tr>
<td style="text-align: left;">irc</td><td style="text-align: left;">eric@eom.dev</td>
</tr>
<tr>
<td style="text-align: left;">pgp</td>
<td style="text-align: left;">
<pre>
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEaYUAnBYJKwYBBAHaRw8BAQdARC4WbkR/2WnhBPJWicMghLVIQt1MLVMja5ev
lLjTQRa0IkVyaWMgTydOZWlsbCBNZWVoYW4gPGVyaWNAZW9tLmRldj6IkAQTFgoA
OBYhBAswMCgXM4edXctYOrfacp+7jKbpBQJphQCcAhsDBQsJCAcCBhUKCQgLAgQW
AgMBAh4BAheAAAoJELfacp+7jKbpp6EA/1RlL7MGIW3tFbhIqak63WHML8Cjpe/V
TMewAR7nOoL3AQDs54G26LUlQk+TAHSFoLWCw/3g+j3zCGDLiskZu/UwDbg4BGmF
AJwSCisGAQQBl1UBBQEBB0BMFfLKZt+q81mtVL2pr+PX1qDv0ejL02h6FvqZ0KCU
TwMBCAeIeAQYFgoAIBYhBAswMCgXM4edXctYOrfacp+7jKbpBQJphQCcAhsMAAoJ
ELfacp+7jKbpZdsA/iOYAJZKicHjeKpEWR8osd4wjyc3HxUfDV99VnrMXBWrAQCX
QyC3y1UFoQr86QKUK7PonIEzclFJaB5laev6e6dYBQ==
=+OQI
-----END PGP PUBLIC KEY BLOCK-----
</pre>
</td>
</tr>
</table>
</body>
<footer>
<p>© Eric O'Neill Meehan 2026</p>
</footer>
</html>

16
htdocs/mail/index.html Normal file
View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="5;url=/archive/Mail">
<title>eom.dev - Redirecting</title>
<link rel="stylesheet" href="/common/catppuccin.css">
<link rel="icon" type="image/x-icon" href="/common/favicon.ico">
</head>
<body>
<h1>eom.dev</h1>
<h2>Redirecting...</h2>
<p>If you are not redirected automatically, follow this <a href="../archive/Mail">this link</a>.</p>
</body>
</html>

16
htdocs/repos/index.html Normal file
View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="5;url=/archive/Repositories">
<title>eom.dev - Redirecting</title>
<link rel="stylesheet" href="/common/catppuccin.css">
<link rel="icon" type="image/x-icon" href="/common/favicon.ico">
</head>
<body>
<h1>eom.dev</h1>
<h2>Redirecting...</h2>
<p>If you are not redirected automatically, follow this <a href="../archive/Repositories">this link</a>.</p>
</body>
</html>

43
htdocs/stream/index.html Normal file
View File

@@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>eom.dev - Live Stream</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="/common/default.css">
<link rel="icon" type="image/x-icon" href="/common/favicon.ico">
<body>
<h1>eom.dev</h1>
<h2>Live Stream</h2>
<a href="/">Home
</a> | <a href="/archive">Archive
</a> | <a href="/archive/Repositories">Repositories
</a> | <a href="/stream">Live Stream
</a> | <a href="/archive/Mail">Mailbox
</a> | <a href="/chat">Chat
</a> | <a href="/donate">Donate
</a>
<h3>Watch Eric Live</h3>
<p>
Powered by <a href="https://owncast.online/">Owncast</a>.
<br>
Recordings of previous streams are available in the <a href="/archive/Videos">archive</a>.
<br>
Post-stream discussions and comments should be submitted to the <a href="/archive/Mail">mailbox
</a>
or <a href="/chat">chat</a>
</p>
<iframe
src="https://owncast.eom.dev/embed/video"
title="Owncast"
height="600px" width="75%"
referrerpolicy="origin"
allowfullscreen></iframe>
<iframe
src="https://owncast.eom.dev/embed/chat/readwrite"
title="Owncast Chat"
height="600px" width="20%"></iframe>
</body>
<footer>
<p>© Eric O'Neill Meehan 2026</p>
</footer>
</html>