diff --git a/.gitignore b/.gitignore index a3ffe50..485dee6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -public/ .idea diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..d022ff3 --- /dev/null +++ b/public/404.html @@ -0,0 +1,75 @@ + + + + + +404 + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+

Lost?

+

This page does not exist.

+
+ +
+ + + + + +
+ + + diff --git a/public/about/index.html b/public/about/index.html new file mode 100644 index 0000000..1d1d1e2 --- /dev/null +++ b/public/about/index.html @@ -0,0 +1,116 @@ + + + + + About Me | CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ + +
+ +
+ +

About Me

+ + + + + +
+

I'm Sammy. A queer catgirl who loves working with computers. +My pronouns are It/Its. Only It/Its. +I love learning new things, trying out new technologies and exploring the unknown.

+

My first little steps into the world of IT already started as a little kitten. +At age 12, I started learning LUA and the basics of server infrastructure +to host Gameservers with custom code for a video game I had been playing.

+

Since then, I have been continuously expanding my knowledge in both programming and administration.

+

The linux command line is my cozy place. I selfhost almost everything. +From cloud storage and media streaming to password management and social media.

+

I know some JavaScript and some Python, and am currently learning Rust.

+

Besides all that computer stuff, I love sewing, especially making cute plushies. I also try to spend at least as much +time outside in nature as I do inside in front of a computer screen. I love being around water and wild animals, I love walking through +forests and listening to all the beautiful birdsongs.

+

Certifications

+

I have earned the following certifications:

+

FreeCodeCamp

+
    +
  • Data Analysis with Python
  • +
  • Scientific Computing with Python
  • +
  • Quality Assurance
  • +
  • Data Visualization
  • +
  • Back End Development and APIs
  • +
  • Front End Development Libraries
  • +
  • JavaScript Algorithms and Data Structures
  • +
  • Responsive Web Design
  • +
+

You can find these certifications on my FreeCodeCamp Profile and the code for +all the relevant projects in my git repo.

+ +
+ + +
+ +
+ + + + + +
+ + + diff --git a/public/blog/fediverse-isnt-just-mastodon/index.html b/public/blog/fediverse-isnt-just-mastodon/index.html new file mode 100644 index 0000000..09f997f --- /dev/null +++ b/public/blog/fediverse-isnt-just-mastodon/index.html @@ -0,0 +1,142 @@ + + + + + The Fediverse is more than just Mastodon | CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ + +
+ +
+ +

The Fediverse is more than just Mastodon

+ + + + + +
+

With Twitter in a downwards spiral thanks to some rich guy whose name escapes me breaking everything, the Fediverse has been getting the biggest influx of new users in a very long time. +People have been recommending "Mastodon" as a Twitter alternative for a while now, causing #Mastodon to be the top trending Hashtag on many days.

+

Browsing that hashtag one can find a lot of misconceptions about what Mastodon is, how it works, and what its limitations are. These misconceptions are not just spread by people who dislike Mastodon and try to convince others not to use it, though. They are also perpetuated by people who seem to want to increase the userbase at all cost, regardless of whom it attracts to the Fediverse.

+

Mastodon, the "Twitter Alternative"

+

The biggest misconception already starts with the recommendation itself. "You should switch to Mastodon", "Mastodon is a great Twitter alternative", "on Mastodon you can do x and y and z". +"Mastodon" is just one small piece of a bigger puzzle. When you sign up on a Mastodon instance, you're not joining just Mastodon. +You are using Mastodon to join the so-called "Fediverse", a network of all kinds of different services that can all communicate with each other using a Protocol called ActivityPub.

+

Now, because so many people on sites like Twitter frame Mastodon as its own seperate thing, new users who try out a big Mastodon instance and can't deal with its flaws, don't know better than to just write it off as bad and never look back. +Nobody told them that all their friends on Mastodon would also be reachable from a plethora of different platforms that they might be more comfortable with using. +That's the beauty of a federated web, there are always alternatives, always different ways of interacting with the same people over the same protocols and on the same network.

+

I'm imagining a world where the Top Trending Hashtag on Twitter is #Fediverse, with everyone talking about their favourite features of different platforms and explaining why it is not a Twitter alternative.

+

Wait, so it's not a Twitter Alternative?

+

