Reworked to use Pure.css and Catppuccin

This commit is contained in:
2026-04-09 14:21:01 -04:00
parent 09487d9a1f
commit 0fbcb20a48
22 changed files with 922 additions and 2519 deletions

View File

@@ -111,7 +111,7 @@ LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule request_module modules/mod_request.so #LoadModule request_module modules/mod_request.so
#LoadModule include_module modules/mod_include.so LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so LoadModule filter_module modules/mod_filter.so
#LoadModule reflector_module modules/mod_reflector.so #LoadModule reflector_module modules/mod_reflector.so
#LoadModule substitute_module modules/mod_substitute.so #LoadModule substitute_module modules/mod_substitute.so
@@ -277,6 +277,7 @@ DocumentRoot "/usr/local/apache2/htdocs"
# for more information. # for more information.
# #
Options Indexes FollowSymLinks Options Indexes FollowSymLinks
Options +Includes
# #
# AllowOverride controls what directives may be placed in .htaccess files. # AllowOverride controls what directives may be placed in .htaccess files.
@@ -293,7 +294,10 @@ DocumentRoot "/usr/local/apache2/htdocs"
# #
# Custom # Custom
# #
Header add Link "</common/catppuccin.css>; rel=stylesheet; type=text/css" Header add Link "</static/catppuccin.css>; rel=stylesheet; type=text/css"
Header add Link "</favicon.ico>; rel=icon; type=image/x-icon"
AddOutputFilter INCLUDES .html
</Directory> </Directory>
<Location "/server-status"> <Location "/server-status">
@@ -542,8 +546,6 @@ LogLevel warn
# Various default settings # Various default settings
#Include conf/extra/httpd-default.conf #Include conf/extra/httpd-default.conf
Include conf/extra/httpd-gitweb.conf
# Configure mod_proxy_html to understand HTML4/XHTML1 # Configure mod_proxy_html to understand HTML4/XHTML1
<IfModule proxy_html_module> <IfModule proxy_html_module>
Include conf/extra/proxy-html.conf Include conf/extra/proxy-html.conf

View File

@@ -1,35 +1,8 @@
services: services:
mailsync:
image: python:3
volumes:
- ./:/data
- ./mailsync.py:/usr/src/mailsync.py
command: python /usr/src/mailsync.py
environment:
- "USERNAME=changeme"
- "PASSWORD=changeme"
- "IMAP_SERVER=imap.example.com"
- "SAVE_DIR=/data/htdocs"
www: www:
image: ericomeehan/gitweb:latest image: httpd
build:
dockerfile: gitweb.Dockerfile
depends_on:
- mailsync
volumes: volumes:
- ./htdocs:/usr/local/apache2/htdocs/ - ./htdocs:/usr/local/apache2/htdocs/
- ./conf/httpd.conf:/usr/local/apache2/conf/httpd.conf - ./conf/httpd.conf:/usr/local/apache2/conf/httpd.conf
- ./conf/httpd-gitweb.conf:/usr/local/apache2/conf/extra/httpd-gitweb.conf
- ./conf/gitweb.conf:/etc/gitweb.conf
ports: ports:
- 8080:80 - 8080:80
- 9117:9117
gitserver:
image: ericomeeha/gitserver:latest
build:
dockerfile: gitserver.Dockerfile
volumes:
- ./htdocs:/home/git/data
- ./authorized_keys:/auth/authorized_keys
ports:
- 2222:22

View File

@@ -1,11 +0,0 @@
<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

@@ -1,9 +0,0 @@
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:eom.dev/archive/Mail/raw/" + " " + input.value;
});
};

11
htdocs/common/footer.html Normal file
View File

@@ -0,0 +1,11 @@
<footer>
<div class="footer l-box is-center">
<div class="pure-g">
<div class="pure-u-1-2">
© Eric O'Neill Meehan 2026
</div>
<div class="pure-u-1-2">
Made with <a href="https://pure-css.github.io/">Pure.css</a> and <a href="https://catppuccin.com/">Catppuccin</a>.
</div>
</div>
</footer>

View File

@@ -1,20 +0,0 @@
<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>

View File

@@ -0,0 +1,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/static/pure.css">
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/purecss@3.0.0/build/pure-min.css" integrity="sha384-X38yfunGUhNzHpBaEBsWLO+A0HDYOQi8ufWDkZ0k9e0eXz/tH3II7uKZ9msv++Ls" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/purecss@3.0.0/build/grids-responsive-min.css">
</head>

View File

@@ -0,0 +1,6 @@
<div class="header">
<div class="home-menu pure-menu pure-menu-horizontal pure-menu-fixed">
<a class="pure-menu-heading" href="">eom.dev</a>
</div>
</div>

48
htdocs/contact/index.html Normal file
View File

