Compare commits

...

56 Commits

Author SHA1 Message Date
Cutieguwu
68263b1bad Fix rss.xml form. 2026-02-27 20:07:22 -05:00
Olivia Brooks
b8f65f2ce4 Fix copying with a lazy patch. 2026-02-27 10:49:45 -05:00
Olivia Brooks
820a1f357a Fix panel alignments, heights, and banner height. 2026-02-26 12:45:53 -05:00
Olivia Brooks
5fde9a2754 Add picoCTF profile. 2026-02-26 12:27:03 -05:00
Olivia Brooks
fba35705e9 Correct typos. 2026-02-26 12:25:01 -05:00
Cutieguwu
2f09ca4a61 Aand I still can't remember CSS it seems. This *should* actually patch
kao-banner, the CLASS, NOT element...
2026-02-25 21:38:27 -05:00
Cutieguwu
1c00979274 Learn CSS you fool. 2026-02-25 21:33:02 -05:00
Cutieguwu
2af6bd1ed7 Monkeypatch kao-banner. 2026-02-25 21:29:37 -05:00
Cutieguwu
63c3b16bda Add keepandroidopen.org warning banner. 2026-02-25 21:07:05 -05:00
Cutieguwu
a0d89676a8 Bump edit date. 2026-02-21 13:54:44 -05:00
Cutieguwu
3c7a687cab Update security.txt 2026-02-21 13:53:05 -05:00
Cutieguwu
bd67b51325 Add CyberSci; Change minor; Correct Typos 2026-02-21 13:50:00 -05:00
Cutieguwu
e0d8a71e99 Add Optical Recovery blog post. 2026-01-10 22:44:00 -05:00
Cutieguwu
415182edae Undo last; undo organization for generator as it's not in use, and the
filename didn't meet the standard for the generator anyway.
2025-12-19 01:20:57 -05:00
Cutieguwu
fb7cb1b73c Lazy temporary fix for pathing to blog posts during transition to
updated structure.
2025-12-19 01:17:40 -05:00
Cutieguwu
60cd0f9850 Remove Webcheck from nav menu. 2025-12-19 00:58:45 -05:00
Cutieguwu
81b854d32a Update blog_recent_posts.html 2025-12-19 00:57:28 -05:00
Cutieguwu
a2c7d72ecf Add blog posts 3 and 4; Update RSS feed. 2025-12-18 19:30:24 -05:00
Cutieguwu
bc66ede0e1 Update index.html 2025-10-06 19:34:26 -04:00
Cutieguwu
7d1dfd0a5f Add public key. 2025-09-27 14:20:10 -04:00
Cutieguwu
dd199d7d5f Correct date format. 2025-09-25 22:19:40 -04:00
Cutieguwu
9e59f22448 Add CyberChef public service entry. 2025-09-25 22:19:31 -04:00
Cutieguwu
4662c8261c Correct image alt message. 2025-09-14 12:04:28 -04:00
Cutieguwu
a97ec550fa Bump edit date. 2025-09-14 11:52:39 -04:00
Cutieguwu
8d2f472935 Change image for Buyer's Anxiety post. 2025-09-14 11:52:11 -04:00
Cutieguwu
d9c47c0403 Add Buyer's Anxiety to recent posts and RSS feed. 2025-09-14 10:02:18 -04:00
Cutieguwu
d6b689e0f6 Create quotes.txt 2025-09-14 09:43:51 -04:00
Olivia Brooks
7ba55567e8 Create 2_buyers_anxiety.html 2025-09-11 13:12:00 -04:00
Olivia Brooks
4f1873b775 Update .gitignore 2025-09-11 12:25:26 -04:00
Olivia Brooks
561048c93b Hotfix Mastodon title in quick links. 2025-09-02 15:25:37 -04:00
Cutieguwu
ffb1bfdc30 Add Comments. 2025-08-28 10:31:45 -04:00
Cutieguwu
643b2adb38 Add Mastodon Author Attribution. 2025-08-28 10:25:09 -04:00
Cutieguwu
bf19ff876e Add Mastodon Verification 2025-08-28 10:24:47 -04:00
Cutieguwu
ec1947376f Remove comment from Sass compiled output. 2025-08-23 19:52:33 -04:00
Cutieguwu
d02026bd55 600px mobile, Clean up current media queries, introduce intermediary device layout. 2025-08-23 19:50:16 -04:00
Cutieguwu
30938fe9d1 Use :hover or <input> toggle for dropdowns based on client query.
Resolves #55
Fixes #56
2025-08-23 19:23:02 -04:00
Cutieguwu
863355cd1c Templates dir, Put in and shift to a media query template for RWD issues. 2025-08-23 15:18:10 -04:00
Cutieguwu
5bc1d2ecd9 Support touchscreen navigation. 2025-08-21 12:32:49 -04:00
Cutieguwu
5bde31a42f Pane layout patches for mobile, Code cleanup. 2025-08-21 11:40:04 -04:00
Cutieguwu
5f4049c10c Update _a_common.scss 2025-08-20 17:17:20 -04:00
Cutieguwu
aafa982faf Remove header class for element in Location block. 2025-08-20 17:04:42 -04:00
Cutieguwu
5ba0e0408a Adjust partials' naming, Make colours standard CSS to force me to not
remove the docker comment.
2025-08-20 17:04:18 -04:00
Cutieguwu
8cbee214cc Resolve #54, Adjust location blocks to better align with the format used for
Blog posts.
2025-08-20 16:12:50 -04:00
Cutieguwu
d1e06b432d Complete #52, Optimize CSS, Reduce code duplication, Scrap templates; Massive refactor. 2025-08-20 16:08:41 -04:00
Cutieguwu
04a4adb4d4 Remove all robots.txt rules; Applebot-Extended is handled by a custom
Anubis rule.
2025-08-19 11:35:01 -04:00
Cutieguwu
b14bf720e9 Fix typo. 2025-08-18 10:54:22 -04:00
Cutieguwu
c43363a14b Stop preventing all good bots from indexing. 2025-08-18 10:34:06 -04:00
Cutieguwu
c062e0e6f6 Stop Bing from using site data for AI. 2025-08-18 10:33:48 -04:00
Cutieguwu
b4906abd19 Tons of changes, all of which I've forgotten. A number of refactors
exist. Nav menu partly operational on mobile.
2025-08-16 15:02:54 -04:00
Cutieguwu
4bd5c25a72 Update index.html 2025-08-10 18:05:17 -04:00
Cutieguwu
28701d89c7 Make clean verbose. 2025-08-10 17:39:28 -04:00
Cutieguwu
3948bdd8d2 Correct dates for blog post. 2025-08-09 17:02:21 -04:00
Cutieguwu
89b706280f Update rss.xml 2025-08-09 16:38:21 -04:00
Cutieguwu
ae039585b4 Fix image scaling in blog pages. 2025-08-09 16:31:50 -04:00
Cutieguwu
1ab705da86 Try to fix image scaling on blog posts. 2025-08-09 16:25:35 -04:00
Cutieguwu
29e7b2895c Update blog_recent_posts.html 2025-08-09 16:21:23 -04:00
74 changed files with 2520 additions and 2235 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
**/target **/target
**/__pycache__

View File

