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 %} + + + + +
+
+

{{ site.title }}

+
+
+
+ +
+
+
+
+ {{ content }} +
+
+
+
+ + + +
+
+ + + + + +
+ + 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" }}

+ +

subscribe via RSS

+ {%- 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 +--- +
+
+

{{ page.title | escape }}

+
+
+ {{ 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 +--- +
+
+

{{ page.title | escape }}

+ +
+
+ {{ 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 + + + + + + + + +
+
+

VΛYT

+
+
+
+ +
+
+
+

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.