@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<!--#include virtual="/common/header.html" -->
<body>
<title>eom.dev - Home</title>
<div class="pure-g">
<div class="pure-u-1-1">
<!--#include virtual="/common/topnav.html" -->
<h3>Contact</h3>
<p>Please consider using the public
<a href="https://mailman.eom.dev" target="_blank">mailing lists</a>
when possible.
<div class="pure-g">
<div class="pure-u-1-3" style="text-align: right;">
<p>email:</p>
</div>
<div class="pure-u-2-3" style="text-align: left;">
<a href="mailto:eric@eom.dev">eric@eom.dev</a>
</div>
</div>
<div class="pure-g">
<div class="pure-u-1-3" style="text-align: right;">
<p>pgp:</p>
</div>
<div class="pure-u-2-3" 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==
-----END PGP PUBLIC KEY BLOCK-----
</pre>
</div>
</div>
<h4>Chat</h4>
<iframe src="https://kiwiirc.com/client/eom.dev/?&nick=webuser-?&theme=cli#general" style="border:0; width:100%; height:600px;"></iframe>
</div>
</div>
</body>
<!--#include virtual="/common/footer.html" -->
</html>

View File

@@ -1,36 +1,23 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<meta charset="UTF-8"> <!--#include virtual="/common/header.html" -->
<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">
<body> <body>
<h1>eom.dev</h1> <title>eom.dev - Donate</title>
<h2>Donate</h2> <div class="center">
<a href="/">Home <div class="content">
</a> | <a href="/archive">Archive <!--#include virtual="/common/topnav.html" -->
</a> | <a href="/archive/Repositories">Repositories <h3>Donate</h3>
</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> <p>
Make a donation to support Eric's online services, engineering projects, and educational content. Make a donation to support Eric's online services, engineering projects, and educational content.
</p> </p>
<table width=100% style="border-spacing: 20px;"> <h4>USD</h4>
<tr> <div class="box">
<th>USD</th><th>XMR</th><th>BTC</th> <div class="left">
</tr>
<tr>
<td style="vertical-align: top;">
<center>
<p> <p>
Make a donation through <a href="https://stripe.com/">Stripe</a>. Make a donation through <a href="https://stripe.com/">Stripe</a>.
</p> </p>
<br> </div>
<div class="right">
<script async <script async
src="https://js.stripe.com/v3/buy-button.js"> src="https://js.stripe.com/v3/buy-button.js">
</script> </script>
@@ -40,23 +27,31 @@
publishable-key="pk_live_51RXqTsC5KPXqTvVLWl5bzCxoaZivWceeLGMNURUmxzQMwaM5pUUl4VabywrjCQvgKopGFvUBqPLxRMF3eALsiDst00tR59vRhN" publishable-key="pk_live_51RXqTsC5KPXqTvVLWl5bzCxoaZivWceeLGMNURUmxzQMwaM5pUUl4VabywrjCQvgKopGFvUBqPLxRMF3eALsiDst00tR59vRhN"
> >
</stripe-buy-button> </stripe-buy-button>
</center> </div>
</td> </div>
<td style="vertical-align: top;"> <br>
<center> <br>
<p> <h4>XMR</h4>
Monero donations can be sent to <code>48mFvxYDSCzMy5a3Zaj7ewApbX4GwXVXX9T1JC8mqBC19s9UcrNq8eaKkQ6GKdhHGQGmhdpvMd3mcbjf4eQbP8Yv7KdAREw</code> <div class="box">
</p> <div class="left">
<div class="box">
<div class="left">
<p>Monero donations can be sent to </p>
</div>
<div class="right">
<code>48mFvxYDSCzMy5a3Zaj7ewApbX4GwXVXX9T1JC8mqBC19s9UcrNq8eaKkQ6GKdhHGQGmhdpvMd3mcbjf4eQbP8Yv7KdAREw</code>
</div>
</div>
<div class="box">
<div class="left">
<h5>P2Pool</h5> <h5>P2Pool</h5>
<p> <p>
Contribute compute power to the eom.dev mining pool with <a href="https://xmrig.com/">XMRig</a>. 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. 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. You may use the Monero donation address above if you would like to donate your payouts to eom.dev.
<br> </div>
</center> <div class="right">
<pre style="padding-left: 40%"> <pre>
{ {
"autosave": true, "autosave": true,
"donate-level": 5, "donate-level": 5,
@@ -76,14 +71,12 @@
} }
] ]
}</pre> }</pre>
</td> </div>
<td style="vertical-align: top;"> </div>
<center> </div>
<p> </div>
Bitcoin donations can be sent to <code>aaaabbbbccccddddeeee</code> </div>
</p> </div>
</center>
</td>
</p>
</body> </body>
<!--#include virtual="/common/footer.html" -->
</html> </html>