@@ -57,7 +57,7 @@ do
elif [ "$x" == 'style' ] elif [ "$x" == 'style' ]
then then
cmd='sass' cmd='sass --update'
files=(` files=(`
find src -not\ find src -not\
@@ -83,17 +83,13 @@ do
elif [ "$x" == 'copy' ] elif [ "$x" == 'copy' ]
then then
cmd='cp -R'
files=(
'src/.well-known/security.txt'
'src/feed/rss.xml'
'src/robots.txt'
)
mkdir -p target/.well-known mkdir -p target/.well-known
mkdir -p target/feed mkdir -p target/feed
cp 'src/feed/rss.xml' 'target/feed/rss.xml'
cp 'src/robots.txt' 'target/robots.txt'
cp 'src/.well-known/security.txt' 'target/.well-known/security.txt'
action=Copying... action=Copying...
elif [ "$x" == 'conv-img' ] elif [ "$x" == 'conv-img' ]
@@ -107,13 +103,13 @@ do
mkdir -p target/img/blog/posts mkdir -p target/img/blog/posts
action='Converting and Copying Images...' action='Converting Images...'
elif [ "$x" == 'clean' ] elif [ "$x" == 'clean' ]
then then
echo -e "$green"Cleaning... echo -e "$green"Cleaning...
rm -R target rm -Rv target
break break
@@ -123,11 +119,15 @@ do
echo -e "$green"Options:"$cyan" echo -e "$green"Options:"$cyan"
echo ' -h, --help Print help' echo ' -h, --help Print help'
echo echo
echo
echo -e "$green"Commands:"$cyan" echo -e "$green"Commands:"$cyan"
echo ' conv-img Convert images to target'
echo ' copy Copy assets to target'
echo ' inflate Inflate the HTML source' echo ' inflate Inflate the HTML source'
echo ' style Compile SCSS to CSS' echo ' style Compile SCSS to CSS'
echo ' copy Copy assets to target'
echo ' clean Wipe the target dir' echo
echo ' clean Wipe the target directory'
break break
fi fi

View File

@@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEaNawyhYJKwYBBAHaRw8BAQdARXZA94pLJ9NqMFGi2g4mgC+JhsDccsjC5YZL
FFrXyVfNK09saXZpYSBCcm9va3MgPG9saXZpYS5hLmJyb29rczc3QGdtYWlsLmNv
bT7CiQQTFggAMRYhBNHb+MmfTznTILS7fUanaquYTswnBQJo1rDKAhsDBAsJCAcF
FQgJCgsFFgIDAQAACgkQRqdqq5hOzCdoOQEAwF3dlYsoaiAKuD1xv2R45QAWobHG
hI41JuUnAGPHWh4BAPilFDXQv3PbYOIS/fVqrNVZI9ZPbNpT0ZlQeLCFm48AzjgE
aNawyxIKKwYBBAGXVQEFAQEHQPMiRn06nv5gWZNYHjtKmshLWKlcnwOcOH1WRWE7
VREvAwEIB8J4BBgWCAAgFiEE0dv4yZ9POdMgtLt9Rqdqq5hOzCcFAmjWsMsCGwwA
CgkQRqdqq5hOzCfc9wD5AV4m9zFPoipKQNfZpll62bdI9zdtAT3QYS5XzwGCz1EA
/1Km4cYgieqk10A7X1Zpz2tP5miNyaAW48D5QiWd7GUD
=jPqw
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1,4 +1,5 @@
Contact: mailto:olivia.a.brooks77@gmail.com Contact: mailto:olivia.a.brooks77@gmail.com
Expires: 2026-06-01T04:00:00.000Z Encryption: https://www.cutieguwu.ca/.well-known/public.asc
Acknowledgments: https://www.cutieguwu.ca/acknowledgements.html Acknowledgments: https://www.cutieguwu.ca/acknowledgements.html
Preferred-Languages: en, fr Preferred-Languages: en, fr
Expires: 2027-01-01T04:00:00.000Z

View File

@@ -6,25 +6,23 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">About</h5> <h5 class="page">About</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="body"><p>This page has not yet been filled out. Sorry!</p></div> <div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,17 +6,16 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Acknowledgements</h5> <h5 class="page">Acknowledgements</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="body"> <div class="body">
<p>There are currently no acknowledgements</p> <p>There are currently no acknowledgements</p>
<p>In terms of security, hopefully that means I'm doing a good-ish job.</p> <p>In terms of security, hopefully that means I'm doing a good-ish job.</p>
@@ -26,12 +25,11 @@
</p> </p>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,34 +6,32 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Blog</h5> <h5 class="page">Blog</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="body"> <div class="body">
<div class="header"> <header>
<h1 class="title">Blog</h1> <h1 class="title">Blog</h1>
<p class="date">Last Edited: 03 August, 2025</p> <p class="date">Last Edited: 03 August, 2025</p>
</div> </header>
<div class="body"> <div class="body">
<h2>I have an RSS feed!</h2> <h2>I have an RSS feed!</h2>
<p>Just look for the RSS Quick Link in the Navigation pane.</p> <p>Just look for the RSS Quick Link in the Navigation pane.</p>
</div> </div>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<include src="./includes/blog_recent_posts.html" /> <include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,33 +6,32 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Blog - Divergent Pathways</h5> <h5 class="page">Blog - Divergent Pathways</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_blog"> <main class="pane blog">
<div class="body"> <div class="body">
<div class="header"> <header>
<h1 class="title">Divergent Pathways</h1> <h1 class="title">Divergent Pathways</h1>
<p class="date">Posted: 29 July, 2025</p> <p class="date">Posted: 29 July, 2025</p>
<p class="date">Last Edited: 29 July, 2025</p> <p class="date">Last Edited: 29 July, 2025</p>
</div> </header>
<div class="body"> <div class="body">
<p>I can't say that this is how I wanted to start my blog.</p> <p>I can't say that this is how I wanted to start my blog.</p>
<p> <p>
Although, in all honesty, I didn't really have an idea for how I wanted Although, in all honesty, I didn't really have an idea for how I wanted it
it to start. That's not to say I didn't know what I *didn't* want. A to start. That's not to say I didn't know what I *didn't* want. A
meaningless 'Welcome to my Blog' filled with my hopes and aspirations meaningless 'Welcome to my Blog' filled with my hopes and aspirations that
that inevitably would never come to light was something I knew I didn't inevitably would never come to light was something I knew I didn't want. I
want. I figured it more likely for me to have a semi-respectful rant figured it more likely for me to have a semi-respectful rant about
about whatever's causing me to 'crash out' on that particular day. That whatever's causing me to 'crash out' on that particular day. That would
would certainly be in character for me. certainly be in character for me.
</p> </p>
<p> <p>
But no. Instead, I'm starting my blog on one of the last things I ever But no. Instead, I'm starting my blog on one of the last things I ever
@@ -42,64 +41,63 @@
<p>Or rather, the passing of it due to life.</p> <p>Or rather, the passing of it due to life.</p>
<p> <p>
I've been in two relationships now. Both ended mutually, although what I I've been in two relationships now. Both ended mutually, although what I
consider mutual may not be everyone else's. We came to see the same side consider mutual may not be everyone else's. We came to see the same side of
of things, and we understood that we couldn't sustain our lives things, and we understood that we couldn't sustain our lives together. We're
together. We're all still friends at the end. all still friends at the end.
</p> </p>
<p> <p>
Me and my ex-boyfriend were struggling a lot with being able to see each Me and my ex-boyfriend were struggling a lot with being able to see each
other. It's not like this relationship was geographically long distance; other. It's not like this relationship was geographically long distance; we
we went to the same school. The distance came more from our schedules went to the same school. The distance came more from our schedules and
and pathways. I have always been a relatively heavy academic. My parents pathways. I have always been a relatively heavy academic. My parents and
and teachers certainly made sure of that, and ultimately helped lead me teachers certainly made sure of that, and ultimately helped lead me down a
down a path of being the teacher's pet. Maybe I'll talk about my path of being the teacher's pet. Maybe I'll talk about my experiences and
experiences and struggles related to that another time, but the short of struggles related to that another time, but the short of it is that I am a
it is that I am a high-acheiving workaholic as a result. My ex-boyfriend high-achieving workaholic as a result. My ex-boyfriend on the other hand,
on the other hand, didn't have that kind of an experience, and didn't have that kind of an experience, and ultimately was led down the
ultimately was led down the college-level course stream in high school. college-level course stream in high school.
</p> </p>
<p> <p>
Now, as I began to struggle in my fourth year, particularly with my Now, as I began to struggle in my fourth year, particularly with my
mathematics continuing their downwards trend, I decided that the life of mathematics continuing their downwards trend, I decided that the life of a
a software engineer wasn't for me. I turned around, almost on a dime, software engineer wasn't for me. I turned around, almost on a dime, and set
and set myself towards a career in Psychology. Now, on the surface, this myself towards a career in Psychology. Now, on the surface, this may look
may look like it would help with our scheduling issues, but no. While I like it would help with our scheduling issues, but no. While I was studying
was studying at school, and desperately trying to keep up my grades, my at school, and desperately trying to keep up my grades, my boyfriend would
boyfriend would be doing a co-op elsewhere. Even when that ended at the be doing a co-op elsewhere. Even when that ended at the end of the term, the
end of the term, the problem remained. I was too much of a workaholic. problem remained. I was too much of a workaholic.
</p> </p>
<p> <p>
Ultimately, the break-up that I've just had has left me intent on not Ultimately, the break-up that I've just had has left me intent on not
spiralling downward. My first was rough on me, and I was not in a good spiralling downward. My first was rough on me, and I was not in a good place
place for about a week. This time, we both kind of saw this coming. for about a week. This time, we both kind of saw this coming. Perhaps that
Perhaps that makes it easier, but it still sucks for both of us. And, makes it easier, but it still sucks for both of us. And, why squander the
why squander the motivation I have to better my self care, my habits, motivation I have to better my self care, my habits, and thus myself? I'm
and thus myself? I'm about to go into my first year of university. about to go into my first year of university. Normally, I'm either scared of
Normally, I'm either scared of my inevitable death, or some past regret my inevitable death, or some past regret of my life that chooses to grip me.
of my life that chooses to grip me. But now, I'm also anxious for the But now, I'm also anxious for the life ahead.
life ahead.
</p> </p>
<p> <p>
So what does this all mean in terms of dating for me? Well, it leaves me So what does this all mean in terms of dating for me? Well, it leaves me
considering the idea that some people are meant to walk through life considering the idea that some people are meant to walk through life alone.
alone. I'm at a point in my life where dating is probably not a great I'm at a point in my life where dating is probably not a great idea for me.
idea for me. I struggle enough with burnout spells that adding I struggle enough with burnout spells that adding heartbreak on top would
heartbreak on top would likely kill my education. likely kill my education.
</p> </p>
<p> <p>
On top of that are my concerns with online dating. Aside from data On top of that are my concerns with online dating. Aside from data privacy,
privacy, breaches, and otherwise disgusting people who can't leave these breaches, and otherwise disgusting people who can't leave these projects to
projects to be a good part of the internet, are the risks with being be a good part of the internet, are the risks with being trans. There are
trans. There are far too many stories, even if most of them are probably far too many stories, even if most of them are probably from the US, of
from the US, of people 'trying it out' with a trans person. Ignoring how people 'trying it out' with a trans person. Ignoring how slimy and
slimy and disgusting you have to be to even do that without considering disgusting you have to be to even do that without considering the effects of
the effects of those actions, the point of dating is for love (and to those actions, the point of dating is for love (and to meet societal
meet societal expectations while seeking a dual income for the expectations while seeking a dual income for the household, among other
household, among other things). things).
</p> </p>
<p> <p>
To make it extra clear, love != sex. The point at the end of it isn't so To make it extra clear, love != sex. The point at the end of it isn't so you
you can run home and shag every night--this isn't some 1960s Bond film. can run home and shag every night--this isn't some 1960s Bond film.
</p> </p>
<p> <p>
If you want to have kids, some trans people who are on HRT, may still be If you want to have kids, some trans people who are on HRT, may still be
@@ -107,19 +105,18 @@
cryopreservation. cryopreservation.
</p> </p>
<p> <p>
Anyway, being someone who was a 'test run' is crushing. I certainly Anyway, being someone who was a 'test run' is crushing. I certainly don't
don't want to run that risk, and other people are in the same boat. want to run that risk, and other people are in the same boat.
</p> </p>
<p>Given all this, I'll probably tough it out on my own for a while.</p> <p>Given all this, I'll probably tough it out on my own for a while.</p>
</div> </div>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<include src="./includes/blog_recent_posts.html" /> <include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,23 +6,22 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Blog - Unsure U.</h5> <h5 class="page">Blog - Unsure U.</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_blog"> <main class="pane blog">
<div class="body"> <div class="body">
<div class="header"> <header>
<h1 class="title">Unsure U.</h1> <h1 class="title">Unsure U.</h1>
<p class="date">Posted: 08 August, 2025</p> <p class="date">Posted: 09 August, 2025</p>
<p class="date">Last Edited: 08 August, 2025</p> <p class="date">Last Edited: 09 August, 2025</p>
</div> </header>
<div class="body"> <div class="body">
<img <img
alt="A Coaster which reads 'focus on the good,' placed in front of a window." alt="A Coaster which reads 'focus on the good,' placed in front of a window."
@@ -31,94 +30,91 @@
<p>The little things, it's the little things that count.</p> <p>The little things, it's the little things that count.</p>
<p>Or so I'm told.</p> <p>Or so I'm told.</p>
<p> <p>
All around me, all my friends are super excited for university, or All around me, all my friends are super excited for university, or college,
college, or appreticeship, or--post-secondary in general. They're or appreticeship, or--post-secondary in general. They're excited about
excited about meeting new [like-minded] people, clubs, increased meeting new [like-minded] people, clubs, increased autonomy, the future
autonomy, the future promises of post-secondary education, and of promises of post-secondary education, and of course, parties (within
course, parties (within reason). They look to the hopeful side of reason). They look to the hopeful side of things.
things.
</p> </p>
<p> <p>
Now, I have this set of coasters which I got a year or so ago at a local Now, I have this set of coasters which I got a year or so ago at a local
market. They're meant to keep me in a more positive headspace, but half market. They're meant to keep me in a more positive headspace, but half the
the time they're covered up by drinks... Anyway, one of them advises me time they're covered up by drinks... Anyway, one of them advises me to
to "focus on the good". "focus on the good".
</p> </p>
<p> <p>
And boy, do I try hard to do that. But without a job, I'm left to my And boy, do I try hard to do that. But without a job, I'm left to my
hyperfixation and burnout routine. If I'm lucky, I just start going a hyperfixation and burnout routine. If I'm lucky, I just start going a bit
bit stir-crazy from sitting in my room, doing things that I consider stir-crazy from sitting in my room, doing things that I consider productive,
productive, with only the occasional break for the loo and another cup with only the occasional break for the loo and another cup of bean juice.
of bean juice. Then, it's back to work, dawn until dinner, then maybe Then, it's back to work, dawn until dinner, then maybe I'll play a game
I'll play a game briefly, but not until working some more. briefly, but not until working some more.
</p> </p>
<p> <p>
There are of course plenty of things that I'd like to blame for why I'm There are of course plenty of things that I'd like to blame for why I'm like
like this, but that's not the purpose of this post, nor more than this, but that's not the purpose of this post, nor more than speculation.
speculation.
</p> </p>
<p> <p>
Anyway, I'm currently writing this in a cheerful little café after an Anyway, I'm currently writing this in a cheerful little café after an
appointment so that I take a break to process, and perhaps understand, appointment so that I take a break to process, and perhaps understand, some
some emotions, while taking in this little thing. So, back to emotions, while taking in this little thing. So, back to university, since
university, since that's my academic trajectory. that's my academic trajectory.
</p> </p>
<p>I'm terrified.</p> <p>I'm terrified.</p>
<p> <p>
I've struggled a lot to plan and get course selections which will allow I've struggled a lot to plan and get course selections which will allow me
me to fulfill my degree, only to fail rather badly. Seriously, I will to fulfill my degree, only to fail rather badly. Seriously, I will probably
probably do poorly in philosophy, and it doesn't help me with just about do poorly in philosophy, and it doesn't help me with just about any of my
any of my requirements. On top of that, I'm worried about the teachers requirements. On top of that, I'm worried about the teachers that I'll get.
that I'll get. It was bad enough in grade 5, and I'd had a few years to It was bad enough in grade 5, and I'd had a few years to anticipate that
anticipate that teacher. In university, I have no knowledge going into teacher. In university, I have no knowledge going into first year. The best
first year. The best resource I have is something like RateMyProf which resource I have is something like RateMyProf which honestly kinda sucks and
honestly kinda sucks and probably makes things worse unless there's a probably makes things worse unless there's a resoundingly poor overall
resoundingly poor overall rating. rating.
</p> </p>
<p> <p>
That's not to say that all of my course selections are bad; I still have That's not to say that all of my course selections are bad; I still have the
the ones within the interest of my degree and some in my hobbies, that ones within the interest of my degree and some in my hobbies, that also
also contribute directly to the degree. One friend and I were also able contribute directly to the degree. One friend and I were also able to get
to get some courses together since I had to take them, and they wanted some courses together since I had to take them, and they wanted to. This may
to. This may sound silly given the struggles with course availabilities, sound silly given the struggles with course availabilities, but I promise
but I promise these decisions were made following a lot of logical these decisions were made following a lot of logical consideration of both
consideration of both of our degrees' completion. of our degrees' completion.
</p> </p>
<p> <p>
Another concern is the fact that I know so little, and I get my Another concern is the fact that I know so little, and I get my orientation
orientation the day before I need to use it... that's not a lot of time the day before I need to use it... that's not a lot of time to figure out if
to figure out if you're missing something. That then contributes to my you're missing something. That then contributes to my concerns about being
concerns about being able to move around campus fast enough to not miss able to move around campus fast enough to not miss classes, on top of the
classes, on top of the fatigue that I'll have from waking up at 5h30. fatigue that I'll have from waking up at 5h30.
</p> </p>
<p> <p>
Finally, because otherwise I could keep going on, are my concerns Finally, because otherwise I could keep going on, are my concerns regarding
regarding the ever-shoved-down-our-gullets AIs. I write oddly. This the ever-shoved-down-our-gullets AIs. I write oddly. This blog, my poetry,
blog, my poetry, and all of my past essays and analyses. My teachers can and all of my past essays and analyses. My teachers can attest, especially
attest, especially my grade 9 & 12 English teacher who had to consult my grade 9 & 12 English teacher who had to consult two other teachers and
two other teachers and myself to fully understand myself to fully understand
<a href="https://gitea.cutieguwu.ca/cutieguwu/falling_down_building_up" <a href="https://gitea.cutieguwu.ca/cutieguwu/falling_down_building_up"
>Building Up</a >Building Up</a
>, a poem I wrote with the rust programming language for symbology. >, a poem I wrote with the rust programming language for symbology.
</p> </p>
<p> <p>
The concerns about having to prove that I don't use AI were bad enough The concerns about having to prove that I don't use AI were bad enough in
in High School. Universities have far more strict policies, which likely High School. Universities have far more strict policies, which likely
utilize a guilty until proven innocent model. utilize a guilty until proven innocent model.
</p> </p>
<p> <p>
At the end of the day, I'm trying to take in the little things and not At the end of the day, I'm trying to take in the little things and not worry
worry too much. too much.
</p> </p>
</div> </div>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<include src="./includes/blog_recent_posts.html" /> <include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -0,0 +1,162 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Buyer's Anxiety | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<nav class="pane">
<include src="includes/nav_header.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<header><h4>You are here:</h4></header>
<h5 class="page">Blog - Buyer's Anxiety</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<main class="pane blog">
<div class="body">
<header>
<h1 class="title">Buyer's Anxiety</h1>
<p class="date">Posted: 11 September, 2025</p>
<p class="date">Last Edited: 14 September, 2025</p>
</header>
<div class="body">
<img
alt="Katie's old laptop, seated upon her clean desk, struggling on. Although, you can't tell how broken the hinge is or the parts that her kitten chewed. I swear, it's in worse condition than it looks."
src="/img/blog/posts/2_buyers_anxiety.webp"
/>
<p>
I can't say that I'm thrilled that my blog posts have only been when I'm
down or struggling with something. But, here we are: the third one.
</p>
<p>
I'm stuck with an internal conflict. It feels like remorse, but before the
poor choice has happened, as opposed to fear? But it is fear.
</p>
<p>
It's no secret that I love my Framework 16, the company's values, and Linux.
</p>
<p>I also want to support my friends whenever and however I can.</p>
<p>But what if those two things clash?... Spoiler: they have.</p>
<p>
To preface this whole thing, my friend is looking for a new laptop. She
bought her old one because it was in her price range. Four years later,
it's... struggling. The enshittification of the tech industry took hold, one
hinge died a couple years ago, the whole body is weak, the system is
relatively underpowered for her needs, and it's not going to survive
university in any good condition, if even that. As a two-time published
author, she needs to be able to type and open this system a lot. That means
a good keyboard and good hinges. She also wants to play Minecraft, Roblox,
and probably Uno on it too. Thus, GPU demands aren't high and she'll want at
least a 15" display. She treats her devices well and cares for their
longevity.
</p>
<p>
To me, this sounds like a great place for a Framework laptop. Expensive
upfront, sure. But the 16" model has an iGPU that runs Minecraft and Roblox
just fine, has a super easy to replace input module system to replace the
keyboard, good hinges, a CPU that's total overkill (even for the stuff I do;
I wanted a six-core), and it wears like a tank. A guy at our high school
proved that unintentionally. I have the dent in the lid and the pristene
display to prove it. It also has some added benefits, like the hardware
switches for the camera and mic, overall modular design, repairability, and
the upgrade paths, which save her from spending more money to buy a full
tower or another laptop. Framework recently announced the new generation
boards for the FW 16, and knocked down the price of the 7040 series boards
slightly, but that's a nice-to-have. Even if you're a non-techie, you won't
need to get into the hardware unless you're building it or repairing
something, and Framework's guides have only gotten better. Even when trying
to replace the liquid metal, or solve an issue that I thought was a loose
display cable (it was a linux software issue of some kind), the guides got
me through the wholly unknown to me.
</p>
<p>This makes it sound perfect.</p>
<p>
The downside? Well, I feel like I'm just succumbing to brand loyalty. A
total shill. The whole above paragraph sounds like a sales pitch without the
company's values explicitly spouted. The one thing I envy of Apple fans, is
their ability to convince others that Apple is great and feel no conflict.
</p>
<p>
Is this what a parent feels like when buying for a child? Probably not?
After all, the child likely isn't knowledgeable upon the context, or doesn't
care enough to question the rationale leading to the purchase. But here, I'm
buying for a friend. Someone smart (Before someone starts, I'm not saying
that a child can't be smart or that the rest of my friends are dumb). Sure,
she's not a techie the way I am, but she is more than capable of questioning
things for herself. What's the price? What's the rationale? Are you just
pushing me into an ecosystem that you love? Are you buying my friendship?
...and so on down the rabbit hole my train of thought hops.
</p>
<p>
I've already convinced two friends to try Linux, but their hardware and
personal needs caused too many problems. I also convinced a family member of
mine, who was an Apple fan, to shift to a Framework 13 running Linux.
</p>
<p>
I feel like a manipulator. I left my proud, cheerful "switch to Linux"
chanting phase a while ago. But did I really? Am I so moral-driven that I'm
blind? Is this really a selfless gift to a friend? Is this because I'm
afraid of losing my friends? Or do I subconciously hold an agenda to migrate
everyone to Framework and Linux? As stupid as it sounds, I mean this
literally.
</p>
<p>
Even if you consider the idea that "only a good person would think like
that, because a bad person would know it," it doesn't help.
</p>
<p>
To make things worse again, I've long spouted buying something with the
intent to run it long term, instead of buying a bunch of cheap somethings
that die super fast. My previous laptop, which I got from my father, ran for
nearly 12 years before the display started dying; now it's a server. So
imagine a teenager with that kind of a background in keeping a computer
running for so long, sees a 3-year old laptop already in a far worse
condition than their 10/11-year old one (with comparable specs). I was that
teenager, and I started a "joke" once I got my new laptop, about it's easily
replaceable hinges... and so on. Of course, I was prideful in a sense, and I
kept that "joke" going too long... So how will it look when the laptop who's
death I foretold gets replaced by the exact laptop that it was compared to?
(Assuming that I didn't start the "joke" about the purchase decisions, age,
and condition of my previous one.)
</p>
<p>
The only consolation I get for now, is that I have a few days to see how
Katie likes the FW 13, which is loaned off the aforementioned family member
of mine. The trouble, because of course there's more, is that I need to
discern between her impressions of the computer, and the OS, since it's
Manjaro Linux. Because of that, my plan is to dual boot the gifted system.
That way she can finish her computer science stuff in the same environment,
and then decide whether or not to scrap the Linux partition.
</p>
<p>
Of course, as always, my troubles start just after having had a counselling
session. So, I'm left to deal with this myself for a few weeks.
</p>
<p>Sometimes I wonder why things can't just be simple for me in life...</p>
<hr />
<p>
Now, as a note, I'm not saying that Framework is perfect. They've had, and
continue to have, their issues. The difference is that they actually listen
and work on them. The guides, the incorrect QR codes, the support system,
FW16 keyboard deflection, late UEFI updates, the FW16 keyboard wake-up issue
with the screen closed, the first-gen display expansion cards power draw
issue, and so on. And sure, they can be slow. But they're small, and they
try to do it right the first time. They release the software and hardware
patches to affected systems, and listen on to further critique in the
interest of improving.
</p>
</div>
</div>
<include src="includes/tailer.html" />
</main>
<div class="pane spacer">
<include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

@@ -0,0 +1,142 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Closing Chapters | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<nav class="pane">
<include src="includes/nav_header.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<header><h4>You are here:</h4></header>
<h5 class="page">Blog - Closing Chapters</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<main class="pane blog">
<div class="body">
<header>
<h1 class="title">Closing Chapters</h1>
<p class="date">Posted: 18 December, 2025</p>
<p class="date">Last Edited: 18 December, 2025</p>
</header>
<div class="body">
<p>
I'm not sure why I'm suddenly writing another blog post. Particularly when I
still have an exam to do, for which I need to read two chapters of the
textbook.
</p>
<p>
Perhaps it's because I've just come out of a counselling session, and once
again, find something I need to talk about <em>after</em> it's finished.
</p>
<p>
Perhaps it's because I feel a need to prove to myself that I'm still a good
writer, even if I barely pass my Creative Writing course...
</p>
<p>
Maybe it's because I'm just generally tired but I've been awake long enough
that I've progressed into my first period of creative brain waves. Yes,
apparently that's a thing.
</p>
<p>
Anyway, this post's idea stems from the sentiments I've been experiencing
since graduating high school.
</p>
<p>
I feel like I keep wanting to run back to my childhood, as awful as it was
in many respects. It's not just my overwhelming fear of death, and general
existential dread, it's my nostalgia.
</p>
<p>
Yesterday, I went to see my old high school band and jazz band perform their
annual Holiday Concert. It was great getting to see my old buddies, have a
couple laughs while berating the Audio-Visual equipment team for their awful
cable management in the few months that I've been gone now.
</p>
<p>
But, as I listened to them play the biggest set list the band has done since
the pandemic, I found myself melancholy. I wanted to be back with them,
playing in the pink lighting, learning solos that I couldn't as a result of
COVID, setting up equipment, taping cables down to comply with safety
policies, digging into the hows and whys of DMX-512, managing my old tech
team, shooting the shit.
</p>
<p>I can't really do that now.</p>
<p>
Picking up the hobbies again, joining a music group on Campus, finding an
A/V equipment team to join... it just wouldn't be the same.
</p>
<p>
I have more demanding courses to come, and I just don't have the time
anymore. I, like many others, already treat the Carleton Cybersecurity Club
as an extra course.
</p>
<p>The workshops; our lectures.</p>
<p>The weekly challenges; our quizzes and textbook readings.</p>
<p>The competitions; our midterms.</p>
<p>
After my showing in the past semester alone, it's likely that I'll take on
running a couple workshops in the future.
</p>
<p>
I can keep going back to the band's events, and catch up with old profs
during reading week, but for how long?
</p>
<p>
How long until everyone has moved on? How long until all the staff rotate,
and nothing but the U-shape of the building remains?
</p>
<p>
Even if I step back and question why, why am I so attached to these
memories, I don't know.
</p>
<p>
I know a lot of people who, like myself, left this school having experienced
the absolute worst periods of their life.
</p>
<p>They never went back. Not for anything.</p>
<p>
But I'm practically desperate to return, to jump back in time to grade 9 and
fuck everything up again, run through depression, experience the worst days
of my dysphoria, and tolerate every bitch and asshole who decided to spend
their time splinkling on a bit more shit all the while.
</p>
<p>
I've run out of things to say at this point. I wish this was better
structured than just a brain dump, but I'm too tired and emotional to work
on it further.
</p>
<p>
So, with the loss of my non-existent PG-13 rating, I shall conclude this
post, and begin [hopefully] immediately on another post that will outline
what I hope to do over the winter break, and what posts I hope to have lined
up.
</p>
<p>
So, to my only reader, stay tuned! I want to get out of the doom and gloom
real soon.
</p>
<hr />
<p>
OKAY, so, as per usual, I know a guy, FOR EVERYTHING. He's directed me
towards contacting another guy on campus who works with A/V stuff. So, maybe
I can find a way to keep that chapter open, despite everything else I have
going on these days. It also seems that there might be a way to take an
elective course that looks into A/V equipment. I will have to hunt around
and see if I can fit that into my program
</p>
</div>
</div>
<include src="includes/tailer.html" />
</main>
<div class="pane spacer">
<include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

@@ -0,0 +1,149 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Pointless Plans | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<nav class="pane">
<include src="includes/nav_header.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<header><h4>You are here:</h4></header>
<h5 class="page">Blog - Pointless Plans</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<main class="pane blog">
<div class="body">
<header>
<h1 class="title">Pointless Plans</h1>
<p class="date">Posted: 18 December, 2025</p>
<p class="date">Last Edited: 18 December, 2025</p>
</header>
<div class="body">
<p>
So... remember my first post where I said that "a meaningless 'Welcome to my
Blog' filled with my hopes and aspirations that inevitably would never come
to light was something I knew I didn't want." Well...
</p>
<p>
I've been stuck in a doom and gloom phase here, and with me hopefully
concluding my counselling soon, I definitely don't want to dwell in it.
</p>
<p>
As a result, I'm making a little list of things that I'd love to write
about, and that you can hopefully expect to read about sometime soon!
</p>
<ul>
<li>
<p>CyberSci</p>
<ul>
<li>
I had the fortune to participate at the Regional level,
representing Carleton University. (Spoiler: We won, barely)
</li>
<li>
This will probably have a follow up once Nationals happens in
the summer.
</li>
</ul>
</li>
<li>
<p>Creative Writing Work</p>
<ul>
<li>
I've written some good things and some really bad things for the
Creative Writing course this term. Obviously, I'll only publish
works that I believe are well polished.
</li>
</ul>
</li>
<li>
<p>Poetry</p>
<ul>
<li>
I want to get back to writing poetry, but for now I have some
things that are still unpublished.
</li>
<li>
They're nothing like Building Up, so if you can't read [bad]
Rust, don't worry. They're also far less whacky than Falling
Down.
</li>
<li>
<a
href="https://gitea.cutieguwu.ca/cutieguwu/falling_down_building_up"
>Falling Down & Building Up</a
>
</li>
</ul>
</li>
</ul>
<p>
Also, I've come to realise that I have a thing for memoirs. I never actually
realised it because I usually read book series, but I now have four memoirs
in my library.
</p>
<ol>
<li>
<em>Fatty Legs</em> by Christy Jordan-Fenton and Margaret Pokiak-Fenton
</li>
<li>its sequel, <em>A Stranger At Home</em></li>
<li><em>The Glass Castle</em> by Jeannette Walls</li>
<li><em>Tomboy Survival Guide</em> by Ivan Coyote</li>
</ol>
<p>
So, after a creative non-fiction flash writing assignment just didn't work
out well, even after reworking it heavily for the exam, I decided that I
should actually take it in the direction of a full memoir, rather than the
poetic form that it currently has.
</p>
<p>
The problem is that I mean, a <em>full</em> memoir. And the problem with
that is that memory is a complex thing. Many important and relevant things
for a memoir are episodic, iconic, flashbulb memories, which can be
difficult to just retrieve on the spot. (Yes, I referenced my textbook, no I
am not a credible source for interpreting this information.)
</p>
<p>
A lot of the time, my writing, particularly my poetry, comes from what can
best be described as state-dependent memory. If I'm lucky, some random
stimulus or set of stimuli will trigger a recollection of these memories,
and give me an image from which to write. The problem is that this also
means I cannot write sequentially.
</p>
<p>
And just to make things even more difficult, memory is unreliable and easily
influenced. So I need to review and consider how much I trust my own
recollection of events, and work to mitigate my biases whenever possible by
asking someone else to recount the event and compare details.
</p>
<p>
So, in the background, I'm going to start working on that. Almost like
forgetting to write in a diary for a week, then trying to catch up while you
still remember.
</p>
<p>
Hopefully this will have the added benefit of holding back some of the
future doom and gloom from the blog.
</p>
<p>
And finally, I'm going to try to finish up my blog generator,
<a href="https://gitea.cutieguwu.ca/cutieguwu/cutinews">cutinews</a>. It's
about time I got back and actually finished a programming project. Chances
are that I'll be live on Twitch (yes, eww, ik) working on the code.
</p>
</div>
</div>
<include src="includes/tailer.html" />
</main>
<div class="pane spacer">
<include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

@@ -0,0 +1,144 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Optical Recovery | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<nav class="pane">
<include src="includes/nav_header.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<header><h4>You are here:</h4></header>
<h5 class="page">Blog - Optical Recovery</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<main class="pane blog">
<div class="body">
<header>
<h1 class="title">Optical Recovery</h1>
<p class="date">Posted: 10 January, 2026</p>
<p class="date">Last Edited: 10 January, 2026</p>
</header>
<div class="body">
<p>
Data preservation is increasingly threatened in the digital age. That almost
sounds backwards, until you dig into modern architecture.
</p>
<p>
Once upon a time, the greatest threat to information preservation was nature
and memory retrieval errors. The digital age introduced denser,
longer-lasting forms of data storage. As we progressed from punch card, to
tape, to 8 inch floppies, to flash and optical, and ever denser forms of
all, we got better at preventing data loss. Quality control, error
correction techniques bundled with file systems, and redundancy (parity) in
storage virtualizations, like RAID.
</p>
<p>
But in the modern age, the Enshittocene<sup>1</sup>, some would call it,
consumers are ever strongarmed into corporate-controlled cloud storage. With
that, comes a lack of ownership.
</p>
<p>
Now, normally that's the lead-up to advocating for homelabbing, FOSS, and
de-Googling. However, in this instance, it's the lead up to optical media
preservation. Why? Because optical media remains a great storage medium
today. Even if you don't believe that, many old games in their original
form, or other preserved media, are still only available on discs.
</p>
<p>
However, discs are subject to natural degradation through scratches,
delamination, and disc rot. Especially as the quality control on these discs
dwindles. Thus, there must be additional work put into caring for this
medium.
</p>
<p>
RAID arrays are great as alternatives too, as they already have parity,
ddrescue, and error-correcting filesystems available. The problem is that
the arrays themselves are not. At least not right now. Once again, partly
thanks to AI datacentres demanding obscene amounts of resources, the cost of
hard drives has gone up significantly since the pandemic.
</p>
<p>
With that, we segue into my latest project, temporarily named
<em>Kramer</em>. I know I did some research to come up with that name, but I
genuinely don't recall who it was in reference to. In fact, having tried
tracking down who it's in reference to, I may have messed up when I picked
the name. My best guess is that it's in reference to Kane Kramer, but he
helped design the Digital Audio Player, not optical media.
</p>
<p>
Regardless, it's always been a working name while I figure out if I can
finish the project.
</p>
<p>So, what is Kramer?</p>
<p>
Kramer is a recovery utility. Conceptually, it's meant to be akin to
ddrescue<sup>2</sup>, but optimized for recovering data from optical media.
</p>
<p>
There are two main problems I've experienced while trying to use ddrescue
with optical drives, and both stem from the drive's firmware. Now, I don't
know if me using the <code>--reset-slow</code> flag is contributing to these
issues or not, but I experience more problems without it.
</p>
<p>
If you've ever tried working with optical media in Linux, you may be
familiar with <em>The Sleep Bug</em>. Normally, this is when a drive's
firmware decides to sleep after two minutes, and never wakes. In the case of
ddrescue, I've noticed that the drive often sleeps after read errors. When
this happens, I can't kill ddrescue, and it just hangs. Even if I forcefully
disconnect the drive, it just hangs, awaiting a response from the block
device.
</p>
<p>
For the record, Kramer still has this issue. I've only recently gotten
mapping working alongside directIO to get around the Linux kernel's read
poisoning.
</p>
<p>
Keep in mind that I know very little C, and I don't play this low in the
system much yet. So, I don't know why, but without the
<code>O_DIRECT</code> flag to bypass the kernel's buffer (and whatever else
directIO technically bypasses), after a single IO error, the kernel will
refuse to return anything but that same IO error until the parent process is
restarted. I tried doing the C calls directly through FFI, since poisoning
is something that Rust employs in some places for safety. That didn't work,
so I tried spawning a child process to execute the read, but that also
didn't work. Thankfully, I know a guy, and with his help I was able to track
down not only how to implement directIO, but also without using FFI to call
<code>posix_memalign</code>.
</p>
<p>
Back on track, the other issue is the spin-down. As ddrescue reads smaller
clusters and/or starts hitting a particularly poor section of the disc, some
drives' firmware is too quick to spin down, causing the spindle to
constantly speed up and slow down, increasing wear.
</p>
<hr />
<ol>
<li>
I would recommend reading <em>Enshittification</em> by Cory Doctorow.
</li>
<li>
As I'm writing Kramer in Rust, I also have to stress the point that this
project is not intended as a ddrescue rewrite in rust, for the sake of a
rewrite in rust. I'm not trying to clone or replace ddrescue. Kramer has
a different target, and ddrescue is a resource for me to learn from and
use as a guide while I dig deeper into the system than I ever have.
</li>
</ol>
</div>
</div>
<include src="includes/tailer.html" />
</main>
<div class="pane spacer">
<include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

