diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..85b64b4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
+.bundle
+vendor
diff --git a/404.md b/404.md
new file mode 100644
index 0000000..00a5cbf
--- /dev/null
+++ b/404.md
@@ -0,0 +1,10 @@
+---
+permalink: /404.html
+layout: default
+---
+
+# 404
+
+**Page not found :**
+
+The requested page could not be found.
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..3185be2
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,34 @@
+source "https://rubygems.org"
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "~> 4.3.3"
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+gem "minima", "~> 2.5"
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.12"
+end
+
+# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+platforms :mingw, :x64_mingw, :mswin, :jruby do
+ gem "tzinfo", ">= 1", "< 3"
+ gem "tzinfo-data"
+end
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
+
+# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
+# do not have a Java counterpart.
+gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
+
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..d5c00cc
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,181 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ bigdecimal (3.1.8)
+ colorator (1.1.0)
+ concurrent-ruby (1.3.4)
+ em-websocket (0.5.3)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0)
+ eventmachine (1.2.7)
+ ffi (1.17.0)
+ ffi (1.17.0-aarch64-linux-gnu)
+ ffi (1.17.0-aarch64-linux-musl)
+ ffi (1.17.0-arm-linux-gnu)
+ ffi (1.17.0-arm-linux-musl)
+ ffi (1.17.0-arm64-darwin)
+ ffi (1.17.0-x86-linux-gnu)
+ ffi (1.17.0-x86-linux-musl)
+ ffi (1.17.0-x86_64-darwin)
+ ffi (1.17.0-x86_64-linux-gnu)
+ ffi (1.17.0-x86_64-linux-musl)
+ forwardable-extended (2.6.0)
+ google-protobuf (4.29.1)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.1-aarch64-linux)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.1-arm64-darwin)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.1-x86-linux)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.1-x86_64-darwin)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.1-x86_64-linux)
+ bigdecimal
+ rake (>= 13)
+ http_parser.rb (0.8.0)
+ i18n (1.14.6)
+ concurrent-ruby (~> 1.0)
+ jekyll (4.3.4)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 1.0)
+ jekyll-sass-converter (>= 2.0, < 4.0)
+ jekyll-watch (~> 2.0)
+ kramdown (~> 2.3, >= 2.3.1)
+ kramdown-parser-gfm (~> 1.0)
+ liquid (~> 4.0)
+ mercenary (>= 0.3.6, < 0.5)
+ pathutil (~> 0.9)
+ rouge (>= 3.0, < 5.0)
+ safe_yaml (~> 1.0)
+ terminal-table (>= 1.8, < 4.0)
+ webrick (~> 1.7)
+ jekyll-feed (0.17.0)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-sass-converter (3.0.0)
+ sass-embedded (~> 1.54)
+ jekyll-seo-tag (2.8.0)
+ jekyll (>= 3.8, < 5.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ kramdown (2.5.1)
+ rexml (>= 3.3.9)
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.4)
+ listen (3.9.0)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ mercenary (0.4.0)
+ minima (2.5.2)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (6.0.1)
+ rake (13.2.1)
+ rb-fsevent (0.11.2)
+ rb-inotify (0.11.1)
+ ffi (~> 1.0)
+ rexml (3.3.9)
+ rouge (4.5.1)
+ safe_yaml (1.0.5)
+ sass-embedded (1.82.0)
+ google-protobuf (~> 4.28)
+ rake (>= 13)
+ sass-embedded (1.82.0-aarch64-linux-android)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-aarch64-linux-gnu)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-aarch64-linux-musl)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-aarch64-mingw-ucrt)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-arm-linux-androideabi)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-arm-linux-gnueabihf)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-arm-linux-musleabihf)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-arm64-darwin)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-riscv64-linux-android)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-riscv64-linux-gnu)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-riscv64-linux-musl)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86-cygwin)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86-linux-android)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86-linux-gnu)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86-linux-musl)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86-mingw-ucrt)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86_64-cygwin)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86_64-darwin)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86_64-linux-android)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86_64-linux-gnu)
+ google-protobuf (~> 4.28)
+ sass-embedded (1.82.0-x86_64-linux-musl)
+ google-protobuf (~> 4.28)
+ terminal-table (3.0.2)
+ unicode-display_width (>= 1.1.1, < 3)
+ unicode-display_width (2.6.0)
+ webrick (1.9.1)
+
+PLATFORMS
+ aarch64-linux
+ aarch64-linux-android
+ aarch64-linux-gnu
+ aarch64-linux-musl
+ aarch64-mingw-ucrt
+ arm-linux-androideabi
+ arm-linux-gnu
+ arm-linux-gnueabihf
+ arm-linux-musl
+ arm-linux-musleabihf
+ arm64-darwin
+ riscv64-linux-android
+ riscv64-linux-gnu
+ riscv64-linux-musl
+ ruby
+ x86-cygwin
+ x86-linux
+ x86-linux-android
+ x86-linux-gnu
+ x86-linux-musl
+ x86-mingw-ucrt
+ x86_64-cygwin
+ x86_64-darwin
+ x86_64-linux-android
+ x86_64-linux-gnu
+ x86_64-linux-musl
+
+DEPENDENCIES
+ http_parser.rb (~> 0.6.0)
+ jekyll (~> 4.3.3)
+ jekyll-feed (~> 0.12)
+ minima (~> 2.5)
+ tzinfo (>= 1, < 3)
+ tzinfo-data
+ wdm (~> 0.1.1)
+
+BUNDLED WITH
+ 2.5.22
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..27c44a1
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,54 @@
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
+#
+# If you need help with YAML syntax, here are some quick references for you:
+# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
+# https://learnxinyminutes.com/docs/yaml/
+#
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+
+title: oneanonlyvalle
+email: valentinwagner2003@gmail.com
+description: >- # this means to ignore newlines until "baseurl:"
+ Write an awesome description for your new site here. You can edit this
+ line in _config.yml. It will appear in your document head meta (for
+ Google search results) and in your feed.xml site description.
+baseurl: "" # the subpath of your site, e.g. /blog
+url: "" # the base hostname & protocol for your site, e.g. http://example.com
+github_username: oneandonlyvalle
+
+# Build settings
+# theme: minima
+plugins:
+ - jekyll-feed
+
+# Exclude from processing.
+# The following items will not be processed, by default.
+# Any item listed under the `exclude:` key here will be automatically added to
+# the internal "default list".
+#
+# Excluded items can be processed by explicitly listing the directories or
+# their entries' file path in the `include:` list.
+#
+# exclude:
+# - .sass-cache/
+# - .jekyll-cache/
+# - gemfiles/
+# - Gemfile
+# - Gemfile.lock
+# - node_modules/
+# - vendor/bundle/
+# - vendor/cache/
+# - vendor/gems/
+# - vendor/ruby/
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..ca9b5a7
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,42 @@
+
+
+
+
+ {{ site.title }} {% if page.title %} - {{ page.title }} {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/_layouts/home.html b/_layouts/home.html
new file mode 100644
index 0000000..e29204c
--- /dev/null
+++ b/_layouts/home.html
@@ -0,0 +1,32 @@
+---
+layout: default
+---
+
+
+ {%- if page.title -%}
+
{{ page.title }}
+ {% else %}
+
Home
+ {%- endif -%}
+ {{ content }}
+ {%- if site.posts.size > 0 -%}
+
{{ page.list_title | default: "Posts" }}
+
+ {%- for post in site.posts -%}
+ -
+ {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
+ {{ post.date | date: date_format }}
+
+ {%- if site.show_excerpts -%}
+ {{ post.excerpt }}
+ {%- endif -%}
+
+ {%- endfor -%}
+
+
+ {%- endif -%}
+
diff --git a/_layouts/page.html b/_layouts/page.html
new file mode 100644
index 0000000..8f904d3
--- /dev/null
+++ b/_layouts/page.html
@@ -0,0 +1,11 @@
+---
+layout: default
+---
+
+
+
+ {{ content }}
+
+
diff --git a/_layouts/post.html b/_layouts/post.html
new file mode 100644
index 0000000..f79e6c0
--- /dev/null
+++ b/_layouts/post.html
@@ -0,0 +1,23 @@
+---
+layout: default
+---
+
+
+
+ {{ content }}
+
+ {%- if site.disqus.shortname -%}
+ {%- include disqus_comments.html -%}
+ {%- endif -%}
+
+
diff --git a/_posts/2024-08-25-welcome-to-jekyll.markdown b/_posts/2024-08-25-welcome-to-jekyll.markdown
new file mode 100644
index 0000000..291f1d7
--- /dev/null
+++ b/_posts/2024-08-25-welcome-to-jekyll.markdown
@@ -0,0 +1,29 @@
+---
+layout: post
+title: "Welcome to Jekyll!"
+date: 2024-08-25 19:37:42 +0200
+categories: jekyll update
+---
+You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
+
+Jekyll requires blog post files to be named according to the following format:
+
+`YEAR-MONTH-DAY-title.MARKUP`
+
+Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works.
+
+Jekyll also offers powerful support for code snippets:
+
+{% highlight ruby %}
+def print_hi(name)
+ puts "Hi, #{name}"
+end
+print_hi('Tom')
+#=> prints 'Hi, Tom' to STDOUT.
+{% endhighlight %}
+
+Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
+
+[jekyll-docs]: https://jekyllrb.com/docs/home
+[jekyll-gh]: https://github.com/jekyll/jekyll
+[jekyll-talk]: https://talk.jekyllrb.com/
diff --git a/_sass/main.scss b/_sass/main.scss
new file mode 100644
index 0000000..1652fbf
--- /dev/null
+++ b/_sass/main.scss
@@ -0,0 +1,147 @@
+:root {
+ color-scheme: light dark;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ font-family: Verdana, Tahoma, sans-serif;
+}
+
+body {
+ background-color: light-dark(#eee, #333);
+ background-image:
+ linear-gradient(90deg, transparent 134px, light-dark(#eac, #66c) 134px, light-dark(#eac, #66c) 137px, transparent 137px),
+ repeating-linear-gradient(0deg, light-dark(#ccc, #626262) 1px, light-dark(#ccc, #626262) 3px, transparent 1px, transparent 20px),
+ repeating-linear-gradient(90deg, light-dark(#ccc, #626262) 1px, light-dark(#ccc, #626262) 3px, transparent 1px, transparent 20px);
+ background-size: 100% 100%;
+ background-attachment: fixed;
+ color: light-dark(#111, #eee);
+}
+
+a {
+ text-decoration: none;
+}
+a:link {
+ color: light-dark(#f88, #77f);
+}
+a:visited {
+ color: light-dark(#f68, #97f);
+}
+a:hover {
+ color: light-dark(#95d, #fad);
+}
+
+.wrapper {
+ margin: 10px;
+ display: flex;
+ justify-content: center;
+ max-width: 100%;
+ flex-wrap: wrap;
+}
+
+.header {
+ display: flex;
+ margin-top: 20px;
+}
+.header h1 {
+ font-size: 40px;
+}
+
+.navigation {
+ display: flex;
+ margin: 20px 0px 20px 0px;
+}
+.navigation * {
+ margin: 0px 12px 0px 12px;
+}
+.navigation a {
+ font-size: 22px;
+ font-weight: bold;
+ background-color: light-dark(#eee, #333);
+}
+.navigation button {
+ background-color: light-dark(#ddd, #444);
+ border: 1px solid light-dark(#224, #ede);
+ border-radius: 10px;
+ font-size: 18px;
+ padding: 2px 4px 2px 4px;
+}
+
+.content {
+ background-color: light-dark(#fff8ff, #595959);
+ border: 2px solid light-dark(#224, #ede);
+ border-radius: 20px;
+ width: 60%;
+ padding: 20px;
+}
+.content h1 {
+ font-size: 35px;
+ font-weight: normal;
+ line-height: 40px;
+ letter-spacing: -1px;
+}
+.content p {
+ margin: 10px 0;
+ font-size: 16px;
+ line-height: 1.5;
+}
+.content ul, .content ol {
+ margin: 20px;
+}
+.content li {
+ font-size: 15px;
+ line-height: 20px;
+}
+.content ul li {
+ list-style-type: circle fill;
+}
+.content img {
+ margin: 10px auto 10px auto;
+ width: 50%;
+ display: block;
+}
+.content .inlineimg {
+ vertical-align: middle;
+ margin: 0 0;
+ display: inline;
+ width: auto;
+}
+.content blockquote {
+ padding-left: 1em;
+ font-style: italic;
+ border-left: solid 2px #555;
+}
+.content pre {
+ border: 2px solid #ddd;
+ border-radius: 5px;
+ background-color: #fff;
+ padding: 5px 5px;
+ margin: 10px 0;
+}
+.content code *, .content code {
+ font-family: monospace;
+ font-size: 14px;
+ color: #111;
+}
+.content p code {
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ background-color: #fff;
+ padding: 2px;
+}
+
+.button, .stamp {
+ margin: 5px 10px 5px 10px;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+@media only screen and (max-width:1000px) {
+ .content {
+ width: 95%;
+ }
+ .content img {
+ width: 80%;
+ }
+}
diff --git a/about.md b/about.md
new file mode 100644
index 0000000..33808e9
--- /dev/null
+++ b/about.md
@@ -0,0 +1,17 @@
+---
+layout: page
+title: About
+permalink: /about/
+---
+
+This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
+
+You can find the source code for Minima at GitHub:
+[jekyll][jekyll-organization] /
+[minima](https://github.com/jekyll/minima)
+
+You can find the source code for Jekyll at GitHub:
+[jekyll][jekyll-organization] /
+[jekyll](https://github.com/jekyll/jekyll)
+
+[jekyll-organization]: https://github.com/jekyll
diff --git a/assets/css/style.scss b/assets/css/style.scss
new file mode 100644
index 0000000..cc16a47
--- /dev/null
+++ b/assets/css/style.scss
@@ -0,0 +1,3 @@
+---
+---
+@use "main";
diff --git a/assets/images/BMO.gif b/assets/images/BMO.gif
new file mode 100644
index 0000000..2eb6dae
Binary files /dev/null and b/assets/images/BMO.gif differ
diff --git a/assets/images/KK.gif b/assets/images/KK.gif
new file mode 100644
index 0000000..5831806
Binary files /dev/null and b/assets/images/KK.gif differ
diff --git a/assets/images/KirbyIdle.gif b/assets/images/KirbyIdle.gif
new file mode 100644
index 0000000..5195003
Binary files /dev/null and b/assets/images/KirbyIdle.gif differ
diff --git a/assets/images/Kuriyama_Mirai_flips_through_The_C_Programming_Language.gif b/assets/images/Kuriyama_Mirai_flips_through_The_C_Programming_Language.gif
new file mode 100644
index 0000000..6bc2499
Binary files /dev/null and b/assets/images/Kuriyama_Mirai_flips_through_The_C_Programming_Language.gif differ
diff --git a/assets/images/Yuki-Nagato-typing-and-coding-really-quickly-on-laptop.gif b/assets/images/Yuki-Nagato-typing-and-coding-really-quickly-on-laptop.gif
new file mode 100644
index 0000000..1c805a0
Binary files /dev/null and b/assets/images/Yuki-Nagato-typing-and-coding-really-quickly-on-laptop.gif differ
diff --git a/assets/images/affection.gif b/assets/images/affection.gif
new file mode 100644
index 0000000..0e04ecd
Binary files /dev/null and b/assets/images/affection.gif differ
diff --git a/assets/images/believe.gif b/assets/images/believe.gif
new file mode 100644
index 0000000..03a5880
Binary files /dev/null and b/assets/images/believe.gif differ
diff --git a/assets/images/believe2.gif b/assets/images/believe2.gif
new file mode 100644
index 0000000..cba4778
Binary files /dev/null and b/assets/images/believe2.gif differ
diff --git a/assets/images/bi.png b/assets/images/bi.png
new file mode 100644
index 0000000..2bb0724
Binary files /dev/null and b/assets/images/bi.png differ
diff --git a/assets/images/cannibalism.png b/assets/images/cannibalism.png
new file mode 100644
index 0000000..b2bbdcb
Binary files /dev/null and b/assets/images/cannibalism.png differ
diff --git a/assets/images/clippy.gif b/assets/images/clippy.gif
new file mode 100644
index 0000000..f03f0bf
Binary files /dev/null and b/assets/images/clippy.gif differ
diff --git a/assets/images/computer.gif b/assets/images/computer.gif
new file mode 100644
index 0000000..67bf762
Binary files /dev/null and b/assets/images/computer.gif differ
diff --git a/assets/images/computer2.gif b/assets/images/computer2.gif
new file mode 100644
index 0000000..182e575
Binary files /dev/null and b/assets/images/computer2.gif differ
diff --git a/assets/images/email.gif b/assets/images/email.gif
new file mode 100644
index 0000000..1d3c33a
Binary files /dev/null and b/assets/images/email.gif differ
diff --git a/assets/images/etr.gif b/assets/images/etr.gif
new file mode 100644
index 0000000..bfe1810
Binary files /dev/null and b/assets/images/etr.gif differ
diff --git a/assets/images/ghost.gif b/assets/images/ghost.gif
new file mode 100644
index 0000000..4c729d9
Binary files /dev/null and b/assets/images/ghost.gif differ
diff --git a/assets/images/haruhi.gif b/assets/images/haruhi.gif
new file mode 100644
index 0000000..c8bf0f8
Binary files /dev/null and b/assets/images/haruhi.gif differ
diff --git a/assets/images/hatsunemiku.gif b/assets/images/hatsunemiku.gif
new file mode 100644
index 0000000..d92a9c0
Binary files /dev/null and b/assets/images/hatsunemiku.gif differ
diff --git a/assets/images/hypnotoad.gif b/assets/images/hypnotoad.gif
new file mode 100644
index 0000000..4dce71b
Binary files /dev/null and b/assets/images/hypnotoad.gif differ
diff --git a/assets/images/index.html b/assets/images/index.html
new file mode 100644
index 0000000..8b7f569
--- /dev/null
+++ b/assets/images/index.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+ VΛYT - Gallery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Gallery
+
+
This is a list of all images on this website and also kind of an easteregg since there is no link to this page.
+
+
+
+
+
+
+
diff --git a/assets/images/kill.png b/assets/images/kill.png
new file mode 100644
index 0000000..9dc936f
Binary files /dev/null and b/assets/images/kill.png differ
diff --git a/assets/images/kirby.gif b/assets/images/kirby.gif
new file mode 100644
index 0000000..3320c94
Binary files /dev/null and b/assets/images/kirby.gif differ
diff --git a/assets/images/lainstamp.gif b/assets/images/lainstamp.gif
new file mode 100644
index 0000000..810072d
Binary files /dev/null and b/assets/images/lainstamp.gif differ
diff --git a/assets/images/lambdafun.gif b/assets/images/lambdafun.gif
new file mode 100644
index 0000000..43902ab
Binary files /dev/null and b/assets/images/lambdafun.gif differ
diff --git a/assets/images/life.png b/assets/images/life.png
new file mode 100644
index 0000000..7e92d47
Binary files /dev/null and b/assets/images/life.png differ
diff --git a/assets/images/neocities.png b/assets/images/neocities.png
new file mode 100644
index 0000000..921001e
Binary files /dev/null and b/assets/images/neocities.png differ
diff --git a/assets/images/nonft.gif b/assets/images/nonft.gif
new file mode 100644
index 0000000..ecbd158
Binary files /dev/null and b/assets/images/nonft.gif differ
diff --git a/assets/images/nosignal.gif b/assets/images/nosignal.gif
new file mode 100644
index 0000000..366db8e
Binary files /dev/null and b/assets/images/nosignal.gif differ
diff --git a/assets/images/oneko.gif b/assets/images/oneko.gif
new file mode 100644
index 0000000..a009c2c
Binary files /dev/null and b/assets/images/oneko.gif differ
diff --git a/assets/images/pictochat.gif b/assets/images/pictochat.gif
new file mode 100644
index 0000000..0223ae4
Binary files /dev/null and b/assets/images/pictochat.gif differ
diff --git a/assets/images/robots.gif b/assets/images/robots.gif
new file mode 100644
index 0000000..81a43df
Binary files /dev/null and b/assets/images/robots.gif differ
diff --git a/assets/images/shoegaze.gif b/assets/images/shoegaze.gif
new file mode 100644
index 0000000..79ac5a2
Binary files /dev/null and b/assets/images/shoegaze.gif differ
diff --git a/assets/images/soldering.jpg b/assets/images/soldering.jpg
new file mode 100644
index 0000000..17d685e
Binary files /dev/null and b/assets/images/soldering.jpg differ
diff --git a/assets/images/stamp-yrownwebsite.png b/assets/images/stamp-yrownwebsite.png
new file mode 100644
index 0000000..cc7fe50
Binary files /dev/null and b/assets/images/stamp-yrownwebsite.png differ
diff --git a/assets/images/terminal.gif b/assets/images/terminal.gif
new file mode 100644
index 0000000..e69f5b3
Binary files /dev/null and b/assets/images/terminal.gif differ
diff --git a/assets/images/underconstruction.gif b/assets/images/underconstruction.gif
new file mode 100644
index 0000000..ab726a3
Binary files /dev/null and b/assets/images/underconstruction.gif differ
diff --git a/assets/images/underconstructionbanner.gif b/assets/images/underconstructionbanner.gif
new file mode 100644
index 0000000..a6a236b
Binary files /dev/null and b/assets/images/underconstructionbanner.gif differ
diff --git a/assets/images/vayt.png b/assets/images/vayt.png
new file mode 100644
index 0000000..b3d854d
Binary files /dev/null and b/assets/images/vayt.png differ
diff --git a/assets/images/views.png b/assets/images/views.png
new file mode 100644
index 0000000..b868f14
Binary files /dev/null and b/assets/images/views.png differ
diff --git a/assets/images/vscode.gif b/assets/images/vscode.gif
new file mode 100644
index 0000000..8a4cad2
Binary files /dev/null and b/assets/images/vscode.gif differ
diff --git a/assets/images/wiby.gif b/assets/images/wiby.gif
new file mode 100644
index 0000000..87a6a75
Binary files /dev/null and b/assets/images/wiby.gif differ
diff --git a/assets/images/yuki-nagato-typing.gif b/assets/images/yuki-nagato-typing.gif
new file mode 100644
index 0000000..eaed781
Binary files /dev/null and b/assets/images/yuki-nagato-typing.gif differ
diff --git a/assets/images/yuki-nagato-waving-a-mouse.gif b/assets/images/yuki-nagato-waving-a-mouse.gif
new file mode 100644
index 0000000..3fcc72f
Binary files /dev/null and b/assets/images/yuki-nagato-waving-a-mouse.gif differ
diff --git a/assets/images/yukiguru.gif b/assets/images/yukiguru.gif
new file mode 100644
index 0000000..a65e299
Binary files /dev/null and b/assets/images/yukiguru.gif differ
diff --git a/assets/js/oneko.js b/assets/js/oneko.js
new file mode 100644
index 0000000..3b586eb
--- /dev/null
+++ b/assets/js/oneko.js
@@ -0,0 +1,239 @@
+// oneko.js: https://github.com/adryd325/oneko.js
+
+(function oneko() {
+ const isReducedMotion =
+ window.matchMedia(`(prefers-reduced-motion: reduce)`) === true ||
+ window.matchMedia(`(prefers-reduced-motion: reduce)`).matches === true;
+
+ if (isReducedMotion) return;
+
+ const nekoEl = document.createElement("div");
+
+ let nekoPosX = 32;
+ let nekoPosY = 32;
+
+ let mousePosX = 0;
+ let mousePosY = 0;
+
+ let frameCount = 0;
+ let idleTime = 0;
+ let idleAnimation = null;
+ let idleAnimationFrame = 0;
+
+ const nekoSpeed = 10;
+ const spriteSets = {
+ idle: [[-3, -3]],
+ alert: [[-7, -3]],
+ scratchSelf: [
+ [-5, 0],
+ [-6, 0],
+ [-7, 0],
+ ],
+ scratchWallN: [
+ [0, 0],
+ [0, -1],
+ ],
+ scratchWallS: [
+ [-7, -1],
+ [-6, -2],
+ ],
+ scratchWallE: [
+ [-2, -2],
+ [-2, -3],
+ ],
+ scratchWallW: [
+ [-4, 0],
+ [-4, -1],
+ ],
+ tired: [[-3, -2]],
+ sleeping: [
+ [-2, 0],
+ [-2, -1],
+ ],
+ N: [
+ [-1, -2],
+ [-1, -3],
+ ],
+ NE: [
+ [0, -2],
+ [0, -3],
+ ],
+ E: [
+ [-3, 0],
+ [-3, -1],
+ ],
+ SE: [
+ [-5, -1],
+ [-5, -2],
+ ],
+ S: [
+ [-6, -3],
+ [-7, -2],
+ ],
+ SW: [
+ [-5, -3],
+ [-6, -1],
+ ],
+ W: [
+ [-4, -2],
+ [-4, -3],
+ ],
+ NW: [
+ [-1, 0],
+ [-1, -1],
+ ],
+ };
+
+ function init() {
+ nekoEl.id = "oneko";
+ nekoEl.ariaHidden = true;
+ nekoEl.style.width = "32px";
+ nekoEl.style.height = "32px";
+ nekoEl.style.position = "fixed";
+ nekoEl.style.pointerEvents = "none";
+ nekoEl.style.imageRendering = "pixelated";
+ nekoEl.style.left = `${nekoPosX - 16}px`;
+ nekoEl.style.top = `${nekoPosY - 16}px`;
+ nekoEl.style.zIndex = 2147483647;
+
+ let nekoFile = "/assets/images/oneko.gif"
+ const curScript = document.currentScript
+ if (curScript && curScript.dataset.cat) {
+ nekoFile = curScript.dataset.cat
+ }
+ nekoEl.style.backgroundImage = `url(${nekoFile})`;
+
+ document.body.appendChild(nekoEl);
+
+ document.addEventListener("mousemove", function (event) {
+ mousePosX = event.clientX;
+ mousePosY = event.clientY;
+ });
+
+ window.requestAnimationFrame(onAnimationFrame);
+ }
+
+ let lastFrameTimestamp;
+
+ function onAnimationFrame(timestamp) {
+ // Stops execution if the neko element is removed from DOM
+ if (!nekoEl.isConnected) {
+ return;
+ }
+ if (!lastFrameTimestamp) {
+ lastFrameTimestamp = timestamp;
+ }
+ if (timestamp - lastFrameTimestamp > 100) {
+ lastFrameTimestamp = timestamp
+ frame()
+ }
+ window.requestAnimationFrame(onAnimationFrame);
+ }
+
+ function setSprite(name, frame) {
+ const sprite = spriteSets[name][frame % spriteSets[name].length];
+ nekoEl.style.backgroundPosition = `${sprite[0] * 32}px ${sprite[1] * 32}px`;
+ }
+
+ function resetIdleAnimation() {
+ idleAnimation = null;
+ idleAnimationFrame = 0;
+ }
+
+ function idle() {
+ idleTime += 1;
+
+ // every ~ 20 seconds
+ if (
+ idleTime > 10 &&
+ Math.floor(Math.random() * 200) == 0 &&
+ idleAnimation == null
+ ) {
+ let avalibleIdleAnimations = ["sleeping", "scratchSelf"];
+ if (nekoPosX < 32) {
+ avalibleIdleAnimations.push("scratchWallW");
+ }
+ if (nekoPosY < 32) {
+ avalibleIdleAnimations.push("scratchWallN");
+ }
+ if (nekoPosX > window.innerWidth - 32) {
+ avalibleIdleAnimations.push("scratchWallE");
+ }
+ if (nekoPosY > window.innerHeight - 32) {
+ avalibleIdleAnimations.push("scratchWallS");
+ }
+ idleAnimation =
+ avalibleIdleAnimations[
+ Math.floor(Math.random() * avalibleIdleAnimations.length)
+ ];
+ }
+
+ switch (idleAnimation) {
+ case "sleeping":
+ if (idleAnimationFrame < 8) {
+ setSprite("tired", 0);
+ break;
+ }
+ setSprite("sleeping", Math.floor(idleAnimationFrame / 4));
+ if (idleAnimationFrame > 192) {
+ resetIdleAnimation();
+ }
+ break;
+ case "scratchWallN":
+ case "scratchWallS":
+ case "scratchWallE":
+ case "scratchWallW":
+ case "scratchSelf":
+ setSprite(idleAnimation, idleAnimationFrame);
+ if (idleAnimationFrame > 9) {
+ resetIdleAnimation();
+ }
+ break;
+ default:
+ setSprite("idle", 0);
+ return;
+ }
+ idleAnimationFrame += 1;
+ }
+
+ function frame() {
+ frameCount += 1;
+ const diffX = nekoPosX - mousePosX;
+ const diffY = nekoPosY - mousePosY;
+ const distance = Math.sqrt(diffX ** 2 + diffY ** 2);
+
+ if (distance < nekoSpeed || distance < 48) {
+ idle();
+ return;
+ }
+
+ idleAnimation = null;
+ idleAnimationFrame = 0;
+
+ if (idleTime > 1) {
+ setSprite("alert", 0);
+ // count down after being alerted before moving
+ idleTime = Math.min(idleTime, 7);
+ idleTime -= 1;
+ return;
+ }
+
+ let direction;
+ direction = diffY / distance > 0.5 ? "N" : "";
+ direction += diffY / distance < -0.5 ? "S" : "";
+ direction += diffX / distance > 0.5 ? "W" : "";
+ direction += diffX / distance < -0.5 ? "E" : "";
+ setSprite(direction, frameCount);
+
+ nekoPosX -= (diffX / distance) * nekoSpeed;
+ nekoPosY -= (diffY / distance) * nekoSpeed;
+
+ nekoPosX = Math.min(Math.max(16, nekoPosX), window.innerWidth - 16);
+ nekoPosY = Math.min(Math.max(16, nekoPosY), window.innerHeight - 16);
+
+ nekoEl.style.left = `${nekoPosX - 16}px`;
+ nekoEl.style.top = `${nekoPosY - 16}px`;
+ }
+
+ init();
+})();
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..d2b06e9
--- /dev/null
+++ b/index.md
@@ -0,0 +1,5 @@
+---
+layout: home
+---
+
+This website is very much under construction.