jekyll-theme-panda 0.1.1
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/README.md +79 -0
- data/_config.yml +72 -0
- data/_includes/about/en.md +1 -0
- data/_includes/about/zh.md +0 -0
- data/_includes/footer.html +80 -0
- data/_includes/head.html +81 -0
- data/_includes/header.html +158 -0
- data/_includes/policy/en.md +1 -0
- data/_includes/policy/zh.md +9 -0
- data/_includes/search.html +5 -0
- data/_includes/toc.html +112 -0
- data/_layouts/default.html +9 -0
- data/_layouts/forarchive.html +91 -0
- data/_layouts/home.html +115 -0
- data/_layouts/post.html +117 -0
- data/_sass/common.scss +4480 -0
- data/_sass/header.scss +622 -0
- data/_sass/post.scss +362 -0
- data/_sass/syntax.scss +191 -0
- data/assets/css/bootstrap.min.css +6 -0
- data/assets/css/font-awesome.min.css +4 -0
- data/assets/css/styles.scss +6 -0
- data/assets/fonts/FontAwesome.otf +0 -0
- data/assets/fonts/amarillo/AmarilloUSAF.svg +181 -0
- data/assets/fonts/amarillo/AmarilloUSAF.ttf +0 -0
- data/assets/fonts/amarillo/AmarilloUSAF.woff +0 -0
- data/assets/fonts/amarillo/amarillo-font.css +18 -0
- data/assets/fonts/amarillo/amarurgt.eot +0 -0
- data/assets/fonts/amarillo/amarurgt.woff2 +0 -0
- data/assets/fonts/fontawesome-webfont.eot +0 -0
- data/assets/fonts/fontawesome-webfont.svg +2671 -0
- data/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/assets/fonts/fontawesome-webfont.woff +0 -0
- data/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/assets/img/banner.gif +0 -0
- data/assets/img/logo_Nest.png +0 -0
- data/assets/img/switcher.png +0 -0
- data/assets/js/archive.min.js +5 -0
- data/assets/js/imagesLoaded-3.1.8.js +9434 -0
- data/assets/js/imagesLoaded-4.1.4.js +497 -0
- data/assets/js/jquery-3.5.1.min.js +2 -0
- data/assets/js/mermaid.min.js +31 -0
- data/assets/js/script.js +216 -0
- data/assets/js/slick.min.js +1 -0
- metadata +116 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6fd697d518c5d9c81901c0ea8da0fedb57358a8c5095d58efdd258f62b1e224d
|
4
|
+
data.tar.gz: a1415f6b0391aa38ba3b93b9f0867bb8bd4c25545d140b844872c81b435f2111
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 347ce62f289055d64e388d15695f2c24abcc985aadda3c635dfbc6b44b4983695efa6f1989950421102f19dcf5b3922be6f16aafd1ce0ae11725850459962e53
|
7
|
+
data.tar.gz: 252eac46d46c26ae9dfe0aaf825c5bc90543bf67494b98d58902975b1d328b08815011e6c25daf5300c4eb194ce12c958785dd2b342320da90005eb96ef0a361
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2021 riino
|
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
|
13
|
+
all 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
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
# jekyll-theme-panda
|
2
|
+
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
|
6
|
+
### Set up via jekyll-remote-theme
|
7
|
+
|
8
|
+
**Step 1** Install [jekyll-remote-theme](https://github.com/benbalter/jekyll-remote-theme)
|
9
|
+
|
10
|
+
**Step 2** Fork this [jekyll-theme-panda]( https://github.com/sorphwer/jekyll-theme-panda)
|
11
|
+
|
12
|
+
**Step 3** Set `remote_theme : <your-github-username>/jekyll-theme-panda`
|
13
|
+
|
14
|
+
### Set up via bundler (Not available in GithubPage)
|
15
|
+
|
16
|
+
Add this line to your Jekyll site's `Gemfile`:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
gem "jekyll-theme-panda"
|
20
|
+
```
|
21
|
+
|
22
|
+
And add this line to your Jekyll site's `_config.yml`:
|
23
|
+
|
24
|
+
```yaml
|
25
|
+
theme: jekyll-theme-panda
|
26
|
+
```
|
27
|
+
|
28
|
+
And then execute:
|
29
|
+
|
30
|
+
$ bundle install
|
31
|
+
|
32
|
+
Or install it yourself as:
|
33
|
+
|
34
|
+
$ gem install jekyll-theme-panda
|
35
|
+
|
36
|
+
## Usage
|
37
|
+
|
38
|
+
### Available layouts:
|
39
|
+
|
40
|
+
| name | description | filename |
|
41
|
+
| ---------- | ------------------- | --------------- |
|
42
|
+
| default | default layout | default.html |
|
43
|
+
| home | index page layout | home.html |
|
44
|
+
| forarchive | archive page layout | forarchive.html |
|
45
|
+
| post | post page layout | post.html |
|
46
|
+
|
47
|
+
**Available includes(html):**
|
48
|
+
|
49
|
+
| name | description | filename |
|
50
|
+
| ------ | --------------------------------------------- | ----------- |
|
51
|
+
| footer | footer component, can be edited in _config | footer.html |
|
52
|
+
| head | head tag | home.html |
|
53
|
+
| header | navigator component, can be edited in _config | header.html |
|
54
|
+
| search | search bar plug-in | search.html |
|
55
|
+
|
56
|
+
**Available includes(md):**
|
57
|
+
|
58
|
+
| name | description | path |
|
59
|
+
| --------------- | ------------------------------------- | ---------------------- |
|
60
|
+
| profile content | markdown content in Profile in header | _includes\about\en.md |
|
61
|
+
| policy content | markdown content in Policy in footer | _includes\policy\en.md |
|
62
|
+
|
63
|
+
**Syntax colors:**
|
64
|
+
|
65
|
+
Check `_sass\syntax.scss`
|
66
|
+
|
67
|
+
## Contributing
|
68
|
+
|
69
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/sorphwer/jekyll-theme-panda. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
70
|
+
|
71
|
+
## Development
|
72
|
+
|
73
|
+
We suggest fork this repo and set it as your own **remote_theme** to modify this theme.
|
74
|
+
|
75
|
+
|
76
|
+
## License
|
77
|
+
|
78
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
79
|
+
|
data/_config.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
#This config file is specificated for theme demo page : https://riino.site/jekyll-theme-panda/
|
2
|
+
#Please do not use this config directly if you desire to use this repo as your blog.
|
3
|
+
title: jekyll-theme-panda
|
4
|
+
author: riino
|
5
|
+
email: riino@gmail.com
|
6
|
+
SEOTitle: RiinoSite Theme
|
7
|
+
baseurl: "/jekyll-theme-panda" # the subpath of your site, e.g. /blog
|
8
|
+
url: "" # the base hostname & protocol for your site, e.g. http://example.com
|
9
|
+
twitter_username: twitter_name
|
10
|
+
github_username: github_name
|
11
|
+
github_url: https://github.com/sorphwer
|
12
|
+
repo_url: https://github.com/sorphwer/jekyll-theme-panda
|
13
|
+
theme_version: 0.1.1
|
14
|
+
# Build settings
|
15
|
+
markdown: kramdown
|
16
|
+
kramdown:
|
17
|
+
input: GFM
|
18
|
+
syntax_highlighter: rouge
|
19
|
+
plugins:
|
20
|
+
- jekyll-feed
|
21
|
+
- jekyll-paginate
|
22
|
+
- jemoji
|
23
|
+
paginate: 10
|
24
|
+
|
25
|
+
toc:
|
26
|
+
min_level: 1 # default: 1
|
27
|
+
max_level: 4 # default: 6
|
28
|
+
sass:
|
29
|
+
sass_dir: _sass
|
30
|
+
style: compressed
|
31
|
+
|
32
|
+
navigation:
|
33
|
+
- text: Home
|
34
|
+
url: /jekyll-theme-panda/index.html
|
35
|
+
layout: home
|
36
|
+
- text: Archive
|
37
|
+
url: /jekyll-theme-panda/archive
|
38
|
+
layout: forarchive
|
39
|
+
- text: profile
|
40
|
+
url: /jekyll-theme-panda/about/
|
41
|
+
|
42
|
+
dropdown_header: BLOG #will only exist if dropdown array below has item(s)
|
43
|
+
dropdown:
|
44
|
+
- text: drop1.
|
45
|
+
url:
|
46
|
+
- text: drop2.
|
47
|
+
url:
|
48
|
+
|
49
|
+
footer_text:
|
50
|
+
- jekyll-theme-panda demo by Riino
|
51
|
+
- Image and animte assets © by <a href="https://li.riino.site"><i>Low illuminance</i></a>
|
52
|
+
- All Rights Reserved.
|
53
|
+
|
54
|
+
hoster_logo: /assets/img/logo_Nest.png
|
55
|
+
hoster_logo_link: https://github.com/sorphwer
|
56
|
+
hoster_logo_alt: Github
|
57
|
+
hoster_text:
|
58
|
+
- Nest of Etamine - 10th Anniversary
|
59
|
+
- 2012-2022
|
60
|
+
|
61
|
+
# Exclude from processing.
|
62
|
+
# The following items will not be processed, by default. Create a custom list
|
63
|
+
# to override the default setting.
|
64
|
+
# exclude:
|
65
|
+
# - Gemfile
|
66
|
+
# - Gemfile.lock
|
67
|
+
# - node_modules
|
68
|
+
# - vendor/bundle/
|
69
|
+
# - vendor/cache/
|
70
|
+
# - vendor/gems/
|
71
|
+
# - vendor/ruby/
|
72
|
+
# this goes inside _config.yml. Change as required
|
@@ -0,0 +1 @@
|
|
1
|
+
Post your profile here
|
File without changes
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<footer class="js-fadein">
|
2
|
+
<div class="footer__link">
|
3
|
+
<p>
|
4
|
+
<a href="{{ site.url }}/feed.xml">RSS Subscribe</a><span>/</span><a href="{{ site.url }}/policy/">Privacy
|
5
|
+
Policy</a>
|
6
|
+
</p>
|
7
|
+
</div>
|
8
|
+
<!-- .footer__link -->
|
9
|
+
<div class="footer__copy">
|
10
|
+
{% for item in site.footer_text %}
|
11
|
+
<small>{{item}}</small>
|
12
|
+
{% endfor %}
|
13
|
+
{% if site.hoster_logo != false %}
|
14
|
+
<ul style="margin-bottom: 0;">
|
15
|
+
<li>
|
16
|
+
<a href="{{site.hoster_logo_link}}" target="_blank"><img src="{{ site.baseurl | append: site.hoster_logo}}" alt="{{site.hoster_logo_alt}}"
|
17
|
+
class=" black-white-image" /><span class="glyphicon glyphicon-align-left" aria-hidden="true"></span></a>
|
18
|
+
</li>
|
19
|
+
|
20
|
+
</ul>
|
21
|
+
{% for item in site.hoster_text %}
|
22
|
+
<small>{{item}}</small>
|
23
|
+
{% endfor %}
|
24
|
+
{% endif %}
|
25
|
+
</div>
|
26
|
+
<!-- .footer__copy -->
|
27
|
+
</footer>
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
<div class="menu sp">
|
37
|
+
<div class="menu__inner">
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
<ul>
|
42
|
+
{% for link in site.navigation %} {% assign current = nil %} {% if
|
43
|
+
page.url == link.url or page.layout == link.layout %} {% assign current =
|
44
|
+
'is-current is-active' %} {% endif %}
|
45
|
+
|
46
|
+
<li class=" {{ current }} ">
|
47
|
+
<a href="{{ link.url }}">{{ link.text }}</a>
|
48
|
+
</li>
|
49
|
+
|
50
|
+
{% endfor %}
|
51
|
+
|
52
|
+
</ul>
|
53
|
+
|
54
|
+
|
55
|
+
<div class="menu_closeBtn">
|
56
|
+
<div class="menu_closeBtn__inner">
|
57
|
+
|
58
|
+
<a href="javascript:void(0);">
|
59
|
+
<span></span>
|
60
|
+
<span></span>
|
61
|
+
<span></span>
|
62
|
+
</a>
|
63
|
+
</div>
|
64
|
+
<!-- .menu_closeBtn__inner -->
|
65
|
+
</div>
|
66
|
+
<!-- .menu_closeBtn -->
|
67
|
+
|
68
|
+
|
69
|
+
</div>
|
70
|
+
<!-- .menu__inner -->
|
71
|
+
</div>
|
72
|
+
<!-- .menu -->
|
73
|
+
<script>
|
74
|
+
if (sessionStorage.getItem('theme') === "dark") {
|
75
|
+
$('.black-white-image').css("filter", 'brightness(100)');
|
76
|
+
} else {
|
77
|
+
$('.black-white-image').css("filter", 'brightness(0)');
|
78
|
+
};
|
79
|
+
|
80
|
+
</script>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
<head>
|
2
|
+
|
3
|
+
<meta property="og:title"
|
4
|
+
content="{% if page.title %}{{ page.title }} - {{ site.SEOTitle }}{% else %}{{ site.SEOTitle }}{% endif %}">
|
5
|
+
{% case page.layout %}
|
6
|
+
{% when 'post' %}
|
7
|
+
<meta property="og:type" content="article">
|
8
|
+
<meta property="og:description" content="{{ page.excerpt | strip_html | truncate:200 }}">
|
9
|
+
{% if page.date %}
|
10
|
+
<meta property="article:published_time" content="{{ page.date | date: "%Y-%m-%dT%H:%M:%SZ" }}">
|
11
|
+
{% endif %}
|
12
|
+
{% if page.author %}
|
13
|
+
<meta property="article:author" content="{{ page.author }}">
|
14
|
+
{% endif %}
|
15
|
+
{% for tag in page.tags %}
|
16
|
+
<meta property="article:tag" content="{{ tag }}">
|
17
|
+
{% endfor %}
|
18
|
+
{% else %}
|
19
|
+
<meta property="og:type" content="website">
|
20
|
+
<meta property="og:description"
|
21
|
+
content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
|
22
|
+
{% endcase %}
|
23
|
+
<meta property="og:image" content="{{ site.url }}{{ site.sidebar-avatar }}">
|
24
|
+
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
25
|
+
<meta property="og:site_name" content="{{ site.SEOTitle }}">
|
26
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
27
|
+
<title>{% if page.title %}{{ page.title }} - {{ site.SEOTitle }}{% else %}{{ site.SEOTitle }}{% endif %}</title>
|
28
|
+
|
29
|
+
|
30
|
+
<!--CSS inside-->
|
31
|
+
|
32
|
+
<link rel="stylesheet" media="print,screen" href="{{ "/assets/css/styles.css" | prepend: site.baseurl }}">
|
33
|
+
<!-- <link rel="stylesheet" media="print,screen" href={{ "/css/lib.css" | prepend: site.baseurl }}>
|
34
|
+
<link rel="stylesheet" media="print,screen" href={{ "/css/post.css" | prepend: site.baseurl }}>
|
35
|
+
<link rel="stylesheet" media="print,screen" href="{{ "/css/common.css" | prepend: site.baseurl }}">
|
36
|
+
<link rel="stylesheet" media="screen and (max-width: 768px)" href={{ "/css/sp.css" | prepend: site.baseurl }}>
|
37
|
+
<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend: site.baseurl }}"> -->
|
38
|
+
<link rel="stylesheet" media="print,screen" href="{{ "/assets/css/font-awesome.min.css" | prepend: site.baseurl }}">
|
39
|
+
<link rel="stylesheet" media="print,screen" href="{{ "/assets/css/bootstrap.min.css" | prepend: site.baseurl }}">
|
40
|
+
<link rel="stylesheet" media="print,screen" href="{{ "/assets/fonts/amarillo/amarillo-font.css" | prepend: site.baseurl }}">
|
41
|
+
<!--Js inside-->
|
42
|
+
<script type="text/javascript" src='{{ "/assets/js/jquery-3.5.1.min.js" | prepend: site.baseurl }}'></script>
|
43
|
+
<script type="text/javascript" src='{{ "/assets/js/imagesLoaded-4.1.4.js" | prepend: site.baseurl }}'></script>
|
44
|
+
<script type="text/javascript" src='{{ "/assets/js/mermaid.min.js" | prepend: site.baseurl }}'></script>
|
45
|
+
<!-- <script type="text/javascript" src='{{ "/assets/js/skrollr-0.6.3.js" | prepend: site.baseurl }}'></script> -->
|
46
|
+
<script type="text/javascript" src='{{ "/assets/js/slick.min.js" | prepend: site.baseurl }}'></script>
|
47
|
+
<script type="text/javascript" src='{{ "/assets/js/script.js" | prepend: site.baseurl }}'></script>
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
<link rel='dns-prefetch' href='//s.w.org' />
|
52
|
+
<script type="text/javascript">
|
53
|
+
function loadCSS() {
|
54
|
+
if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)/i))) {
|
55
|
+
//document.write('<link rel="stylesheet" media="print,screen" href="{{ "/css/common.css" | prepend: site.baseurl }}">');
|
56
|
+
//document.write('<link rel="stylesheet" media="screen" href={{ "/css/sp.css" | prepend: site.baseurl }}>');
|
57
|
+
$('.pc').css('display','none !important');
|
58
|
+
$('.sp').css('display',"inline !important");
|
59
|
+
//alert('pc is hidden!')
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
//document.write('<link rel="stylesheet" media="print,screen" href="{{ "/css/common.css" | prepend: site.baseurl }}">');
|
63
|
+
//document.write('<link rel="stylesheet" media="screen" href={{ "/css/sp.css" | prepend: site.baseurl }}>');
|
64
|
+
//$(body).css('min-width','1000px');
|
65
|
+
$('.sp').css('display','none !important');
|
66
|
+
$('.pc').css('display','inline !important');
|
67
|
+
//alert('plz hide the sp nav')
|
68
|
+
}
|
69
|
+
}
|
70
|
+
$(function () {
|
71
|
+
loadCSS();
|
72
|
+
// mermaid.initialize({startOnLoad:true});
|
73
|
+
|
74
|
+
console.log('[↑]END');
|
75
|
+
mermaid.init(undefined, $('.language-mermaid'));
|
76
|
+
});
|
77
|
+
|
78
|
+
</script>
|
79
|
+
|
80
|
+
|
81
|
+
</head>
|
@@ -0,0 +1,158 @@
|
|
1
|
+
<style type="text/css">
|
2
|
+
li {
|
3
|
+
text-transform: uppercase;
|
4
|
+
}
|
5
|
+
|
6
|
+
#theme-toggle-mobile {
|
7
|
+
vertical-align: text-bottom;
|
8
|
+
font-size: 13px;
|
9
|
+
}
|
10
|
+
</style>
|
11
|
+
<header>
|
12
|
+
<div class="header__inner u-clearfix">
|
13
|
+
<nav class="header__navi pc">
|
14
|
+
<ul class="u-clearfix">
|
15
|
+
<!--
|
16
|
+
<li>
|
17
|
+
<a href="{{ site.baseurl }}/">Home</a>
|
18
|
+
</li>
|
19
|
+
-->
|
20
|
+
|
21
|
+
|
22
|
+
{% for link in site.navigation %}
|
23
|
+
{% assign current = nil %}
|
24
|
+
{% if page.url == link.url or page.layout == link.layout %}
|
25
|
+
{% assign current = 'is-current is-active' %}
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
<li class=" {{ current }} ">
|
29
|
+
<a href="{{ link.url }}">{{ link.text }}</a>
|
30
|
+
</li>
|
31
|
+
|
32
|
+
{% endfor %}
|
33
|
+
|
34
|
+
{% if site.dropdown != false %}
|
35
|
+
<li class="navi__lang js-lang">
|
36
|
+
<a class="navi__langLink" href="javascript:void(0);">{{site.dropdown_header}}</a>
|
37
|
+
{% for item in site.dropdown %}
|
38
|
+
<div class="navi__langList">
|
39
|
+
<span><a href="{{item.link}}">{{item.text}}</a></span>
|
40
|
+
</div>
|
41
|
+
{% endfor %}
|
42
|
+
</li>
|
43
|
+
{% endif %}
|
44
|
+
<li>
|
45
|
+
<i class="fa fa-adjust" aria-hidden="true" style="display:inline"></i>
|
46
|
+
<a id="theme-toggle" href="javascript:void(0)" style="list-style-type:none!important;display:inline"
|
47
|
+
onclick="modeSwitcher()">theme-toggle</a>
|
48
|
+
</li>
|
49
|
+
|
50
|
+
</ul>
|
51
|
+
|
52
|
+
|
53
|
+
</nav><!-- .header__navi -->
|
54
|
+
<nav class="header__sns pc">
|
55
|
+
<ul class="u-clearfix">
|
56
|
+
<li><a href="{{site.github_url}}" target="_blank"><i class="fa fa-github-alt"></i>GITHUB</a></li>
|
57
|
+
</ul>
|
58
|
+
</nav><!-- .header__sns -->
|
59
|
+
<div class="header__logo sp">
|
60
|
+
<a href="{{site.baseurl}}">
|
61
|
+
<p class="header__logoTxt black-white-image"><img src="{{ site.url }}/assets/img/logo_Nest.png"
|
62
|
+
alt="Riino BLOG"></p>
|
63
|
+
</a>
|
64
|
+
</div><!-- .header__logo -->
|
65
|
+
|
66
|
+
<div class="header__logo sp" style="margin-left: 20px;" onclick="modeSwitcher()">
|
67
|
+
<a href="javascript:void(0);">
|
68
|
+
<p class="header__logoTxt black-white-image"><img src="{{ site.url }}/assets/img/switcher.png"
|
69
|
+
alt="Riino BLOG"></p>
|
70
|
+
</a>
|
71
|
+
</div><!-- .swithcer__logo -->
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
<div class="menuBtn sp">
|
78
|
+
<div class="menuBtn__inner">
|
79
|
+
<a href="javascript:void(0);">
|
80
|
+
<span></span>
|
81
|
+
<span></span>
|
82
|
+
<span></span>
|
83
|
+
</a>
|
84
|
+
</div><!-- .menuBtn__inner -->
|
85
|
+
</div><!-- .menuBtn -->
|
86
|
+
</div>
|
87
|
+
</header>
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
<!--<section style="height: 200px;"></section>-->
|
92
|
+
<script>
|
93
|
+
const sessionStorage = window.sessionStorage;
|
94
|
+
let systemInitiatedDark = window.matchMedia("(prefers-color-scheme: dark)");
|
95
|
+
let theme = sessionStorage.getItem('theme');
|
96
|
+
function setAsLightTheme() {
|
97
|
+
document.documentElement.setAttribute('data-theme', 'light');
|
98
|
+
sessionStorage.setItem('theme', 'light');
|
99
|
+
$("#theme-toggle").html("Dark Mode");
|
100
|
+
$("#theme-toggle-mobile").html("Dark Mode");
|
101
|
+
$('.black-white-image').css("filter", 'brightness(0)');
|
102
|
+
$('.warning-image').css("filter", 'invert(51%)sepia(93%)saturate(4588%)hue-rotate(309deg)brightness(94%)contrast(93%)');
|
103
|
+
// $('.warning-image').css("filter",'invert(51%) sepia(93%) saturate(4588%) hue-rotate(309deg) brightness(94%) contrast(93%);');
|
104
|
+
};
|
105
|
+
function setAsDarkTheme() {
|
106
|
+
document.documentElement.setAttribute('data-theme', 'dark');
|
107
|
+
sessionStorage.setItem('theme', 'dark');
|
108
|
+
$("#theme-toggle").html("Light Mode");
|
109
|
+
$("#theme-toggle-mobile").html("Light Mode");
|
110
|
+
$('.black-white-image').css("filter", 'brightness(100)');
|
111
|
+
$('.warning-image').css("filter", 'invert(38%)sepia(73%)saturate(3208%)hue-rotate(310deg)brightness(96%)contrast(90%)');
|
112
|
+
// $('.warning-image').css("filter",'invert(38%) sepia(73%) saturate(3208%) hue-rotate(310deg) brightness(96%) contrast(90%)');
|
113
|
+
|
114
|
+
}
|
115
|
+
//handle theme change
|
116
|
+
function prefersColorTest(systemInitiatedDark) {
|
117
|
+
if (systemInitiatedDark.matches) {
|
118
|
+
setAsDarkTheme();
|
119
|
+
} else {
|
120
|
+
setAsLightTheme();
|
121
|
+
}
|
122
|
+
}
|
123
|
+
systemInitiatedDark.addListener(prefersColorTest);
|
124
|
+
|
125
|
+
//handle click
|
126
|
+
function modeSwitcher() {
|
127
|
+
let theme = sessionStorage.getItem('theme');
|
128
|
+
if (theme === "dark") {
|
129
|
+
setAsLightTheme();
|
130
|
+
} else if (theme === "light") {
|
131
|
+
setAsDarkTheme()
|
132
|
+
} else if (systemInitiatedDark.matches) {
|
133
|
+
setAsLightTheme();
|
134
|
+
} else {
|
135
|
+
setAsDarkTheme();
|
136
|
+
}
|
137
|
+
};
|
138
|
+
|
139
|
+
function initTheme() {
|
140
|
+
if (theme) {
|
141
|
+
if (theme == "dark") {
|
142
|
+
setAsDarkTheme();
|
143
|
+
} else if (theme == "light") {
|
144
|
+
setAsLightTheme();
|
145
|
+
}
|
146
|
+
}
|
147
|
+
else {
|
148
|
+
prefersColorTest(systemInitiatedDark);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
initTheme();//avoid passing a white page if the intention is dark theme
|
152
|
+
$(document).ready(function () {
|
153
|
+
initTheme();
|
154
|
+
})
|
155
|
+
|
156
|
+
console.log('[↓]BEGIN');
|
157
|
+
console.log("🐼This site is using jekyll-theme-panda ","{{site.theme_version}}" );
|
158
|
+
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
Post your policy here
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<link rel="stylesheet" href="https://riino.site/jekyll-search-bar/search/css/search.css">
|
2
|
+
<script type="text/javascript" src='https://riino.site/jekyll-search-bar/search/js/typeahead.bundle.js'></script>
|
3
|
+
<script type="text/javascript" src='https://riino.site/jekyll-search-bar/search/js/fuzzyset.js'></script>
|
4
|
+
<script type="text/javascript" src='https://riino.site/jekyll-search-bar/search/js/search.js'></script>
|
5
|
+
<script>document.write(searchBarHtml('https://riino.site'));</script>
|
data/_includes/toc.html
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
{% capture tocWorkspace %}
|
2
|
+
{% comment %}
|
3
|
+
Version 1.0.11
|
4
|
+
https://github.com/allejo/jekyll-toc
|
5
|
+
|
6
|
+
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
7
|
+
|
8
|
+
Usage:
|
9
|
+
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
|
10
|
+
|
11
|
+
Parameters:
|
12
|
+
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
13
|
+
|
14
|
+
Optional Parameters:
|
15
|
+
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
16
|
+
* class (string) : '' - a CSS class assigned to the TOC
|
17
|
+
* id (string) : '' - an ID to assigned to the TOC
|
18
|
+
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
19
|
+
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
20
|
+
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
|
21
|
+
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
|
22
|
+
* baseurl (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
|
23
|
+
* anchor_class (string) : '' - add custom class(es) for each anchor element
|
24
|
+
* skipNoIDs (bool) : false - skip headers that do not have an `id` attribute
|
25
|
+
|
26
|
+
Output:
|
27
|
+
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
|
28
|
+
generate the table of contents and will NOT output the markdown given to it
|
29
|
+
{% endcomment %}
|
30
|
+
|
31
|
+
{% capture my_toc %}{% endcapture %}
|
32
|
+
{% assign orderedList = include.ordered | default: false %}
|
33
|
+
{% assign skipNoIDs = include.skipNoIDs | default: false %}
|
34
|
+
{% assign minHeader = include.h_min | default: 1 %}
|
35
|
+
{% assign maxHeader = include.h_max | default: 6 %}
|
36
|
+
{% assign nodes = include.html | split: '<h' %}
|
37
|
+
{% assign firstHeader = true %}
|
38
|
+
|
39
|
+
{% capture listModifier %}{% if orderedList %}1.{% else %}-{% endif %}{% endcapture %}
|
40
|
+
|
41
|
+
{% for node in nodes %}
|
42
|
+
{% if node == "" %}
|
43
|
+
{% continue %}
|
44
|
+
{% endif %}
|
45
|
+
|
46
|
+
{% if skipNoIDs == true %}
|
47
|
+
{% unless node contains "id=" %}
|
48
|
+
{% continue %}
|
49
|
+
{% endunless %}
|
50
|
+
{% endif %}
|
51
|
+
|
52
|
+
{% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
53
|
+
|
54
|
+
{% if headerLevel < minHeader or headerLevel > maxHeader %}
|
55
|
+
{% continue %}
|
56
|
+
{% endif %}
|
57
|
+
|
58
|
+
{% if firstHeader %}
|
59
|
+
{% assign firstHeader = false %}
|
60
|
+
{% assign minHeader = headerLevel %}
|
61
|
+
{% endif %}
|
62
|
+
|
63
|
+
{% assign indentAmount = headerLevel | minus: minHeader %}
|
64
|
+
{% assign _workspace = node | split: '</h' %}
|
65
|
+
|
66
|
+
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
67
|
+
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
68
|
+
{% assign html_id = _idWorkspace[0] %}
|
69
|
+
|
70
|
+
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
|
71
|
+
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
|
72
|
+
{% assign html_class = _classWorkspace[0] %}
|
73
|
+
|
74
|
+
{% if html_class contains "no_toc" %}
|
75
|
+
{% continue %}
|
76
|
+
{% endif %}
|
77
|
+
|
78
|
+
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
79
|
+
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
80
|
+
|
81
|
+
{% assign space = '' %}
|
82
|
+
{% for i in (1..indentAmount) %}
|
83
|
+
{% assign space = space | prepend: ' ' %}
|
84
|
+
{% endfor %}
|
85
|
+
|
86
|
+
{% if include.item_class and include.item_class != blank %}
|
87
|
+
{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
|
88
|
+
{% endif %}
|
89
|
+
|
90
|
+
{% capture anchor_body %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
|
91
|
+
{% capture anchor_body %}{{ anchor_body | replace: "|", "\|" }}{% endcapture %}
|
92
|
+
|
93
|
+
{% if html_id %}
|
94
|
+
{% capture list_item %}[{{ anchor_body }}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% endcapture %}
|
95
|
+
{% else %}
|
96
|
+
{% capture list_item %}{{ anchor_body }}{% endcapture %}
|
97
|
+
{% endif %}
|
98
|
+
|
99
|
+
{% capture my_toc %}{{ my_toc }}
|
100
|
+
{{ space }}{{ listModifier }} {{ listItemClass }} {{ list_item }}{% if include.anchor_class %}{:.{{ include.anchor_class }}}{% endif %}{% endcapture %}
|
101
|
+
{% endfor %}
|
102
|
+
|
103
|
+
{% if include.class and include.class != blank %}
|
104
|
+
{% capture my_toc %}{:.{{ include.class }}}
|
105
|
+
{{ my_toc | lstrip }}{% endcapture %}
|
106
|
+
{% endif %}
|
107
|
+
|
108
|
+
{% if include.id %}
|
109
|
+
{% capture my_toc %}{: #{{ include.id }}}
|
110
|
+
{{ my_toc | lstrip }}{% endcapture %}
|
111
|
+
{% endif %}
|
112
|
+
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
|