@@ -1,3 +1 @@
@use "../partials/a_common"; @use "../partials/a_common";
@use "../partials/pane_main";

View File

@@ -6,29 +6,28 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Disclosure</h5> <h5 class="page">Disclosure</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="body"> <div class="body">
<div class="header"> <header>
<h1 class="title">Disclosure</h1> <h1 class="title">Disclosure</h1>
<p class="date">Last Edited: 01 August, 2025</p> <p class="date">Last Edited: 01 August, 2025</p>
</div> </header>
<div class="body"> <div class="body">
<div class="layout_row"> <div class="layout_row">
<div class="item"> <div class="item">
<h2 class="title">Website Security</h2> <h2 class="title">Website Security</h2>
<p> <p>
This website uses a number of security features, most of which This website uses a number of security features, most of which are
are built into your browser, to protect my and your: built into your browser, to protect my and your:
</p> </p>
<ul> <ul>
<li>Infrastructure</li> <li>Infrastructure</li>
@@ -36,80 +35,81 @@
<li>Experience</li> <li>Experience</li>
</ul> </ul>
<p> <p>
You can see some of the main methods that this website uses You can see some of the main methods that this website uses below:
below:
</p> </p>
<div class="chunk_list"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Anubis</h3> <h3 class="name">Anubis</h3>
<span class="subtitle" <span class="subtitle"
>AI Scraper Screening Utility</span >AI Scraper Screening Utility</span
> >
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p> <p>
This website is protected by a screening utility This website is protected by a screening utility known
known as as
<a href="https://anubis.techaro.lol/" class="italic" <a href="https://anubis.techaro.lol/"
>Anubis</a ><cite>Anubis</cite></a
>. You may also have heard of this program as >. You may also have heard of this program as
<span class="italic">BotStopper</span> for those who <cite>BotStopper</cite> for those who purchase a
purchase a commercial license because they somehow commercial license because they somehow can't live with
can't live with a cute anime girl showing up on a cute anime girl showing up on their websites. UNESCO
their websites. UNESCO notably don't have a problem notably don't have a problem with that, and proudly
with that, and proudly present an anime girl as of present an anime girl as of writing this.
writing this.
</p> </p>
<p> <p>
Despite what some fools at the FSF figure, Anubis IS I do not have a commercial license and do not pay in any
NOT malware. See: way for Anubis. If I had money to spare, I would
<a actively fund the project.
href="https://www.youtube.com/watch?v=YisGpdPjYM8"
class="italic"
>I Platformed A Linux "Cyber Criminal"</a
>. It does have
<span class="italic">similar</span> behaviour due to
its proof-of-work scheme, which asks your browser to
run a throwaway calculation in an effort to block or
dissuade AI scrapers. Many, if not nearly all
clients, are subject to screening based on various
filters around your browser's user agent string.
</p> </p>
<p> <p>
Additionally, if you have concerns about the Despite what some fools at the FSF figure, Anubis IS NOT
legality of my use of Anubis, please see malware. See:
<a <a href="https://www.youtube.com/watch?v=YisGpdPjYM8"
href="https://github.com/TecharoHQ/anubis/issues/50" ><cite
>I Platformed A Linux "Cyber Criminal"</cite
></a
>. It does have <em>similar</em> behaviour due to its
proof-of-work scheme, which asks your browser to run a
throwaway calculation in an effort to block or dissuade
AI scrapers. Many, if not nearly all clients, are
subject to screening based on various filters around
your browser's user agent string.
</p>
<p>
Additionally, if you have concerns about the legality of
my use of Anubis, please see
<a href="https://github.com/TecharoHQ/anubis/issues/50"
>Anubis Issue #50</a >Anubis Issue #50</a
> >
where concerns were looked into. where concerns were looked into.
</p> </p>
<p> <p>
Now, if you have a moral issue with this project, Now, if you have a moral issue with this project, you
you may do one of two things (because adjusting your may do one of two things (because adjusting your UA will
UA will just make me block the UA, or add a complete just make me block the UA, or add a complete catch-all
catch-all rule): rule):
</p> </p>
<ol> <ol>
<li> <li>
Don't allow JavaScript to run. (Have fun making Don't allow JavaScript to run. (Have fun making this
this work) work)
</li> </li>
<li>Just don't use my website.</li> <li>Just don't use my website.</li>
</ol> </ol>
<p> <p>
If you experience issues with Anubis blocking you, If you experience issues with Anubis blocking you, which
which presumably hasn't happened on your way to this presumably hasn't happened on your way to this page, you
page, you can email me with details. DO NOT bother can email me with details. DO NOT bother the main
the main project as it may be an issue with a project as it may be an issue with a screening rule that
screening rule that I've invoked. I've invoked.
</p> </p>
<p> <p>
If you do wish to raise an issue with the Anubis If you do wish to raise an issue with the Anubis dev(s),
dev(s), PLEASE DO NOT DO SOMETHING LIKE THIS: PLEASE DO NOT DO SOMETHING LIKE THIS:
</p> </p>
<ul> <ul>
<li> <li>
@@ -132,20 +132,20 @@
</li> </li>
</ul> </ul>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Content Security Policy (CSP)</h3> <h3 class="name">Content Security Policy (CSP)</h3>
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p> <p>
This website, unlike a scary number of sites This website, unlike a scary number of sites (including
(including google.com and microsoft.com as of google.com and microsoft.com as of writing) has a CSP
writing) has a CSP configured. This helps prevent or configured. This helps prevent or mitigate a number of
mitigate a number of possible attacks including possible attacks including cross-site scripting and
cross-site scripting and clickjacking. clickjacking.
</p> </p>
<p> <p>
Further Reading: Further Reading:
@@ -155,26 +155,24 @@
> >
</p> </p>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name"> <h3 class="name">
HTTP Strict Transport Security (HSTS) HTTP Strict Transport Security (HSTS)
</h3> </h3>
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p> <p>
This website has a HSTS policy which indicates to This website has a HSTS policy which indicates to your
your browser to use a secure connection when browser to use a secure connection when connecting.
connecting.
</p> </p>
<p> <p>
Additionally, the server will force redirect ALL Additionally, the server will force redirect ALL
connections over to HTTPS for any browsers which do connections over to HTTPS for any browsers which do not
not use this header or have a HTTPS-only mode use this header or have a HTTPS-only mode enabled.
enabled.
</p> </p>
<p> <p>
Further Reading: Further Reading:
@@ -184,13 +182,13 @@
> >
</p> </p>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Other Security Headers</h3> <h3 class="name">Other Security Headers</h3>
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p>Some include:</p> <p>Some include:</p>
<ul> <ul>
@@ -201,72 +199,69 @@
<li>Referrer-Policy</li> <li>Referrer-Policy</li>
</ul> </ul>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Security.txt</h3> <h3 class="name">Security.txt</h3>
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p> <p>
This file offers information to security researchers This file offers information to security researchers to
to silently report any issues they find so that I silently report any issues they find so that I can
can resolve them. resolve them.
</p> </p>
</div> </div>
</div> </section>
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<h2 class="title">Cookies</h2> <h2 class="title">Cookies</h2>
<p> <p>
This website only leaves cookies that are required for the This website only leaves cookies that are required for the website's
website's functioning. I do not place any trackers on your functioning. I do not place any trackers on your system.
system.
</p> </p>
<p> <p>
Note: I cannot say what cookies may be left by services that I Note: I cannot say what cookies may be left by services that I host
host (such as Gitea and Web Check). For more details, please see (such as Gitea and Web Check). For more details, please see those
those projects' documentation. projects' documentation.
</p> </p>
<p>You can see all cookies that this website uses below:</p> <p>You can see all cookies that this website uses below:</p>
<div class="chunk_list"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Anubis</h3> <h3 class="name">Anubis</h3>
<span class="subtitle" <span class="subtitle"
>AI Scraper Screening Utility</span >AI Scraper Screening Utility</span
> >
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p> <p>
This website does utilize a cookie. This cookie is This website does utilize a cookie. This cookie is made
made by Anubis to keep your system from having to by Anubis to keep your system from having to pass the
pass the proof-of-work check every time you request proof-of-work check every time you request a resource
a resource from this site. from this site.
</p> </p>
<p> <p>
THEORETICALLY, this cookie, as with any JavaScript THEORETICALLY, this cookie, as with any JavaScript
cookie, cookie,
<span class="italic">can</span> be used to track <em>can</em> be used to track you.
you.
</p> </p>
<p> <p>
HOWEVER, I do not use it for tracking, Anubis does HOWEVER, I do not use it for tracking, Anubis does not
not use it for tracking, and there is no evidence use it for tracking, and there is no evidence that 3rd
that 3rd parties are abusing the cookie. There are parties are abusing the cookie. There are far more
far more attractive targets. attractive targets.
</p> </p>
<p> <p>
IF this becomes an issue, until the lead IF this becomes an issue, until the lead developer(s)
developer(s) and/or community can find a solution, and/or community can find a solution, Anubis will be
Anubis will be reconfigured to send out challenges reconfigured to send out challenges even more
even more frequently, and an advisory notice to wipe frequently, and an advisory notice to wipe your browser
your browser cookies at the end of your session will cookies at the end of your session will be made.
be made.
</p> </p>
<p> <p>
Under the current configuration, Anubis' cookies are Under the current configuration, Anubis' cookies are
@@ -274,27 +269,25 @@
necessarily gone from your system. necessarily gone from your system.
</p> </p>
<p> <p>
<a <a href="https://github.com/TecharoHQ/anubis/issues/50"
href="https://github.com/TecharoHQ/anubis/issues/50"
>Anubis Issue #50</a >Anubis Issue #50</a
> >
briefly looked into the possibility of abuse via the briefly looked into the possibility of abuse via the
cookie. cookie.
</p> </p>
</div> </div>
</div> </section>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,33 +6,33 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">400</h5> <h5 class="page">Error - 400</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>400</h1> <header>
<h1 class="title">400</h1>
<h2>Bad Request!</h2> <h2>Bad Request!</h2>
</header>
<hr /> <hr />
<p> <p>
The server cannot or will not process this request due to apparent The server cannot or will not process this request due to apparent client-side
client-side error or deception. error or deception.
</p> </p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,28 +6,28 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">401</h5> <h5 class="page">Error - 401</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>401</h1> <header>
<h1 class="title">401</h1>
<h2>Unauthorized!</h2> <h2>Unauthorized!</h2>
</header>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,30 +6,30 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">403</h5> <h5 class="page">Error - 403</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>403</h1> <header>
<h1 class="title">403</h1>
<h2>Forbidden!</h2> <h2>Forbidden!</h2>
</header>
<hr /> <hr />
<p>The server is refusing to act upon your request.</p> <p>The server is refusing to act upon your request.</p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,28 +6,28 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">404</h5> <h5 class="page">Error - 404</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>404</h1> <header>
<h1 class="title">404</h1>
<h2>Page not found!</h2> <h2>Page not found!</h2>
</header>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,30 +6,30 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">500</h5> <h5 class="page">Error - 500</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>500</h1> <header>
<h1 class="title">500</h1>
<h2>Internal Server Error!</h2> <h2>Internal Server Error!</h2>
</header>
<hr /> <hr />
<p>The server has no clue WTF happened here.</p> <p>The server has no clue WTF happened here.</p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,30 +6,30 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">501</h5> <h5 class="page">Error - 501</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>501</h1> <header>
<h1 class="title">501</h1>
<h2>Not Implemented!</h2> <h2>Not Implemented!</h2>
</header>
<hr /> <hr />
<p>Whatever you just tried doing, the server doesn't know how to handle it.</p> <p>Whatever you just tried doing, the server doesn't know how to handle it.</p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,30 +6,30 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">502</h5> <h5 class="page">Error - 502</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>502</h1> <header>
<h1 class="title">502</h1>
<h2>Bad Gateway!</h2> <h2>Bad Gateway!</h2>
</header>
<hr /> <hr />
<p>This service may be offline.</p> <p>This service may be offline.</p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,30 +6,30 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">503</h5> <h5 class="page">Error - 503</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>503</h1> <header>
<h1 class="title">503</h1>
<h2>Service Unavailable!</h2> <h2>Service Unavailable!</h2>
</header>
<hr /> <hr />
<p>The server may be overloaded or down for maintenance.</p> <p>The server may be overloaded or down for maintenance.</p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -2,37 +2,37 @@
<html lang="en-ca"> <html lang="en-ca">
<head> <head>
<title>Error Template | Cutieguwu</title> <title>504 | Cutieguwu</title>
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Error Template</h5> <h5 class="page">Error - 504</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_error"> <main class="pane error">
<div class="body"> <div class="body">
<h1>504</h1> <header>
<h1 class="title">504</h1>
<h2>Gateway Timeout!</h2> <h2>Gateway Timeout!</h2>
</header>
<hr /> <hr />
<p> <p>
The server acted as a proxy and didn't receive a timely response from the The server acted as a proxy and didn't receive a timely response from the
upstream server. upstream server.
</p> </p>
</div> </div>
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -4,14 +4,69 @@
<channel> <channel>
<title>Cutieguwu Yaps</title> <title>Cutieguwu Yaps</title>
<link>https://www.cutieguwu.ca/</link> <link>https://www.cutieguwu.ca/</link>
<description <description>
>Cutieguwu's blog where she discusses various things.</description> Cutieguwu's blog where she discusses various things.
</description>
<language>en-ca</language> <language>en-ca</language>
<category>Technology/IT/Life/Mental Health/Health</category> <category>Technology/IT/Life/Mental Health/Health</category>
<item>
<title>Optical Recovery</title>
<pubDate>10 January, 2026</pubDate>
<link>https://www.cutieguwu.ca/blog/posts/5_optical_recovery.html</link>
<description>
Introducing my optical media recovery utility, and some challenges in development.
</description>
<category>Coding</category>
<category>Programming</category>
<category>Optical Media</category>
<category>Rust</category>
</item>
<item>
<title>Pointless Plans</title>
<pubDate>18 December, 2025</pubDate>
<link>https://www.cutieguwu.ca/blog/posts/4_pointless_plans.html</link>
<description>Winter Break plans</description>
<category>Life</category>
<category>Mental Health</category>
<category>Health</category>
</item>
<item>
<title>Closing Chapters</title>
<pubDate>18 December, 2025</pubDate>
<link>https://www.cutieguwu.ca/blog/posts/3_closing_chapters.html</link>
<description>
Things go, and others come in. Sometimes, we don't want to move forward, but we must.
</description>
<category>Life</category>
<category>Mental Health</category>
<category>Health</category>
</item>
<item>
<title>Buyer's Anxiety</title>
<pubDate>11 September, 2025</pubDate>
<link>https://www.cutieguwu.ca/blog/posts/2_buyers_anxiety.html</link>
<description>
Discussing my fears regarding a purchase for a friend.
</description>
<category>Life</category>
<category>Mental Health</category>
<category>Health</category>
</item>
<item>
<title>Unsure U.</title>
<pubDate>09 August, 2025</pubDate>
<link>https://www.cutieguwu.ca/blog/posts/1_unsure_u.html</link>
<description>Discussing my fears for University.</description>
<category>Life</category>
<category>Mental Health</category>
<category>Health</category>
</item>
<item> <item>
<title>Splitting Pathways</title> <title>Splitting Pathways</title>
<link <pubDate>29 July, 2025</pubDate>
>https://www.cutieguwu.ca/blog/posts/0_divergent_pathways.html</link> <link>
https://www.cutieguwu.ca/blog/posts/0_divergent_pathways.html
</link>
<description>Discussing my struggles in love.</description> <description>Discussing my struggles in love.</description>
<category>Life</category> <category>Life</category>
<category>Mental Health</category> <category>Mental Health</category>

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