No. It isn't. And anyone who is telling you that it is, is either doing so in bad faith, or has no idea what they're talking about. +Twitter is corporate social media, that's why it's full of ads and corporate accounts. It is designed to get its users addicted to the platform, to maximize engagement, drive up ad impressions and profit. To twitter you are just a collection of numbers, costs and profits. Nothing else.

+

The Fediverse exists to build communities. It is created by people, for people. Most contributors and server admins don't make any money from it. They work on everything in their free time, fund it out of their own pockets or through donations, and don't expect much in return.

+

'Most'?

+

Of course, like with every rule, there are exceptions. The above framing of Mastodon as the one special ActivityPub implementation that everyone constantly talks about, brought in lots of financial support for "Mastodon gGmbH", the "non-profit organization" founded by Mastodon maintainer Eugen Rochko. As of writing of this post, the organization earns about 30.000€ a month through patreon and has 52 corporate sponsors, including sketchy gambling sites and cryptocurrency firms. +None of this money is of any use for the wider Fediverse community. It goes towards the hosting of the "flagship instances" and the development of the version of the Mastodon code that very often gets changed in ways the wider community disapproves of, or refuses to implement features that would be useful or even neccessary for the process of building safe, inclusive communities.

+

The thousands of instance admins and developers of other Fediverse software, be it forks of Mastodon or completely different platforms, don't see a single cent of that money. +Instead, they have to deal with the increase in moderation effort due to millions of users suddenly flooding the Fediverse with demands of a second Twitter.

+

How moderation works

+

Moderation on the Fediverse is done manually by individuals. This is a feature, not a bug. Automated content moderation leads to many errors and intransparent policy enforcement. It is also very prone to abuse. +Every report is read by an actual person. Most platforms implement reports in a way that the moderators of the reporter's instance can see it, with an optional possibility to forward it to the instance of the reported user.

+

There are different tools moderators/admins can use to deal with problematic content/users. +Remote users can be individually silenced, meaning they don't show up in the federated timeline, but can still be followed, or they can be fully blocked from interacting with the instance at all. +The same actions can also be applied to whole instances. This is called "defederating", because the instances are no longer federating with each other. Some people are framing this as a bad thing, claiming it would be wrong for instance admins to decide who their users can follow and interact with. This is where the importance of instance choice comes in.

+

"It doesn't matter what instance you're on, just pick one!!!"

+

Ugh. If I had a penny for every time I saw someone make this claim, I'd have to never work a day in my life again.

+

It's wrong. It's so damn wrong that I honestly can't believe anyone has ever made this claim in good faith.

+

The instance you choose is probably the most important factor to determine how much you will enjoy your time on the Fediverse. +Your instance choice decides what cool features you have access to (because different instances can use different software), it decides who can interact with you, who you can follow, who you see on the different timelines, and how safe you are from seeing things you definitely do not want to see.

+

Instances all have their own moderation team, rules, and code of conduct. Before you sign up for an instance, you should read their about page and rules, to determine if their views align with yours. That's right, instances have explicit values! If you want to be on an instance that doesn't moderate at all, you're free to choose one. You'll just have to deal with the fact that a lot of people will block you instead. +If you care about community and friendly, respectful interactions, a well-moderated instance that has a code of conduct you agree with is the right place for you. There your reports will actually be read and acted upon. +Please remember that the moderators are just people doing it in their free-time though. They can't react to everything instantly, and they might be overwhelmed sometimes. Be nice to them and don't abuse the report systems, work together to build a nice and friendly community.

+

"But the official instance is probably a good place to start, right? ...right?"

+

First of all, there is no "official" instance. The Fediverse is an open-source community project. There is no authority to claim anything as official. +There are two big instances run by Eugen Rochko, which often are falsely described as official Mastodon instances, mastodon.social and mastodon.online. +Those instances have 250.000 and 87.000 users respectively, and until recently were "moderated" by a single person, Eugen himself. +I'm putting "moderated" in quotes for a reason. There is barely any moderation going on there. Lots of harassment originates from there. But unfortunately, since so many new users get tricked into signing up for them it's not as easy to just block them the way you would smaller instances that become problematic. +Recently a lot of instances have started to block .social and .online anyways, because they just can not deal with the huge increase in moderation effort. There have been PSAs going around for people to please switch to smaller instances if they want to continue to interact with their friends, but it's sadly impossible to reach everyone.

