Added all the files
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
_site
|
||||
.sass-cache
|
||||
.jekyll-cache
|
||||
.jekyll-metadata
|
||||
.bundle
|
||||
vendor
|
||||
10
404.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
permalink: /404.html
|
||||
layout: default
|
||||
---
|
||||
|
||||
# 404
|
||||
|
||||
**Page not found :**
|
||||
|
||||
The requested page could not be found.
|
||||
34
Gemfile
Normal file
@ -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]
|
||||
|
||||
181
Gemfile.lock
Normal file
@ -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
|
||||
54
_config.yml
Normal file
@ -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/
|
||||
42
_layouts/default.html
Normal file
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="{{ page.lang | default: site.lang | default: en }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{{ site.title }} {% if page.title %} - {{ page.title }} {% endif %}</title>
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<script src="/assets/js/oneko.js"></script>
|
||||
<div class="wrapper">
|
||||
<div class="header">
|
||||
<h1>{{ site.title }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<div class="navigation">
|
||||
<a href="/">Home</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/about/">About</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<section>
|
||||
{{ content }}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<img src="/assets/images/pictochat.gif" class="button">
|
||||
<img src="/assets/images/kill.png" class="button">
|
||||
<img src="/assets/images/affection.gif" class="button">
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<img src="/assets/images/shoegaze.gif" class="stamp">
|
||||
<img src="/assets/images/nosignal.gif" class="stamp">
|
||||
<img src="/assets/images/lainstamp.gif" class="stamp">
|
||||
<img src="/assets/images/believe.gif" class="stamp">
|
||||
<img src="/assets/images/views.png" class="stamp">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
32
_layouts/home.html
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
<div class="home">
|
||||
{%- if page.title -%}
|
||||
<h1 class="page-heading">{{ page.title }}</h1>
|
||||
{% else %}
|
||||
<h1 class="page-heading">Home</h1>
|
||||
{%- endif -%}
|
||||
{{ content }}
|
||||
{%- if site.posts.size > 0 -%}
|
||||
<h2 class="post-list-heading">{{ page.list_title | default: "Posts" }}</h2>
|
||||
<ul class="post-list">
|
||||
{%- for post in site.posts -%}
|
||||
<li>
|
||||
{%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
|
||||
<span class="post-meta">{{ post.date | date: date_format }}</span>
|
||||
<h3>
|
||||
<a class="post-link" href="{{ post.url | relative_url }}">
|
||||
{{ post.title | escape }}
|
||||
</a>
|
||||
</h3>
|
||||
{%- if site.show_excerpts -%}
|
||||
{{ post.excerpt }}
|
||||
{%- endif -%}
|
||||
</li>
|
||||
{%- endfor -%}
|
||||
</ul>
|
||||
<p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
11
_layouts/page.html
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
<article class="post">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title">{{ page.title | escape }}</h1>
|
||||
</header>
|
||||
<div class="post-content">
|
||||
{{ content }}
|
||||
</div>
|
||||
</article>
|
||||
23
_layouts/post.html
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
<article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title p-name" itemprop="name headline">{{ page.title | escape }}</h1>
|
||||
<p class="post-meta">
|
||||
<time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
||||
{%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
|
||||
{{ page.date | date: date_format }}
|
||||
</time>
|
||||
{%- if page.author -%}
|
||||
• <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span class="p-author h-card" itemprop="name">{{ page.author }}</span></span>
|
||||
{%- endif -%}</p>
|
||||
</header>
|
||||
<div class="post-content e-content" itemprop="articleBody">
|
||||
{{ content }}
|
||||
</div>
|
||||
{%- if site.disqus.shortname -%}
|
||||
{%- include disqus_comments.html -%}
|
||||
{%- endif -%}
|
||||
<a class="u-url" href="{{ page.url | relative_url }}" hidden></a>
|
||||
</article>
|
||||
29
_posts/2024-08-25-welcome-to-jekyll.markdown
Normal file
@ -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/
|
||||
147
_sass/main.scss
Normal file
@ -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%;
|
||||
}
|
||||
}
|
||||
17
about.md
Normal file
@ -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
|
||||
3
assets/css/style.scss
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
---
|
||||
@use "main";
|
||||
BIN
assets/images/BMO.gif
Normal file
|
After Width: | Height: | Size: 135 KiB |
BIN
assets/images/KK.gif
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
assets/images/KirbyIdle.gif
Normal file
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 161 KiB |
|
After Width: | Height: | Size: 1.9 MiB |
BIN
assets/images/affection.gif
Normal file
|
After Width: | Height: | Size: 833 B |
BIN
assets/images/believe.gif
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
assets/images/believe2.gif
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/images/bi.png
Normal file
|
After Width: | Height: | Size: 163 B |
BIN
assets/images/cannibalism.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
assets/images/clippy.gif
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/images/computer.gif
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
assets/images/computer2.gif
Normal file
|
After Width: | Height: | Size: 642 B |
BIN
assets/images/email.gif
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
assets/images/etr.gif
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/images/ghost.gif
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
assets/images/haruhi.gif
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
assets/images/hatsunemiku.gif
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
assets/images/hypnotoad.gif
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
100
assets/images/index.html
Normal file
@ -0,0 +1,100 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta lang="en">
|
||||
<title>VΛYT - Gallery</title>
|
||||
<link rel="stylesheet" href="/stylesheet.css">
|
||||
<link rel="stylesheet" href="/highlighting.css">
|
||||
<meta name="generator" content="Nanoc 4.12.3">
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-QXDT926SV4"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-QXDT926SV4');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="header">
|
||||
<h1>VΛYT</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<div class="navigation">
|
||||
<a href="/">Home</a>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/tech/">Tech</a>
|
||||
<a href="/music/">Music</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<h1>Gallery</h1>
|
||||
<br>
|
||||
<p>This is a list of all images on this website and also kind of an easteregg since there is no link to this page.</p>
|
||||
<ul>
|
||||
|
||||
<li><a href="/images/soldering.jpg">/images/soldering.jpg</a></li>
|
||||
<li><a href="/images/haruhi.gif">/images/haruhi.gif</a></li>
|
||||
<li><a href="/images/neocities.png">/images/neocities.png</a></li>
|
||||
<li><a href="/images/shoegaze.gif">/images/shoegaze.gif</a></li>
|
||||
<li><a href="/images/pictochat.gif">/images/pictochat.gif</a></li>
|
||||
<li><a href="/images/nosignal.gif">/images/nosignal.gif</a></li>
|
||||
<li><a href="/images/KK.gif">/images/KK.gif</a></li>
|
||||
<li><a href="/images/kirby.gif">/images/kirby.gif</a></li>
|
||||
<li><a href="/images/computer2.gif">/images/computer2.gif</a></li>
|
||||
<li><a href="/images/lainstamp.gif">/images/lainstamp.gif</a></li>
|
||||
<li><a href="/images/computer.gif">/images/computer.gif</a></li>
|
||||
<li><a href="/images/clippy.gif">/images/clippy.gif</a></li>
|
||||
<li><a href="/images/hypnotoad.gif">/images/hypnotoad.gif</a></li>
|
||||
<li><a href="/images/terminal.gif">/images/terminal.gif</a></li>
|
||||
<li><a href="/images/email.gif">/images/email.gif</a></li>
|
||||
<li><a href="/images/BMO.gif">/images/BMO.gif</a></li>
|
||||
<li><a href="/images/KirbyIdle.gif">/images/KirbyIdle.gif</a></li>
|
||||
<li><a href="/images/ghost.gif">/images/ghost.gif</a></li>
|
||||
<li><a href="/images/underconstruction.gif">/images/underconstruction.gif</a></li>
|
||||
<li><a href="/images/underconstructionbanner.gif">/images/underconstructionbanner.gif</a></li>
|
||||
<li><a href="/images/believe.gif">/images/believe.gif</a></li>
|
||||
<li><a href="/images/believe2.gif">/images/believe2.gif</a></li>
|
||||
<li><a href="/images/robots.gif">/images/robots.gif</a></li>
|
||||
<li><a href="/images/life.png">/images/life.png</a></li>
|
||||
<li><a href="/images/cannibalism.png">/images/cannibalism.png</a></li>
|
||||
<li><a href="/images/views.png">/images/views.png</a></li>
|
||||
<li><a href="/images/affection.gif">/images/affection.gif</a></li>
|
||||
<li><a href="/images/yukiguru.gif">/images/yukiguru.gif</a></li>
|
||||
<li><a href="/images/Kuriyama_Mirai_flips_through_The_C_Programming_Language.gif">/images/Kuriyama_Mirai_flips_through_The_C_Programming_Language.gif</a></li>
|
||||
<li><a href="/images/bi.png">/images/bi.png</a></li>
|
||||
<li><a href="/images/vayt.png">/images/vayt.png</a></li>
|
||||
<li><a href="/images/lambdafun.gif">/images/lambdafun.gif</a></li>
|
||||
<li><a href="/images/vscode.gif">/images/vscode.gif</a></li>
|
||||
<li><a href="/images/wiby.gif">/images/wiby.gif</a></li>
|
||||
<li><a href="/images/hatsunemiku.gif">/images/hatsunemiku.gif</a></li>
|
||||
<li><a href="/images/Yuki-Nagato-typing-and-coding-really-quickly-on-laptop.gif">/images/Yuki-Nagato-typing-and-coding-really-quickly-on-laptop.gif</a></li>
|
||||
<li><a href="/images/yuki-nagato-typing.gif">/images/yuki-nagato-typing.gif</a></li>
|
||||
<li><a href="/images/yuki-nagato-waving-a-mouse.gif">/images/yuki-nagato-waving-a-mouse.gif</a></li>
|
||||
<li><a href="/images/nonft.gif">/images/nonft.gif</a></li>
|
||||
<li><a href="/images/kill.png">/images/kill.png</a></li>
|
||||
<li><a href="/images/etr.gif">/images/etr.gif</a></li>
|
||||
<li><a href="/images/stamp-yrownwebsite.png">/images/stamp-yrownwebsite.png</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<img src="/images/neocities.png" class="button">
|
||||
<img src="/images/pictochat.gif" class="button">
|
||||
<img src="/images/underconstruction.gif" class="button">
|
||||
<img src="/images/affection.gif" class="button">
|
||||
</div>
|
||||
<div class="wrapper">
|
||||
<img src="/images/shoegaze.gif" class="stamp">
|
||||
<img src="/images/nosignal.gif" class="stamp">
|
||||
<img src="/images/lainstamp.gif" class="stamp">
|
||||
<img src="/images/believe.gif" class="stamp">
|
||||
<img src="/images/views.png" class="stamp">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
assets/images/kill.png
Normal file
|
After Width: | Height: | Size: 780 B |
BIN
assets/images/kirby.gif
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/images/lainstamp.gif
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
assets/images/lambdafun.gif
Normal file
|
After Width: | Height: | Size: 237 KiB |
BIN
assets/images/life.png
Normal file
|
After Width: | Height: | Size: 850 B |
BIN
assets/images/neocities.png
Normal file
|
After Width: | Height: | Size: 382 B |
BIN
assets/images/nonft.gif
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
assets/images/nosignal.gif
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
assets/images/oneko.gif
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
assets/images/pictochat.gif
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
assets/images/robots.gif
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/images/shoegaze.gif
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
assets/images/soldering.jpg
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
assets/images/stamp-yrownwebsite.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/images/terminal.gif
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
assets/images/underconstruction.gif
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
assets/images/underconstructionbanner.gif
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
assets/images/vayt.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
assets/images/views.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
assets/images/vscode.gif
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/images/wiby.gif
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/images/yuki-nagato-typing.gif
Normal file
|
After Width: | Height: | Size: 704 KiB |
BIN
assets/images/yuki-nagato-waving-a-mouse.gif
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
assets/images/yukiguru.gif
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
239
assets/js/oneko.js
Normal file
@ -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();
|
||||
})();
|
||||