View File

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -1,53 +1,16 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<meta charset="UTF-8"> <!--#include virtual="/common/header.html" -->
<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> <body>
<h1>eom.dev</h1> <title>eom.dev - Home</title>
<h2>Eric O'Neill Meehan</h2> <div class="pure-g">
<a href="/">Home <div class="pure-u-1-1">
</a> | <a href="/archive">Archive <!--#include virtual="/common/topnav.html" -->
</a> | <a href="/archive/Repositories">Repositories <h3>Home</h3>
</a> | <a href="/stream">Live Stream <img src="/static/profile_2026.jpg">
</a> | <a href="/archive/Mail">Mailbox <p>Welcome to Eric's homepage.</p>
</a> | <a href="/chat">Chat </div>
</a> | <a href="/donate">Donate </div>
</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> </body>
<footer> <!--#include virtual="/common/footer.html" -->
<p>© Eric O'Neill Meehan 2026</p>
</footer>
</html> </html>

286
htdocs/landing-page.css Normal file
View File

@@ -0,0 +1,286 @@
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/*
* -- BASE STYLES --
* Most of these are inherited from Base, but I want to change a few.
*/
body {
line-height: 1.7em;
color: #7f8c8d;
font-size: 13px;
}
h1,
h2,
h3,
h4,
h5,
h6,
label {
color: #34495e;
}
.pure-img-responsive {
max-width: 100%;
height: auto;
}
/*
* -- LAYOUT STYLES --
* These are some useful classes which I will need
*/
.l-box {
padding: 1em;
}
.l-box-lrg {
padding: 2em;
border-bottom: 1px solid rgba(0,0,0,0.1);
}
.is-center {
text-align: center;
}
/*
* -- PURE FORM STYLES --
* Style the form inputs and labels
*/
.pure-form label {
margin: 1em 0 0;
font-weight: bold;
font-size: 100%;
}
.pure-form input[type] {
border: 2px solid #ddd;
box-shadow: none;
font-size: 100%;
width: 100%;
margin-bottom: 1em;
}
/*
* -- PURE BUTTON STYLES --
* I want my pure-button elements to look a little different
*/
.pure-button {
background-color: #1f8dd6;
color: white;
padding: 0.5em 2em;
border-radius: 5px;
}
a.pure-button-primary {
background: white;
color: #1f8dd6;
border-radius: 5px;
font-size: 120%;
}
/*
* -- MENU STYLES --
* I want to customize how my .pure-menu looks at the top of the page
*/
.home-menu {
padding: 0.5em;
text-align: center;
box-shadow: 0 1px 1px rgba(0,0,0, 0.10);
}
.home-menu {
background: #2d3e50;
}
.pure-menu.pure-menu-fixed {
/* Fixed menus normally have a border at the bottom. */
border-bottom: none;
/* I need a higher z-index here because of the scroll-over effect. */
z-index: 4;
}
.home-menu .pure-menu-heading {
color: white;
font-weight: 400;
font-size: 120%;
}
.home-menu .pure-menu-selected a {
color: white;
}
.home-menu a {
color: #6FBEF3;
}
.home-menu li a:hover,
.home-menu li a:focus {
background: none;
border: none;
color: #AECFE5;
}
/*
* -- SPLASH STYLES --
* This is the blue top section that appears on the page.
*/
.splash-container {
background: #1f8dd6;
z-index: 1;
overflow: hidden;
/* The following styles are required for the "scroll-over" effect */
width: 100%;
height: 88%;
top: 0;
left: 0;
position: fixed !important;
}
.splash {
/* absolute center .splash within .splash-container */
width: 80%;
height: 50%;
margin: auto;
position: absolute;
top: 100px; left: 0; bottom: 0; right: 0;
text-align: center;
text-transform: uppercase;
}
/* This is the main heading that appears on the blue section */
.splash-head {
font-size: 20px;
font-weight: bold;
color: white;
border: 3px solid white;
padding: 1em 1.6em;
font-weight: 100;
border-radius: 5px;
line-height: 1em;
}
/* This is the subheading that appears on the blue section */
.splash-subhead {
color: white;
letter-spacing: 0.05em;
opacity: 0.8;
}
/*
* -- CONTENT STYLES --
* This represents the content area (everything below the blue section)
*/
.content-wrapper {
/* These styles are required for the "scroll-over" effect */
position: absolute;
top: 87%;
width: 100%;
min-height: 12%;
z-index: 2;
background: white;
}
/* We want to give the content area some more padding */
.content {
padding: 1em 1em 3em;
}
/* This is the class used for the main content headers (<h2>) */
.content-head {
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.1em;
margin: 2em 0 1em;
}
/* This is a modifier class used when the content-head is inside a ribbon */
.content-head-ribbon {
color: white;
}
/* This is the class used for the content sub-headers (<h3>) */
.content-subhead {
color: #1f8dd6;
}
.content-subhead i {
margin-right: 7px;
}
/* This is the class used for the dark-background areas. */
.ribbon {
background: #2d3e50;
color: #aaa;
}
/* This is the class used for the footer */
.footer {
background: #111;
position: fixed;
bottom: 0;
width: 100%;
}
/*
* -- TABLET (AND UP) MEDIA QUERIES --
* On tablets and other medium-sized devices, we want to customize some
* of the mobile styles.
*/
@media (min-width: 48em) {
/* We increase the body font size */
body {
font-size: 16px;
}
/* We can align the menu header to the left, but float the
menu items to the right. */
.home-menu {
text-align: left;
}
.home-menu ul {
float: right;
}
/* We increase the height of the splash-container */
/* .splash-container {
height: 500px;
}*/
/* We decrease the width of the .splash, since we have more width
to work with */
.splash {
width: 50%;
height: 50%;
}
.splash-head {
font-size: 250%;
}
/* We remove the border-separator assigned to .l-box-lrg */
.l-box-lrg {
border: none;
}
}
/*
* -- DESKTOP (AND UP) MEDIA QUERIES --
* On desktops and other large devices, we want to over-ride some
* of the mobile and tablet styles.
*/
@media (min-width: 78em) {
/* We increase the header font size even more */
.splash-head {
font-size: 300%;
}
}

