jekyll-theme-satellite 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/_config.yml +82 -0
- data/_includes/loading.html +6 -0
- data/_includes/navigation.html +84 -0
- data/_includes/pagination.html +71 -0
- data/_includes/post.html +65 -0
- data/_includes/search.html +21 -0
- data/_includes/sidebar.html +83 -0
- data/_layouts/default.html +113 -0
- data/_sass/darkmode.scss +211 -0
- data/_sass/layout.scss +57 -0
- data/_sass/navigation.scss +178 -0
- data/_sass/pagination.scss +253 -0
- data/_sass/post.scss +640 -0
- data/_sass/search.scss +248 -0
- data/_sass/sidebar.scss +309 -0
- data/_sass/toc.scss +52 -0
- data/_sass/vars.scss +15 -0
- data/assets/css/highlight-dark.min.css +1 -0
- data/assets/css/highlight-default.min.css +1 -0
- data/assets/css/style.scss +89 -0
- data/assets/fonts/Lato-Regular.ttf +0 -0
- data/assets/fonts/NunitoSans-Regular.ttf +0 -0
- data/assets/fonts/Righteous-Regular.ttf +0 -0
- data/assets/img/La-Mancha.jpg +0 -0
- data/assets/img/example.jpg +0 -0
- data/assets/img/favicon.webp +0 -0
- data/assets/img/icon/book-solid.svg +1 -0
- data/assets/img/icon/calendar-days-regular.svg +1 -0
- data/assets/img/icon/clipboard-regular.svg +1 -0
- data/assets/img/icon/folder-open-regular.svg +1 -0
- data/assets/img/icon/tags-solid.svg +1 -0
- data/assets/img/loading.webp +0 -0
- data/assets/img/profile.jpg +0 -0
- data/assets/img/sorry.png +0 -0
- data/assets/img/thumbnail/book.jpg +0 -0
- data/assets/img/thumbnail/bricks.webp +0 -0
- data/assets/img/thumbnail/empty.jpg +0 -0
- data/assets/img/thumbnail/nightgardenflower.jpg +0 -0
- data/assets/img/thumbnail/sample.png +0 -0
- data/assets/img/tile.png +0 -0
- data/assets/js/404.js +22 -0
- data/assets/js/highlight.min.js +1213 -0
- data/assets/js/main.js +709 -0
- data/assets/js/stars.js +700 -0
- data/assets/js/sweet-scroll.min.js +2 -0
- data/assets/js/tocbot.min.js +1 -0
- metadata +104 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 04ee424c66214fc5325ace025a1205d3bba00ef334240e2cd3b046414f8824a4
|
4
|
+
data.tar.gz: 1d044b48a78e81a1aec1bac6f27ed8751b26636f04ae44aeaa449715754a5407
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 37cb13d4ea2f2870250ed1532c08e815c48eabb98ffffa540203b44359fcf3f8d50f1a845fd61368c855ac8b6acb783e1788283b0130db912c8e15fc23bc2aaf
|
7
|
+
data.tar.gz: cd038d7ac09e27f1279345c23b8acc884b12de0469ad35a275f92fc2565ff36176a05547644bf4778bfca7efa79b14a5ca0f10c79ab40953777cfb428dab5075
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2024 Yankos
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/_config.yml
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
# Welcome to Jekyll!
|
2
|
+
#
|
3
|
+
# This config file is meant for settings that affect your whole blog, values
|
4
|
+
# which you are expected to set up once and rarely edit after that. If you find
|
5
|
+
# yourself editing this file very often, consider using Jekyll's data files
|
6
|
+
# feature for the data you need to update frequently.
|
7
|
+
#
|
8
|
+
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
9
|
+
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
|
10
|
+
#
|
11
|
+
# If you need help with YAML syntax, here are some quick references for you:
|
12
|
+
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
|
13
|
+
# https://learnxinyminutes.com/docs/yaml/
|
14
|
+
#
|
15
|
+
# Site settings
|
16
|
+
# These are used to personalize your new site. If you look in the HTML files,
|
17
|
+
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
|
18
|
+
# You can create any custom variable you would like, and they will be accessible
|
19
|
+
# in the templates via {{ site.myvariable }}.
|
20
|
+
|
21
|
+
title: Example.com
|
22
|
+
username: username
|
23
|
+
email: example@gmail.com
|
24
|
+
github_username: github
|
25
|
+
twitter_username: twitter
|
26
|
+
instagram_username: instagram
|
27
|
+
linkedin_username: linkedin
|
28
|
+
facebook_username: facebook
|
29
|
+
description: "Satellite - jekyll blog theme"
|
30
|
+
baseurl: "" # the subpath of your site, e.g. /blog
|
31
|
+
url: "localhost:4000" # the base hostname & protocol for your site, e.g. http://example.com
|
32
|
+
repo_url: "https://github.com/byanko55/jekyll-theme-satellite"
|
33
|
+
goatcounter_code:
|
34
|
+
google_analytics:
|
35
|
+
|
36
|
+
# Build settings
|
37
|
+
plugins:
|
38
|
+
- jekyll-feed
|
39
|
+
- jekyll-sitemap
|
40
|
+
- jekyll-seo-tag
|
41
|
+
|
42
|
+
exclude:
|
43
|
+
- guide/
|
44
|
+
|
45
|
+
collections:
|
46
|
+
pages:
|
47
|
+
output: true
|
48
|
+
permalink: /:path.html
|
49
|
+
|
50
|
+
defaults:
|
51
|
+
-
|
52
|
+
scope:
|
53
|
+
path: ""
|
54
|
+
type: "pages"
|
55
|
+
values:
|
56
|
+
layout: "default"
|
57
|
+
date: "1900-01-01"
|
58
|
+
|
59
|
+
# Markdown newline activator
|
60
|
+
kramdown:
|
61
|
+
input: GFM
|
62
|
+
hard_wrap: true
|
63
|
+
|
64
|
+
# Exclude from processing.
|
65
|
+
# The following items will not be processed, by default.
|
66
|
+
# Any item listed under the `exclude:` key here will be automatically added to
|
67
|
+
# the internal "default list".
|
68
|
+
#
|
69
|
+
# Excluded items can be processed by explicitly listing the directories or
|
70
|
+
# their entries' file path in the `include:` list.
|
71
|
+
#
|
72
|
+
# exclude:
|
73
|
+
# - .sass-cache/
|
74
|
+
# - .jekyll-cache/
|
75
|
+
# - gemfiles/
|
76
|
+
# - Gemfile
|
77
|
+
# - Gemfile.lock
|
78
|
+
# - node_modules/
|
79
|
+
# - vendor/bundle/
|
80
|
+
# - vendor/cache/
|
81
|
+
# - vendor/gems/
|
82
|
+
# - vendor/ruby/
|
@@ -0,0 +1,84 @@
|
|
1
|
+
<nav id="navigation">
|
2
|
+
{%- assign nav_pages = site.pages
|
3
|
+
| where_exp: "item", "item.title != nil"
|
4
|
+
| where_exp: "item", "item.bookmark == true"
|
5
|
+
| sort: 'title' -%}
|
6
|
+
|
7
|
+
{% assign first_level_pages = "" | split, "" %}
|
8
|
+
{% assign second_level_pages = "" | split, "" %}
|
9
|
+
{% assign third_level_pages = "" | split, "" %}
|
10
|
+
|
11
|
+
{% for p in nav_pages %}
|
12
|
+
{%- assign p_tree = p.url | remove_first: "/" | split: "/" -%}
|
13
|
+
{%- assign p_level = p_tree | size -%}
|
14
|
+
|
15
|
+
{% if p_level <= 2 and p.bookmark %}
|
16
|
+
{% assign first_level_pages = first_level_pages | push:p %}
|
17
|
+
{% elsif (p_level == 3 and p.bookmark) or (p_level == 2 and p.bookmark == nil) %}
|
18
|
+
{% assign second_level_pages = second_level_pages | push:p %}
|
19
|
+
{% elsif (p_level == 4 and p.bookmark) or (p_level == 3 and p.bookmark == nil) %}
|
20
|
+
{% assign third_level_pages = third_level_pages | push:p %}
|
21
|
+
{% endif %}
|
22
|
+
{% endfor %}
|
23
|
+
|
24
|
+
<ul class="nav-list">
|
25
|
+
{%- for node in first_level_pages -%}
|
26
|
+
{%- assign node_url = node.url | remove: 'index.html' -%}
|
27
|
+
{%- assign children_list = second_level_pages
|
28
|
+
| where_exp: "item", "item.url contains node_url"
|
29
|
+
| sort: 'title' -%}
|
30
|
+
{%- assign num_children = children_list | size -%}
|
31
|
+
<li id="nav-first" aria-label="{{ node.title }}">
|
32
|
+
<div class="nav-item">
|
33
|
+
<a href="{{ node_url }}" class="nav-list-link nav-lh">
|
34
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z"/></svg>
|
35
|
+
<span>{{ node.title }}</span>
|
36
|
+
</a>
|
37
|
+
{%- if num_children > 0 and node_url != "/" -%}
|
38
|
+
<button class="nav-list-expander" aria-label="toggle items in {{ node.title }} category" aria-pressed="false">
|
39
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>
|
40
|
+
</button>
|
41
|
+
{%- endif -%}
|
42
|
+
</div>
|
43
|
+
{%- if num_children > 0 and node_url != "/" -%}
|
44
|
+
<ul class="nav-list">
|
45
|
+
{%- for child in children_list -%}
|
46
|
+
{%- assign child_url = child.url | remove: 'index.html' -%}
|
47
|
+
{%- assign grand_children_list = third_level_pages
|
48
|
+
| where_exp: "item", "item.url contains child_url"
|
49
|
+
| sort: 'title' -%}
|
50
|
+
{%- assign num_grand_children = grand_children_list | size -%}
|
51
|
+
<li id="nav-second" aria-label="{{ child.title }}">
|
52
|
+
<div class="nav-item">
|
53
|
+
<a href="{{ child_url }}" class="nav-list-link nav-sh">
|
54
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>
|
55
|
+
<span>{{ child.title }}</span>
|
56
|
+
</a>
|
57
|
+
{%- if num_grand_children > 0 -%}
|
58
|
+
<button class="nav-list-expander" aria-label="toggle items in {{ child.title }} category" aria-pressed="false">
|
59
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>
|
60
|
+
</button>
|
61
|
+
{%- endif -%}
|
62
|
+
</div>
|
63
|
+
{%- if num_grand_children > 0 -%}
|
64
|
+
<ul class="nav-list">
|
65
|
+
{%- for grand_child in grand_children_list -%}
|
66
|
+
<li id="nav-third" aria-label="{{ grand_child.title }}">
|
67
|
+
<div class="nav-item">
|
68
|
+
<a href="{{ grand_child.url | relative_url }}" class="nav-list-link nav-sh">
|
69
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>
|
70
|
+
<span>{{ grand_child.title }}</span>
|
71
|
+
</a>
|
72
|
+
</div>
|
73
|
+
</li>
|
74
|
+
{%- endfor -%}
|
75
|
+
</ul>
|
76
|
+
{%- endif -%}
|
77
|
+
</li>
|
78
|
+
{%- endfor -%}
|
79
|
+
</ul>
|
80
|
+
{%- endif -%}
|
81
|
+
</li>
|
82
|
+
{%- endfor -%}
|
83
|
+
</ul>
|
84
|
+
</nav>
|
@@ -0,0 +1,71 @@
|
|
1
|
+
{%- assign list_pages = site.pages | sort:"date" | reverse -%}
|
2
|
+
{%- assign post_counts = 0 -%}
|
3
|
+
|
4
|
+
<p class="category-header">
|
5
|
+
{% if page_level == 1 %}
|
6
|
+
All Posts
|
7
|
+
{% else %}
|
8
|
+
{{ page.title }}
|
9
|
+
{% endif %}
|
10
|
+
</p>
|
11
|
+
<div id="category-list">
|
12
|
+
<ul class="paginated-list" data-current-page="1" aria-live="polite">
|
13
|
+
{%- for sub_page in list_pages -%}
|
14
|
+
{%- assign page_url = page.url | remove: 'index.html' -%}
|
15
|
+
{% if sub_page.url contains page_url %}
|
16
|
+
{% unless sub_page.url contains "index.html" %}
|
17
|
+
{%- assign post_counts = post_counts | plus:1 -%}
|
18
|
+
<li class="paginated-item">
|
19
|
+
<div id="article_content">
|
20
|
+
<div class="thumbnail_zone">
|
21
|
+
{% if sub_page.thumbnail != nil %}
|
22
|
+
<a href="{{ sub_page.url }}" class="thumbnail_post" loading="lazy" aria-label="thumbnail_post" style="background-image:url('{{ sub_page.thumbnail }}') !important"></a>
|
23
|
+
{% else %}
|
24
|
+
<a href="{{ sub_page.url }}" class="thumbnail_post empty" loading="lazy" aria-label="thumbnail_post" style="background-image:url('/assets/img/thumbnail/empty.jpg') !important"></a>
|
25
|
+
{% endif %}
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="box_contents">
|
29
|
+
<a href="{{ sub_page.url }}" class="title_post">{{ sub_page.title }}</a>
|
30
|
+
<a href="{{ sub_page.url }}" class="txt_post">
|
31
|
+
{{ sub_page.content | markdownify | strip_html }}
|
32
|
+
</a>
|
33
|
+
<div class="info-post">
|
34
|
+
{%- assign sub_page_tree = sub_page.path | split: "/" -%}
|
35
|
+
{% if sub_page_tree.size > 2 %}
|
36
|
+
<a href="{{ '/' | append: sub_page_tree[1] }}" class="category">{{ sub_page_tree[1] }}</a>
|
37
|
+
{% else %}
|
38
|
+
<span class="category">None</span>
|
39
|
+
{% endif %}
|
40
|
+
{%- assign posting_date = sub_page.date | date: "%Y-%m-%d" -%}
|
41
|
+
{% if posting_date != "1900-01-01" %}
|
42
|
+
<span class="date">· {{ sub_page.date | date: "%Y-%m-%d" }}</span>
|
43
|
+
{% endif %}
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</li>
|
48
|
+
{% endunless %}
|
49
|
+
{% endif %}
|
50
|
+
{%- endfor -%}
|
51
|
+
</ul>
|
52
|
+
{% if post_counts == 0 %}
|
53
|
+
<div class="no-posts">
|
54
|
+
<img src="{{ '/assets/img/sorry.png'' }}"></img>
|
55
|
+
<h1>Sorry, No posts found</h1>
|
56
|
+
</div>
|
57
|
+
{% endif %}
|
58
|
+
</div>
|
59
|
+
<div class="pagination">
|
60
|
+
<nav class="pagination-container">
|
61
|
+
<button class="pagination-button" id="prev-button" aria-label="Previous page" title="Previous page">
|
62
|
+
<
|
63
|
+
</button>
|
64
|
+
|
65
|
+
<div id="pagination-numbers"></div>
|
66
|
+
|
67
|
+
<button class="pagination-button" id="next-button" aria-label="Next page" title="Next page">
|
68
|
+
>
|
69
|
+
</button>
|
70
|
+
</nav>
|
71
|
+
</div>
|
data/_includes/post.html
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
<div class="post-header">
|
2
|
+
<div class="thumbnail">
|
3
|
+
<div class="transbox">
|
4
|
+
{% if page.title %}
|
5
|
+
<span class="post-title">{{ page.title }}</span>
|
6
|
+
{% endif %}
|
7
|
+
<div class="post-info">
|
8
|
+
{% if page_level > 2 %}
|
9
|
+
<a class="info-box category-box" href="{{ '/' | append: page_tree[0] }}">
|
10
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M384 480h48c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144c-11.4 0-21.9 6-27.6 15.9L48 357.1V96c0-8.8 7.2-16 16-16H181.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H416c8.8 0 16 7.2 16 16v32h48V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H87.7 384z"/></svg>
|
11
|
+
<span>{{ page_tree[0] }}</span>
|
12
|
+
</a>
|
13
|
+
{% else %}
|
14
|
+
<span class="info-box">
|
15
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M384 480h48c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144c-11.4 0-21.9 6-27.6 15.9L48 357.1V96c0-8.8 7.2-16 16-16H181.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H416c8.8 0 16 7.2 16 16v32h48V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H87.7 384z"/></svg>
|
16
|
+
<span>None</span>
|
17
|
+
</span>
|
18
|
+
{% endif %}
|
19
|
+
<span class="info-box">
|
20
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192h80v56H48V192zm0 104h80v64H48V296zm128 0h96v64H176V296zm144 0h80v64H320V296zm80-48H320V192h80v56zm0 160v40c0 8.8-7.2 16-16 16H320V408h80zm-128 0v56H176V408h96zm-144 0v56H64c-8.8 0-16-7.2-16-16V408h80zM272 248H176V192h96v56z"/></svg>
|
21
|
+
<span>
|
22
|
+
{%- assign posting_date = page.date | date: "%Y-%m-%d" -%}
|
23
|
+
{% if posting_date == "1900-01-01" %}
|
24
|
+
-
|
25
|
+
{% else %}
|
26
|
+
{{ posting_date }}
|
27
|
+
{% endif %}
|
28
|
+
</span>
|
29
|
+
</span>
|
30
|
+
{% if site.goatcounter_code != nil %}
|
31
|
+
<span class="info-box">
|
32
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"/></svg>
|
33
|
+
<span id="page-hits" usercode="{{ site.goatcounter_code }}">-</span>
|
34
|
+
</span>
|
35
|
+
{% endif %}
|
36
|
+
<a class="info-box" href="#giscus" data-scroll>
|
37
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"/></svg>
|
38
|
+
<span id="num-comments">-</span>
|
39
|
+
</a>
|
40
|
+
</div>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
<div class="tags">
|
45
|
+
{%- for page_tag in page.tags -%}
|
46
|
+
<span class="tag-box theme-{{ forloop.index0 | modulo: 3 }}" contentID="{{ page_tag }}">
|
47
|
+
{{ page_tag }}
|
48
|
+
</span>
|
49
|
+
{%- endfor -%}
|
50
|
+
</div>
|
51
|
+
<main>
|
52
|
+
{{ content }}
|
53
|
+
<!-- see https://giscus.app/ -->
|
54
|
+
<div class="giscus" id="giscus" style="margin: 4rem auto;"></div>
|
55
|
+
<div id="related-box">
|
56
|
+
<span>
|
57
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.8-74.8c7.4 4.6 15.3 8.2 23.8 10.5C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c2.1 7.9 12 9.6 17.8 3.8L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z"/></svg>
|
58
|
+
You May Also Like
|
59
|
+
</span>
|
60
|
+
<ul id="related-posts"></ul>
|
61
|
+
</div>
|
62
|
+
</main>
|
63
|
+
<div class="top-arrow">
|
64
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" href="#" data-scroll><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"/></svg>
|
65
|
+
</div>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<div id="search">
|
2
|
+
<div class="wave"></div>
|
3
|
+
<div class="wave"></div>
|
4
|
+
<div class="wave"></div>
|
5
|
+
|
6
|
+
<div class="search-box">
|
7
|
+
<h1>Touch background to close</h1>
|
8
|
+
<div class="input-box">
|
9
|
+
<input id="search-input"
|
10
|
+
type="search"
|
11
|
+
tabindex="1"
|
12
|
+
spellcheck="false"
|
13
|
+
placeholder="Search..."
|
14
|
+
/>
|
15
|
+
<button id="btn-clear">
|
16
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>
|
17
|
+
</button>
|
18
|
+
</div>
|
19
|
+
<ul id="search-result"></ul>
|
20
|
+
</div>
|
21
|
+
</div>
|
@@ -0,0 +1,83 @@
|
|
1
|
+
<div class="sidebar sidebar-left">
|
2
|
+
<div class="side-banner">
|
3
|
+
<h1 class="site-name">
|
4
|
+
<a href="/"><span class="highlight">example.com</span></a>
|
5
|
+
<button id="btn-brightness" aria-label="brightness-button">
|
6
|
+
<svg class='ico-dark' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"/></svg>
|
7
|
+
<svg class='ico-light' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"/></svg>
|
8
|
+
</button>
|
9
|
+
<button id="btn-search" aria-label="search-button">
|
10
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
|
11
|
+
</button>
|
12
|
+
<button id="btn-nav" aria-pressed="false" aria-label="menu-button">
|
13
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/></svg>
|
14
|
+
</button>
|
15
|
+
</h1>
|
16
|
+
<a href="/" class="site-avatar" aria-label="site-avatar">
|
17
|
+
<img src="{{ '/assets/img/profile.jpg' }}" loading="lazy" alt="homepage" aria-label="homepage-button">
|
18
|
+
</a>
|
19
|
+
</div>
|
20
|
+
<div class="side-info">
|
21
|
+
{% include navigation.html %}
|
22
|
+
<div id="contact">
|
23
|
+
<hr>
|
24
|
+
<h3>Contact</h3>
|
25
|
+
<ul class="contact-list">
|
26
|
+
{% if site.github_username %}
|
27
|
+
<li><a aria-label="My Github" href="https://github.com/{{ site.github_username }}">
|
28
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
29
|
+
</a></li>
|
30
|
+
{% endif %}
|
31
|
+
{% if site.email %}
|
32
|
+
<li><a aria-label="My Email" href="{{ site.email }}">
|
33
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
|
34
|
+
</a></li>
|
35
|
+
{% endif %}
|
36
|
+
{% if site.twitter_username %}
|
37
|
+
<li><a aria-label="My Twitter" href="https://twitter.com/{{ site.twitter_username }}">
|
38
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.4 151.7c.3 4.5 .3 9.1 .3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53 51.7 63.7 129.3 105.3 216.4 109.8-1.6-7.8-2.6-15.9-2.6-24 0-57.8 46.8-104.9 104.9-104.9 30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3z"/></svg>
|
39
|
+
</a></li>
|
40
|
+
{% endif %}
|
41
|
+
{% if site.instagram_username %}
|
42
|
+
<li><a aria-label="My Instagram" href="https://www.instagram.com/{{ site.instagram_username }}">
|
43
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>
|
44
|
+
</a></li>
|
45
|
+
{% endif %}
|
46
|
+
{% if site.facebook_username %}
|
47
|
+
<li><a aria-label="My Facebook" href="https://www.facebook.com/{{ site.facebook_username }}">
|
48
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"/></svg>
|
49
|
+
</a></li>
|
50
|
+
{% endif %}
|
51
|
+
{% if site.linkedin_username %}
|
52
|
+
<li><a aria-label="My LinkedIn" href="https://www.linkedin.com/in/{{ site.linkedin_username }}">
|
53
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>
|
54
|
+
</a></li>
|
55
|
+
{% endif %}
|
56
|
+
</ul>
|
57
|
+
<hr>
|
58
|
+
<span>
|
59
|
+
Copyright © 2024 | <a href="https://github.com/byanko55/jekyll-theme-satellite">Yankos</a>
|
60
|
+
</span>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
<div class="sidebar sidebar-right">
|
65
|
+
<div class="tools">
|
66
|
+
<button id="btn-brightness" aria-label="brightness-button">
|
67
|
+
<svg class='ico-dark' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"/></svg>
|
68
|
+
<svg class='ico-light' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"/></svg>
|
69
|
+
</button>
|
70
|
+
<button id="btn-search" aria-label="search-button">
|
71
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
|
72
|
+
</button>
|
73
|
+
</div>
|
74
|
+
{%- if page_type == "post" -%}
|
75
|
+
<div class="toc">
|
76
|
+
<span class="toc-header">
|
77
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z"/></svg>
|
78
|
+
Contents
|
79
|
+
</span>
|
80
|
+
<div class='toc-board'></div>
|
81
|
+
</div>
|
82
|
+
{%- endif -%}
|
83
|
+
</div>
|
@@ -0,0 +1,113 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
7
|
+
{% seo %}
|
8
|
+
<link rel="shortcut icon" type="image/png" href="{{ '/assets/img/favicon.webp' }}">
|
9
|
+
<link rel="preload" href="{{ '/assets/img/favicon.webp' }}" as="image">
|
10
|
+
{% if site.goatcounter_code %}
|
11
|
+
<script data-goatcounter="https://{{ site.goatcounter_code }}.goatcounter.com/count"
|
12
|
+
async src="//gc.zgo.at/count.js"></script>
|
13
|
+
{% endif %}
|
14
|
+
|
15
|
+
<title>
|
16
|
+
{% if page.title %}{{ page.title }}
|
17
|
+
{% else %}{{ site.title }}
|
18
|
+
{% endif %}
|
19
|
+
</title>
|
20
|
+
|
21
|
+
<meta
|
22
|
+
name="description"
|
23
|
+
content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
|
24
|
+
|
25
|
+
<link rel="stylesheet" href="{{ '/assets/css/style.css' }}">
|
26
|
+
{% if page.thumbnail %}
|
27
|
+
<style>
|
28
|
+
.thumbnail {
|
29
|
+
background-image: url("{{ page.thumbnail }}");
|
30
|
+
}
|
31
|
+
</style>
|
32
|
+
{% else %}
|
33
|
+
<style>
|
34
|
+
.thumbnail {
|
35
|
+
aspect-ratio: auto !important;
|
36
|
+
}
|
37
|
+
.transbox {
|
38
|
+
transform: none;
|
39
|
+
position: relative;
|
40
|
+
margin: auto;
|
41
|
+
left: 0;
|
42
|
+
top: 0;
|
43
|
+
}
|
44
|
+
</style>
|
45
|
+
{% endif %}
|
46
|
+
<script src="{{ '/assets/js/tocbot.min.js' }}"></script>
|
47
|
+
<script src="{{ '/assets/js/sweet-scroll.min.js' }}"></script>
|
48
|
+
</head>
|
49
|
+
<body>
|
50
|
+
<canvas id="stars" width="100%" height="100%"></canvas>
|
51
|
+
{%- assign page_tree = page.path | remove_first: "_pages/" | split: "/" -%}
|
52
|
+
{%- assign page_level = page_tree.size -%}
|
53
|
+
{% if page_tree.last == "index.md" %}
|
54
|
+
{%- assign page_type = "category" -%}
|
55
|
+
{% else %}
|
56
|
+
{%- assign page_type = "post" -%}
|
57
|
+
{% endif %}
|
58
|
+
{% include sidebar.html %}
|
59
|
+
<div id="post">
|
60
|
+
<div class="inner-header">
|
61
|
+
<span class="dot" style="background-color: #F86158;"></span>
|
62
|
+
<span class="dot" style="background-color: #FBBF2D;"></span>
|
63
|
+
<span class="dot" style="background-color: #2ACB45;"></span>
|
64
|
+
</div>
|
65
|
+
<div class="inner-content">
|
66
|
+
<div class="category-tree">
|
67
|
+
{%- assign page_link = "/" -%}
|
68
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>
|
69
|
+
<p>
|
70
|
+
{%- assign search_tree = page.path | remove: "/index.md" | split: "/" -%}
|
71
|
+
{%- for sub_tree in search_tree -%}
|
72
|
+
{% if forloop.first %}
|
73
|
+
<a href="/">Home</a>
|
74
|
+
>
|
75
|
+
{% elsif forloop.last %}
|
76
|
+
{% if page_type == "category" %}
|
77
|
+
{{ sub_tree }}
|
78
|
+
{% else %}
|
79
|
+
{{ page.title }}
|
80
|
+
{% endif %}
|
81
|
+
{% else %}
|
82
|
+
{%- assign page_link = page_link | append: sub_tree | append: "/" -%}
|
83
|
+
<a href="{{ page_link }}">{{ sub_tree }}</a>
|
84
|
+
>
|
85
|
+
{% endif %}
|
86
|
+
{%- endfor -%}
|
87
|
+
</p>
|
88
|
+
</div>
|
89
|
+
{% if page_type == "category" %}
|
90
|
+
{% include loading.html %}
|
91
|
+
{% include pagination.html %}
|
92
|
+
{% else %}
|
93
|
+
{% include post.html %}
|
94
|
+
{% endif %}
|
95
|
+
</div>
|
96
|
+
</div>
|
97
|
+
{% include search.html %}
|
98
|
+
</body>
|
99
|
+
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
100
|
+
<script src="{{ '/assets/js/highlight.min.js' }}"></script>
|
101
|
+
<link id="highlight-default" rel="stylesheet" href="{{ '/assets/css/highlight-default.min.css' }}">
|
102
|
+
<link id="highlight-dark" rel="stylesheet" href="{{ '/assets/css/highlight-dark.min.css' }}">
|
103
|
+
<script src="{{ '/assets/js/stars.js' }}"></script>
|
104
|
+
<script src="{{ '/assets/js/main.js' }}"></script>
|
105
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
|
106
|
+
<script>
|
107
|
+
window.dataLayer = window.dataLayer || [];
|
108
|
+
function gtag(){ dataLayer.push(arguments); }
|
109
|
+
|
110
|
+
gtag('js', new Date());
|
111
|
+
gtag('config', '{{ site.google_analytics }}');
|
112
|
+
</script>
|
113
|
+
</html>
|