+

Some more resources

+

Now you're probably asking yourself "okay, but how do I find a good instance? It's all so overwhelming and complicated!!" and like with most problems, the community has already created the resources you need.

+
    +
  • Fedi.tips has a lot of explanations and information for newer users.
  • +
  • Fediverse.party shows off all of the different software that exists to interact with the Fediverse and makes it easy to find instances running on those different platforms. I would really strongly suggest trying out something different from Mastodon. It'll be worth it.
  • +
  • Fediverse.info has a tool to dicsover users to follow. It is opt-in, meaning everyone on the list consented to be findable through it.
  • +
  • f00fc7c8@kind.social wrote a thread about the history of federated social media and the Fediverse.
  • +
+

Welcome to the Fediverse!

+

There are still a lot of things I haven't directly adressed in this post. It would be impossible for one on its own to think of everything. +So once you've signed up on a small cozy Fediverse instance, look through the Hashtag #FediTips, write and #Introduction post, ask whatever questions you might still have and start making lots of new friends. +Welcome to the Fediverse 💜.

+ +
+ + +
+ +
+ + + + + +
+ + + diff --git a/public/blog/index.html b/public/blog/index.html new file mode 100644 index 0000000..8f98e6c --- /dev/null +++ b/public/blog/index.html @@ -0,0 +1,105 @@ + + + + + CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ + +
+ +
+
+ +

The Fediverse is more than just Mastodon

+ + + + + +
+

With Twitter in a downwards spiral thanks to some rich guy whose name escapes me breaking everything, the Fediverse has been getting the biggest influx of new users in a very long time. +People have been recommending "Mastodon" as a Twitter alternative for a while now, causing #Mastodon to be the top trending Hashtag on many days.

+

Browsing that hashtag one can find a lot of misconceptions about what Mastodon is, how it works, and what its limitations are. These misconceptions are not just spread by people who dislike Mastodon and try to convince others not to use it, though. They are also perpetuated by people who seem to want to increase the userbase at all cost, regardless of whom it attracts to the Fediverse.