View File

@@ -1,11 +1,28 @@
<!-- Minecraft --> <!-- Minecraft -->
<li class="nav_dropdown"> <li class="nav_dropdown">
<div class="dropdown_header nav_item"> <div class="header nav_item">
<a class="nav_title" href="/minecraft/">Minecraft</a> <a class="nav_title" href="/minecraft/">Minecraft</a>
<ion-icon name="chevron-forward-outline"></ion-icon> <ion-icon name="chevron-forward-outline"></ion-icon>
</div> </div>
<div class="dropdown_body"> <div class="body">
<a class="nav_title" href="/minecraft/bearock/">Bearock SMP</a> <a class="nav_title" href="/minecraft/bearock/">Bearock SMP</a>
<a class="nav_title" href="/minecraft/rebirth/">Rebirth SMP</a> <a class="nav_title" href="/minecraft/rebirth/">Rebirth SMP</a>
</div> </div>
</li> </li>
<!-- Dropdown Pronoun Pages -->
<li class="dropdown">
<header>
<a class="header item" href="https://pronouns.page/@Cutieguwu">
<p class="title">Pronoun Pages</p>
<ion-icon name="chevron-forward-outline"></ion-icon>
</a>
</header>
<div class="body">
<a class="title" href="https://en.pronouns.page/@Cutieguwu">English</a>
<a class="title" href="https://pronoms.fr/@Cutieguwu">French</a>
</div>
</li>
<!-- Public Facing Webcheck -->
<li><a class="title" href="https://webcheck.cutieguwu.ca">Web Check</a></li>

View File

@@ -1,14 +1,59 @@
<div class="spacer_container spacer_posts"> <div class="spacer_container blog_recent_posts">
<h2>Recent</h2> <h2>Recent Posts</h2>
<div class="chunk_list recent_posts"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div>
<h3 class="name">Optical Recovery</h3>
<span class="subtitle">10 January, 2026</span>
</div>
<a href="/blog/posts/5_optical_recovery.html" class="status">View</a>
</header>
</section>
<section>
<header>
<div>
<h3 class="name">Pointless Plans</h3>
<span class="subtitle">18 December, 2025</span>
</div>
<a href="/blog/posts/4_pointless_plans.html" class="status">View</a>
</header>
</section>
<section>
<header>
<div>
<h3 class="name">Closing Chapters</h3>
<span class="subtitle">18 December, 2025</span>
</div>
<a href="/blog/posts/3_closing_chapters.html" class="status">View</a>
</header>
</section>
<section>
<header>
<div>
<h3 class="name">Buyer's Anxiety</h3>
<span class="subtitle">11 September, 2025</span>
</div>
<a href="/blog/posts/2_buyers_anxiety.html" class="status">View</a>
</header>
</section>
<section>
<header>
<div>
<h3 class="name">Unsure U.</h3>
<span class="subtitle">09 August, 2025</span>
</div>
<a href="/blog/posts/1_unsure_u.html" class="status">View</a>
</header>
</section>
<section>
<header>
<div> <div>
<h3 class="name">Divergent Pathways</h3> <h3 class="name">Divergent Pathways</h3>
<span class="subtitle">29 July, 2025</span> <span class="subtitle">29 July, 2025</span>
</div> </div>
<a href="/blog/posts/0_divergent_pathways.html" class="status"> View </a> <a href="/blog/posts/0_divergent_pathways.html" class="status">View</a>
</div> </header>
</div> </section>
</div> </div>
</div> </div>

