Compare commits
45 Commits
b14bf720e9
...
v2.0.0-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68263b1bad | ||
|
|
b8f65f2ce4 | ||
|
|
820a1f357a | ||
|
|
5fde9a2754 | ||
|
|
fba35705e9 | ||
|
|
2f09ca4a61 | ||
|
|
1c00979274 | ||
|
|
2af6bd1ed7 | ||
|
|
63c3b16bda | ||
|
|
a0d89676a8 | ||
|
|
3c7a687cab | ||
|
|
bd67b51325 | ||
|
|
e0d8a71e99 | ||
|
|
415182edae | ||
|
|
fb7cb1b73c | ||
|
|
60cd0f9850 | ||
|
|
81b854d32a | ||
|
|
a2c7d72ecf | ||
|
|
bc66ede0e1 | ||
|
|
7d1dfd0a5f | ||
|
|
dd199d7d5f | ||
|
|
9e59f22448 | ||
|
|
4662c8261c | ||
|
|
a97ec550fa | ||
|
|
8d2f472935 | ||
|
|
d9c47c0403 | ||
|
|
d6b689e0f6 | ||
|
|
7ba55567e8 | ||
|
|
4f1873b775 | ||
|
|
561048c93b | ||
|
|
ffb1bfdc30 | ||
|
|
643b2adb38 | ||
|
|
bf19ff876e | ||
|
|
ec1947376f | ||
|
|
d02026bd55 | ||
|
|
30938fe9d1 | ||
|
|
863355cd1c | ||
|
|
5bc1d2ecd9 | ||
|
|
5bde31a42f | ||
|
|
5f4049c10c | ||
|
|
aafa982faf | ||
|
|
5ba0e0408a | ||
|
|
8cbee214cc | ||
|
|
d1e06b432d | ||
|
|
04a4adb4d4 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
**/target
|
**/target
|
||||||
|
**/__pycache__
|
||||||
|
|||||||
12
build.sh
12
build.sh
@@ -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' ]
|
||||||
|
|||||||
13
src/.well-known/public.asc
Normal file
13
src/.well-known/public.asc
Normal 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-----
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -6,24 +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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">About</h5>
|
||||||
<h5 class="page">About</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_main">
|
|
||||||
<div class="body"><p>This page has not yet been filled out. Sorry!</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/nav_quick_links.html" />
|
||||||
|
</nav>
|
||||||
|
<main class="pane">
|
||||||
|
<div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
|
||||||
|
<include src="includes/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,31 +6,29 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Acknowledgements</h5>
|
||||||
<h5 class="page">Acknowledgements</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_main">
|
|
||||||
<div class="body">
|
|
||||||
<p>There are currently no acknowledgements</p>
|
|
||||||
<p>In terms of security, hopefully that means I'm doing a good-ish job.</p>
|
|
||||||
<p>
|
|
||||||
I will get my thanks to various open projects in here in time, but I'm still
|
|
||||||
busy getting the basics handled.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<include src="includes/tailer.html" />
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pane_spacer">
|
<include src="includes/nav_quick_links.html" />
|
||||||
<div class="spacer_container"><p>#AD</p></div>
|
</nav>
|
||||||
<div class="spacer_container"><p>#AD</p></div>
|
<main class="pane">
|
||||||
|
<div class="body">
|
||||||
|
<p>There are currently no acknowledgements</p>
|
||||||
|
<p>In terms of security, hopefully that means I'm doing a good-ish job.</p>
|
||||||
|
<p>
|
||||||
|
I will get my thanks to various open projects in here in time, but I'm still
|
||||||
|
busy getting the basics handled.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<include src="includes/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,33 +6,31 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="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>
|
<main class="pane">
|
||||||
<div class="pane_main">
|
<div class="body">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Blog</h1>
|
||||||
|
<p class="date">Last Edited: 03 August, 2025</p>
|
||||||
|
</header>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="header">
|
<h2>I have an RSS feed!</h2>
|
||||||
<h1 class="title">Blog</h1>
|
<p>Just look for the RSS Quick Link in the Navigation pane.</p>
|
||||||
<p class="date">Last Edited: 03 August, 2025</p>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<h2>I have an RSS feed!</h2>
|
|
||||||
<p>Just look for the RSS Quick Link in the Navigation pane.</p>
|
|
||||||
</div>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,119 +6,116 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="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>
|
<main class="pane blog">
|
||||||
<div class="pane_blog">
|
<div class="body">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Divergent Pathways</h1>
|
||||||
|
<p class="date">Posted: 29 July, 2025</p>
|
||||||
|
<p class="date">Last Edited: 29 July, 2025</p>
|
||||||
|
</header>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="header">
|
<p>I can't say that this is how I wanted to start my blog.</p>
|
||||||
<h1 class="title">Divergent Pathways</h1>
|
<p>
|
||||||
<p class="date">Posted: 29 July, 2025</p>
|
Although, in all honesty, I didn't really have an idea for how I wanted it
|
||||||
<p class="date">Last Edited: 29 July, 2025</p>
|
to start. That's not to say I didn't know what I *didn't* want. A
|
||||||
</div>
|
meaningless 'Welcome to my Blog' filled with my hopes and aspirations that
|
||||||
<div class="body">
|
inevitably would never come to light was something I knew I didn't want. I
|
||||||
<p>I can't say that this is how I wanted to start my blog.</p>
|
figured it more likely for me to have a semi-respectful rant about
|
||||||
<p>
|
whatever's causing me to 'crash out' on that particular day. That would
|
||||||
Although, in all honesty, I didn't really have an idea for how I wanted
|
certainly be in character for me.
|
||||||
it to start. That's not to say I didn't know what I *didn't* want. A
|
</p>
|
||||||
meaningless 'Welcome to my Blog' filled with my hopes and aspirations
|
<p>
|
||||||
that inevitably would never come to light was something I knew I didn't
|
But no. Instead, I'm starting my blog on one of the last things I ever
|
||||||
want. I figured it more likely for me to have a semi-respectful rant
|
expected to write about.
|
||||||
about whatever's causing me to 'crash out' on that particular day. That
|
</p>
|
||||||
would certainly be in character for me.
|
<p>Love.</p>
|
||||||
</p>
|
<p>Or rather, the passing of it due to life.</p>
|
||||||
<p>
|
<p>
|
||||||
But no. Instead, I'm starting my blog on one of the last things I ever
|
I've been in two relationships now. Both ended mutually, although what I
|
||||||
expected to write about.
|
consider mutual may not be everyone else's. We came to see the same side of
|
||||||
</p>
|
things, and we understood that we couldn't sustain our lives together. We're
|
||||||
<p>Love.</p>
|
all still friends at the end.
|
||||||
<p>Or rather, the passing of it due to life.</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
I've been in two relationships now. Both ended mutually, although what I
|
Me and my ex-boyfriend were struggling a lot with being able to see each
|
||||||
consider mutual may not be everyone else's. We came to see the same side
|
other. It's not like this relationship was geographically long distance; we
|
||||||
of things, and we understood that we couldn't sustain our lives
|
went to the same school. The distance came more from our schedules and
|
||||||
together. We're all still friends at the end.
|
pathways. I have always been a relatively heavy academic. My parents and
|
||||||
</p>
|
teachers certainly made sure of that, and ultimately helped lead me down a
|
||||||
<p>
|
path of being the teacher's pet. Maybe I'll talk about my experiences and
|
||||||
Me and my ex-boyfriend were struggling a lot with being able to see each
|
struggles related to that another time, but the short of it is that I am a
|
||||||
other. It's not like this relationship was geographically long distance;
|
high-achieving workaholic as a result. My ex-boyfriend on the other hand,
|
||||||
we went to the same school. The distance came more from our schedules
|
didn't have that kind of an experience, and ultimately was led down the
|
||||||
and pathways. I have always been a relatively heavy academic. My parents
|
college-level course stream in high school.
|
||||||
and teachers certainly made sure of that, and ultimately helped lead me
|
</p>
|
||||||
down a path of being the teacher's pet. Maybe I'll talk about my
|
<p>
|
||||||
experiences and struggles related to that another time, but the short of
|
Now, as I began to struggle in my fourth year, particularly with my
|
||||||
it is that I am a high-acheiving workaholic as a result. My ex-boyfriend
|
mathematics continuing their downwards trend, I decided that the life of a
|
||||||
on the other hand, didn't have that kind of an experience, and
|
software engineer wasn't for me. I turned around, almost on a dime, and set
|
||||||
ultimately was led down the college-level course stream in high school.
|
myself towards a career in Psychology. Now, on the surface, this may look
|
||||||
</p>
|
like it would help with our scheduling issues, but no. While I was studying
|
||||||
<p>
|
at school, and desperately trying to keep up my grades, my boyfriend would
|
||||||
Now, as I began to struggle in my fourth year, particularly with my
|
be doing a co-op elsewhere. Even when that ended at the end of the term, the
|
||||||
mathematics continuing their downwards trend, I decided that the life of
|
problem remained. I was too much of a workaholic.
|
||||||
a software engineer wasn't for me. I turned around, almost on a dime,
|
</p>
|
||||||
and set myself towards a career in Psychology. Now, on the surface, this
|
<p>
|
||||||
may look like it would help with our scheduling issues, but no. While I
|
Ultimately, the break-up that I've just had has left me intent on not
|
||||||
was studying at school, and desperately trying to keep up my grades, my
|
spiralling downward. My first was rough on me, and I was not in a good place
|
||||||
boyfriend would be doing a co-op elsewhere. Even when that ended at the
|
for about a week. This time, we both kind of saw this coming. Perhaps that
|
||||||
end of the term, the problem remained. I was too much of a workaholic.
|
makes it easier, but it still sucks for both of us. And, why squander the
|
||||||
</p>
|
motivation I have to better my self care, my habits, and thus myself? I'm
|
||||||
<p>
|
about to go into my first year of university. Normally, I'm either scared of
|
||||||
Ultimately, the break-up that I've just had has left me intent on not
|
my inevitable death, or some past regret of my life that chooses to grip me.
|
||||||
spiralling downward. My first was rough on me, and I was not in a good
|
But now, I'm also anxious for the life ahead.
|
||||||
place for about a week. This time, we both kind of saw this coming.
|
</p>
|
||||||
Perhaps that makes it easier, but it still sucks for both of us. And,
|
<p>
|
||||||
why squander the motivation I have to better my self care, my habits,
|
So what does this all mean in terms of dating for me? Well, it leaves me
|
||||||
and thus myself? I'm about to go into my first year of university.
|
considering the idea that some people are meant to walk through life alone.
|
||||||
Normally, I'm either scared of my inevitable death, or some past regret
|
I'm at a point in my life where dating is probably not a great idea for me.
|
||||||
of my life that chooses to grip me. But now, I'm also anxious for the
|
I struggle enough with burnout spells that adding heartbreak on top would
|
||||||
life ahead.
|
likely kill my education.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
So what does this all mean in terms of dating for me? Well, it leaves me
|
On top of that are my concerns with online dating. Aside from data privacy,
|
||||||
considering the idea that some people are meant to walk through life
|
breaches, and otherwise disgusting people who can't leave these projects to
|
||||||
alone. I'm at a point in my life where dating is probably not a great
|
be a good part of the internet, are the risks with being trans. There are
|
||||||
idea for me. I struggle enough with burnout spells that adding
|
far too many stories, even if most of them are probably from the US, of
|
||||||
heartbreak on top would likely kill my education.
|
people 'trying it out' with a trans person. Ignoring how slimy and
|
||||||
</p>
|
disgusting you have to be to even do that without considering the effects of
|
||||||
<p>
|
those actions, the point of dating is for love (and to meet societal
|
||||||
On top of that are my concerns with online dating. Aside from data
|
expectations while seeking a dual income for the household, among other
|
||||||
privacy, breaches, and otherwise disgusting people who can't leave these
|
things).
|
||||||
projects to be a good part of the internet, are the risks with being
|
</p>
|
||||||
trans. There are far too many stories, even if most of them are probably
|
<p>
|
||||||
from the US, of people 'trying it out' with a trans person. Ignoring how
|
To make it extra clear, love != sex. The point at the end of it isn't so you
|
||||||
slimy and disgusting you have to be to even do that without considering
|
can run home and shag every night--this isn't some 1960s Bond film.
|
||||||
the effects of those actions, the point of dating is for love (and to
|
</p>
|
||||||
meet societal expectations while seeking a dual income for the
|
<p>
|
||||||
household, among other things).
|
If you want to have kids, some trans people who are on HRT, may still be
|
||||||
</p>
|
able to if they've gone to the really awkward and expensive effort of
|
||||||
<p>
|
cryopreservation.
|
||||||
To make it extra clear, love != sex. The point at the end of it isn't so
|
</p>
|
||||||
you can run home and shag every night--this isn't some 1960s Bond film.
|
<p>
|
||||||
</p>
|
Anyway, being someone who was a 'test run' is crushing. I certainly don't
|
||||||
<p>
|
want to run that risk, and other people are in the same boat.
|
||||||
If you want to have kids, some trans people who are on HRT, may still be
|
</p>
|
||||||
able to if they've gone to the really awkward and expensive effort of
|
<p>Given all this, I'll probably tough it out on my own for a while.</p>
|
||||||
cryopreservation.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Anyway, being someone who was a 'test run' is crushing. I certainly
|
|
||||||
don't want to run that risk, and other people are in the same boat.
|
|
||||||
</p>
|
|
||||||
<p>Given all this, I'll probably tough it out on my own for a while.</p>
|
|
||||||
</div>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,118 +6,114 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="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>
|
<main class="pane blog">
|
||||||
<div class="pane_blog">
|
<div class="body">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Unsure U.</h1>
|
||||||
|
<p class="date">Posted: 09 August, 2025</p>
|
||||||
|
<p class="date">Last Edited: 09 August, 2025</p>
|
||||||
|
</header>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="header">
|
<img
|
||||||
<h1 class="title">Unsure U.</h1>
|
alt="A Coaster which reads 'focus on the good,' placed in front of a window."
|
||||||
<p class="date">Posted: 09 August, 2025</p>
|
src="/img/blog/posts/1_unsure_u.webp"
|
||||||
<p class="date">Last Edited: 09 August, 2025</p>
|
/>
|
||||||
</div>
|
<p>The little things, it's the little things that count.</p>
|
||||||
<div class="body">
|
<p>Or so I'm told.</p>
|
||||||
<img
|
<p>
|
||||||
alt="A Coaster which reads 'focus on the good,' placed in front of a window."
|
All around me, all my friends are super excited for university, or college,
|
||||||
src="/img/blog/posts/1_unsure_u.webp"
|
or appreticeship, or--post-secondary in general. They're excited about
|
||||||
/>
|
meeting new [like-minded] people, clubs, increased autonomy, the future
|
||||||
<p>The little things, it's the little things that count.</p>
|
promises of post-secondary education, and of course, parties (within
|
||||||
<p>Or so I'm told.</p>
|
reason). They look to the hopeful side of things.
|
||||||
<p>
|
</p>
|
||||||
All around me, all my friends are super excited for university, or
|
<p>
|
||||||
college, or appreticeship, or--post-secondary in general. They're
|
Now, I have this set of coasters which I got a year or so ago at a local
|
||||||
excited about meeting new [like-minded] people, clubs, increased
|
market. They're meant to keep me in a more positive headspace, but half the
|
||||||
autonomy, the future promises of post-secondary education, and of
|
time they're covered up by drinks... Anyway, one of them advises me to
|
||||||
course, parties (within reason). They look to the hopeful side of
|
"focus on the good".
|
||||||
things.
|
</p>
|
||||||
</p>
|
<p>
|
||||||
<p>
|
And boy, do I try hard to do that. But without a job, I'm left to my
|
||||||
Now, I have this set of coasters which I got a year or so ago at a local
|
hyperfixation and burnout routine. If I'm lucky, I just start going a bit
|
||||||
market. They're meant to keep me in a more positive headspace, but half
|
stir-crazy from sitting in my room, doing things that I consider productive,
|
||||||
the time they're covered up by drinks... Anyway, one of them advises me
|
with only the occasional break for the loo and another cup of bean juice.
|
||||||
to "focus on the good".
|
Then, it's back to work, dawn until dinner, then maybe I'll play a game
|
||||||
</p>
|
briefly, but not until working some more.
|
||||||
<p>
|
</p>
|
||||||
And boy, do I try hard to do that. But without a job, I'm left to my
|
<p>
|
||||||
hyperfixation and burnout routine. If I'm lucky, I just start going a
|
There are of course plenty of things that I'd like to blame for why I'm like
|
||||||
bit stir-crazy from sitting in my room, doing things that I consider
|
this, but that's not the purpose of this post, nor more than speculation.
|
||||||
productive, with only the occasional break for the loo and another cup
|
</p>
|
||||||
of bean juice. Then, it's back to work, dawn until dinner, then maybe
|
<p>
|
||||||
I'll play a game briefly, but not until working some more.
|
Anyway, I'm currently writing this in a cheerful little café after an
|
||||||
</p>
|
appointment so that I take a break to process, and perhaps understand, some
|
||||||
<p>
|
emotions, while taking in this little thing. So, back to university, since
|
||||||
There are of course plenty of things that I'd like to blame for why I'm
|
that's my academic trajectory.
|
||||||
like this, but that's not the purpose of this post, nor more than
|
</p>
|
||||||
speculation.
|
<p>I'm terrified.</p>
|
||||||
</p>
|
<p>
|
||||||
<p>
|
I've struggled a lot to plan and get course selections which will allow me
|
||||||
Anyway, I'm currently writing this in a cheerful little café after an
|
to fulfill my degree, only to fail rather badly. Seriously, I will probably
|
||||||
appointment so that I take a break to process, and perhaps understand,
|
do poorly in philosophy, and it doesn't help me with just about any of my
|
||||||
some emotions, while taking in this little thing. So, back to
|
requirements. On top of that, I'm worried about the teachers that I'll get.
|
||||||
university, since that's my academic trajectory.
|
It was bad enough in grade 5, and I'd had a few years to anticipate that
|
||||||
</p>
|
teacher. In university, I have no knowledge going into first year. The best
|
||||||
<p>I'm terrified.</p>
|
resource I have is something like RateMyProf which honestly kinda sucks and
|
||||||
<p>
|
probably makes things worse unless there's a resoundingly poor overall
|
||||||
I've struggled a lot to plan and get course selections which will allow
|
rating.
|
||||||
me to fulfill my degree, only to fail rather badly. Seriously, I will
|
</p>
|
||||||
probably do poorly in philosophy, and it doesn't help me with just about
|
<p>
|
||||||
any of my requirements. On top of that, I'm worried about the teachers
|
That's not to say that all of my course selections are bad; I still have the
|
||||||
that I'll get. It was bad enough in grade 5, and I'd had a few years to
|
ones within the interest of my degree and some in my hobbies, that also
|
||||||
anticipate that teacher. In university, I have no knowledge going into
|
contribute directly to the degree. One friend and I were also able to get
|
||||||
first year. The best resource I have is something like RateMyProf which
|
some courses together since I had to take them, and they wanted to. This may
|
||||||
honestly kinda sucks and probably makes things worse unless there's a
|
sound silly given the struggles with course availabilities, but I promise
|
||||||
resoundingly poor overall rating.
|
these decisions were made following a lot of logical consideration of both
|
||||||
</p>
|
of our degrees' completion.
|
||||||
<p>
|
</p>
|
||||||
That's not to say that all of my course selections are bad; I still have
|
<p>
|
||||||
the ones within the interest of my degree and some in my hobbies, that
|
Another concern is the fact that I know so little, and I get my orientation
|
||||||
also contribute directly to the degree. One friend and I were also able
|
the day before I need to use it... that's not a lot of time to figure out if
|
||||||
to get some courses together since I had to take them, and they wanted
|
you're missing something. That then contributes to my concerns about being
|
||||||
to. This may sound silly given the struggles with course availabilities,
|
able to move around campus fast enough to not miss classes, on top of the
|
||||||
but I promise these decisions were made following a lot of logical
|
fatigue that I'll have from waking up at 5h30.
|
||||||
consideration of both of our degrees' completion.
|
</p>
|
||||||
</p>
|
<p>
|
||||||
<p>
|
Finally, because otherwise I could keep going on, are my concerns regarding
|
||||||
Another concern is the fact that I know so little, and I get my
|
the ever-shoved-down-our-gullets AIs. I write oddly. This blog, my poetry,
|
||||||
orientation the day before I need to use it... that's not a lot of time
|
and all of my past essays and analyses. My teachers can attest, especially
|
||||||
to figure out if you're missing something. That then contributes to my
|
my grade 9 & 12 English teacher who had to consult two other teachers and
|
||||||
concerns about being able to move around campus fast enough to not miss
|
myself to fully understand
|
||||||
classes, on top of the fatigue that I'll have from waking up at 5h30.
|
<a href="https://gitea.cutieguwu.ca/cutieguwu/falling_down_building_up"
|
||||||
</p>
|
>Building Up</a
|
||||||
<p>
|
>, a poem I wrote with the rust programming language for symbology.
|
||||||
Finally, because otherwise I could keep going on, are my concerns
|
</p>
|
||||||
regarding the ever-shoved-down-our-gullets AIs. I write oddly. This
|
<p>
|
||||||
blog, my poetry, and all of my past essays and analyses. My teachers can
|
The concerns about having to prove that I don't use AI were bad enough in
|
||||||
attest, especially my grade 9 & 12 English teacher who had to consult
|
High School. Universities have far more strict policies, which likely
|
||||||
two other teachers and myself to fully understand
|
utilize a guilty until proven innocent model.
|
||||||
<a href="https://gitea.cutieguwu.ca/cutieguwu/falling_down_building_up"
|
</p>
|
||||||
>Building Up</a
|
<p>
|
||||||
>, a poem I wrote with the rust programming language for symbology.
|
At the end of the day, I'm trying to take in the little things and not worry
|
||||||
</p>
|
too much.
|
||||||
<p>
|
</p>
|
||||||
The concerns about having to prove that I don't use AI were bad enough
|
|
||||||
in High School. Universities have far more strict policies, which likely
|
|
||||||
utilize a guilty until proven innocent model.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
At the end of the day, I'm trying to take in the little things and not
|
|
||||||
worry too much.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
162
src/blog/posts/2_buyers_anxiety.html
Normal file
162
src/blog/posts/2_buyers_anxiety.html
Normal 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>
|
||||||
142
src/blog/posts/3_closing_chapters.html
Normal file
142
src/blog/posts/3_closing_chapters.html
Normal 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>
|
||||||
149
src/blog/posts/4_pointless_plans.html
Normal file
149
src/blog/posts/4_pointless_plans.html
Normal 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>
|
||||||
144
src/blog/posts/5_optical_recovery.html
Normal file
144
src/blog/posts/5_optical_recovery.html
Normal 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>
|
||||||
@@ -1,3 +1 @@
|
|||||||
@use "../partials/a_common";
|
@use "../partials/a_common";
|
||||||
|
|
||||||
@use "../partials/pane_main";
|
|
||||||
|
|||||||
@@ -6,294 +6,287 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="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>
|
<main class="pane">
|
||||||
<div class="pane_main">
|
<div class="body">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Disclosure</h1>
|
||||||
|
<p class="date">Last Edited: 01 August, 2025</p>
|
||||||
|
</header>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="header">
|
<div class="layout_row">
|
||||||
<h1 class="title">Disclosure</h1>
|
<div class="item">
|
||||||
<p class="date">Last Edited: 01 August, 2025</p>
|
<h2 class="title">Website Security</h2>
|
||||||
</div>
|
<p>
|
||||||
<div class="body">
|
This website uses a number of security features, most of which are
|
||||||
<div class="layout_row">
|
built into your browser, to protect my and your:
|
||||||
<div class="item">
|
</p>
|
||||||
<h2 class="title">Website Security</h2>
|
<ul>
|
||||||
<p>
|
<li>Infrastructure</li>
|
||||||
This website uses a number of security features, most of which
|
<li>Data, and</li>
|
||||||
are built into your browser, to protect my and your:
|
<li>Experience</li>
|
||||||
</p>
|
</ul>
|
||||||
<ul>
|
<p>
|
||||||
<li>Infrastructure</li>
|
You can see some of the main methods that this website uses below:
|
||||||
<li>Data, and</li>
|
</p>
|
||||||
<li>Experience</li>
|
<div class="section_list">
|
||||||
</ul>
|
<section>
|
||||||
<p>
|
<header>
|
||||||
You can see some of the main methods that this website uses
|
<div>
|
||||||
below:
|
<h3 class="name">Anubis</h3>
|
||||||
</p>
|
<span class="subtitle"
|
||||||
<div class="chunk_list">
|
>AI Scraper Screening Utility</span
|
||||||
<div class="chunk">
|
>
|
||||||
<div class="header">
|
|
||||||
<div>
|
|
||||||
<h3 class="name">Anubis</h3>
|
|
||||||
<span class="subtitle"
|
|
||||||
>AI Scraper Screening Utility</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
</header>
|
||||||
<p>
|
<div class="body">
|
||||||
This website is protected by a screening utility
|
<p>
|
||||||
known as
|
This website is protected by a screening utility known
|
||||||
<a href="https://anubis.techaro.lol/" class="italic"
|
as
|
||||||
>Anubis</a
|
<a href="https://anubis.techaro.lol/"
|
||||||
>. You may also have heard of this program as
|
><cite>Anubis</cite></a
|
||||||
<span class="italic">BotStopper</span> for those who
|
>. You may also have heard of this program as
|
||||||
purchase a commercial license because they somehow
|
<cite>BotStopper</cite> for those who purchase a
|
||||||
can't live with a cute anime girl showing up on
|
commercial license because they somehow can't live with
|
||||||
their websites. UNESCO notably don't have a problem
|
a cute anime girl showing up on their websites. UNESCO
|
||||||
with that, and proudly present an anime girl as of
|
notably don't have a problem with that, and proudly
|
||||||
writing this.
|
present an anime girl as of 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
|
||||||
|
actively fund the project.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Despite what some fools at the FSF figure, Anubis IS NOT
|
||||||
|
malware. See:
|
||||||
|
<a href="https://www.youtube.com/watch?v=YisGpdPjYM8"
|
||||||
|
><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
|
||||||
|
>
|
||||||
|
where concerns were looked into.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Now, if you have a moral issue with this project, you
|
||||||
|
may do one of two things (because adjusting your UA will
|
||||||
|
just make me block the UA, or add a complete catch-all
|
||||||
|
rule):
|
||||||
|
</p>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
Don't allow JavaScript to run. (Have fun making this
|
||||||
|
work)
|
||||||
|
</li>
|
||||||
|
<li>Just don't use my website.</li>
|
||||||
|
</ol>
|
||||||
|
<p>
|
||||||
|
If you experience issues with Anubis blocking you, which
|
||||||
|
presumably hasn't happened on your way to this page, you
|
||||||
|
can email me with details. DO NOT bother the main
|
||||||
|
project as it may be an issue with a screening rule that
|
||||||
|
I've invoked.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If you do wish to raise an issue with the Anubis dev(s),
|
||||||
|
PLEASE DO NOT DO SOMETHING LIKE THIS:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
<a
|
<a
|
||||||
href="https://www.youtube.com/watch?v=YisGpdPjYM8"
|
href="https://github.com/TecharoHQ/anubis/issues/113"
|
||||||
class="italic"
|
>Anubis Issue #113</a
|
||||||
>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>
|
|
||||||
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
|
|
||||||
>
|
>
|
||||||
where concerns were looked into.
|
</li>
|
||||||
</p>
|
<li>
|
||||||
<p>
|
|
||||||
Now, if you have a moral issue with this project,
|
|
||||||
you may do one of two things (because adjusting your
|
|
||||||
UA will just make me block the UA, or add a complete
|
|
||||||
catch-all rule):
|
|
||||||
</p>
|
|
||||||
<ol>
|
|
||||||
<li>
|
|
||||||
Don't allow JavaScript to run. (Have fun making
|
|
||||||
this work)
|
|
||||||
</li>
|
|
||||||
<li>Just don't use my website.</li>
|
|
||||||
</ol>
|
|
||||||
<p>
|
|
||||||
If you experience issues with Anubis blocking you,
|
|
||||||
which presumably hasn't happened on your way to this
|
|
||||||
page, you can email me with details. DO NOT bother
|
|
||||||
the main project as it may be an issue with a
|
|
||||||
screening rule that I've invoked.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
If you do wish to raise an issue with the Anubis
|
|
||||||
dev(s), PLEASE DO NOT DO SOMETHING LIKE THIS:
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/TecharoHQ/anubis/issues/113"
|
|
||||||
>Anubis Issue #113</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/TecharoHQ/anubis/discussions/114"
|
|
||||||
>Anubis Discussion #114</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/TecharoHQ/anubis/discussions/117"
|
|
||||||
>Anubis Discussion #117</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="chunk">
|
|
||||||
<div class="header">
|
|
||||||
<div>
|
|
||||||
<h3 class="name">Content Security Policy (CSP)</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<p>
|
|
||||||
This website, unlike a scary number of sites
|
|
||||||
(including google.com and microsoft.com as of
|
|
||||||
writing) has a CSP configured. This helps prevent or
|
|
||||||
mitigate a number of possible attacks including
|
|
||||||
cross-site scripting and clickjacking.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Further Reading:
|
|
||||||
<a
|
<a
|
||||||
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP"
|
href="https://github.com/TecharoHQ/anubis/discussions/114"
|
||||||
>https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP</a
|
>Anubis Discussion #114</a
|
||||||
>
|
>
|
||||||
</p>
|
</li>
|
||||||
</div>
|
<li>
|
||||||
</div>
|
|
||||||
<div class="chunk">
|
|
||||||
<div class="header">
|
|
||||||
<div>
|
|
||||||
<h3 class="name">
|
|
||||||
HTTP Strict Transport Security (HSTS)
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<p>
|
|
||||||
This website has a HSTS policy which indicates to
|
|
||||||
your browser to use a secure connection when
|
|
||||||
connecting.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Additionally, the server will force redirect ALL
|
|
||||||
connections over to HTTPS for any browsers which do
|
|
||||||
not use this header or have a HTTPS-only mode
|
|
||||||
enabled.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Further Reading:
|
|
||||||
<a
|
<a
|
||||||
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security"
|
href="https://github.com/TecharoHQ/anubis/discussions/117"
|
||||||
>https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security</a
|
>Anubis Discussion #117</a
|
||||||
>
|
>
|
||||||
</p>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="chunk">
|
</section>
|
||||||
<div class="header">
|
<section>
|
||||||
<div>
|
<header>
|
||||||
<h3 class="name">Other Security Headers</h3>
|
<div>
|
||||||
</div>
|
<h3 class="name">Content Security Policy (CSP)</h3>
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<p>Some include:</p>
|
|
||||||
<ul>
|
|
||||||
<li>X-Content-Type-Options</li>
|
|
||||||
<li>X-Frame-Options</li>
|
|
||||||
<li>X-XSS-Protection</li>
|
|
||||||
<li>Permissions-Policy</li>
|
|
||||||
<li>Referrer-Policy</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="body">
|
||||||
|
<p>
|
||||||
|
This website, unlike a scary number of sites (including
|
||||||
|
google.com and microsoft.com as of writing) has a CSP
|
||||||
|
configured. This helps prevent or mitigate a number of
|
||||||
|
possible attacks including cross-site scripting and
|
||||||
|
clickjacking.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Further Reading:
|
||||||
|
<a
|
||||||
|
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP"
|
||||||
|
>https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP</a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="chunk">
|
</section>
|
||||||
<div class="header">
|
<section>
|
||||||
<div>
|
<header>
|
||||||
<h3 class="name">Security.txt</h3>
|
<div>
|
||||||
</div>
|
<h3 class="name">
|
||||||
</div>
|
HTTP Strict Transport Security (HSTS)
|
||||||
<div class="body">
|
</h3>
|
||||||
<p>
|
|
||||||
This file offers information to security researchers
|
|
||||||
to silently report any issues they find so that I
|
|
||||||
can resolve them.
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="body">
|
||||||
|
<p>
|
||||||
|
This website has a HSTS policy which indicates to your
|
||||||
|
browser to use a secure connection when connecting.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Additionally, the server will force redirect ALL
|
||||||
|
connections over to HTTPS for any browsers which do not
|
||||||
|
use this header or have a HTTPS-only mode enabled.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Further Reading:
|
||||||
|
<a
|
||||||
|
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security"
|
||||||
|
>https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security</a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
|
<section>
|
||||||
|
<header>
|
||||||
|
<div>
|
||||||
|
<h3 class="name">Other Security Headers</h3>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="body">
|
||||||
|
<p>Some include:</p>
|
||||||
|
<ul>
|
||||||
|
<li>X-Content-Type-Options</li>
|
||||||
|
<li>X-Frame-Options</li>
|
||||||
|
<li>X-XSS-Protection</li>
|
||||||
|
<li>Permissions-Policy</li>
|
||||||
|
<li>Referrer-Policy</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<header>
|
||||||
|
<div>
|
||||||
|
<h3 class="name">Security.txt</h3>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="body">
|
||||||
|
<p>
|
||||||
|
This file offers information to security researchers to
|
||||||
|
silently report any issues they find so that I can
|
||||||
|
resolve them.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
</div>
|
||||||
<h2 class="title">Cookies</h2>
|
<div class="item">
|
||||||
<p>
|
<h2 class="title">Cookies</h2>
|
||||||
This website only leaves cookies that are required for the
|
<p>
|
||||||
website's functioning. I do not place any trackers on your
|
This website only leaves cookies that are required for the website's
|
||||||
system.
|
functioning. I do not place any trackers on your 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 class="body">
|
|
||||||
<p>
|
|
||||||
This website does utilize a cookie. This cookie is
|
|
||||||
made by Anubis to keep your system from having to
|
|
||||||
pass the proof-of-work check every time you request
|
|
||||||
a resource from this site.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
THEORETICALLY, this cookie, as with any JavaScript
|
|
||||||
cookie,
|
|
||||||
<span class="italic">can</span> be used to track
|
|
||||||
you.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
HOWEVER, I do not use it for tracking, Anubis does
|
|
||||||
not use it for tracking, and there is no evidence
|
|
||||||
that 3rd parties are abusing the cookie. There are
|
|
||||||
far more attractive targets.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
IF this becomes an issue, until the lead
|
|
||||||
developer(s) and/or community can find a solution,
|
|
||||||
Anubis will be reconfigured to send out challenges
|
|
||||||
even more frequently, and an advisory notice to wipe
|
|
||||||
your browser cookies at the end of your session will
|
|
||||||
be made.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Under the current configuration, Anubis' cookies are
|
|
||||||
valid for 24h. This does not mean that the cookie is
|
|
||||||
necessarily gone from your system.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a
|
|
||||||
href="https://github.com/TecharoHQ/anubis/issues/50"
|
|
||||||
>Anubis Issue #50</a
|
|
||||||
>
|
|
||||||
briefly looked into the possibility of abuse via the
|
|
||||||
cookie.
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="body">
|
||||||
|
<p>
|
||||||
|
This website does utilize a cookie. This cookie is made
|
||||||
|
by Anubis to keep your system from having to pass the
|
||||||
|
proof-of-work check every time you request a resource
|
||||||
|
from this site.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
THEORETICALLY, this cookie, as with any JavaScript
|
||||||
|
cookie,
|
||||||
|
<em>can</em> be used to track you.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
HOWEVER, I do not use it for tracking, Anubis does not
|
||||||
|
use it for tracking, and there is no evidence that 3rd
|
||||||
|
parties are abusing the cookie. There are far more
|
||||||
|
attractive targets.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
IF this becomes an issue, until the lead developer(s)
|
||||||
|
and/or community can find a solution, Anubis will be
|
||||||
|
reconfigured to send out challenges even more
|
||||||
|
frequently, and an advisory notice to wipe your browser
|
||||||
|
cookies at the end of your session will be made.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Under the current configuration, Anubis' cookies are
|
||||||
|
valid for 24h. This does not mean that the cookie is
|
||||||
|
necessarily gone from your system.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="https://github.com/TecharoHQ/anubis/issues/50"
|
||||||
|
>Anubis Issue #50</a
|
||||||
|
>
|
||||||
|
briefly looked into the possibility of abuse via the
|
||||||
|
cookie.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,32 +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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 400</h5>
|
||||||
<h5 class="page">400</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>400</h1>
|
<h1 class="title">400</h1>
|
||||||
<h2>Bad Request!</h2>
|
<h2>Bad Request!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>
|
<hr />
|
||||||
The server cannot or will not process this request due to apparent
|
<p>
|
||||||
client-side error or deception.
|
The server cannot or will not process this request due to apparent client-side
|
||||||
</p>
|
error or deception.
|
||||||
</div>
|
</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,27 +6,27 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 401</h5>
|
||||||
<h5 class="page">401</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>401</h1>
|
<h1 class="title">401</h1>
|
||||||
<h2>Unauthorized!</h2>
|
<h2>Unauthorized!</h2>
|
||||||
</div>
|
</header>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,29 +6,29 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 403</h5>
|
||||||
<h5 class="page">403</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>403</h1>
|
<h1 class="title">403</h1>
|
||||||
<h2>Forbidden!</h2>
|
<h2>Forbidden!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>The server is refusing to act upon your request.</p>
|
<hr />
|
||||||
</div>
|
<p>The server is refusing to act upon your request.</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,27 +6,27 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 404</h5>
|
||||||
<h5 class="page">404</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>404</h1>
|
<h1 class="title">404</h1>
|
||||||
<h2>Page not found!</h2>
|
<h2>Page not found!</h2>
|
||||||
</div>
|
</header>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,29 +6,29 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 500</h5>
|
||||||
<h5 class="page">500</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>500</h1>
|
<h1 class="title">500</h1>
|
||||||
<h2>Internal Server Error!</h2>
|
<h2>Internal Server Error!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>The server has no clue WTF happened here.</p>
|
<hr />
|
||||||
</div>
|
<p>The server has no clue WTF happened here.</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,29 +6,29 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 501</h5>
|
||||||
<h5 class="page">501</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>501</h1>
|
<h1 class="title">501</h1>
|
||||||
<h2>Not Implemented!</h2>
|
<h2>Not Implemented!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>Whatever you just tried doing, the server doesn't know how to handle it.</p>
|
<hr />
|
||||||
</div>
|
<p>Whatever you just tried doing, the server doesn't know how to handle it.</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,29 +6,29 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 502</h5>
|
||||||
<h5 class="page">502</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>502</h1>
|
<h1 class="title">502</h1>
|
||||||
<h2>Bad Gateway!</h2>
|
<h2>Bad Gateway!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>This service may be offline.</p>
|
<hr />
|
||||||
</div>
|
<p>This service may be offline.</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,29 +6,29 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 503</h5>
|
||||||
<h5 class="page">503</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>503</h1>
|
<h1 class="title">503</h1>
|
||||||
<h2>Service Unavailable!</h2>
|
<h2>Service Unavailable!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>The server may be overloaded or down for maintenance.</p>
|
<hr />
|
||||||
</div>
|
<p>The server may be overloaded or down for maintenance.</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -2,36 +2,36 @@
|
|||||||
|
|
||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Error - 504</h5>
|
||||||
<h5 class="page">Error Template</h5>
|
</div>
|
||||||
</div>
|
<include src="includes/nav_quick_links.html" />
|
||||||
<include src="includes/nav_quick_links.html" />
|
</nav>
|
||||||
</nav>
|
<main class="pane error">
|
||||||
<div class="pane_error">
|
<div class="body">
|
||||||
<div class="body">
|
<header>
|
||||||
<h1>504</h1>
|
<h1 class="title">504</h1>
|
||||||
<h2>Gateway Timeout!</h2>
|
<h2>Gateway Timeout!</h2>
|
||||||
<hr />
|
</header>
|
||||||
<p>
|
<hr />
|
||||||
The server acted as a proxy and didn't receive a timely response from the
|
<p>
|
||||||
upstream server.
|
The server acted as a proxy and didn't receive a timely response from the
|
||||||
</p>
|
upstream server.
|
||||||
</div>
|
</p>
|
||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
|
||||||
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -4,12 +4,57 @@
|
|||||||
<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>
|
<item>
|
||||||
<title>Unsure U.</title>
|
<title>Unsure U.</title>
|
||||||
|
<pubDate>09 August, 2025</pubDate>
|
||||||
<link>https://www.cutieguwu.ca/blog/posts/1_unsure_u.html</link>
|
<link>https://www.cutieguwu.ca/blog/posts/1_unsure_u.html</link>
|
||||||
<description>Discussing my fears for University.</description>
|
<description>Discussing my fears for University.</description>
|
||||||
<category>Life</category>
|
<category>Life</category>
|
||||||
@@ -18,8 +63,10 @@
|
|||||||
</item>
|
</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>
|
||||||
|
|||||||
BIN
src/img/blog/posts/2_buyers_anxiety.jpg
Normal file
BIN
src/img/blog/posts/2_buyers_anxiety.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 MiB |
@@ -9,3 +9,20 @@
|
|||||||
<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>
|
||||||
|
|||||||
@@ -1,23 +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>
|
<div>
|
||||||
<h3 class="name">Unsure U.</h3>
|
<h3 class="name">Unsure U.</h3>
|
||||||
<span class="subtitle">09 August, 2025</span>
|
<span class="subtitle">09 August, 2025</span>
|
||||||
</div>
|
</div>
|
||||||
<a href="/blog/posts/1_unsure_u.html" class="status"> View </a>
|
<a href="/blog/posts/1_unsure_u.html" class="status">View</a>
|
||||||
</div>
|
</header>
|
||||||
</div>
|
</section>
|
||||||
<div class="chunk">
|
<section>
|
||||||
<div class="header">
|
<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>
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
<p class="footer">Made with love in Canada 🇨🇦</p>
|
<footer>
|
||||||
|
<p>Made with love in Canada 🇨🇦</p>
|
||||||
|
</footer>
|
||||||
|
|||||||
@@ -8,6 +8,9 @@
|
|||||||
<!-- See: https://github.com/ai-robots-txt/ai.robots.txt/issues/111 -->
|
<!-- See: https://github.com/ai-robots-txt/ai.robots.txt/issues/111 -->
|
||||||
<meta name="bingbot" content="noarchive" />
|
<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" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<input type="checkbox" id="toggle" />
|
<input id="toggle_nav" type="checkbox" />
|
||||||
<label for="toggle" class="header">
|
<label for="toggle_nav" class="nav_header">
|
||||||
<h2 class="nav_logo">Cutieguwu</h2>
|
<h2 class="logo">Cutieguwu</h2>
|
||||||
<ion-icon name="menu-outline"></ion-icon>
|
<ion-icon name="menu-outline"></ion-icon>
|
||||||
</label>
|
</label>
|
||||||
|
|||||||
@@ -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="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="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="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="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="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="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="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="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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<p class="tailer">Copyright (c) 2025 Olivia Brooks</p>
|
<footer><p class="tailer">Copyright (c) 2025 Olivia Brooks</p></footer>
|
||||||
|
|||||||
@@ -6,41 +6,39 @@
|
|||||||
<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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="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>
|
<main class="pane">
|
||||||
<div class="pane_main">
|
<div class="body">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Home</h1>
|
||||||
|
<p class="date">Last Edited: 03 August, 2025</p>
|
||||||
|
</header>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="header">
|
<p>People, this is under development. Live with the lorem ipsum.</p>
|
||||||
<h1 class="title">Home</h1>
|
<p>lorem ipsum idk what else there is in this latin phrase</p>
|
||||||
<p class="date">Last Edited: 03 August, 2025</p>
|
<p>
|
||||||
</div>
|
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex
|
||||||
<div class="body">
|
sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis
|
||||||
<p>lorem ipsum idk what else there is in this latin phrase</p>
|
convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus
|
||||||
<p>
|
fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada
|
||||||
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus
|
lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti
|
||||||
ex sapien vitae pellentesque sem placerat. In id cursus mi pretium
|
sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
|
||||||
tellus duis convallis. Tempus leo eu aenean sed diam urna tempor.
|
</p>
|
||||||
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>
|
|
||||||
</div>
|
|
||||||
</div>
|
</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/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,24 +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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Bearock SMP</h5>
|
||||||
<h5 class="page">Bearock SMP</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_main">
|
|
||||||
<div class="body"><p>This page has not yet been filled out. Sorry!</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/nav_quick_links.html" />
|
||||||
|
</nav>
|
||||||
|
<main class="pane">
|
||||||
|
<div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
|
||||||
|
<include src="includes/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
@use "../../partials/a_common";
|
@use "../../partials/a_common";
|
||||||
|
|
||||||
@use "../../partials/pane_main";
|
|
||||||
|
|||||||
@@ -6,24 +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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Minecraft</h5>
|
||||||
<h5 class="page">Minecraft</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_main">
|
|
||||||
<div class="body"><p>This page has not yet been filled out. Sorry!</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/nav_quick_links.html" />
|
||||||
|
</nav>
|
||||||
|
<main class="pane">
|
||||||
|
<div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
|
||||||
|
<include src="includes/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -6,24 +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_header.html" />
|
<include src="includes/nav_menu.html" />
|
||||||
<include src="includes/nav_menu.html" />
|
<div class="location">
|
||||||
<div class="location">
|
<header><h4>You are here:</h4></header>
|
||||||
<h4 class="header">You are here:</h4>
|
<h5 class="page">Rebirth SMP</h5>
|
||||||
<h5 class="page">Rebirth SMP</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_main">
|
|
||||||
<div class="body"><p>This page has not yet been filled out. Sorry!</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/nav_quick_links.html" />
|
||||||
|
</nav>
|
||||||
|
<main class="pane">
|
||||||
|
<div class="body"><p>This page has not yet been filled out. Sorry!</p></div>
|
||||||
|
<include src="includes/tailer.html" />
|
||||||
|
</main>
|
||||||
|
<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/footer.html" />
|
||||||
<include src="includes/scripts.html" />
|
<include src="includes/scripts.html" />
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
@use "../../partials/a_common";
|
@use "../../partials/a_common";
|
||||||
|
|
||||||
@use "../../partials/pane_main";
|
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
@use "../partials/a_common";
|
@use "../partials/a_common";
|
||||||
|
|
||||||
@use "../partials/pane_main";
|
|
||||||
|
|||||||
52
src/partials/_a_colours.css
Normal file
52
src/partials/_a_colours.css
Normal 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;
|
||||||
|
}
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
@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.
|
||||||
@@ -14,7 +13,7 @@
|
|||||||
// 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
|
// Odd numbers should be used as intermediate colours between the
|
||||||
// fore and back elements. Excepting white--white's special.
|
// fore and back elements.
|
||||||
//
|
//
|
||||||
// Eg. Current dropdown menu.
|
// Eg. Current dropdown menu.
|
||||||
|
|
||||||
@@ -53,8 +52,7 @@
|
|||||||
|
|
||||||
--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);
|
|
||||||
|
|
||||||
--spacing-small: 0.75rem; // Previously: --spacing-horizontal
|
--spacing-small: 0.75rem; // Previously: --spacing-horizontal
|
||||||
--spacing-medium: 1rem; // Previously: --spacing-menu-gap
|
--spacing-medium: 1rem; // Previously: --spacing-menu-gap
|
||||||
@@ -68,11 +66,19 @@
|
|||||||
--transform-scale-y: scaleY(1.15);
|
--transform-scale-y: scaleY(1.15);
|
||||||
|
|
||||||
font-size: var(--font-size-generic);
|
font-size: var(--font-size-generic);
|
||||||
|
color: var(--white-1);
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: var(--background-0);
|
display: grid;
|
||||||
margin: 0;
|
background-color: var(--background-0);
|
||||||
color: var(--white-3);
|
grid-template-rows: min-content auto;
|
||||||
|
|
||||||
|
// Adds a margin otherwise for some reason.
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
.kao-banner {
|
||||||
|
grid-area: banner;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,47 +108,42 @@ a {
|
|||||||
font-family: var(--font-family-generic);
|
font-family: var(--font-family-generic);
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewport {
|
// Mobile
|
||||||
// Adds a margin otherwise for some reason.
|
@media (max-width: 600px) {
|
||||||
margin: inherit;
|
|
||||||
|
|
||||||
display: grid;
|
|
||||||
grid-auto-flow: column dense;
|
|
||||||
grid-template-columns: min-content 1fr min-content;
|
|
||||||
grid-template-areas: "nav main spacer";
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
|
||||||
:root {
|
:root {
|
||||||
--spacing-large: var(--spacing-small);
|
--spacing-large: var(--spacing-small);
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewport {
|
body {
|
||||||
grid-auto-flow: row;
|
|
||||||
grid-template-columns: none;
|
grid-template-columns: none;
|
||||||
grid-template-areas: "nav" "main" "spacer";
|
grid-template-areas: "banner" "nav" "main" "spacer";
|
||||||
|
|
||||||
// Compress spacings to maximize useable area.
|
// Compress spacings to maximize useable area.
|
||||||
padding: var(--spacing-small);
|
// padding: var(--spacing-small);
|
||||||
justify-items: center;
|
justify-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pane_spacer,
|
.pane.spacer,
|
||||||
.footer {
|
.footer {
|
||||||
position: static;
|
position: static;
|
||||||
top: auto;
|
top: auto;
|
||||||
left: auto;
|
left: auto;
|
||||||
right: auto;
|
right: auto;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.pane_main,
|
// Tablets and Intermediary
|
||||||
.pane_blog,
|
@media (min-width: 601px) and (max-width: 1023px) {
|
||||||
.pane_error,
|
body {
|
||||||
.pane_spacer {
|
grid-template-columns: min-content 1fr;
|
||||||
margin: 0;
|
grid-template-areas: "banner banner" "nav main" "spacer main";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.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";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
.footer {
|
body > footer {
|
||||||
margin: 0;
|
|
||||||
padding: var(--spacing-small);
|
padding: var(--spacing-small);
|
||||||
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
grid-auto-flow: column;
|
grid-auto-flow: column;
|
||||||
gap: var(--spacing-small);
|
gap: var(--spacing-small);
|
||||||
|
|
||||||
.item {
|
> .item {
|
||||||
padding: calc(var(--spacing-small) * 2);
|
padding: calc(var(--spacing-small) * 2);
|
||||||
|
|
||||||
background-color: var(--background-1);
|
background-color: var(--background-1);
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
margin-top: var(--spacing-small);
|
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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
@use "blog_recent_posts";
|
|
||||||
|
|
||||||
@use "page_resume";
|
|
||||||
23
src/partials/_a_pane.scss
Normal file
23
src/partials/_a_pane.scss
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,22 +1,16 @@
|
|||||||
/*
|
.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-small);
|
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;
|
||||||
@@ -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 {
|
|
||||||
|
.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);
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
.tailer {
|
|
||||||
margin: var(--spacing-large) 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-small);
|
|
||||||
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
.spacer_posts {
|
|
||||||
justify-content: start !important;
|
|
||||||
|
|
||||||
.recent_posts .chunk .header {
|
|
||||||
background-color: var(--background-1);
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,40 +1,62 @@
|
|||||||
.nav_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 {
|
||||||
align-self: center;
|
align-self: center;
|
||||||
transition-duration: 0.25s;
|
transition-duration: 0.25s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
> .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) {
|
||||||
> .header {
|
.dropdown {
|
||||||
transform: var(--transform-scale-x);
|
> label.item > ion-icon {
|
||||||
|
margin-right: var(--padding-mobile);
|
||||||
ion-icon {
|
|
||||||
rotate: 90deg;
|
|
||||||
transition-duration: 0.25s;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
> .body {
|
// Use a toggle for menu entries on mobile and intermediary devices.
|
||||||
display: grid;
|
@media (max-width: 1023px) {
|
||||||
|
.dropdown {
|
||||||
|
> input:checked + label {
|
||||||
|
color: var(--highlight-hover);
|
||||||
|
|
||||||
|
+ ul {
|
||||||
|
display: grid;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
// Use a hover state for menu entries on large screens.
|
||||||
.nav_dropdown > .header ion-icon {
|
@media (min-width: 1024px) {
|
||||||
margin-right: var(--padding-mobile);
|
.dropdown:hover {
|
||||||
|
> label.item {
|
||||||
|
transform: var(--transform-scale-x);
|
||||||
|
|
||||||
|
> ion-icon {
|
||||||
|
rotate: 90deg;
|
||||||
|
transition-duration: 0.25s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> ul {
|
||||||
|
display: grid;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.pane_nav > .header {
|
nav.pane > .nav_header {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: none;
|
grid-template-columns: none;
|
||||||
grid-template-areas: "logo";
|
grid-template-areas: "logo";
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
@media (max-width: 600px) {
|
||||||
.pane_nav > .header {
|
nav.pane > .nav_header {
|
||||||
grid-template-columns: min-content 1fr min-content;
|
grid-template-columns: min-content 1fr min-content;
|
||||||
grid-template-areas: "logo blank hamburger";
|
grid-template-areas: "logo blank hamburger";
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav_logo {
|
nav .logo {
|
||||||
grid-area: logo;
|
grid-area: logo;
|
||||||
|
|
||||||
font-family: var(--font-family-generic);
|
font-family: var(--font-family-generic);
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
.location {
|
.location {
|
||||||
grid-area: location;
|
|
||||||
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: var(--spacing-small);
|
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;
|
||||||
|
|
||||||
> .header {
|
> header h4 {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin: 0 0 0.5rem;
|
margin: 0 0 0.5rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
@use "nav_dropdown";
|
@use "nav_dropdown";
|
||||||
@use "nav_title";
|
@use "nav_title";
|
||||||
|
|
||||||
.nav_menu {
|
nav .menu {
|
||||||
grid-area: 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;
|
||||||
@@ -20,39 +18,43 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav_item {
|
.menu {
|
||||||
// Need to force inheritence, otherwise <a> would require
|
.item {
|
||||||
// overrides for all color states from base styling for element.
|
// Need to force inheritence, otherwise <a> would require
|
||||||
color: inherit;
|
// overrides for all color states from base styling for element.
|
||||||
text-decoration: none;
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
padding: 0 var(--spacing-small);
|
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);
|
|
||||||
|
|
||||||
.nav_title,
|
|
||||||
ion-icon {
|
|
||||||
color: var(--highlight-hover);
|
|
||||||
transition: var(--transition-cut);
|
transition: var(--transition-cut);
|
||||||
|
|
||||||
|
.title,
|
||||||
|
ion-icon {
|
||||||
|
color: var(--highlight-hover);
|
||||||
|
transition: var(--transition-cut);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
@media (max-width: 600px) {
|
||||||
.nav_item {
|
.menu {
|
||||||
padding: var(--padding-mobile);
|
.item {
|
||||||
background-color: var(--background-1);
|
padding: var(--padding-mobile);
|
||||||
}
|
background-color: var(--background-1);
|
||||||
|
}
|
||||||
|
|
||||||
.nav_item:hover,
|
.item:hover,
|
||||||
.nav_dropdown:hover .nav_item {
|
.dropdown:hover .item {
|
||||||
transform: none;
|
transform: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
.pane_nav .quick_links {
|
nav.pane .quick_links {
|
||||||
grid-area: quick_links;
|
|
||||||
|
|
||||||
--item-padding: 0.25rem;
|
--item-padding: 0.25rem;
|
||||||
|
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -37,28 +35,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.gitea {
|
@media (max-width: 600px) {
|
||||||
color: var(--accent-green);
|
nav.pane .quick_links {
|
||||||
}
|
|
||||||
|
|
||||||
.github {
|
|
||||||
color: var(--accent-blue);
|
|
||||||
}
|
|
||||||
|
|
||||||
.license {
|
|
||||||
color: var(--accent-indigo);
|
|
||||||
}
|
|
||||||
|
|
||||||
.issue_tracker {
|
|
||||||
color: var(--accent-magenta);
|
|
||||||
}
|
|
||||||
|
|
||||||
.rss {
|
|
||||||
color: var(--accent-orange);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
|
||||||
.pane_nav .quick_links {
|
|
||||||
margin-bottom: var(--spacing-small);
|
margin-bottom: var(--spacing-small);
|
||||||
|
|
||||||
--item-padding: var(--padding-mobile);
|
--item-padding: var(--padding-mobile);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.nav_title {
|
.menu .title {
|
||||||
// Need to force inheritence, otherwise <a> would require
|
// Need to force inheritence, otherwise <a> would require
|
||||||
// overrides for all color states from base styling for element.
|
// overrides for all color states from base styling for element.
|
||||||
color: inherit;
|
color: inherit;
|
||||||
@@ -13,15 +13,15 @@
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav_title:hover {
|
@media (max-width: 600px) {
|
||||||
color: var(--highlight-hover);
|
|
||||||
transition: var(--transition-cut);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@media only screen and (max-width: 500px) {
|
|
||||||
.nav_title {
|
.nav_title {
|
||||||
padding: var(--padding-mobile);
|
padding: var(--padding-mobile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
.menu .title:hover {
|
||||||
|
color: var(--highlight-hover);
|
||||||
|
transition: var(--transition-cut);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
.r90 {
|
||||||
|
rotate: 90deg;
|
||||||
|
}
|
||||||
|
|
||||||
.pane_details {
|
.pane_details {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -11,17 +15,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.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-small);
|
padding: 0 var(--spacing-thicc) var(--spacing-small);
|
||||||
}
|
}
|
||||||
@@ -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,
|
||||||
|
|||||||
@@ -1,43 +1,14 @@
|
|||||||
@use "a_tailer";
|
.pane.blog {
|
||||||
|
|
||||||
.pane_blog {
|
|
||||||
grid-area: main;
|
|
||||||
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
margin: var(--spacing-large);
|
|
||||||
|
|
||||||
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-small);
|
|
||||||
|
|
||||||
> .header {
|
|
||||||
text-align: center;
|
|
||||||
padding: var(--spacing-small);
|
|
||||||
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-small);
|
|
||||||
}
|
|
||||||
|
|
||||||
.date {
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
font-size: 0.85rem;
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: italic;
|
|
||||||
font-family: var(--font-family-generic);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
> .body {
|
> .body {
|
||||||
@@ -45,10 +16,6 @@
|
|||||||
|
|
||||||
padding: 0 var(--spacing-thicc) var(--spacing-thicc);
|
padding: 0 var(--spacing-thicc) var(--spacing-thicc);
|
||||||
|
|
||||||
p {
|
|
||||||
color: var(--white-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
max-height: 65vh;
|
max-height: 65vh;
|
||||||
@@ -60,12 +27,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@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-small);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,12 @@
|
|||||||
@use "a_tailer";
|
.pane.error {
|
||||||
|
|
||||||
.pane_error {
|
|
||||||
grid-area: main;
|
|
||||||
|
|
||||||
width: max-content;
|
width: max-content;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
|
||||||
> .body,
|
text-align: center;
|
||||||
.tailer {
|
|
||||||
background-color: var(--background-2);
|
|
||||||
border-radius: var(--border-radius-leaf);
|
|
||||||
padding: var(--spacing-small);
|
|
||||||
|
|
||||||
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-top: var(--spacing-large);
|
||||||
margin-bottom: var(--spacing-large);
|
margin-bottom: var(--spacing-large);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
@use "a_tailer";
|
main.pane {
|
||||||
|
|
||||||
.pane_main {
|
|
||||||
grid-area: main;
|
grid-area: main;
|
||||||
|
|
||||||
margin: var(--spacing-large);
|
> .body,
|
||||||
|
> footer {
|
||||||
> .body {
|
|
||||||
background-color: var(--background-2);
|
background-color: var(--background-2);
|
||||||
border-radius: var(--border-radius-leaf);
|
border-radius: var(--border-radius-leaf);
|
||||||
|
}
|
||||||
|
|
||||||
|
> .body {
|
||||||
padding: var(--spacing-small);
|
padding: var(--spacing-small);
|
||||||
|
|
||||||
> .header {
|
> header {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: var(--spacing-small);
|
padding: var(--spacing-small);
|
||||||
width: max-content;
|
width: max-content;
|
||||||
@@ -35,16 +35,22 @@
|
|||||||
|
|
||||||
> .body {
|
> .body {
|
||||||
text-align: start;
|
text-align: start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
p {
|
> footer {
|
||||||
color: var(--white-1);
|
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%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -3,17 +3,15 @@
|
|||||||
@use "nav_location";
|
@use "nav_location";
|
||||||
@use "nav_quick_links";
|
@use "nav_quick_links";
|
||||||
|
|
||||||
.pane_nav {
|
nav.pane {
|
||||||
|
grid-area: nav;
|
||||||
|
|
||||||
--padding-mobile: 0.35rem;
|
--padding-mobile: 0.35rem;
|
||||||
|
|
||||||
margin: var(--spacing-large);
|
|
||||||
|
|
||||||
width: min-content;
|
|
||||||
height: min-content;
|
height: min-content;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: var(--spacing-medium);
|
|
||||||
|
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: var(--spacing-large);
|
top: var(--spacing-large);
|
||||||
@@ -26,18 +24,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
@media (max-width: 600px) {
|
||||||
.pane_nav {
|
nav.pane {
|
||||||
width: calc(
|
|
||||||
calc(50% - var(--spacing-large) + var(--spacing-small)) *
|
|
||||||
2
|
|
||||||
);
|
|
||||||
|
|
||||||
background-color: var(--background-2);
|
background-color: var(--background-2);
|
||||||
border-radius: var(--border-radius-leaf);
|
border-radius: var(--border-radius-leaf);
|
||||||
padding: 0 var(--spacing-small);
|
padding: 0 var(--spacing-small);
|
||||||
|
|
||||||
.nav_menu,
|
.menu,
|
||||||
.quick_links,
|
.quick_links,
|
||||||
.location {
|
.location {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -48,16 +41,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.pane_nav > #toggle:checked {
|
nav.pane > input:checked + label {
|
||||||
+ .header {
|
color: var(--highlight-hover);
|
||||||
color: var(--highlight-hover);
|
|
||||||
|
|
||||||
+ .nav_menu {
|
+ .menu {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|
||||||
+ .location + .quick_links {
|
+ .location + .quick_links {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,11 @@
|
|||||||
.pane_spacer {
|
.pane.spacer {
|
||||||
grid-area: spacer;
|
grid-area: spacer;
|
||||||
|
|
||||||
margin: var(--spacing-large);
|
|
||||||
|
|
||||||
width: min-content;
|
width: min-content;
|
||||||
height: calc(100vh - calc(var(--spacing-large) * 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-medium);
|
|
||||||
|
|
||||||
position: sticky;
|
|
||||||
top: var(--spacing-large);
|
|
||||||
right: var(--spacing-large);
|
|
||||||
|
|
||||||
.spacer_container {
|
.spacer_container {
|
||||||
padding: var(--spacing-small);
|
padding: var(--spacing-small);
|
||||||
@@ -32,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
2
src/quotes.txt
Normal 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
|
||||||
963
src/resume.html
963
src/resume.html
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1 @@
|
|||||||
# Explicitly catch Applebot-Extended, as the default regex in Anubis will permit it.
|
|
||||||
User-agent: Applebot-Extended
|
|
||||||
Disallow: /
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
@use "partials/a_common";
|
@use "partials/a_common";
|
||||||
|
|
||||||
@use "partials/pane_main";
|
@use "partials/page_resume";
|
||||||
|
|||||||
@@ -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_header.html" />
|
|
||||||
<include src="includes/nav_menu.html" />
|
|
||||||
<div class="location">
|
|
||||||
<h4 class="header">You are here:</h4>
|
|
||||||
<h5 class="page">Blog - Blog Post Template</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_blog">
|
|
||||||
<div class="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>
|
|
||||||
@@ -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_header.html" />
|
|
||||||
<include src="includes/nav_menu.html" />
|
|
||||||
<div class="location">
|
|
||||||
<h4 class="header">You are here:</h4>
|
|
||||||
<h5 class="page">Error Template</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_error">
|
|
||||||
<div class="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>
|
|
||||||
@@ -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_header.html" />
|
|
||||||
<include src="includes/nav_menu.html" />
|
|
||||||
<div class="location">
|
|
||||||
<h4 class="header">You are here:</h4>
|
|
||||||
<h5 class="page">Main Template</h5>
|
|
||||||
</div>
|
|
||||||
<include src="includes/nav_quick_links.html" />
|
|
||||||
</nav>
|
|
||||||
<div class="pane_main">
|
|
||||||
<div class="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>
|
|
||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
11
templates/device_queries.css
Normal file
11
templates/device_queries.css
Normal 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) {
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user