+ +
+
+ + + Read more  + ↩︎ + +
+ + +
+ +
+ +
+ + + + + +
+ + + diff --git a/public/blog/page/1/index.html b/public/blog/page/1/index.html new file mode 100644 index 0000000..a4564a1 --- /dev/null +++ b/public/blog/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/public/buttons.css b/public/buttons.css new file mode 100644 index 0000000..c7b9eb7 --- /dev/null +++ b/public/buttons.css @@ -0,0 +1 @@ +.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;text-align:center;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}button.outline,.button.outline,a.button.outline{background:transparent;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.primary,.button.primary,a.button.primary{box-shadow:0 4px 6px rgba(50,50,93,0.11),0 1px 3px rgba(0,0,0,0.08)}button.primary:hover,.button.primary:hover,a.button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,0.21),0 1px 3px rgba(0,0,0,0.08)}button.link,.button.link,a.button.link{background:none;font-size:1rem}button.small,.button.small,a.button.small{font-size:.8rem}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;max-width:100%}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none} diff --git a/public/color/background_blue.css b/public/color/background_blue.css new file mode 100644 index 0000000..7b30d88 --- /dev/null +++ b/public/color/background_blue.css @@ -0,0 +1 @@ +:root{--background: #1D212C} diff --git a/public/color/background_dark.css b/public/color/background_dark.css new file mode 100644 index 0000000..2c3bd4b --- /dev/null +++ b/public/color/background_dark.css @@ -0,0 +1 @@ +:root{--background: #101010;--color: #A9B7C6} diff --git a/public/color/background_green.css b/public/color/background_green.css new file mode 100644 index 0000000..476031d --- /dev/null +++ b/public/color/background_green.css @@ -0,0 +1 @@ +:root{--background: #1F222A} diff --git a/public/color/background_orange.css b/public/color/background_orange.css new file mode 100644 index 0000000..07b93a5 --- /dev/null +++ b/public/color/background_orange.css @@ -0,0 +1 @@ +:root{--background: #222129} diff --git a/public/color/background_pink.css b/public/color/background_pink.css new file mode 100644 index 0000000..96343b6 --- /dev/null +++ b/public/color/background_pink.css @@ -0,0 +1 @@ +:root{--background: #21202C} diff --git a/public/color/background_red.css b/public/color/background_red.css new file mode 100644 index 0000000..5bf2913 --- /dev/null +++ b/public/color/background_red.css @@ -0,0 +1 @@ +:root{--background: #221F29} diff --git a/public/color/background_rosepine.css b/public/color/background_rosepine.css new file mode 100644 index 0000000..63a0403 --- /dev/null +++ b/public/color/background_rosepine.css @@ -0,0 +1 @@ +:root{--background: #232136;--color: #3e8fb0} diff --git a/public/color/blue.css b/public/color/blue.css new file mode 100644 index 0000000..0bde76a --- /dev/null +++ b/public/color/blue.css @@ -0,0 +1 @@ +:root{--accent: rgb(35,176,255);--accent-alpha-70: rgba(35,176,255,.7);--accent-alpha-20: rgba(35,176,255,.2);--background: #1D212C;--color: white;--border-color: rgba(255, 255, 255, .1)} diff --git a/public/color/green.css b/public/color/green.css new file mode 100644 index 0000000..29967e1 --- /dev/null +++ b/public/color/green.css @@ -0,0 +1 @@ +:root{--accent: rgb(120,226,160);--accent-alpha-70: rgba(120,226,160,.7);--accent-alpha-20: rgba(120,226,160,.2);--background: #1F222A;--color: white;--border-color: rgba(255, 255, 255, .1)} diff --git a/public/color/orange.css b/public/color/orange.css new file mode 100644 index 0000000..fb20b6c --- /dev/null +++ b/public/color/orange.css @@ -0,0 +1 @@ +:root{--accent: rgb(255,168,106);--accent-alpha-70: rgba(255,168,106,.7);--accent-alpha-20: rgba(255,168,106,.2);--background: #222129;--color: white;--border-color: rgba(255, 255, 255, .1)} diff --git a/public/color/pink.css b/public/color/pink.css new file mode 100644 index 0000000..f0f4b70 --- /dev/null +++ b/public/color/pink.css @@ -0,0 +1 @@ +:root{--accent: rgb(238,114,241);--accent-alpha-70: rgba(238,114,241,.7);--accent-alpha-20: rgba(238,114,241,.2);--background: #21202C;--color: white;--border-color: rgba(255, 255, 255, .1)} diff --git a/public/color/red.css b/public/color/red.css new file mode 100644 index 0000000..9c4bff9 --- /dev/null +++ b/public/color/red.css @@ -0,0 +1 @@ +:root{--accent: rgb(255,98,102);--accent-alpha-70: rgba(255,98,102,.7);--accent-alpha-20: rgba(255,98,102,.2);--background: #221F29;--color: white;--border-color: rgba(255, 255, 255, .1)} diff --git a/public/color/rosepine.css b/public/color/rosepine.css new file mode 100644 index 0000000..b04137d --- /dev/null +++ b/public/color/rosepine.css @@ -0,0 +1 @@ +:root{--accent: rgb(235, 111, 146);--accent2: rgb(246, 193, 119);--accent3: rgb(62, 143, 176);--accent-alpha-70: rgba(235, 111, 146,.7);--accent-alpha-20: rgba(235, 111, 146,.2);--background: #232136;--color: #e0def4;--border-color: rgba(246, 193, 119, .1)} diff --git a/public/contact/index.html b/public/contact/index.html new file mode 100644 index 0000000..dce5452 --- /dev/null +++ b/public/contact/index.html @@ -0,0 +1,151 @@ + + + + + Contact | CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ + +
+ +
+ +

Contact

+ + + + + +
+

You can find me in the following places:

+
    +
  • @sammy@social.cherrykitten.dev - My personal Calckey instance, which you can follow from anywhere on the Fediverse!
  • +
  • @sammy:cherrykitten.dev - My Matrix account, also on my own personal homeserver and reachable from any other matrix server!
  • +
  • Discord - If you prefer that for some reason, you can reach me on there too I guess.
  • +
  • contact@cherrykitten.dev - You could even e-mail me! My public key for encrypted e-mails is at the bottom of this page.
  • +
  • GitHub - For code and stuff
  • +
  • Codeberg - For code and stuff but cooler than GitHub
  • +
+

PGP-Key:

+
-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+CZ+X0brf7A==
+=3zvH
+-----END PGP PUBLIC KEY BLOCK-----
+
+ +
+ + +
+ +
+ + + + + +
+ + + diff --git a/public/content/index.html b/public/content/index.html new file mode 100644 index 0000000..0f43844 --- /dev/null +++ b/public/content/index.html @@ -0,0 +1,91 @@ + + + + + Hello there! | CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ +

Hello there!

+ + + + + +
+

Hi, I'm Sammy.

+

Welcome to my little website :3

+ +
+ + +
+ +
+ + + + + +
+ + + diff --git a/public/font-hack-subset.css b/public/font-hack-subset.css new file mode 100644 index 0000000..0ce5398 --- /dev/null +++ b/public/font-hack-subset.css @@ -0,0 +1,4 @@ +/*! + * Hack typeface https://github.com/source-foundry/Hack + * License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md + */@font-face{font-family:'Hack';src:url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-regular.woff?sha=3114f1256") format("woff");font-weight:400;font-style:normal}@font-face{font-family:'Hack';src:url("fonts/hack-bold-subset.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-bold-subset.woff?sha=3114f1256") format("woff");font-weight:700;font-style:normal}@font-face{font-family:'Hack';src:url("fonts/hack-italic-subset.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-italic-webfont.woff?sha=3114f1256") format("woff");font-weight:400;font-style:italic}@font-face{font-family:'Hack';src:url("fonts/hack-bolditalic-subset.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-bolditalic-subset.woff?sha=3114f1256") format("woff");font-weight:700;font-style:italic} diff --git a/public/font-hack.css b/public/font-hack.css new file mode 100644 index 0000000..5471f36 --- /dev/null +++ b/public/font-hack.css @@ -0,0 +1,4 @@ +/*! + * Hack typeface https://github.com/source-foundry/Hack + * License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md + */@font-face{font-family:'Hack';src:url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-regular.woff?sha=3114f1256") format("woff");font-weight:400;font-style:normal}@font-face{font-family:'Hack';src:url("fonts/hack-bold.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-bold.woff?sha=3114f1256") format("woff");font-weight:700;font-style:normal}@font-face{font-family:'Hack';src:url("fonts/hack-italic.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-italic.woff?sha=3114f1256") format("woff");font-weight:400;font-style:italic}@font-face{font-family:'Hack';src:url("fonts/hack-bolditalic.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-bolditalic.woff?sha=3114f1256") format("woff");font-weight:700;font-style:italic} diff --git a/public/fonts/hack-bold-subset.woff b/public/fonts/hack-bold-subset.woff new file mode 100644 index 0000000..a47c8aa Binary files /dev/null and b/public/fonts/hack-bold-subset.woff differ diff --git a/public/fonts/hack-bold-subset.woff2 b/public/fonts/hack-bold-subset.woff2 new file mode 100644 index 0000000..93d425e Binary files /dev/null and b/public/fonts/hack-bold-subset.woff2 differ diff --git a/public/fonts/hack-bold.woff b/public/fonts/hack-bold.woff new file mode 100644 index 0000000..368b913 Binary files /dev/null and b/public/fonts/hack-bold.woff differ diff --git a/public/fonts/hack-bold.woff2 b/public/fonts/hack-bold.woff2 new file mode 100644 index 0000000..1155477 Binary files /dev/null and b/public/fonts/hack-bold.woff2 differ diff --git a/public/fonts/hack-bolditalic-subset.woff b/public/fonts/hack-bolditalic-subset.woff new file mode 100644 index 0000000..0da4750 Binary files /dev/null and b/public/fonts/hack-bolditalic-subset.woff differ diff --git a/public/fonts/hack-bolditalic-subset.woff2 b/public/fonts/hack-bolditalic-subset.woff2 new file mode 100644 index 0000000..236b7de Binary files /dev/null and b/public/fonts/hack-bolditalic-subset.woff2 differ diff --git a/public/fonts/hack-bolditalic.woff b/public/fonts/hack-bolditalic.woff new file mode 100644 index 0000000..ce87fe2 Binary files /dev/null and b/public/fonts/hack-bolditalic.woff differ diff --git a/public/fonts/hack-bolditalic.woff2 b/public/fonts/hack-bolditalic.woff2 new file mode 100644 index 0000000..46ff1c4 Binary files /dev/null and b/public/fonts/hack-bolditalic.woff2 differ diff --git a/public/fonts/hack-italic-subset.woff b/public/fonts/hack-italic-subset.woff new file mode 100644 index 0000000..1d1f511 Binary files /dev/null and b/public/fonts/hack-italic-subset.woff differ diff --git a/public/fonts/hack-italic-subset.woff2 b/public/fonts/hack-italic-subset.woff2 new file mode 100644 index 0000000..b6f5fc9 Binary files /dev/null and b/public/fonts/hack-italic-subset.woff2 differ diff --git a/public/fonts/hack-italic.woff b/public/fonts/hack-italic.woff new file mode 100644 index 0000000..bd545e4 Binary files /dev/null and b/public/fonts/hack-italic.woff differ diff --git a/public/fonts/hack-italic.woff2 b/public/fonts/hack-italic.woff2 new file mode 100644 index 0000000..1e7630c Binary files /dev/null and b/public/fonts/hack-italic.woff2 differ diff --git a/public/fonts/hack-regular-subset.woff b/public/fonts/hack-regular-subset.woff new file mode 100644 index 0000000..85583a5 Binary files /dev/null and b/public/fonts/hack-regular-subset.woff differ diff --git a/public/fonts/hack-regular-subset.woff2 b/public/fonts/hack-regular-subset.woff2 new file mode 100644 index 0000000..1e3abb9 Binary files /dev/null and b/public/fonts/hack-regular-subset.woff2 differ diff --git a/public/fonts/hack-regular.woff b/public/fonts/hack-regular.woff new file mode 100644 index 0000000..e835381 Binary files /dev/null and b/public/fonts/hack-regular.woff differ diff --git a/public/fonts/hack-regular.woff2 b/public/fonts/hack-regular.woff2 new file mode 100644 index 0000000..524465c Binary files /dev/null and b/public/fonts/hack-regular.woff2 differ diff --git a/public/footer.css b/public/footer.css new file mode 100644 index 0000000..2d613bd --- /dev/null +++ b/public/footer.css @@ -0,0 +1 @@ +.footer{padding:40px 0;flex-grow:0;opacity:.5}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;width:760px;max-width:100%}@media (max-width: 899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem;color:var(--light-color-secondary)}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}@media (max-width: 899px){.footer .copyright>*:first-child:not(:only-child){border:none;padding:0;margin:0}}@media (max-width: 899px){.footer .copyright{flex-direction:column;margin-top:10px}}@media (max-width: 899px){.footer .copyright-theme-sep{display:none}}@media (max-width: 899px){.footer .copyright-theme{font-size:0.75rem}} diff --git a/public/header.css b/public/header.css new file mode 100644 index 0000000..ba2346b --- /dev/null +++ b/public/header.css @@ -0,0 +1 @@ +.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:'';background:repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 16px, var(--accent2), var(--accent2) 17px, transparent 0, transparent 32px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%}.header .menu{margin:20px 0}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.header .menu__inner li{color:var(--accent3)}.header .menu__inner li.active{color:var(--accent-alpha-70)}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:var(--background);box-shadow:var(--shadow);color:white;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:var(--accent);user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap} diff --git a/public/impressum/index.html b/public/impressum/index.html new file mode 100644 index 0000000..0629521 --- /dev/null +++ b/public/impressum/index.html @@ -0,0 +1,99 @@ + + + + + Impressum | CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ +

Impressum

+ + + + + +
+

Because I live in germany, I'm legally obligated to have this on here 🙄

+

Angaben gemäß § 5 TMG

+
Samantha Yilmaz
+c/o Postflex #3050
+Emsdettener Str. 10
+48268 Greven
+
+

Vertreten durch: Samantha Yilmaz

+

E-Mail: contact[at]cherrykitten[dot]dev

+

Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV: Samantha Yilmaz

+ +
+ + +
+ +
+ + + + + +
+ + + diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..84b8bc4 --- /dev/null +++ b/public/index.html @@ -0,0 +1,95 @@ + + + + + CherryKitten + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+
+ +

Hello there!

+ + + + + +
+

Hi, I'm Sammy.

+

Welcome to my little website :3

+ +
+ +
+ +
+ +
+ + + + + +
+ + + diff --git a/public/logo.css b/public/logo.css new file mode 100644 index 0000000..a710319 --- /dev/null +++ b/public/logo.css @@ -0,0 +1 @@ +.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:black;padding:5px 10px} diff --git a/public/main.css b/public/main.css new file mode 100644 index 0000000..08733be --- /dev/null +++ b/public/main.css @@ -0,0 +1 @@ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;font-family:Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;font-size:1rem;line-height:1.54;background-color:var(--background);color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width: 683px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{display:flex;align-items:center;font-weight:bold;line-height:1.3;color:var(--accent2)}h1{font-size:1.4rem}h2{font-size:1.3rem}h3{font-size:1.2rem}h4,h5,h6{font-size:1.15rem}a{color:inherit}img{display:block;max-width:100%}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.left img{margin-right:auto}figure.center img{margin-left:auto;margin-right:auto}figure.right img{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:var(--accent);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;font-feature-settings:normal;background:var(--accent-alpha-20);padding:1px 6px;margin:0 2px;font-size:.95rem}pre{font-family:Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;padding:20px;font-size:.95rem;overflow:auto;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1)}@media (max-width: 683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{padding:0;margin:0;background:none}blockquote{border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width: 683px){blockquote{padding-right:0}}blockquote:before{content:'”';font-family:Georgia, serif;font-size:3.875rem;position:absolute;left:-40px;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:'>';display:block;position:absolute;left:-25px;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,th,td{border:1px dashed var(--accent);padding:10px}th{color:var(--accent)}ul,ol{margin-left:30px;padding:0}ul li,ol li{position:relative}@media (max-width: 683px){ul,ol{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;margin:0 auto}@media (max-width: 683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:var(--border-color);height:1px}.hidden{display:none} diff --git a/public/pagination.css b/public/pagination.css new file mode 100644 index 0000000..6ca2b37 --- /dev/null +++ b/public/pagination.css @@ -0,0 +1 @@ +.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}@media (max-width: 683px){.pagination__buttons{flex-direction:column}}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;max-width:40%;padding:0;cursor:pointer;appearance:none}@media (max-width: 683px){.button{max-width:80%}}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden} diff --git a/public/post.css b/public/post.css new file mode 100644 index 0000000..469c92f --- /dev/null +++ b/public/post.css @@ -0,0 +1 @@ +.posts{width:100%;margin:0 auto}.post{width:100%;text-align:left;margin:20px auto;padding:20px 0}@media (max-width: 899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid var(--border-color)}.post .post-meta-inline,.post .post-meta{font-size:1rem;margin-bottom:10px;color:var(--accent-alpha-70)}.post-meta-inline{display:inline}.post-title{--border: 2px dashed var(--accent);position:relative;color:var(--accent2);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border);font-weight:normal}.post-title a{text-decoration:none}.post .post-tags-inline,.post .post-tags{margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags{display:block}.post-tags-inline{display:inline}@media (max-width: 683px){.post-tags-inline{display:block}}.post-content{margin-top:30px}.post-cover{border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width: 683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:'►';position:absolute;left:-20px;color:var(--accent)}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.post-list .post-date{color:var(--accent3);text-decoration:none}.post-list a{text-decoration:none}.post-list .post-list-title{text-decoration:underline}.post-list .post-tag{text-decoration:underline} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e511bfd --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Disallow: +Allow: / +Sitemap: https://cherrykitten.dev/sitemap.xml diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..1727199 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,31 @@ + + + + https://cherrykitten.dev/ + + + https://cherrykitten.dev/about/ + + + https://cherrykitten.dev/blog/ + + + https://cherrykitten.dev/blog/fediverse-isnt-just-mastodon/ + 2022-11-26 + + + https://cherrykitten.dev/blog/page/1/ + + + https://cherrykitten.dev/contact/ + + + https://cherrykitten.dev/content/ + + + https://cherrykitten.dev/impressum/ + + + https://cherrykitten.dev/tags/ + + diff --git a/public/style.css b/public/style.css new file mode 100644 index 0000000..aa1ef42 --- /dev/null +++ b/public/style.css @@ -0,0 +1 @@ +.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;text-align:center;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}button.outline,.button.outline,a.button.outline{background:transparent;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.primary,.button.primary,a.button.primary{box-shadow:0 4px 6px rgba(50,50,93,0.11),0 1px 3px rgba(0,0,0,0.08)}button.primary:hover,.button.primary:hover,a.button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,0.21),0 1px 3px rgba(0,0,0,0.08)}button.link,.button.link,a.button.link{background:none;font-size:1rem}button.small,.button.small,a.button.small{font-size:.8rem}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;max-width:100%}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:'';background:repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 16px, var(--accent2), var(--accent2) 17px, transparent 0, transparent 32px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%}.header .menu{margin:20px 0}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.header .menu__inner li{color:var(--accent3)}.header .menu__inner li.active{color:var(--accent-alpha-70)}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:var(--background);box-shadow:var(--shadow);color:white;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:var(--accent);user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:black;padding:5px 10px}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;font-family:Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;font-size:1rem;line-height:1.54;background-color:var(--background);color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width: 683px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{display:flex;align-items:center;font-weight:bold;line-height:1.3;color:var(--accent2)}h1{font-size:1.4rem}h2{font-size:1.3rem}h3{font-size:1.2rem}h4,h5,h6{font-size:1.15rem}a{color:inherit}img{display:block;max-width:100%}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.left img{margin-right:auto}figure.center img{margin-left:auto;margin-right:auto}figure.right img{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:var(--accent);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;font-feature-settings:normal;background:var(--accent-alpha-20);padding:1px 6px;margin:0 2px;font-size:.95rem}pre{font-family:Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;padding:20px;font-size:.95rem;overflow:auto;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1)}@media (max-width: 683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{padding:0;margin:0;background:none}blockquote{border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width: 683px){blockquote{padding-right:0}}blockquote:before{content:'”';font-family:Georgia, serif;font-size:3.875rem;position:absolute;left:-40px;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:'>';display:block;position:absolute;left:-25px;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,th,td{border:1px dashed var(--accent);padding:10px}th{color:var(--accent)}ul,ol{margin-left:30px;padding:0}ul li,ol li{position:relative}@media (max-width: 683px){ul,ol{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;margin:0 auto}@media (max-width: 683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:var(--border-color);height:1px}.hidden{display:none}.posts{width:100%;margin:0 auto}.post{width:100%;text-align:left;margin:20px auto;padding:20px 0}@media (max-width: 899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid var(--border-color)}.post .post-meta-inline,.post .post-meta{font-size:1rem;margin-bottom:10px;color:var(--accent-alpha-70)}.post-meta-inline{display:inline}.post-title{--border: 2px dashed var(--accent);position:relative;color:var(--accent2);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border);font-weight:normal}.post-title a{text-decoration:none}.post .post-tags-inline,.post .post-tags{margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags{display:block}.post-tags-inline{display:inline}@media (max-width: 683px){.post-tags-inline{display:block}}.post-content{margin-top:30px}.post-cover{border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width: 683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:'►';position:absolute;left:-20px;color:var(--accent)}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.post-list .post-date{color:var(--accent3);text-decoration:none}.post-list a{text-decoration:none}.post-list .post-list-title{text-decoration:underline}.post-list .post-tag{text-decoration:underline}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}@media (max-width: 683px){.pagination__buttons{flex-direction:column}}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;max-width:40%;padding:0;cursor:pointer;appearance:none}@media (max-width: 683px){.button{max-width:80%}}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.footer{padding:40px 0;flex-grow:0;opacity:.5}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;width:760px;max-width:100%}@media (max-width: 899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem;color:var(--light-color-secondary)}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}@media (max-width: 899px){.footer .copyright>*:first-child:not(:only-child){border:none;padding:0;margin:0}}@media (max-width: 899px){.footer .copyright{flex-direction:column;margin-top:10px}}@media (max-width: 899px){.footer .copyright-theme-sep{display:none}}@media (max-width: 899px){.footer .copyright-theme{font-size:0.75rem}} diff --git a/public/variables.css b/public/variables.css new file mode 100644 index 0000000..e69de29