View File

@@ -1 +1,3 @@
<p class="footer">Made with love in Canada 🇨🇦</p> <footer>
<p>Made with love in Canada 🇨🇦</p>
</footer>

View File

@@ -4,6 +4,13 @@
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0" />
<meta name="keywords" content="cutieguwu" /> <meta name="keywords" content="cutieguwu" />
<!-- Explicitly stop Bing from additionally using content for AI -->
<!-- See: https://github.com/ai-robots-txt/ai.robots.txt/issues/111 -->
<meta name="bingbot" content="noarchive" />
<!-- Mastodon Author Attribution -->
<meta name="fediverse:creator" content="@OliveTheFemboy@mastodon.online" />
<link rel="icon" type="image/x-icon" href="img/test-favicon.jpg" /> <link rel="icon" type="image/x-icon" href="img/test-favicon.jpg" />
<link rel="stylesheet" type="text/css" href="style.css" /> <link rel="stylesheet" type="text/css" href="style.css" />

View File

@@ -0,0 +1,5 @@
<input id="toggle_nav" type="checkbox" />
<label for="toggle_nav" class="nav_header">
<h2 class="logo">Cutieguwu</h2>
<ion-icon name="menu-outline"></ion-icon>
</label>

View File

@@ -1 +0,0 @@
<h2 class="nav_logo">Cutieguwu</h2>

View File

@@ -1,74 +1,69 @@
<ul class="nav_menu"> <ul class="menu">
<!-- Home --> <!-- Home -->
<li class="nav_item"> <li class="item">
<a class="nav_title" href="/">Home</a> <a class="title" href="/">Home</a>
</li> </li>
<li class="nav_item"> <li class="item">
<a class="nav_title" href="/blog/">Blog</a> <a class="title" href="/blog/">Blog</a>
</li> </li>
<hr /> <li><hr /></li>
<!-- About --> <!-- About -->
<li class="nav_item"><a class="nav_title" href="/about.html">About</a></li> <li class="item"><a class="title" href="/about.html">About</a></li>
<!-- Pronoun Pages --> <!-- Pronoun Pages -->
<li class="nav_dropdown"> <li class="item"><a class="title" href="https://pronouns.page/@Cutieguwu">Pronoun Pages</a></li>
<a class="dropdown_header nav_item" href="https://pronouns.page/@Cutieguwu">
<p class="nav_title">Pronoun Pages</p>
<ion-icon name="chevron-forward-outline"></ion-icon>
</a>
<div class="dropdown_body">
<a class="nav_title" href="https://en.pronouns.page/@Cutieguwu">English</a>
<a class="nav_title" href="https://pronoms.fr/@Cutieguwu">French</a>
</div>
</li>
<!-- External Links --> <!-- External Links -->
<li class="nav_dropdown"> <li class="dropdown">
<div class="dropdown_header nav_item"> <input type="checkbox" id="toggle_ext_links" />
<p class="nav_title">External Links</p> <label for="toggle_ext_links" class="item">
<p class="title">External Links</p>
<ion-icon name="chevron-forward-outline"></ion-icon> <ion-icon name="chevron-forward-outline"></ion-icon>
</div> </label>
<div class="dropdown_body"> <ul>
<a class="nav_title" href="https://github.com/Cutieguwu">Github (Mirror)</a> <li><a class="title" href="https://github.com/Cutieguwu">Github (Mirror)</a></li>
<a class="nav_title" href="https://www.twitch.tv/cutieguwu">Twitch</a> <li><a class="title" href="https://play.picoctf.org/users/cutieguwu">picoCTF</a></li>
<a class="nav_title" href="https://www.youtube.com/@Cutieguwu">YouTube</a> <li><a class="title" href="https://www.twitch.tv/cutieguwu">Twitch</a></li>
</div> <li><a class="title" href="https://www.youtube.com/@Cutieguwu">YouTube</a></li>
</ul>
</li> </li>
<hr /> <li><hr /></li>
<!-- Public Services --> <!-- Public Services -->
<li class="nav_dropdown"> <li class="dropdown">
<div class="dropdown_header nav_item"> <input type="checkbox" id="toggle_srv_pub" />
<p class="nav_title">Public Services</p> <label for="toggle_srv_pub" class="item">
<p class="title">Public Services</p>
<ion-icon name="chevron-forward-outline"></ion-icon> <ion-icon name="chevron-forward-outline"></ion-icon>
</div> </label>
<div class="dropdown_body"> <ul>
<a class="nav_title" href="https://webcheck.cutieguwu.ca">Web Check</a> <li><a class="title" href="https://cyberchef.cutieguwu.ca">CyberChef</a></li>
</div> </ul>
</li> </li>
<!-- Services --> <!-- Services -->
<li class="nav_dropdown"> <li class="dropdown">
<div class="dropdown_header nav_item"> <input type="checkbox" id="toggle_srv_priv" />
<p class="nav_title">Services</p> <label for="toggle_srv_priv" class="item">
<p class="title">Services</p>
<ion-icon name="chevron-forward-outline"></ion-icon> <ion-icon name="chevron-forward-outline"></ion-icon>
</div> </label>
<div class="dropdown_body"> <ul>
<a class="nav_title" href="https://gitea.cutieguwu.ca/Cutieguwu">Gitea</a> <li><a class="title" href="https://gitea.cutieguwu.ca/Cutieguwu">Gitea</a></li>
</div> </ul>
</li> </li>
<hr /> <li><hr /></li>
<!-- Website Disclosure --> <!-- Website Disclosure -->
<li class="nav_item"> <li class="item">
<a class="nav_title" href="/disclosure.html">Disclosure</a> <a class="title" href="/disclosure.html">Disclosure</a>
</li> </li>
<li class="nav_item"> <li class="item">
<a class="nav_title" href="/acknowledgements.html">Acknowledgements</a> <a class="title" href="/acknowledgements.html">Acknowledgements</a>
</li> </li>
</ul> </ul>

View File

@@ -1,18 +1,21 @@
<div class="quick_links"> <div class="quick_links">
<a href="https://gitea.cutieguwu.ca/Cutieguwu/cutieguwu-site" title="Website Source"> <a href="https://gitea.cutieguwu.ca/Cutieguwu/cutieguwu-site" title="Website Source">
<ion-icon name="git-branch-outline" alt="(Gitea) Website Source" class="gitea"></ion-icon> <ion-icon name="git-branch-outline" alt="(Gitea) Website Source" class="green"></ion-icon>
</a> </a>
<a <a
href="https://gitea.cutieguwu.ca/Cutieguwu/cutieguwu-site/src/branch/main/LICENSE" href="https://gitea.cutieguwu.ca/Cutieguwu/cutieguwu-site/src/branch/main/LICENSE"
title="MIT License" title="MIT License"
> >
<ion-icon name="book-outline" alt="MIT License" class="license"></ion-icon> <ion-icon name="book-outline" alt="MIT License" class="indigo"></ion-icon>
</a> </a>
<a href="https://gitea.cutieguwu.ca/Cutieguwu/cutieguwu-site/issues" title="Report Issues"> <a href="https://gitea.cutieguwu.ca/Cutieguwu/cutieguwu-site/issues" title="Report Issues">
<ion-icon name="alert-circle-outline" alt="Report Issues" class="issue_tracker"></ion-icon> <ion-icon name="alert-circle-outline" alt="Report Issues" class="magenta"></ion-icon>
</a> </a>
<a href="https://www.cutieguwu.ca/feed/rss.xml" title="RSS Feed" download> <a href="https://www.cutieguwu.ca/feed/rss.xml" title="RSS Feed" download>
<ion-icon name="logo-rss" alt="RSS Feed" class="rss"></ion-icon> <ion-icon name="logo-rss" alt="RSS Feed" class="orange"></ion-icon>
</a> </a>
<a class="phantom"></a>
<!-- Mastodon Verification -->
<!-- Doubles as the spacer -->
<a rel="me" href="https://mastodon.online/@OliveTheFemboy" class="phantom"></a>
</div> </div>

View File

@@ -1,2 +1,3 @@
<script type="module" src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.esm.js"></script> <script type="module" src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.js"></script> <script nomodule src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.js"></script>
<script src="https://keepandroidopen.org/banner.js"></script>

View File

@@ -1 +1 @@
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p> <footer><p class="tailer">Copyright (c) 2025 Olivia Brooks</p></footer>

View File

@@ -6,289 +6,40 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Home</h5> <h5 class="page">Home</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="body"> <div class="body">
<div class="header"> <header>
<h1 class="title">Home</h1> <h1 class="title">Home</h1>
<p class="date">Last Edited: 03 August, 2025</p> <p class="date">Last Edited: 03 August, 2025</p>
</div> </header>
<div class="body"> <div class="body">
<p>People, this is under development. Live with the lorem ipsum.</p>
<p>lorem ipsum idk what else there is in this latin phrase</p> <p>lorem ipsum idk what else there is in this latin phrase</p>
<p> <p>
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex
ex sapien vitae pellentesque sem placerat. In id cursus mi pretium sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis
tellus duis convallis. Tempus leo eu aenean sed diam urna tempor.
Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis
massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper
vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra
inceptos himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing
elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id
cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam
urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum
egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut
hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent
per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit amet
consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti
taciti sociosqu. Ad litora torquent per conubia nostra inceptos sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos. Lorem ipsum dolor sit amet consectetur
adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem
placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu
aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus
bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc
posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora
torquent per conubia nostra inceptos himenaeos. Lorem ipsum dolor sit
amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae
pellentesque sem placerat. In id cursus mi pretium tellus duis
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent
taciti sociosqu. Ad litora torquent per conubia nostra inceptos
himenaeos. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus
mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna
tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas.
Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit
semper vel class aptent taciti sociosqu. Ad litora torquent per conubia
nostra inceptos himenaeos.
</p> </p>
</div> </div>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,25 +6,23 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Bearock SMP</h5> <h5 class="page">Bearock SMP</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="main_body"><p>This page has not yet been filled out. Sorry!</p></div> <div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -1,3 +1 @@
@use "../../partials/a_common"; @use "../../partials/a_common";
@use "../../partials/pane_main";

View File

@@ -6,25 +6,23 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Minecraft</h5> <h5 class="page">Minecraft</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="main_body"><p>This page has not yet been filled out. Sorry!</p></div> <div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -6,25 +6,23 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Rebirth SMP</h5> <h5 class="page">Rebirth SMP</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="main_body"><p>This page has not yet been filled out. Sorry!</p></div> <div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer"> <div class="pane spacer">
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div> <div class="spacer_container"><p>#AD</p></div>
</div> </div>
</div>
<include src="includes/footer.html" /> <include src="includes/footer.html" />
<include src="includes/scripts.html" /> <include src="includes/scripts.html" />
</body> </body>

View File

@@ -1,3 +1 @@
@use "../../partials/a_common"; @use "../../partials/a_common";
@use "../../partials/pane_main";

View File

@@ -1,3 +1 @@
@use "../partials/a_common"; @use "../partials/a_common";
@use "../partials/pane_main";

View File

@@ -0,0 +1,52 @@
.red {
color: var(--accent-red);
}
.orange {
color: var(--accent-orange);
}
.yellow {
color: var(--accent-yellow);
}
.green {
color: var(--accent-green);
}
.cyan {
color: var(--accent-cyan);
}
.blue {
color: var(--accent-blue);
}
.indigo {
color: var(--accent-indigo);
}
.purple {
color: var(--accent-purple);
}
.magenta {
color: var(--accent-magenta);
}
.pink {
color: var(--accent-pink);
}
.white {
color: var(--white-0);
}
.docker {
/*
Docker is protective of their colours.
https://www.docker.com/company/newsroom/media-resources/
*/
color: #1d63edff;
}

View File

@@ -1,22 +1,21 @@
@use "a_chunk_list"; @use "_a_colours.css";
@use "a_footer"; @use "a_footer";
@use "a_layouts"; @use "a_layouts";
@use "a_pane";
@use "a_quick_links"; @use "a_quick_links";
@use "a_pages"; @use "a_section_list";
@use "pane_nav";
@use "pane_spacer";
:root { :root {
/* // 0: Base of an element. Example: the viewport class.
0: Base of an element. Example: the viewport class. //
// The higher the integer, the lighter the colour, the higher
The higher the integer, the lighter the colour, the higher it should be visually, meaning more nested in the cascade. // it should be visually, meaning more nested in the cascade.
//
Odd numbers should be used as intermediate colours between the fore and back elements. Excepting white--white's special. // Odd numbers should be used as intermediate colours between the
Eg. Current dropdown menu. // fore and back elements.
*/ //
font-size: var(--font-size-generic); // Eg. Current dropdown menu.
--accent-red: #cb4c4cff; --accent-red: #cb4c4cff;
--accent-orange: #e18142ff; --accent-orange: #e18142ff;
@@ -53,14 +52,12 @@
--border-radius-small: calc(var(--border-radius-large) / 2); --border-radius-small: calc(var(--border-radius-large) / 2);
--border-radius-large: 1rem; --border-radius-large: 1rem;
--border-radius-leaf: var(--border-radius-small) --border-radius-leaf: var(--border-radius-small) var(--border-radius-large);
var(--border-radius-large);
--margin-pane: 1.5rem; --spacing-small: 0.75rem; // Previously: --spacing-horizontal
--spacing-medium: 1rem; // Previously: --spacing-menu-gap
--spacing-horizontal: 0.75rem; --spacing-large: 1.5rem; // Previously: --margin-pane
--spacing-menu-gap: 1rem; --spacing-thicc: calc(var(--spacing-large) * 4);
--spacing-thicc: calc(var(--margin-pane) * 4);
--transition-fade: 0.4s ease-out; --transition-fade: 0.4s ease-out;
--transition-cut: none; --transition-cut: none;
@@ -68,10 +65,20 @@
--transform-scale-x: scaleX(1.15); --transform-scale-x: scaleX(1.15);
--transform-scale-y: scaleY(1.15); --transform-scale-y: scaleY(1.15);
body { font-size: var(--font-size-generic);
color: var(--white-1);
}
body {
display: grid;
background-color: var(--background-0); background-color: var(--background-0);
grid-template-rows: min-content auto;
// Adds a margin otherwise for some reason.
margin: 0; margin: 0;
color: var(--white-3);
.kao-banner {
grid-area: banner;
} }
} }
@@ -101,48 +108,42 @@ a {
font-family: var(--font-family-generic); font-family: var(--font-family-generic);
} }
ion-icon { // Mobile
width: 1rem; @media (max-width: 600px) {
height: 1rem; :root {
} --spacing-large: var(--spacing-small);
}
.viewport { body {
/* Adds a margin otherwise for some reason. */
margin: inherit;
display: grid;
grid-auto-flow: column dense;
grid-template-columns: min-content 1fr min-content;
}
@media only screen and (max-width: 500px) {
.viewport {
grid-auto-flow: row;
grid-template-columns: none; grid-template-columns: none;
grid-template-areas: "banner" "nav" "main" "spacer";
/* Compress spacings to maximize useable area. */ // Compress spacings to maximize useable area.
padding: var(--spacing-horizontal); // padding: var(--spacing-small);
justify-items: center; justify-items: center;
} }
.pane_nav, .pane.spacer,
.pane_spacer,
.footer { .footer {
position: static; position: static;
top: auto; top: auto;
left: auto; left: auto;
right: auto; right: auto;
} }
}
.pane_nav, // Tablets and Intermediary
.pane_main, @media (min-width: 601px) and (max-width: 1023px) {
.pane_blog, body {
.pane_error, grid-template-columns: min-content 1fr;
.pane_spacer { grid-template-areas: "banner banner" "nav main" "spacer main";
margin: 0;
} }
} }
.italic { // Desktops and Laptops
font-style: italic; @media (min-width: 1024px) {
body {
grid-template-columns: min-content 1fr min-content;
grid-template-areas: "banner banner banner" "nav main spacer";
}
} }