122
htdocs/landing-page.html Normal file
View File

@@ -0,0 +1,122 @@
<!doctype html>
<html lang="en">
<!--#include virtual="/common/header.html" -->
<body>
<title>eom.dev - Home</title>
<!--#include virtual="/common/topnav.html" -->
<div class="splash-container">
<div class="splash">
<h1 class="splash-head">Eric O'Neill Meehan</h1>
<p class="splash-subhead">
Welcome to Eric's homepage.
</p>
</div>
</div>
<div class="content-wrapper">
<div class="content">
<h2 class="content-head is-center">Links</h2>
<div class="pure-g">
<div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
<h3 class="content-subhead">
<i class="fa fa-rocket"></i>
<a href="https://gitea.eom.dev/">Repositories</a>
</h3>
<p>
Open-source engineering projects hosted on <a href="https://gitea.eom.dev/explore/">Gitea</a>.
</p>
</div>
<div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
<h3 class="content-subhead">
<i class="fa fa-film"></i>
<a href="https://owncast.eom.dev/">Live Streams</a>
</h3>
<p>
Broadcasting engineering, music, travel, and games on <a href="https://owncast.eom.dev">Owncast</a> and <a href="https://youtube.com/c/EricOMeehan">YouTube</a>.
</p>
</div>
<div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
<h3 class="content-subhead">
<i class="fa fa-mobile"></i>
<a href="mailto:eric@eom.dev">Contact</a>
</h3>
<p>
Get in touch by joining the <a href="https://mailman.eom.dev/">mailing list</a>, visiting the <a href="https://discourse.eom.dev">forum</a>, or through <a href="https://matrix.to/#general:eom.dev">Matrix</a>.
</p>
</div>
<div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
<h3 class="content-subhead">
<i class="fa fa-check-square-o"></i>
<a href="https://minio.eom.dev/public">Media</a>
</h3>
<p>
Explore the archive of videos, music, and more from eom.dev.
</p>
</div>
</div>
</div>
<div class="ribbon l-box-lrg pure-g">
<div class="l-box-lrg is-center pure-u-1 pure-u-md-1-2 pure-u-lg-2-5">
<img width="300" alt="File Icons" class="pure-img-responsive" src="/static/profile_2026.jpg">
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-u-lg-3-5">
<h2 class="content-head content-head-ribbon">About</h2>
<p>
Eric Meehan is a 31-year-old software engineer and musician living in Raleigh, North Carolina.
This website is the homepage for Eric's private computer network, eom.dev. Eric uses this network
to self-host and self-publish his engineering and artistic projects. This content is often documenting
further developments of the network itself, and is usually delivered in an educational tone. There is not
a set schedule for projects, events, or live streams, and Eric tends to pick up many projects. The best
way to stay up-to-date is to join the <a href="https://mailman.eom.dev/">mailing list</a>, and the best
way to reach Eric directly is by <a href="mailto:eric@eom.dev">email</a>.
</p>
<a href="/eric@eom.dev.pub">Eric's GPG Key</a>
</div>
</div>
<div class="content">
<h2 class="content-head is-center">Donate</h2>
<center>
<p>
Make a donation to support Eric's online services, engineering projects, and educational content.
</p>
</center>
<div class="pure-g">
<div class="l-box-lrg pure-u-1 pure-u-md-1-2">
<h4>USD</h4>
<p>
Donate USD through Stripe.
</p>
<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>
</div>
<div class="l-box-lrg pure-u-1 pure-u-md-1-2">
<h4>XMR</h4>
<p>Monero donations can be sent to </p>
<code style="word-wrap: break-word">48mFvxYDSCzMy5a3Zaj7ewApbX4GwXVXX9T1JC8mqBC19s9UcrNq8eaKkQ6GKdhHGQGmhdpvMd3mcbjf4eQbP8Yv7KdAREw</code>
<h5>P2Pool</h5>
<p>
Contribute compute power to the eom.dev mining pool with <a href="https://xmrig.com/">XMRig</a>.
Update the <i>user</i> field in the <a href="/xmrig.json">~/.xmrig.json</a> configuration below to your wallet address.
You may use the Monero donation address above if you would like to donate your payouts to eom.dev.
</div>
</div>
</div>
<!--#include virtual="/common/footer.html" -->
</div>
</body>
</html>