View File

@@ -1,14 +1,17 @@
.footer { body > footer {
margin: 0; padding: var(--spacing-small);
padding: var(--spacing-horizontal);
width: min-content; width: min-content;
background-color: var(--background-2); background-color: var(--background-2);
border-top-right-radius: var(--border-radius-large); border-radius: 0 var(--border-radius-large) 0 0;
font-size: 1.65vh; font-size: 1.65vh;
white-space: nowrap; white-space: nowrap;
position: fixed; position: fixed;
bottom: 0; bottom: 0;
> p {
margin: 0;
}
} }

View File

@@ -1,10 +1,10 @@
.layout_row { .layout_row {
display: grid; display: grid;
grid-auto-flow: column; grid-auto-flow: column;
gap: var(--spacing-horizontal); gap: var(--spacing-small);
.item { > .item {
padding: calc(var(--spacing-horizontal) * 2); padding: calc(var(--spacing-small) * 2);
background-color: var(--background-1); background-color: var(--background-1);
border-radius: var(--border-radius-leaf); border-radius: var(--border-radius-leaf);
@@ -16,10 +16,10 @@
} }
.layout_row + .layout_row { .layout_row + .layout_row {
margin-top: var(--spacing-horizontal); margin-top: var(--spacing-small);
} }
@media only screen and (max-width: 500px) { @media (max-width: 600px) {
.layout_row { .layout_row {
grid-auto-flow: row; grid-auto-flow: row;
} }

View File

@@ -1,3 +0,0 @@
@use "blog_recent_posts";
@use "page_resume";

23
src/partials/_a_pane.scss Normal file
View File

@@ -0,0 +1,23 @@
@use "pane_main";
@use "pane_nav";
@use "pane_spacer";
.pane {
margin: var(--spacing-large);
}
@media (max-width: 600px) {
.pane {
width: calc((50% - var(--spacing-small)) * 2);
}
}
@media (min-width: 601px) {
nav.pane,
.pane.spacer {
gap: var(--spacing-medium);
position: sticky;
top: var(--spacing-large);
}
}

View File

@@ -1,32 +1,26 @@
/* .section_list {
All specificities to do with Chunk Lists are a disaster.
Hopefully, I will attempt to clean up this steaming pile of shit so that I don't have to deal with conflicts (.main_body .body vs. .chunk .body in particular), but we'll see.
*/
.chunk_list {
display: grid; display: grid;
width: 100%; width: 100%;
.chunk + .chunk { > section + section {
margin-top: var(--spacing-horizontal); margin-top: var(--spacing-small);
} }
.chunk { > section {
width: inherit; width: inherit;
> .header { > header {
display: grid; display: grid;
grid-auto-flow: row; grid-auto-flow: row;
grid-template-columns: 1fr min-content; grid-template-columns: 1fr min-content;
column-gap: calc(var(--spacing-horizontal) * 2); column-gap: calc(var(--spacing-small) * 2);
background-color: var(--background-3); background-color: var(--background-3);
border-radius: var(--border-radius-leaf); border-radius: var(--border-radius-leaf);
padding: var(--spacing-horizontal); padding: var(--spacing-small);
text-align: start; text-align: start;
@@ -58,7 +52,7 @@ Hopefully, I will attempt to clean up this steaming pile of shit so that I don't
} }
> .body { > .body {
padding: 0 calc(var(--spacing-horizontal) * 2); padding: 0 calc(var(--spacing-small) * 2);
ul { ul {
font-family: var(--font-family-generic); font-family: var(--font-family-generic);
@@ -71,14 +65,24 @@ Hopefully, I will attempt to clean up this steaming pile of shit so that I don't
} }
} }
@media only screen and (max-width: 500px) { .spacer_container {
.chunk_list .chunk { justify-content: start;
> .header {
column-gap: var(--spacing-horizontal); .section_list > section > header {
background-color: var(--background-1);
white-space: nowrap;
}
}
@media (max-width: 600px) {
.section_list section {
> header {
column-gap: var(--spacing-small);
} }
> .body { > .body {
/* Collapse the L/R padding to maximize usable space */ // Collapse the L/R padding to maximize usable space
padding: 0; padding: 0;
} }
} }

View File

@@ -1,13 +0,0 @@
.tailer {
margin: var(--margin-pane) auto 0;
width: min-content;
font-size: 1.65vh;
white-space: nowrap;
background-color: var(--background-2);
border-radius: var(--border-radius-leaf);
padding: var(--spacing-horizontal);
text-align: center;
}

View File

@@ -1,8 +0,0 @@
.spacer_posts {
justify-content: start !important;
.recent_posts .chunk .header {
background-color: var(--background-1);
white-space: nowrap;
}
}

View File

@@ -1,39 +1,62 @@
.nav_dropdown { .dropdown {
.dropdown_header { > label.item {
display: grid; display: grid;
grid-template-columns: 1fr min-content; grid-template-columns: 1fr min-content;
align-items: center; align-items: center;
ion-icon { > ion-icon {
/*
This one aligns visually odd if trying to use the same margins as it's neighbouring nav_title class.
*/
margin-right: 0.5rem;
align-self: center; align-self: center;
transition-duration: 0.25s; transition-duration: 0.25s;
} }
} }
.dropdown_body { > ul {
display: none; display: none;
border-bottom-left-radius: var(--border-radius-small); border-bottom-left-radius: var(--border-radius-small);
border-bottom-right-radius: var(--border-radius-small); border-bottom-right-radius: var(--border-radius-small);
background-color: var(--background-1); background-color: var(--background-1);
// Remove default padding and style applied to ul for bullets.
padding: 0 var(--spacing-small);
list-style: none;
} }
} }
.nav_dropdown:hover { @media (max-width: 600px) {
.dropdown_header { .dropdown {
> label.item > ion-icon {
margin-right: var(--padding-mobile);
}
}
}
// Use a toggle for menu entries on mobile and intermediary devices.
@media (max-width: 1023px) {
.dropdown {
> input:checked + label {
color: var(--highlight-hover);
+ ul {
display: grid;
}
}
}
}
// Use a hover state for menu entries on large screens.
@media (min-width: 1024px) {
.dropdown:hover {
> label.item {
transform: var(--transform-scale-x); transform: var(--transform-scale-x);
ion-icon { > ion-icon {
rotate: 90deg; rotate: 90deg;
transition-duration: 0.25s; transition-duration: 0.25s;
} }
} }
.dropdown_body { > ul {
display: grid; display: grid;
} }
}
} }

View File

@@ -0,0 +1,36 @@
nav.pane > .nav_header {
display: grid;
grid-template-columns: none;
grid-template-areas: "logo";
ion-icon {
grid-area: hamburger;
display: none;
align-self: center;
justify-self: center;
width: 2rem;
height: 2rem;
}
}
@media (max-width: 600px) {
nav.pane > .nav_header {
grid-template-columns: min-content 1fr min-content;
grid-template-areas: "logo blank hamburger";
ion-icon {
display: block;
}
}
}
nav .logo {
grid-area: logo;
font-family: var(--font-family-generic);
text-align: center;
margin: var(--spacing-small) 0;
}

View File

@@ -1,16 +1,16 @@
.location { .location {
margin: 0; margin: 0;
padding: var(--spacing-horizontal); padding: var(--spacing-small);
background-color: var(--background-2); background-color: var(--background-2);
border-radius: var(--border-radius-leaf); border-radius: var(--border-radius-leaf);
text-align: center; text-align: center;
.location_header { > header h4 {
font-weight: bold; font-weight: bold;
margin: 0 0 0.5rem; margin: 0 0 0.5rem;
} }
.location_page { .page {
margin: 0; margin: 0;
} }
} }

View File

@@ -1,5 +0,0 @@
.nav_logo {
font-family: var(--font-family-generic);
text-align: center;
margin: 0;
}

View File

@@ -1,45 +1,60 @@
@use "nav_dropdown"; @use "nav_dropdown";
@use "nav_title"; @use "nav_title";
.nav_menu { nav .menu {
/* // Remove default padding and style applied to ul for bullets.
Remove default padding and style applied to ul for bullets.
*/
padding: 0; padding: 0;
list-style: none; list-style: none;
display: grid; display: grid;
grid-auto-flow: row; grid-auto-flow: row;
gap: var(--spacing-menu-gap); gap: var(--spacing-medium);
align-self: center; align-self: center;
margin: 0; margin: 0;
hr { hr {
border-color: var(--accent-pink); border-color: var(--accent-pink);
margin: 0 var(--spacing-horizontal); margin: 0 var(--spacing-small);
} }
} }
.nav_item { .menu {
/* .item {
Need to force inheritence, otherwise <a> would require overrides for all color states from base styling for element. // Need to force inheritence, otherwise <a> would require
*/ // overrides for all color states from base styling for element.
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
padding: 0 var(--spacing-small);
background-color: var(--background-2); background-color: var(--background-2);
border-radius: var(--border-radius-small); border-radius: var(--border-radius-small);
transition: var(--transition-fade); transition: var(--transition-fade);
} }
.nav_item:hover, .item:hover,
.nav_dropdown:hover .nav_item { .dropdown:hover .item {
transform: var(--transform-scale-x); transform: var(--transform-scale-x);
transition: var(--transition-cut); transition: var(--transition-cut);
.nav_title, .title,
ion-icon { ion-icon {
color: var(--highlight-hover); color: var(--highlight-hover);
transition: var(--transition-cut); transition: var(--transition-cut);
} }
}
}
@media (max-width: 600px) {
.menu {
.item {
padding: var(--padding-mobile);
background-color: var(--background-1);
}
.item:hover,
.dropdown:hover .item {
transform: none;
}
}
} }

View File

@@ -1,12 +1,8 @@
.pane_nav .quick_links { nav.pane .quick_links {
--item-padding: 0.25rem; --item-padding: 0.25rem;
justify-content: space-between; justify-content: space-between;
/*
To colour the icons, apply inline styling.
*/
a { a {
background-color: var(--background-2); background-color: var(--background-2);
@@ -25,38 +21,32 @@
.phantom { .phantom {
width: calc(var(--item-size) + calc(var(--item-padding) * 2)); width: calc(var(--item-size) + calc(var(--item-padding) * 2));
/* // Fake hiding the element.
Fake hiding the element. //
// Due to how flexboxes function, settings `display: none`
Due to how flexboxes function, settings `display: none` // will result in the box just scaling as if the element
will result in the box just scaling as if the element // never existed.
never existed. //
// phantom needs to sit beside a element in hierarchy,
phantom needs to sit beside a element in hierarchy, otherwise // otherwise phantom will inherit from <a> like this:
phantom will inherit from a like this: //
// .pane_nav > .quick_links > a > .phantom
.pane_nav > .quick_links > a > .phantom
*/
background-color: inherit; background-color: inherit;
} }
} }
.gitea { @media (max-width: 600px) {
color: var(--accent-green); nav.pane .quick_links {
} margin-bottom: var(--spacing-small);
.github { --item-padding: var(--padding-mobile);
color: var(--accent-blue);
}
.license { > a {
color: var(--accent-indigo); background-color: var(--background-1);
} }
.issue_tracker { > .phantom {
color: var(--accent-magenta); background-color: inherit;
} }
}
.rss {
color: var(--accent-orange);
} }

View File

@@ -1,5 +1,6 @@
.nav_title { .menu .title {
/* Need to force inheritence, otherwise <a> would require overrides for all color states from base styling for element. */ // Need to force inheritence, otherwise <a> would require
// overrides for all color states from base styling for element.
color: inherit; color: inherit;
text-decoration: inherit; text-decoration: inherit;
@@ -7,12 +8,20 @@
font-weight: bold; font-weight: bold;
white-space: nowrap; white-space: nowrap;
margin: inherit; margin: inherit;
padding: 0 var(--spacing-horizontal); // padding: 0 var(--spacing-small);
transition: var(--transition-fade); transition: var(--transition-fade);
display: block; display: block;
} }
.nav_title:hover { @media (max-width: 600px) {
.nav_title {
padding: var(--padding-mobile);
}
}
@media (min-width: 1024px) {
.menu .title:hover {
color: var(--highlight-hover); color: var(--highlight-hover);
transition: var(--transition-cut); transition: var(--transition-cut);
}
} }

View File

@@ -1,3 +1,7 @@
.r90 {
rotate: 90deg;
}
.pane_details { .pane_details {
display: flex !important; display: flex !important;
flex-direction: column; flex-direction: column;
@@ -11,19 +15,8 @@
} }
} }
.spacer_contact {
justify-content: start !important;
.contact_info .chunk .header {
background-color: var(--background-1);
white-space: nowrap;
text-align: justify;
}
}
.about_me { .about_me {
padding: 0 var(--spacing-thicc) var(--spacing-horizontal); padding: 0 var(--spacing-thicc) var(--spacing-small);
} }
.early_history { .early_history {
@@ -41,166 +34,7 @@
grid-template-columns: 60% auto; grid-template-columns: 60% auto;
} }
.software { @media (max-width: 600px) {
.three_dimensional_printing {
color: var(--accent-magenta);
}
.android {
color: var(--accent-green);
}
.anubis {
color: var(--accent-green);
}
.blender {
color: var(--accent-orange);
}
.davinci_resolve {
color: var(--accent-blue);
}
.gimp {
color: var(--accent-magenta);
}
.git {
color: var(--accent-orange);
}
.ios {
color: var(--white-0);
}
.libreoffice {
color: var(--accent-green);
}
.linux {
color: var(--white-0);
}
.macos {
color: var(--white-0);
}
.ms_office {
color: var(--accent-orange);
}
.ms_windows {
color: var(--accent-blue);
}
.musescore {
color: var(--accent-cyan);
}
.nextcloud {
color: var(--accent-cyan);
}
.nginx {
color: var(--accent-green);
}
.obs {
color: var(--white-0);
}
.photoshop {
color: var(--accent-blue);
}
.premiere_pro {
color: var(--accent-purple);
}
.prusaslicer {
color: var(--accent-orange);
}
.shopbot_control_software {
color: var(--accent-blue);
}
.cnc_machining,
.vectric_aspire {
color: var(--accent-red);
rotate: 90deg;
}
.zotero {
color: var(--accent-orange);
}
}
.prog_languages {
.asciidoc {
color: var(--accent-cyan);
}
.css {
color: var(--accent-purple);
}
.html {
color: var(--accent-orange);
}
.json {
color: var(--accent-cyan);
}
.markdown {
color: var(--accent-indigo);
}
.nginx {
color: var(--accent-green);
}
.python {
color: var(--accent-blue);
}
.ron {
color: var(--accent-orange);
}
.rust {
color: var(--accent-orange);
}
.scss {
color: var(--accent-magenta);
}
.toml {
color: var(--accent-orange);
}
.shell {
color: var(--accent-green);
}
.yaml {
color: var(--accent-yellow);
}
}
.docker {
/*
Docker is protective of their colours.
https://www.docker.com/company/newsroom/media-resources/
*/
color: #1d63edff;
}
@media only screen and (max-width: 500px) {
.awards, .awards,
.certifications, .certifications,
.education, .education,

View File

@@ -1,41 +1,14 @@
@use "a_tailer"; .pane.blog {
.pane_blog {
flex: 1; flex: 1;
flex-direction: column; flex-direction: column;
margin: var(--margin-pane);
justify-content: center; justify-content: center;
> .body { > .body {
background-color: var(--background-2); padding: var(--spacing-small) 0 0;
border-radius: var(--border-radius-leaf);
padding-top: var(--spacing-horizontal);
> .header {
text-align: center;
padding: var(--spacing-horizontal);
width: min-content;
> header {
white-space: nowrap; white-space: nowrap;
margin: 0 auto;
.title {
background-color: var(--background-1);
border-radius: var(--border-radius-leaf);
padding: var(--spacing-horizontal);
}
.date {
display: block;
font-size: 0.85rem;
font-weight: normal;
font-style: italic;
font-family: var(--font-family-generic);
}
} }
> .body { > .body {
@@ -43,19 +16,19 @@
padding: 0 var(--spacing-thicc) var(--spacing-thicc); padding: 0 var(--spacing-thicc) var(--spacing-thicc);
p { img {
color: var(--white-1); max-width: 100%;
max-height: 65vh;
display: block;
margin: 0 auto;
object-fit: contain;
} }
} }
} }
} }
@media only screen and (max-width: 500px) { @media (max-width: 600px) {
.pane_blog { .pane.blog .body > .body {
width: 100%; padding: var(--spacing-small);
.body > .body {
padding: var(--spacing-horizontal);
}
} }
} }

View File

@@ -1,25 +1,13 @@
@use "a_tailer"; .pane.error {
.pane_error {
width: max-content; width: max-content;
margin: auto;
margin: auto; /* center object */
> .body,
.tailer {
background-color: var(--background-2);
border-radius: var(--border-radius-leaf);
padding: var(--spacing-horizontal);
text-align: center; text-align: center;
}
} }
@media only screen and (max-width: 500px) { @media (max-width: 600px) {
.pane_error { .pane.error {
width: 100%; margin-top: var(--spacing-large);
margin-bottom: var(--spacing-large);
margin-top: var(--margin-pane);
margin-bottom: var(--margin-pane);
} }
} }

View File

@@ -1,16 +1,18 @@
@use "a_tailer"; main.pane {
grid-area: main;
.pane_main { > .body,
margin: var(--margin-pane); > footer {
> .body {
background-color: var(--background-2); background-color: var(--background-2);
border-radius: var(--border-radius-leaf); border-radius: var(--border-radius-leaf);
padding: var(--spacing-horizontal); }
> .header { > .body {
padding: var(--spacing-small);
> header {
text-align: center; text-align: center;
padding: var(--spacing-horizontal); padding: var(--spacing-small);
width: max-content; width: max-content;
margin: 0 auto; margin: 0 auto;
@@ -18,7 +20,7 @@
.title { .title {
background-color: var(--background-1); background-color: var(--background-1);
border-radius: var(--border-radius-leaf); border-radius: var(--border-radius-leaf);
padding: var(--spacing-horizontal); padding: var(--spacing-small);
} }
.date { .date {
@@ -33,16 +35,22 @@
> .body { > .body {
text-align: start; text-align: start;
p {
color: var(--white-1);
} }
} }
> footer {
margin: var(--spacing-large) auto 0;
width: min-content;
font-size: 1.65vh;
white-space: nowrap;
padding: var(--spacing-small);
text-align: center;
> p {
margin: 0;
}
} }
} }
@media only screen and (max-width: 500px) {
.pane_main {
width: 100%;
}
}

View File

@@ -1,29 +1,55 @@
@use "nav_logo"; @use "nav_header";
@use "nav_menu"; @use "nav_menu";
@use "nav_location"; @use "nav_location";
@use "nav_quick_links"; @use "nav_quick_links";
.pane_nav { nav.pane {
margin: var(--margin-pane); grid-area: nav;
--padding-mobile: 0.35rem;
width: min-content;
height: min-content; height: min-content;
display: grid; display: flex;
grid-auto-flow: row; flex-direction: column;
grid-template-rows: repeat(4, min-content);
gap: var(--spacing-menu-gap);
align-content: start;
position: sticky; position: sticky;
top: var(--margin-pane); top: var(--spacing-large);
left: var(--margin-pane); left: var(--spacing-large);
color: var(--accent-pink); color: var(--accent-pink);
}
@media only screen and (max-width: 500px) { input[type="checkbox"] {
.pane_nav { display: none;
width: 75%; }
}
@media (max-width: 600px) {
nav.pane {
background-color: var(--background-2);
border-radius: var(--border-radius-leaf);
padding: 0 var(--spacing-small);
.menu,
.quick_links,
.location {
display: none;
}
> * {
width: 100%;
}
}
nav.pane > input:checked + label {
color: var(--highlight-hover);
+ .menu {
display: grid;
+ .location + .quick_links {
display: flex;
}
}
} }
} }

View File

@@ -1,19 +1,14 @@
.pane_spacer { .pane.spacer {
margin: var(--margin-pane); grid-area: spacer;
width: min-content; width: min-content;
height: calc(100vh - calc(var(--margin-pane) * 2)); height: calc(100vh - calc(var(--spacing-large) * 2));
display: grid; display: grid;
grid-auto-flow: row dense; grid-auto-flow: row dense;
gap: var(--spacing-menu-gap);
position: sticky;
top: var(--margin-pane);
right: var(--margin-pane);
.spacer_container { .spacer_container {
padding: var(--spacing-horizontal); padding: var(--spacing-small);
background-color: var(--background-2); background-color: var(--background-2);
height: 100%; height: 100%;
border-radius: var(--border-radius-leaf); border-radius: var(--border-radius-leaf);
@@ -30,8 +25,6 @@
} }
} }
@media only screen and (max-width: 500px) { .spacer_container.blog_recent_posts {
.pane_spacer { justify-content: start !important;
width: 100%;
}
} }

2
src/quotes.txt Normal file
View File

@@ -0,0 +1,2 @@
A flower may only bloom once every three years, but that does not mean it is undeserving of watering. - Cutieguwu Sept. 11, 2025 14:39
Don't wait for your future to happen. The time will never be just right. - Unknown

View File

@@ -7,57 +7,55 @@
<include src="includes/meta.html" /> <include src="includes/meta.html" />
</head> </head>
<body> <body>
<div class="viewport"> <nav class="pane">
<nav class="pane_nav"> <include src="includes/nav_header.html" />
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" /> <include src="includes/nav_menu.html" />
<div class="location"> <div class="location">
<h4 class="location_header">You are here:</h4> <header><h4>You are here:</h4></header>
<h5 class="location_page">Resume</h5> <h5 class="page">Resume</h5>
</div> </div>
<include src="includes/nav_quick_links.html" /> <include src="includes/nav_quick_links.html" />
</nav> </nav>
<div class="pane_main"> <main class="pane">
<div class="body"> <div class="body">
<div class="header"> <header>
<h1 class="title">Olivia Brooks</h1> <h1 class="title">Olivia Brooks</h1>
<p class="date">Last Edited: 08 August, 2025</p> <p class="date">Last Edited: 21 February, 2026</p>
</div> </header>
<div class="body"> <div class="body">
<div class="about_me"> <div class="about_me">
<p> <p>
Hello, I'm Olivia Brooks. I am a passionate, hard-working, and Hello, I'm Olivia Brooks. I am a passionate, hard-working, and
dependable individual with an inate interest in sharing and dependable individual with an innate interest in sharing and expanding
expanding my knowledge and expertise. my knowledge and expertise.
</p> </p>
<p> <p>
For the better part of a decade, I've specced, built, identified and For the better part of a decade, I've specced, built, identified and
removed bottlenecks, and breathed new life into both desktops and removed bottlenecks, and breathed new life into both desktops and
laptops. I have experience with all major operating systems laptops. I have experience with all major operating systems including
including Linux (which I've daily-driven for 5 years), Windows, Linux (which I've daily-driven for 5 years), Windows, MacOS, Android,
MacOS, Android, and iOS. and iOS.
</p> </p>
<p> <p>
Over the years, my technical skills have branched to 3D printing, Over the years, my technical skills have branched to 3D printing, CNC
CNC machining, basic CAD modelling, programming, and homelabbing. machining, basic CAD modelling, programming, and homelabbing. These
These interests have garnered me experience with hardware and interests have garnered me experience with hardware and software from a
software from a variety of vendors, architectures, and ecosystems, variety of vendors, architectures, and ecosystems, big and niche.
big and niche.
</p> </p>
<p> <p>
I have extensive experience in both leadership and non-leadership I have extensive experience in both leadership and non-leadership
positions across a variety of contexts. This has allowed me to positions across a variety of contexts. This has allowed me to develop a
develop a wide range of skills which I draw upon daily to rapidly wide range of skills which I draw upon daily to rapidly develop new
develop new understandings. This additionally gives me the capacity understandings. This additionally gives me the capacity to interact and
to interact and excel in unfamiliar situations and novel endeavours. excel in unfamiliar situations and novel endeavours.
</p> </p>
<p> <p>
I am always willing to lend a hand where I can, no matter the I am always willing to lend a hand where I can, no matter the learning
learning curve ahead. curve ahead.
</p> </p>
<p> <p>
I sincerely appreciate your consideration of me as a candidate, and I sincerely appreciate your consideration of me as a candidate, and look
look forward to hearing from you. forward to hearing from you.
</p> </p>
</div> </div>
<!-- <!--
@@ -67,91 +65,80 @@
<div class="layout_row"> <div class="layout_row">
<div class="item work_history"> <div class="item work_history">
<h2 class="title">Work History</h2> <h2 class="title">Work History</h2>
<div class="chunk_list"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">OTHS Tech Crew</h3> <h3 class="name">OTHS Tech Crew</h3>
<span class="subtitle" <span class="subtitle">September 2024 - June 2025</span>
>September 2024 - June 2025</span
>
</div>
</div> </div>
</header>
<div class="body"> <div class="body">
<p>Project Manager</p> <p>Project Manager</p>
<ul> <ul>
<li> <li>
First year that the crew was entirely First year that the crew was entirely student-led.
student-led.
</li> </li>
<li>Identified project scope and requirements.</li> <li>Identified project scope and requirements.</li>
<li>Ensured timely completion of tasks.</li> <li>Ensured timely completion of tasks.</li>
<li>Coordinated crew setup and take-down efforts.</li>
<li> <li>
Coordinated crew setup and take-down efforts. Effectively worked around live program changes and
</li> weather patterns.
<li>
Effectively worked around live program changes
and weather patterns.
</li> </li>
<li>Additionally handled equipment maintenance.</li> <li>Additionally handled equipment maintenance.</li>
<li>Acted as administrative liason.</li> <li>Acted as administrative liaison.</li>
</ul> </ul>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Farmers' Market</h3> <h3 class="name">Farmers' Market</h3>
<span class="subtitle" <span class="subtitle"
>Wee Youngn' - 2020, Summer 2023</span >Wee Youngn' - 2020, Summer 2023</span
> >
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p>Volunteer - Various Roles</p> <p>Volunteer - Various Roles</p>
<ul> <ul>
<li> <li>
Started as a young child attracting customers to Started as a young child attracting customers to a
a fudge stall by looking cute with divine, fudge stall by looking cute with divine, glorious
glorious red hair. red hair.
</li> </li>
<li>Handled the sale of goods.</li> <li>Handled the sale of goods.</li>
<li> <li>Handled the preparation of farm-grown goods.</li>
Handled the preparation of farm-grown goods.
</li>
<li>Stocked the displays.</li> <li>Stocked the displays.</li>
<li> <li>Ran the Kids' Corner activities. (Summer 2023)</li>
Ran the Kids' Corner activities. (Summer 2023)
</li>
</ul> </ul>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">MPS Audio-Visual Club</h3> <h3 class="name">MPS Audio-Visual Club</h3>
<span class="subtitle">September 2018 - 2020</span> <span class="subtitle">September 2018 - 2020</span>
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p>Supervisor</p> <p>Supervisor</p>
<ul> <ul>
<li>Identified project scope and requirements.</li> <li>Identified project scope and requirements.</li>
<li>Ensured timely completion of tasks.</li> <li>Ensured timely completion of tasks.</li>
<li> <li>Coordinated crew setup and take-down efforts.</li>
Coordinated crew setup and take-down efforts.
</li>
</ul> </ul>
</div> </div>
</div> </section>
</div> </div>
</div> </div>
<!-- Education --> <!-- Education -->
<div class="item education"> <div class="item education">
<h2 class="title">Education</h2> <h2 class="title">Education</h2>
<div class="chunk_list"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Carleton University</h3> <h3 class="name">Carleton University</h3>
<span class="subtitle" <span class="subtitle"
@@ -159,46 +146,41 @@
> >
</div> </div>
<h3 class="status">IN PROGRESS</h3> <h3 class="status">IN PROGRESS</h3>
</div> </header>
<div class="body"> <div class="body">
<p>Bachelor of Arts (Honours)</p> <p>Bachelor of Arts (Honours)</p>
<ul> <ul>
<li>Major in Psychology</li> <li>Major in Psychology</li>
<li> <li>[Intended] Minor in Computer Science</li>
[Intended] Minor in Women's and Gender Studies <li>Concentration in Social/Personality Psychology</li>
</li>
<li>
Concentration in Social/Personality Psychology
</li>
</ul> </ul>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Osgoode Township High School</h3> <h3 class="name">Osgoode Township High School</h3>
<span class="subtitle" <span class="subtitle"
>September 2021 to 2025 - Ottawa, ON</span >September 2021 to 2025 - Ottawa, ON</span
> >
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p>Gr. 9 to 12</p> <p>Gr. 9 to 12</p>
<ul> <ul>
<li>French Immersion Studies</li> <li>French Immersion Studies</li>
</ul> </ul>
</div> </div>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Air Cadets, Squadron 742</h3> <h3 class="name">Air Cadets, Squadron 742</h3>
<span class="subtitle" <span class="subtitle"
>November 2019 to September 2022 - Ottawa, >November 2019 to September 2022 - Ottawa, ON</span
ON</span
> >
</div> </div>
</div> </header>
<div class="body"> <div class="body">
<p>Sergeant</p> <p>Sergeant</p>
<ul> <ul>
@@ -211,15 +193,12 @@
<li>Web Programming (April 2020)</li> <li>Web Programming (April 2020)</li>
<li>Advanced Cybertraining Course (August 2020)</li> <li>Advanced Cybertraining Course (August 2020)</li>
<li> <li>
Cadet Band Member (September 2020 - February Cadet Band Member (September 2020 - February 2022)
2022)
</li> </li>
</ul> </ul>
</div> </div>
</div> </section>
<h3 class="early_history"> <h3 class="early_history">Earlier history available by request.</h3>
Earlier history available by request.
</h3>
</div> </div>
</div> </div>
</div> </div>
@@ -227,27 +206,37 @@
<!-- Awards --> <!-- Awards -->
<div class="item awards"> <div class="item awards">
<h2 class="title">Awards</h2> <h2 class="title">Awards</h2>
<div class="chunk_list"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Ontario Scholar</h3> <h3 class="name">Ontario Scholar</h3>
<span class="subtitle" <span class="subtitle"
>Obtained an average of at least eighty percent >Obtained an average of at least eighty percent in
in any six applicable Grade 12 courses.</span any six applicable Grade 12 courses.</span
> >
</div> </div>
</div> </header>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Silver Medalist</h3> <h3 class="name">Silver Medalist</h3>
<span class="subtitle">Average over 90%</span> <span class="subtitle">Average over 90%</span>
</div> </div>
<h3 class="status">x2</h3> <h3 class="status">x2</h3>
</header>
</section>
<section>
<header>
<div>
<h3 class="name">CyberSci Regional Winner</h3>
<span class="subtitle"
>The Off-By-Ones - Ottawa, 2025</span
>
</div> </div>
</div> </header>
</section>
<h3 class="early_history"> <h3 class="early_history">
Queries about other awards available by request. Queries about other awards available by request.
</h3> </h3>
@@ -256,30 +245,30 @@
<!-- Certifications --> <!-- Certifications -->
<div class="item certifications"> <div class="item certifications">
<h2 class="title">Certifications and Diplomas</h2> <h2 class="title">Certifications and Diplomas</h2>
<div class="chunk_list"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<h3 class="name">Ontario Secondary School Diploma</h3> <h3 class="name">Ontario Secondary School Diploma</h3>
</div> </header>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<h3 class="name">DELF</h3> <h3 class="name">DELF</h3>
<h3 class="status">Niveau B2</h3> <h3 class="status">Niveau B2</h3>
</div> </header>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<h3 class="name">Red Cross Swimming</h3> <h3 class="name">Red Cross Swimming</h3>
<h3 class="status">Level 10</h3> <h3 class="status">Level 10</h3>
</div> </header>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<h3 class="name">Canadian Firearms Safety Course</h3> <h3 class="name">Canadian Firearms Safety Course</h3>
<h3 class="status">PAL</h3> <h3 class="status">PAL</h3>
</div> </header>
</div> </section>
<h3 class="early_history"> <h3 class="early_history">
Queries about certifications available by request. Queries about certifications available by request.
</h3> </h3>
@@ -293,28 +282,25 @@
<h2 class="title">Software</h2> <h2 class="title">Software</h2>
<div class="quick_links"> <div class="quick_links">
<div> <div>
<ion-icon <ion-icon name="cube-outline" class="magenta"></ion-icon>
name="cube-outline"
class="three_dimensional_printing"
></ion-icon>
<p>3D Printing</p> <p>3D Printing</p>
</div> </div>
<div> <div>
<ion-icon name="logo-android" class="android"></ion-icon> <ion-icon name="logo-android" class="green"></ion-icon>
<p>Android</p> <p>Android</p>
</div> </div>
<a href="https://anubis.techaro.lol/"> <a href="https://anubis.techaro.lol/">
<ion-icon name="globe-outline" class="anubis"></ion-icon> <ion-icon name="globe-outline" class="green"></ion-icon>
<p>Anubis</p> <p>Anubis</p>
</a> </a>
<a href="https://www.blender.org/"> <a href="https://www.blender.org/">
<ion-icon name="cube-outline" class="blender"></ion-icon> <ion-icon name="cube-outline" class="orange"></ion-icon>
<p>Blender</p> <p>Blender</p>
</a> </a>
<div> <div>
<ion-icon <ion-icon
name="play-skip-forward-outline" name="play-skip-forward-outline"
class="vectric_aspire" class="red r90"
></ion-icon> ></ion-icon>
<p>CNC Machining</p> <p>CNC Machining</p>
</div> </div>
@@ -324,95 +310,86 @@
<p>Docker</p> <p>Docker</p>
</a> </a>
<a href="https://www.gimp.org/"> <a href="https://www.gimp.org/">
<ion-icon name="image-outline" class="gimp"></ion-icon> <ion-icon name="image-outline" class="magenta"></ion-icon>
<p>GIMP</p> <p>GIMP</p>
</a> </a>
<a href="https://git-scm.com/"> <a href="https://git-scm.com/">
<ion-icon name="git-branch-outline" class="git"></ion-icon> <ion-icon name="git-branch-outline" class="orange"></ion-icon>
<p>Git</p> <p>Git</p>
</a> </a>
<a href="https://gitea.cutieguwu.ca"> <a href="https://gitea.cutieguwu.ca">
<ion-icon name="cafe-outline" class="gitea"></ion-icon> <ion-icon name="cafe-outline" class="green"></ion-icon>
<p>Gitea</p> <p>Gitea</p>
</a> </a>
<a href="https://github.com/Cutieguwu"> <a href="https://github.com/Cutieguwu">
<ion-icon name="logo-github" class="github"></ion-icon> <ion-icon name="logo-github" class="blue"></ion-icon>
<p>Github</p> <p>Github</p>
</a> </a>
<a href="https://www.apple.com/ca/os/ios/"> <a href="https://www.apple.com/ca/os/ios/">
<ion-icon name="logo-apple" class="ios"></ion-icon> <ion-icon name="logo-apple" class="white"></ion-icon>
<p>iOS</p> <p>iOS</p>
</a> </a>
<a href="https://www.libreoffice.org/"> <a href="https://www.libreoffice.org/">
<ion-icon <ion-icon name="document-outline" class="green"></ion-icon>
name="document-outline"
class="libreoffice"
></ion-icon>
<p>LibreOffice</p> <p>LibreOffice</p>
</a> </a>
<a href="https://www.kernel.org/category/about.html"> <a href="https://www.kernel.org/category/about.html">
<ion-icon name="logo-tux" class="linux"></ion-icon> <ion-icon name="logo-tux" class="white"></ion-icon>
<p>Linux</p> <p>Linux</p>
</a> </a>
<a href="https://www.apple.com/ca/os/macos/"> <a href="https://www.apple.com/ca/os/macos/">
<ion-icon name="logo-apple" class="macos"></ion-icon> <ion-icon name="logo-apple" class="white"></ion-icon>
<p>MacOS</p> <p>MacOS</p>
</a> </a>
<a href="https://www.office.com/"> <a href="https://www.office.com/">
<ion-icon name="apps-outline" class="ms_office"></ion-icon> <ion-icon name="apps-outline" class="orange"></ion-icon>
<p>MS Office</p> <p>MS Office</p>
</a> </a>
<a href="https://www.microsoft.com/en-ca/windows"> <a href="https://www.microsoft.com/en-ca/windows">
<ion-icon name="logo-windows" class="ms_windows"></ion-icon> <ion-icon name="logo-windows" class="blue"></ion-icon>
<p>MS Windows</p> <p>MS Windows</p>
</a> </a>
<a href="https://musescore.org/en"> <a href="https://musescore.org/en">
<ion-icon name="musical-notes" class="musescore"></ion-icon> <ion-icon name="musical-notes" class="cyan"></ion-icon>
<p>MuseScore Studio</p> <p>MuseScore Studio</p>
</a> </a>
<a href="https://nextcloud.com/"> <a href="https://nextcloud.com/">
<ion-icon name="apps-outline" class="nextcloud"></ion-icon> <ion-icon name="apps-outline" class="cyan"></ion-icon>
<p>Nextcloud</p> <p>Nextcloud</p>
</a> </a>
<a href="https://nginx.org/en/"> <a href="https://nginx.org/en/">
<ion-icon name="globe-outline" class="nginx"></ion-icon> <ion-icon name="globe-outline" class="green"></ion-icon>
<p>Nginx</p> <p>Nginx</p>
</a> </a>
<a href="https://obsproject.com/"> <a href="https://obsproject.com/">
<ion-icon name="aperture-outline" class="obs"></ion-icon> <ion-icon name="aperture-outline" class="white"></ion-icon>
<p>OBS</p> <p>OBS</p>
</a> </a>
<a href="https://www.adobe.com/ca/products/photoshop.html"> <a href="https://www.adobe.com/ca/products/photoshop.html">
<ion-icon name="image-outline" class="photoshop"></ion-icon> <ion-icon name="image-outline" class="blue"></ion-icon>
<p>Photoshop</p> <p>Photoshop</p>
</a> </a>
<a href="https://www.prusa3d.com/page/prusaslicer_424/"> <a href="https://www.prusa3d.com/page/prusaslicer_424/">
<ion-icon <ion-icon name="layers-outline" class="orange"></ion-icon>
name="layers-outline"
class="prusaslicer"
></ion-icon>
<p>PrusaSlicer</p> <p>PrusaSlicer</p>
</a> </a>
<a <a
href="https://shopbottools.com/support-resources/control-software/" href="https://shopbottools.com/support-resources/control-software/"
> >
<ion-icon <ion-icon name="keypad-outline" class="blue"></ion-icon>
name="keypad-outline"
class="shopbot_control_software"
></ion-icon>
<p>ShopBot Control Software</p> <p>ShopBot Control Software</p>
</a> </a>
<a href="https://www.vectric.com/products/aspire/"> <a href="https://www.vectric.com/products/aspire/">
<ion-icon <ion-icon
name="play-skip-forward-outline" name="play-skip-forward-outline"
class="vectric_aspire" class="red r90"
></ion-icon> ></ion-icon>
<p>Vectric Aspire</p> <p>Vectric Aspire</p>
</a> </a>
<a href="https://www.zotero.org/"> <a href="https://www.zotero.org/">
<ion-icon <ion-icon
name="document-attach-outline" name="document-attach-outline"
class="zotero" class="orange"
></ion-icon> ></ion-icon>
<p>Zotero</p> <p>Zotero</p>
</a> </a>
@@ -423,14 +400,11 @@
<h2 class="title">Prog. Languages</h2> <h2 class="title">Prog. Languages</h2>
<div class="quick_links"> <div class="quick_links">
<a href="https://asciidoc.org/"> <a href="https://asciidoc.org/">
<ion-icon <ion-icon name="document-text-outline" class="cyan"></ion-icon>
name="document-text-outline"
class="asciidoc"
></ion-icon>
<p>AsciiDoc</p> <p>AsciiDoc</p>
</a> </a>
<a href="https://developer.mozilla.org/en-US/docs/Web/CSS"> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS">
<ion-icon name="logo-css3" class="css"></ion-icon> <ion-icon name="logo-css3" class="purple"></ion-icon>
<p>CSS</p> <p>CSS</p>
</a> </a>
<a href="https://docs.docker.com/compose/"> <a href="https://docs.docker.com/compose/">
@@ -438,47 +412,47 @@
<p>Docker Compose</p> <p>Docker Compose</p>
</a> </a>
<a href="https://developer.mozilla.org/en-US/docs/Web/HTML"> <a href="https://developer.mozilla.org/en-US/docs/Web/HTML">
<ion-icon name="logo-html5" class="html"></ion-icon> <ion-icon name="logo-html5" class="orange"></ion-icon>
<p>HTML</p> <p>HTML</p>
</a> </a>
<a href="https://www.json.org/json-en.html"> <a href="https://www.json.org/json-en.html">
<ion-icon name="shapes-outline" class="json"></ion-icon> <ion-icon name="shapes-outline" class="cyan"></ion-icon>
<p>JSON</p> <p>JSON</p>
</a> </a>
<a href="https://www.markdownguide.org/"> <a href="https://www.markdownguide.org/">
<ion-icon name="logo-markdown" class="markdown"></ion-icon> <ion-icon name="logo-markdown" class="indigo"></ion-icon>
<p>Markdown</p> <p>Markdown</p>
</a> </a>
<a href="https://nginx.org/en/docs/"> <a href="https://nginx.org/en/docs/">
<ion-icon name="globe-outline" class="nginx"></ion-icon> <ion-icon name="globe-outline" class="green"></ion-icon>
<p>Nginx</p> <p>Nginx</p>
</a> </a>
<a href="https://www.python.org/"> <a href="https://www.python.org/">
<ion-icon name="logo-python" class="python"></ion-icon> <ion-icon name="logo-python" class="blue"></ion-icon>
<p>Python</p> <p>Python</p>
</a> </a>
<a href="https://github.com/ron-rs/ron"> <a href="https://github.com/ron-rs/ron">
<ion-icon name="shapes-outline" class="ron"></ion-icon> <ion-icon name="shapes-outline" class="orange"></ion-icon>
<p>RON</p> <p>RON</p>
</a> </a>
<a href="https://www.rust-lang.org/"> <a href="https://www.rust-lang.org/">
<ion-icon name="cog-outline" class="rust"></ion-icon> <ion-icon name="cog-outline" class="orange"></ion-icon>
<p>Rust</p> <p>Rust</p>
</a> </a>
<a href="https://sass-lang.com/"> <a href="https://sass-lang.com/">
<ion-icon name="logo-sass" class="scss"></ion-icon> <ion-icon name="logo-sass" class="magenta"></ion-icon>
<p>SCSS</p> <p>SCSS</p>
</a> </a>
<a href="https://toml.io/en/"> <a href="https://toml.io/en/">
<ion-icon name="shapes-outline" class="toml"></ion-icon> <ion-icon name="shapes-outline" class="orange"></ion-icon>
<p>TOML</p> <p>TOML</p>
</a> </a>
<a href="https://www.gnu.org/software/bash/manual/bash.html"> <a href="https://www.gnu.org/software/bash/manual/bash.html">
<ion-icon name="terminal-outline" class="shell"></ion-icon> <ion-icon name="terminal-outline" class="green"></ion-icon>
<p>[Bash] Shell</p> <p>[Bash] Shell</p>
</a> </a>
<a href="https://yaml.org/"> <a href="https://yaml.org/">
<ion-icon name="shapes-outline" class="yaml"></ion-icon> <ion-icon name="shapes-outline" class="yellow"></ion-icon>
<p>YAML</p> <p>YAML</p>
</a> </a>
</div> </div>
@@ -487,55 +461,54 @@
</div> </div>
</div> </div>
<include src="includes/tailer.html" /> <include src="includes/tailer.html" />
</div> </main>
<div class="pane_spacer pane_details"> <div class="pane spacer pane_details">
<div class="spacer_container spacer_contact"> <div class="spacer_container">
<h2>Contact Info</h2> <h2>Contact Info</h2>
<div class="chunk_list contact_info"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name"> <h3 class="name">
<a href="mailto:olivia.a.brooks77@gmail.com"> Email </a> <a href="mailto:olivia.a.brooks77@gmail.com">Email</a>
</h3> </h3>
<span class="subtitle">olivia.a.brooks77@gmail.com</span> <span class="subtitle">olivia.a.brooks77@gmail.com</span>
</div> </div>
</header>
</section>
</div> </div>
</div> </div>
</div> <div class="spacer_container">
</div>
<div class="spacer_container spacer_contact">
<h2>Spoken Languages</h2> <h2>Spoken Languages</h2>
<div class="chunk_list contact_info"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">English</h3> <h3 class="name">English</h3>
<span class="subtitle">Fluent</span> <span class="subtitle">Fluent</span>
</div> </div>
</div> </header>
</div> </section>
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">Français</h3> <h3 class="name">Français</h3>
<span class="subtitle">DELF B2</span> <span class="subtitle">DELF B2</span>
</div> </div>
</header>
</section>
</div> </div>
</div> </div>
</div> <div class="spacer_container">
</div>
<div class="spacer_container spacer_contact">
<h2>References</h2> <h2>References</h2>
<div class="chunk_list contact_info"> <div class="section_list">
<div class="chunk"> <section>
<div class="header"> <header>
<div> <div>
<h3 class="name">By Request</h3> <h3 class="name">By Request</h3>
</div> </div>
</div> </header>
</div> </section>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,2 +1 @@
User-agent: *
Disallow: /

View File

@@ -1,3 +1,3 @@
@use "partials/a_common"; @use "partials/a_common";
@use "partials/pane_main"; @use "partials/page_resume";

View File

@@ -1,40 +0,0 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Blog Post Template | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<div class="viewport">
<nav class="pane_nav">
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<h4 class="location_header">You are here:</h4>
<h5 class="location_page">Blog - Blog Post Template</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<div class="pane_blog">
<div class="blog_body">
<div class="header">
<h1 class="title">Blog Post Template</h1>
<p class="date">Posted: 01 January, 2025</p>
<p class="date">Last Edited: 01 January, 2025</p>
</div>
<div class="body">
<p>Blog Post Content</p>
</div>
</div>
<include src="includes/tailer.html" />
</div>
<div class="pane_spacer">
<include src="./includes/blog_recent_posts.html" />
<div class="spacer_container"><p>#AD</p></div>
</div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

@@ -1,36 +0,0 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Error Template | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<div class="viewport">
<nav class="pane_nav">
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<h4 class="location_header">You are here:</h4>
<h5 class="location_page">Error Template</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<div class="pane_error">
<div class="error_body">
<h1>Error Code</h1>
<h2>Error Title</h2>
<hr />
<p>Error details and explaination.</p>
</div>
<include src="includes/tailer.html" />
</div>
<div class="pane_spacer">
<div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div>
</div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

@@ -1,31 +0,0 @@
<!doctype html>
<html lang="en-ca">
<head>
<title>Main Template | Cutieguwu</title>
<include src="includes/meta.html" />
</head>
<body>
<div class="viewport">
<nav class="pane_nav">
<include src="includes/nav_logo.html" />
<include src="includes/nav_menu.html" />
<div class="location">
<h4 class="location_header">You are here:</h4>
<h5 class="location_page">Main Template</h5>
</div>
<include src="includes/nav_quick_links.html" />
</nav>
<div class="pane_main">
<div class="main_body"></div>
<include src="includes/tailer.html" />
</div>
<div class="pane_spacer">
<div class="spacer_container"><p>#AD</p></div>
<div class="spacer_container"><p>#AD</p></div>
</div>
</div>
<include src="includes/footer.html" />
<include src="includes/scripts.html" />
</body>
</html>

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,11 @@
/* Mobile Phone */
@media (max-width: 600px) {
}
/* Tablets and other weird intermediary stuff. */
@media (min-width: 601px) and (max-width: 1023) {
}
/* Desktops and Laptops */
@media (min-width: 1024) {
}