View File

@@ -1,16 +0,0 @@
<!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>

View File

@@ -1,16 +0,0 @@
<!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>

View File

@@ -55,12 +55,6 @@
--Dark-Crust: #11111b; --Dark-Crust: #11111b;
} }
body {
margin: 0;
font-family: 'Arial', sans-serif;
transition: background-color 0.3s, color 0.3s;
}
/* Light mode styles */ /* Light mode styles */
@media (prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
body { body {
@@ -72,6 +66,10 @@ body {
color: var(--Light-Blue); color: var(--Light-Blue);
} }
a:hover {
color: var(--Light-Saphire);
}
strong { strong {
color: var(--Light-Red); color: var(--Light-Red);
} }
@@ -80,6 +78,19 @@ body {
color: var(--Light-Subtext-1); color: var(--Light-Subtext-1);
background-color: var(--Light-Mantle); background-color: var(--Light-Mantle);
} }
.topnav {
background-color: var(--Light-Overlay-0);
}
.topnav a {
color: var(--Light-Blue);
}
.topnav a:hover {
color: var(--Light-Saphire);
background-color: var(--Light-Overlay-2);
}
} }
/* Dark mode styles */ /* Dark mode styles */
@@ -93,6 +104,10 @@ body {
color: var(--Dark-Blue); color: var(--Dark-Blue);
} }
a:hover {
color: var(--Dark-Saphire);
}
strong { strong {
color: var(--Dark-Red); color: var(--Dark-Red);
} }
@@ -101,6 +116,19 @@ body {
color: var(--Dark-Subtext-1); color: var(--Dark-Subtext-1);
background-color: var(--Dark-Mantle); background-color: var(--Dark-Mantle);
} }
.topnav {
background-color: var(--Dark-Overlay-0);
}
.topnav a {
color: var(--Dark-Blue);
}
.topnav a:hover {
color: var(--Dark-Saphire);
background-color: var(--Dark-Overlay-2);
}
} }
/* Additional common styles */ /* Additional common styles */

View File

@@ -1,686 +0,0 @@
body {
font-family: sans-serif;
font-size: small;
border: solid #d9d8d1;
border-width: 1px;
margin: 10px;
background-color: #ffffff;
color: #000000;
}
a {
color: #0000cc;
}
a:hover, a:visited, a:active {
color: #880000;
}
span.cntrl {
border: dashed #aaaaaa;
border-width: 1px;
padding: 0px 2px 0px 2px;
margin: 0px 2px 0px 2px;
}
img.logo {
float: right;
border-width: 0px;
}
img.avatar {
vertical-align: middle;
}
img.blob {
max-height: 100%;
max-width: 100%;
}
a.list img.avatar {
border-style: none;
}
div.page_header {
height: 25px;
padding: 8px;
font-size: 150%;
font-weight: bold;
background-color: #d9d8d1;
}
div.page_header a:visited, a.header {
color: #0000cc;
}
div.page_header a:hover {
color: #880000;
}
div.page_nav {
padding: 8px;
}
div.page_nav a:visited {
color: #0000cc;
}
div.page_path {
padding: 8px;
font-weight: bold;
border: solid #d9d8d1;
border-width: 0px 0px 1px;
}
div.page_footer {
height: 22px;
padding: 4px 8px;
background-color: #d9d8d1;
}
div.page_footer_text {
line-height: 22px;
float: left;
color: #555555;
font-style: italic;
}
div#generating_info {
margin: 4px;
font-size: smaller;
text-align: center;
color: #505050;
}
div.page_body {
padding: 8px;
font-family: monospace;
}
div.title, a.title {
display: block;
padding: 6px 8px;
font-weight: bold;
background-color: #edece6;
text-decoration: none;
color: #000000;
}
div.readme {
padding: 8px;
}
a.title:hover {
background-color: #d9d8d1;
}
div.title_text {
padding: 6px 0px;
border: solid #d9d8d1;
border-width: 0px 0px 1px;
font-family: monospace;
}
div.log_body {
padding: 8px 8px 8px 150px;
}
span.age {
position: relative;
float: left;
width: 142px;
font-style: italic;
}
span.signoff {
color: #888888;
}
div.log_link {
padding: 0px 8px;
font-size: 70%;
font-family: sans-serif;
font-style: normal;
position: relative;
float: left;
width: 136px;
}
div.list_head {
padding: 6px 8px 4px;
border: solid #d9d8d1;
border-width: 1px 0px 0px;
font-style: italic;
}
.author_date, .author {
font-style: italic;
}
div.author_date {
padding: 8px;
border: solid #d9d8d1;
border-width: 0px 0px 1px 0px;
}
a.list {
text-decoration: none;
color: #000000;
}
a.subject, a.name {
font-weight: bold;
}
table.tags a.subject {
font-weight: normal;
}
a.list:hover {
text-decoration: underline;
color: #880000;
}
a.text {
text-decoration: none;
color: #0000cc;
}
a.text:visited {
text-decoration: none;
color: #880000;
}
a.text:hover {
text-decoration: underline;
color: #880000;
}
table {
padding: 8px 4px;
border-spacing: 0;
}
table.diff_tree {
font-family: monospace;
}
table.combined.diff_tree th {
text-align: center;
}
table.combined.diff_tree td {
padding-right: 24px;
}
table.combined.diff_tree th.link,
table.combined.diff_tree td.link {
padding: 0px 2px;
}
table.combined.diff_tree td.nochange a {
color: #6666ff;
}
table.combined.diff_tree td.nochange a:hover,
table.combined.diff_tree td.nochange a:visited {
color: #d06666;
}
table.blame {
border-collapse: collapse;
}
table.blame td {
padding: 0px 5px;
font-size: 100%;
vertical-align: top;
}
th {
padding: 2px 5px;
font-size: 100%;
text-align: left;
}
/* do not change row style on hover for 'blame' view */
tr.light,
table.blame .light:hover {
background-color: #ffffff;
}
tr.dark,
table.blame .dark:hover {
background-color: #f6f6f0;
}
/* currently both use the same, but it can change */
tr.light:hover,
tr.dark:hover {
background-color: #edece6;
}
/* boundary commits in 'blame' view */
/* and commits without "previous" */
tr.boundary td.sha1,
tr.no-previous td.linenr {
font-weight: bold;
}
/* for 'blame_incremental', during processing */
tr.color1 { background-color: #f6fff6; }
tr.color2 { background-color: #f6f6ff; }
tr.color3 { background-color: #fff6f6; }
td {
padding: 2px 5px;
font-size: 100%;
vertical-align: top;
}
td.link, td.selflink {
padding: 2px 5px;
font-family: sans-serif;
font-size: 70%;
}
td.selflink {
padding-right: 0px;
}
td.sha1 {
font-family: monospace;
}
.error {
color: red;
background-color: yellow;
}
td.current_head {
text-decoration: underline;
}
td.category {
background-color: #d9d8d1;
border-top: 1px solid #000000;
border-left: 1px solid #000000;
font-weight: bold;
}
table.diff_tree span.file_status.new {
color: #008000;
}
table.diff_tree span.file_status.deleted {
color: #c00000;
}
table.diff_tree span.file_status.moved,
table.diff_tree span.file_status.mode_chnge {
color: #777777;
}
table.diff_tree span.file_status.copied {
color: #70a070;
}
/* noage: "No commits" */
table.project_list td.noage {
color: #808080;
font-style: italic;
}
/* age2: 60*60*24*2 <= age */
table.project_list td.age2, table.blame td.age2 {
font-style: italic;
}
/* age1: 60*60*2 <= age < 60*60*24*2 */
table.project_list td.age1 {
color: #009900;
font-style: italic;
}
table.blame td.age1 {
color: #009900;
background: transparent;
}
/* age0: age < 60*60*2 */
table.project_list td.age0 {
color: #009900;
font-style: italic;
font-weight: bold;
}
table.blame td.age0 {
color: #009900;
background: transparent;
font-weight: bold;
}
td.pre, div.pre, div.diff {
font-family: monospace;
font-size: 12px;
white-space: pre;
}
td.mode {
font-family: monospace;
}
/* progress of blame_interactive */
div#progress_bar {
height: 2px;
margin-bottom: -2px;
background-color: #d8d9d0;
}
div#progress_info {
float: right;
text-align: right;
}
/* format of (optional) objects size in 'tree' view */
td.size {
font-family: monospace;
text-align: right;
}
/* styling of diffs (patchsets): commitdiff and blobdiff views */
div.diff.header,
div.diff.extended_header {
white-space: normal;
}
div.diff.header {
font-weight: bold;
background-color: #edece6;
margin-top: 4px;
padding: 4px 0px 2px 0px;
border: solid #d9d8d1;
border-width: 1px 0px 1px 0px;
}
div.diff.header a.path {
text-decoration: underline;
}
div.diff.extended_header,
div.diff.extended_header a.path,
div.diff.extended_header a.hash {
color: #777777;
}
div.diff.extended_header .info {
color: #b0b0b0;
}
div.diff.extended_header {
background-color: #f6f5ee;
padding: 2px 0px 2px 0px;
}
div.diff a.list,
div.diff a.path,
div.diff a.hash {
text-decoration: none;
}
div.diff a.list:hover,
div.diff a.path:hover,
div.diff a.hash:hover {
text-decoration: underline;
}
div.diff.to_file a.path,
div.diff.to_file {
color: #007000;
}
div.diff.add {
color: #008800;
}
div.diff.add span.marked {
background-color: #aaffaa;
}
div.diff.from_file a.path,
div.diff.from_file {
color: #aa0000;
}
div.diff.rem {
color: #cc0000;
}
div.diff.rem span.marked {
background-color: #ffaaaa;
}
div.diff.chunk_header a,
div.diff.chunk_header {
color: #990099;
}
div.diff.chunk_header {
border: dotted #ffe0ff;
border-width: 1px 0px 0px 0px;
margin-top: 2px;
}
div.diff.chunk_header span.chunk_info {
background-color: #ffeeff;
}
div.diff.chunk_header span.section {
color: #aa22aa;
}
div.diff.incomplete {
color: #cccccc;
}
div.diff.nodifferences {
font-weight: bold;
color: #600000;
}
/* side-by-side diff */
div.chunk_block {
overflow: hidden;
}
div.chunk_block div.old {
float: left;
width: 50%;
overflow: hidden;
}
div.chunk_block div.new {
margin-left: 50%;
width: 50%;
}
div.chunk_block.rem div.old div.diff.rem {
background-color: #fff5f5;
}
div.chunk_block.add div.new div.diff.add {
background-color: #f8fff8;
}
div.chunk_block.chg div div.diff {
background-color: #fffff0;
}
div.chunk_block.ctx div div.diff.ctx {
color: #404040;
}
div.index_include {
border: solid #d9d8d1;
border-width: 0px 0px 1px;
padding: 12px 8px;
}
div.search {
font-size: 100%;
font-weight: normal;
margin: 4px 8px;
float: right;
top: 56px;
right: 12px
}
div.projsearch {
text-align: center;
margin: 20px 0px;
}
div.projsearch form {
margin-bottom: 2px;
}
td.linenr {
text-align: right;
}
a.linenr {
color: #999999;
text-decoration: none
}
a.rss_logo {
float: right;
padding: 3px 5px;
line-height: 10px;
border: 1px solid;
border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
color: #ffffff;
background-color: #ff6600;
font-weight: bold;
font-family: sans-serif;
font-size: 70%;
text-align: center;
text-decoration: none;
}
a.rss_logo:hover {
background-color: #ee5500;
}
a.rss_logo.generic {
background-color: #ff8800;
}
a.rss_logo.generic:hover {
background-color: #ee7700;
}
span.refs span {
padding: 0px 4px;
font-size: 70%;
font-weight: normal;
border: 1px solid;
background-color: #ffaaff;
border-color: #ffccff #ff00ee #ff00ee #ffccff;
}
span.refs span a {
text-decoration: none;
color: inherit;
}
span.refs span a:hover {
text-decoration: underline;
}
span.refs span.indirect {
font-style: italic;
}
span.refs span.ref {
background-color: #aaaaff;
border-color: #ccccff #0033cc #0033cc #ccccff;
}
span.refs span.tag {
background-color: #ffffaa;
border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
}
span.refs span.head {
background-color: #aaffaa;
border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
}
span.atnight {
color: #cc0000;
}
span.match {
color: #e00000;
}
div.binary {
font-style: italic;
}
div.remote {
margin: .5em;
border: 1px solid #d9d8d1;
display: inline-block;
}
/* JavaScript-based timezone manipulation */
.popup { /* timezone selection UI */
position: absolute;
/* "top: 0; right: 0;" would be better, if not for bugs in browsers */
top: 0; left: 0;
border: 1px solid;
padding: 2px;
background-color: #f0f0f0;
font-style: normal;
color: #000000;
cursor: auto;
}
.close-button { /* close timezone selection UI without selecting */
/* float doesn't work within absolutely positioned container,
* if width of container is not set explicitly */
/* float: right; */
position: absolute;
top: 0px; right: 0px;
border: 1px solid green;
margin: 1px 1px 1px 1px;
padding-bottom: 2px;
width: 12px;
height: 10px;
font-size: 9px;
font-weight: bold;
text-align: center;
background-color: #fff0f0;
cursor: pointer;
}
/* Style definition generated by highlight 2.4.5, http://andre-simon.de/doku/highlight/en/highlight.php */
/* Highlighting theme definition: */
.num { color:#2928ff; }
.esc { color:#ff00ff; }
.str { color:#ff0000; }
.dstr { color:#818100; }
.slc { color:#838183; font-style:italic; }
.com { color:#838183; font-style:italic; }
.dir { color:#008200; }
.sym { color:#000000; }
.line { color:#555555; }
.kwa { color:#000000; font-weight:bold; }
.kwb { color:#830000; }
.kwc { color:#000000; font-weight:bold; }
.kwd { color:#010181; }

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

343
htdocs/static/pure.css Normal file
View File

@@ -0,0 +1,343 @@
: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;
}
@media (prefers-color-scheme: dark) {
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/*
* -- BASE STYLES --
* Most of these are inherited from Base, but I want to change a few.
*/
body {
line-height: 1.7em;
color: var(--Dark-Text);
font-size: 13px;
}
h1,
h2,
h3,
h4,
h5,
h6,
label {
color: var(--Dark-Subtext-0);
}
.pure-img-responsive {
max-width: 100%;
height: auto;
}
/*
* -- LAYOUT STYLES --
* These are some useful classes which I will need
*/
.l-box {
padding: 1em;
}
.l-box-lrg {
padding: 2em;
border-bottom: 1px solid rgba(0,0,0,0.1);
}
.is-center {
text-align: center;
}
/*
* -- PURE FORM STYLES --
* Style the form inputs and labels
*/
.pure-form label {
margin: 1em 0 0;
font-weight: bold;
font-size: 100%;
}
.pure-form input[type] {
border: 2px solid #ddd;
box-shadow: none;
font-size: 100%;
width: 100%;
margin-bottom: 1em;
}
/*
* -- PURE BUTTON STYLES --
* I want my pure-button elements to look a little different
*/
.pure-button {
background-color: var(--Dark-Blue);
color: var(--Dark-Overlay-0);
padding: 0.5em 2em;
border-radius: 5px;
}
a.pure-button-primary {
background: var(--Dark-Overlay-0);
color: var(--Dark-Saphire);
border-radius: 5px;
font-size: 120%;
}
/*
* -- MENU STYLES --
* I want to customize how my .pure-menu looks at the top of the page
*/
.home-menu {
padding: 0.5em;
text-align: center;
box-shadow: 0 1px 1px rgba(0,0,0, 0.10);
}
.home-menu {
background: var(--Dark-Crust);
}
.pure-menu.pure-menu-fixed {
/* Fixed menus normally have a border at the bottom. */
border-bottom: none;
/* I need a higher z-index here because of the scroll-over effect. */
z-index: 4;
}
.home-menu .pure-menu-heading {
color: var(--Dark-Text);
font-weight: 400;
font-size: 120%;
}
.home-menu .pure-menu-selected a {
color: var(--Dark-Overlay-1);
}
.home-menu a {
color: var(--Dark-Blue);
}
.home-menu li a:hover,
.home-menu li a:focus {
background: none;
border: none;
color: var(--Dark-Saphire);
}
/*
* -- SPLASH STYLES --
* This is the blue top section that appears on the page.
*/
.splash-container {
background: var(--Dark-Base);
z-index: 1;
overflow: hidden;
/* The following styles are required for the "scroll-over" effect */
width: 100%;
height: 88%;
top: 0;
left: 0;
position: fixed !important;
}
.splash {
/* absolute center .splash within .splash-container */
width: 80%;
height: 50%;
margin: auto;
position: absolute;
top: 100px; left: 0; bottom: 0; right: 0;
text-align: center;
text-transform: uppercase;
}
/* This is the main heading that appears on the blue section */
.splash-head {
font-size: 20px;
font-weight: bold;
color: var(--Dark-Text);
border: 3px solid var(--Dark-Text);
padding: 1em 1.6em;
font-weight: 100;
border-radius: 5px;
line-height: 1em;
}
/* This is the subheading that appears on the blue section */
.splash-subhead {
color: var(--Dark-Subtext-0);
letter-spacing: 0.05em;
opacity: 0.8;
}
/*
* -- CONTENT STYLES --
* This represents the content area (everything below the blue section)
*/
.content-wrapper {
/* These styles are required for the "scroll-over" effect */
position: absolute;
top: 87%;
width: 100%;
min-height: 12%;
z-index: 2;
background: var(--Dark-Surface-1);
}
/* We want to give the content area some more padding */
.content {
padding: 1em 1em 3em;
}
/* This is the class used for the main content headers (<h2>) */
.content-head {
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.1em;
margin: 2em 0 1em;
}
/* This is a modifier class used when the content-head is inside a ribbon */
.content-head-ribbon {
color: var(--Dark-Subtext-0);
}
/* This is the class used for the content sub-headers (<h3>) */
.content-subhead {
color: var(--Dark-Subtext-1);
}
.content-subhead i {
margin-right: 7px;
}
/* This is the class used for the dark-background areas. */
.ribbon {
background: var(--Dark-Surface-0);
color: var(--Dark-Text);
}
/* This is the class used for the footer */
.footer {
background: var(--Dark-Mantle);
position: fixed;
bottom: 0;
width: 100%;
}
/*
* -- TABLET (AND UP) MEDIA QUERIES --
* On tablets and other medium-sized devices, we want to customize some
* of the mobile styles.
*/
@media (min-width: 48em) {
/* We increase the body font size */
body {
font-size: 16px;
}
/* We can align the menu header to the left, but float the
menu items to the right. */
.home-menu {
text-align: left;
}
.home-menu ul {
float: right;
}
/* We increase the height of the splash-container */
/* .splash-container {
height: 500px;
}*/
/* We decrease the width of the .splash, since we have more width
to work with */
.splash {
width: 50%;
height: 50%;
}
.splash-head {
font-size: 250%;
}
/* We remove the border-separator assigned to .l-box-lrg */
.l-box-lrg {
border: none;
}
}
/*
* -- DESKTOP (AND UP) MEDIA QUERIES --
* On desktops and other large devices, we want to over-ride some
* of the mobile and tablet styles.
*/
@media (min-width: 78em) {
/* We increase the header font size even more */
.splash-head {
font-size: 300%;
}
}
}

View File

@@ -1,43 +0,0 @@
<!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/catppuccin.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>