sobekyll 0.1.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/Gemfile +8 -0
- data/LICENSE +21 -0
- data/README.md +2 -0
- data/_config.yml +13 -0
- data/_includes/post-item.html +39 -0
- data/_layouts/default.html +80 -0
- data/_layouts/post.html +49 -0
- data/_sass/_base.scss +13 -0
- data/assets/css/rouge-github-auto.css +345 -0
- data/assets/css/style.css +99 -0
- data/assets/js/sobekyll.js +8 -0
- data/index.html +38 -0
- metadata +68 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0d2c9fdc7e75421ef824211386bc24a24e5064b07d3182b12e2a36043120f7d1
|
4
|
+
data.tar.gz: cdf3e1cd0bed77d9276804f320cc270f3057ec24a55e2c62240542a1ecf81ccb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 648e9433d9c272d536d3de967a370561d9909640138f55dc95853d245238a6fcc2e10af26632015795d02fd5499a60c2384a772723ec1c610ec36a19c1f3eed2
|
7
|
+
data.tar.gz: 350a31093d7ab42191ca517d115f851a27979a968306ede3835f2ce3ccce54a5bc7324017bd55fbe7d016639bceb408927c80f6a1c90bc8c3d533c3245ac0dc0
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2024 sobekyll
|
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/README.md
ADDED
data/_config.yml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
title: "Sobekyll"
|
2
|
+
description: "A custom Jekyll theme"
|
3
|
+
baseurl: "" # 设置为空或指定子目录路径
|
4
|
+
author: "Your Name"
|
5
|
+
|
6
|
+
plugins:
|
7
|
+
- jekyll-paginate
|
8
|
+
|
9
|
+
markdown: kramdown
|
10
|
+
highlighter: rouge
|
11
|
+
|
12
|
+
paginate: 5 # 每页显示的文章数量
|
13
|
+
paginate_path: "/page:num/" # 分页路径,:num 会被页码替换
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<li class="post-item">
|
2
|
+
<h3><a class="post-item-title" href="{{ post.url | relative_url }}">{{ post.title }}</a></h3>
|
3
|
+
<div class="post-excerpt">
|
4
|
+
{{ post.excerpt }}
|
5
|
+
</div>
|
6
|
+
<p class="post-meta">
|
7
|
+
<s-icon style="width: 20px; height: 20px;">
|
8
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">
|
9
|
+
<path
|
10
|
+
d="M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z">
|
11
|
+
</path>
|
12
|
+
</svg>
|
13
|
+
</s-icon>
|
14
|
+
<small> {{ post.date | date: "%B %d, %Y" }} </small>
|
15
|
+
{% if post.tags %}
|
16
|
+
<s-icon style="width: 20px; height: 20px; margin-left: 8px;">
|
17
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">
|
18
|
+
<path
|
19
|
+
d="m240-160 40-160H120l20-80h160l40-160H180l20-80h160l40-160h80l-40 160h160l40-160h80l-40 160h160l-20 80H660l-40 160h160l-20 80H600l-40 160h-80l40-160H360l-40 160h-80Zm140-240h160l40-160H420l-40 160Z">
|
20
|
+
</path>
|
21
|
+
</svg>
|
22
|
+
</s-icon>
|
23
|
+
{% for tag in post.tags %}
|
24
|
+
{{ tag }}
|
25
|
+
{% endfor %}
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{% if post.categories %}
|
29
|
+
<s-icon style="width: 20px; height: 20px; margin-left: 8px;">
|
30
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">
|
31
|
+
<path d="m260-520 220-360 220 360H260ZM700-80q-75 0-127.5-52.5T520-260q0-75 52.5-127.5T700-440q75 0 127.5 52.5T880-260q0 75-52.5 127.5T700-80Zm-580-20v-320h320v320H120Zm580-60q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Zm-500-20h160v-160H200v160Zm202-420h156l-78-126-78 126Zm78 0ZM360-340Zm340 80Z"></path>
|
32
|
+
</svg>
|
33
|
+
</s-icon>
|
34
|
+
{% for category in post.categories %}
|
35
|
+
{{ category }}
|
36
|
+
{% endfor %}
|
37
|
+
{% endif %}
|
38
|
+
</p>
|
39
|
+
</li>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
+
<title>{{ page.title | default: site.title }}</title>
|
8
|
+
<link rel="stylesheet" href="{{ '/assets/css/style.css' | relative_url }}">
|
9
|
+
<link rel="stylesheet" href="{{ '/assets/css/rouge-github-auto.css' | relative_url }}">
|
10
|
+
<script src="https://unpkg.com/sober@0.6.8/dist/sober.min.js"></script>
|
11
|
+
|
12
|
+
<script src="{{ '/assets/js/sobekyll.js' }}"></script>
|
13
|
+
</head>
|
14
|
+
|
15
|
+
<body>
|
16
|
+
<s-page theme="auto">
|
17
|
+
<s-drawer id="drawer">
|
18
|
+
<div slot="start">
|
19
|
+
<div style="width: 100%; height: 200px; background-color: aqua;">
|
20
|
+
|
21
|
+
</div>
|
22
|
+
<s-menu style="max-width: 280px">
|
23
|
+
<div slot="label">控制台</div>
|
24
|
+
<s-menu-item checked="true">
|
25
|
+
<s-icon slot="start" type="home"></s-icon>
|
26
|
+
选项1
|
27
|
+
</s-menu-item>
|
28
|
+
<s-menu-item>
|
29
|
+
<s-icon slot="start" type="search"></s-icon>
|
30
|
+
选项2
|
31
|
+
<s-icon slot="end" type="add"></s-icon>
|
32
|
+
</s-menu-item>
|
33
|
+
<s-menu-item>
|
34
|
+
<s-icon slot="start" type="light_mode"></s-icon>
|
35
|
+
选项3
|
36
|
+
</s-menu-item>
|
37
|
+
<s-menu-item>
|
38
|
+
<s-icon slot="start" type="favorite"></s-icon>
|
39
|
+
选项4
|
40
|
+
<s-menu slot="menu">
|
41
|
+
<s-menu-item> 选项1 </s-menu-item>
|
42
|
+
<s-menu-item> 选项2 </s-menu-item>
|
43
|
+
</s-menu>
|
44
|
+
</s-menu-item>
|
45
|
+
<s-menu-item>
|
46
|
+
<s-icon slot="start" type="add"></s-icon>
|
47
|
+
选项5
|
48
|
+
</s-menu-item>
|
49
|
+
</s-menu>
|
50
|
+
<s-menu style="max-width: 280px">
|
51
|
+
<div slot="label">其他</div>
|
52
|
+
<s-menu-item> 选项6 </s-menu-item>
|
53
|
+
<s-menu-item> 选项7 </s-menu-item>
|
54
|
+
</s-menu>
|
55
|
+
</div>
|
56
|
+
<main>
|
57
|
+
<s-appbar>
|
58
|
+
<s-icon-button slot="navigation" onclick="document.querySelector('#drawer').toggle()">
|
59
|
+
<s-icon type="menu"></s-icon>
|
60
|
+
</s-icon-button>
|
61
|
+
<!-- onclick="window.open('{{ site.url }}', '_self')" -->
|
62
|
+
<a class="app-bar-title" slot="headline" href="{{ site.url }}" > {{ site.title }} </a>
|
63
|
+
</s-appbar>
|
64
|
+
<s-scroll-view>
|
65
|
+
<div style="height: 100%; display: flex; flex-direction: column;">
|
66
|
+
<div class="content">
|
67
|
+
{{ content }}
|
68
|
+
</div>
|
69
|
+
<footer>
|
70
|
+
<p>© {{ site.author }} - {{ site.time | date: '%Y' }}</p>
|
71
|
+
</footer>
|
72
|
+
</div>
|
73
|
+
|
74
|
+
</s-scroll-view>
|
75
|
+
</main>
|
76
|
+
</s-drawer>
|
77
|
+
</s-page>
|
78
|
+
</body>
|
79
|
+
|
80
|
+
</html>
|
data/_layouts/post.html
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
<article>
|
5
|
+
<h1>{{ page.title }}</h1>
|
6
|
+
<p class="post-meta">
|
7
|
+
<s-icon style="width: 20px; height: 20px;">
|
8
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">
|
9
|
+
<path
|
10
|
+
d="M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z">
|
11
|
+
</path>
|
12
|
+
</svg>
|
13
|
+
</s-icon>
|
14
|
+
<small> {{ page.date | date: "%B %d, %Y" }} </small>
|
15
|
+
</p>
|
16
|
+
|
17
|
+
<div class="post-content">
|
18
|
+
{{ content }}
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<p class="post-meta">
|
22
|
+
{% if page.tags %}
|
23
|
+
<s-icon style="width: 20px; height: 20px;">
|
24
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">
|
25
|
+
<path
|
26
|
+
d="m240-160 40-160H120l20-80h160l40-160H180l20-80h160l40-160h80l-40 160h160l40-160h80l-40 160h160l-20 80H660l-40 160h160l-20 80H600l-40 160h-80l40-160H360l-40 160h-80Zm140-240h160l40-160H420l-40 160Z">
|
27
|
+
</path>
|
28
|
+
</svg>
|
29
|
+
</s-icon>
|
30
|
+
{% for tag in page.tags %}
|
31
|
+
{{ tag }}
|
32
|
+
{% endfor %}
|
33
|
+
<space style="margin-right: 8px;"></space>
|
34
|
+
{% endif %}
|
35
|
+
|
36
|
+
{% if page.categories %}
|
37
|
+
<s-icon style="width: 20px; height: 20px;">
|
38
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">
|
39
|
+
<path
|
40
|
+
d="m260-520 220-360 220 360H260ZM700-80q-75 0-127.5-52.5T520-260q0-75 52.5-127.5T700-440q75 0 127.5 52.5T880-260q0 75-52.5 127.5T700-80Zm-580-20v-320h320v320H120Zm580-60q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Zm-500-20h160v-160H200v160Zm202-420h156l-78-126-78 126Zm78 0ZM360-340Zm340 80Z">
|
41
|
+
</path>
|
42
|
+
</svg>
|
43
|
+
</s-icon>
|
44
|
+
{% for category in page.categories %}
|
45
|
+
{{ category }}
|
46
|
+
{% endfor %}
|
47
|
+
{% endif %}
|
48
|
+
</p>
|
49
|
+
</article>
|
data/_sass/_base.scss
ADDED
@@ -0,0 +1,345 @@
|
|
1
|
+
/* 默认亮色模式(通常用作fallback) */
|
2
|
+
.highlight table td {
|
3
|
+
padding: 5px;
|
4
|
+
}
|
5
|
+
|
6
|
+
.highlight table pre {
|
7
|
+
margin: 0;
|
8
|
+
}
|
9
|
+
|
10
|
+
.highlight,
|
11
|
+
.highlight .w {
|
12
|
+
color: #24292f;
|
13
|
+
background-color: #f6f8fa;
|
14
|
+
}
|
15
|
+
|
16
|
+
.highlight .k,
|
17
|
+
.highlight .kd,
|
18
|
+
.highlight .kn,
|
19
|
+
.highlight .kp,
|
20
|
+
.highlight .kr,
|
21
|
+
.highlight .kt,
|
22
|
+
.highlight .kv {
|
23
|
+
color: #cf222e;
|
24
|
+
}
|
25
|
+
|
26
|
+
.highlight .gr {
|
27
|
+
color: #f6f8fa;
|
28
|
+
}
|
29
|
+
|
30
|
+
.highlight .gd {
|
31
|
+
color: #82071e;
|
32
|
+
background-color: #ffebe9;
|
33
|
+
}
|
34
|
+
|
35
|
+
.highlight .nb {
|
36
|
+
color: #953800;
|
37
|
+
}
|
38
|
+
|
39
|
+
.highlight .nc {
|
40
|
+
color: #953800;
|
41
|
+
}
|
42
|
+
|
43
|
+
.highlight .no {
|
44
|
+
color: #953800;
|
45
|
+
}
|
46
|
+
|
47
|
+
.highlight .nn {
|
48
|
+
color: #953800;
|
49
|
+
}
|
50
|
+
|
51
|
+
.highlight .sr {
|
52
|
+
color: #116329;
|
53
|
+
}
|
54
|
+
|
55
|
+
.highlight .na {
|
56
|
+
color: #116329;
|
57
|
+
}
|
58
|
+
|
59
|
+
.highlight .nt {
|
60
|
+
color: #116329;
|
61
|
+
}
|
62
|
+
|
63
|
+
.highlight .gi {
|
64
|
+
color: #116329;
|
65
|
+
background-color: #dafbe1;
|
66
|
+
}
|
67
|
+
|
68
|
+
.highlight .ges {
|
69
|
+
font-weight: bold;
|
70
|
+
font-style: italic;
|
71
|
+
}
|
72
|
+
|
73
|
+
.highlight .kc {
|
74
|
+
color: #0550ae;
|
75
|
+
}
|
76
|
+
|
77
|
+
.highlight .l,
|
78
|
+
.highlight .ld,
|
79
|
+
.highlight .m,
|
80
|
+
.highlight .mb,
|
81
|
+
.highlight .mf,
|
82
|
+
.highlight .mh,
|
83
|
+
.highlight .mi,
|
84
|
+
.highlight .il,
|
85
|
+
.highlight .mo,
|
86
|
+
.highlight .mx {
|
87
|
+
color: #0550ae;
|
88
|
+
}
|
89
|
+
|
90
|
+
.highlight .sb {
|
91
|
+
color: #0550ae;
|
92
|
+
}
|
93
|
+
|
94
|
+
.highlight .bp {
|
95
|
+
color: #0550ae;
|
96
|
+
}
|
97
|
+
|
98
|
+
.highlight .ne {
|
99
|
+
color: #0550ae;
|
100
|
+
}
|
101
|
+
|
102
|
+
.highlight .nl {
|
103
|
+
color: #0550ae;
|
104
|
+
}
|
105
|
+
|
106
|
+
.highlight .py {
|
107
|
+
color: #0550ae;
|
108
|
+
}
|
109
|
+
|
110
|
+
.highlight .nv,
|
111
|
+
.highlight .vc,
|
112
|
+
.highlight .vg,
|
113
|
+
.highlight .vi,
|
114
|
+
.highlight .vm {
|
115
|
+
color: #0550ae;
|
116
|
+
}
|
117
|
+
|
118
|
+
.highlight .o,
|
119
|
+
.highlight .ow {
|
120
|
+
color: #0550ae;
|
121
|
+
}
|
122
|
+
|
123
|
+
.highlight .gh {
|
124
|
+
color: #0550ae;
|
125
|
+
font-weight: bold;
|
126
|
+
}
|
127
|
+
|
128
|
+
.highlight .gu {
|
129
|
+
color: #0550ae;
|
130
|
+
font-weight: bold;
|
131
|
+
}
|
132
|
+
|
133
|
+
.highlight .s,
|
134
|
+
.highlight .sa,
|
135
|
+
.highlight .sc,
|
136
|
+
.highlight .dl,
|
137
|
+
.highlight .sd,
|
138
|
+
.highlight .s2,
|
139
|
+
.highlight .se,
|
140
|
+
.highlight .sh,
|
141
|
+
.highlight .sx,
|
142
|
+
.highlight .s1,
|
143
|
+
.highlight .ss {
|
144
|
+
color: #0a3069;
|
145
|
+
}
|
146
|
+
|
147
|
+
.highlight .nd {
|
148
|
+
color: #8250df;
|
149
|
+
}
|
150
|
+
|
151
|
+
.highlight .nf,
|
152
|
+
.highlight .fm {
|
153
|
+
color: #8250df;
|
154
|
+
}
|
155
|
+
|
156
|
+
.highlight .err {
|
157
|
+
color: #f6f8fa;
|
158
|
+
background-color: #82071e;
|
159
|
+
}
|
160
|
+
|
161
|
+
.highlight .c,
|
162
|
+
.highlight .ch,
|
163
|
+
.highlight .cd,
|
164
|
+
.highlight .cm,
|
165
|
+
.highlight .cp,
|
166
|
+
.highlight .cpf,
|
167
|
+
.highlight .c1,
|
168
|
+
.highlight .cs {
|
169
|
+
color: #6e7781;
|
170
|
+
}
|
171
|
+
|
172
|
+
.highlight .gl {
|
173
|
+
color: #6e7781;
|
174
|
+
}
|
175
|
+
|
176
|
+
.highlight .gt {
|
177
|
+
color: #6e7781;
|
178
|
+
}
|
179
|
+
|
180
|
+
.highlight .ni {
|
181
|
+
color: #24292f;
|
182
|
+
}
|
183
|
+
|
184
|
+
.highlight .si {
|
185
|
+
color: #24292f;
|
186
|
+
}
|
187
|
+
|
188
|
+
.highlight .ge {
|
189
|
+
color: #24292f;
|
190
|
+
font-style: italic;
|
191
|
+
}
|
192
|
+
|
193
|
+
.highlight .gs {
|
194
|
+
color: #24292f;
|
195
|
+
font-weight: bold;
|
196
|
+
}
|
197
|
+
|
198
|
+
/* 暗色模式 */
|
199
|
+
@media (prefers-color-scheme: dark) {
|
200
|
+
|
201
|
+
.highlight,
|
202
|
+
.highlight .w {
|
203
|
+
color: #d8d8d8;
|
204
|
+
background-color: #181818;
|
205
|
+
}
|
206
|
+
|
207
|
+
.highlight .err {
|
208
|
+
color: #181818;
|
209
|
+
background-color: #ab4642;
|
210
|
+
}
|
211
|
+
|
212
|
+
.highlight .c,
|
213
|
+
.highlight .ch,
|
214
|
+
.highlight .cd,
|
215
|
+
.highlight .cm,
|
216
|
+
.highlight .cpf,
|
217
|
+
.highlight .c1,
|
218
|
+
.highlight .cs {
|
219
|
+
color: #585858;
|
220
|
+
}
|
221
|
+
|
222
|
+
.highlight .cp {
|
223
|
+
color: #f7ca88;
|
224
|
+
}
|
225
|
+
|
226
|
+
.highlight .nt {
|
227
|
+
color: #f7ca88;
|
228
|
+
}
|
229
|
+
|
230
|
+
.highlight .o,
|
231
|
+
.highlight .ow {
|
232
|
+
color: #d8d8d8;
|
233
|
+
}
|
234
|
+
|
235
|
+
.highlight .p,
|
236
|
+
.highlight .pi {
|
237
|
+
color: #d8d8d8;
|
238
|
+
}
|
239
|
+
|
240
|
+
.highlight .gi {
|
241
|
+
color: #a1b56c;
|
242
|
+
}
|
243
|
+
|
244
|
+
.highlight .gd {
|
245
|
+
color: #ab4642;
|
246
|
+
}
|
247
|
+
|
248
|
+
.highlight .gh {
|
249
|
+
color: #7cafc2;
|
250
|
+
background-color: #181818;
|
251
|
+
font-weight: bold;
|
252
|
+
}
|
253
|
+
|
254
|
+
.highlight .ge {
|
255
|
+
font-style: italic;
|
256
|
+
}
|
257
|
+
|
258
|
+
.highlight .ges {
|
259
|
+
font-weight: bold;
|
260
|
+
font-style: italic;
|
261
|
+
}
|
262
|
+
|
263
|
+
.highlight .gs {
|
264
|
+
font-weight: bold;
|
265
|
+
}
|
266
|
+
|
267
|
+
.highlight .k,
|
268
|
+
.highlight .kn,
|
269
|
+
.highlight .kp,
|
270
|
+
.highlight .kr,
|
271
|
+
.highlight .kv {
|
272
|
+
color: #ba8baf;
|
273
|
+
}
|
274
|
+
|
275
|
+
.highlight .kc {
|
276
|
+
color: #dc9656;
|
277
|
+
}
|
278
|
+
|
279
|
+
.highlight .kt {
|
280
|
+
color: #dc9656;
|
281
|
+
}
|
282
|
+
|
283
|
+
.highlight .kd {
|
284
|
+
color: #dc9656;
|
285
|
+
}
|
286
|
+
|
287
|
+
.highlight .s,
|
288
|
+
.highlight .sb,
|
289
|
+
.highlight .sc,
|
290
|
+
.highlight .dl,
|
291
|
+
.highlight .sd,
|
292
|
+
.highlight .s2,
|
293
|
+
.highlight .sh,
|
294
|
+
.highlight .sx,
|
295
|
+
.highlight .s1 {
|
296
|
+
color: #a1b56c;
|
297
|
+
}
|
298
|
+
|
299
|
+
.highlight .sa {
|
300
|
+
color: #ba8baf;
|
301
|
+
}
|
302
|
+
|
303
|
+
.highlight .sr {
|
304
|
+
color: #86c1b9;
|
305
|
+
}
|
306
|
+
|
307
|
+
.highlight .si {
|
308
|
+
color: #a16946;
|
309
|
+
}
|
310
|
+
|
311
|
+
.highlight .se {
|
312
|
+
color: #a16946;
|
313
|
+
}
|
314
|
+
|
315
|
+
.highlight .nn {
|
316
|
+
color: #f7ca88;
|
317
|
+
}
|
318
|
+
|
319
|
+
.highlight .nc {
|
320
|
+
color: #f7ca88;
|
321
|
+
}
|
322
|
+
|
323
|
+
.highlight .no {
|
324
|
+
color: #f7ca88;
|
325
|
+
}
|
326
|
+
|
327
|
+
.highlight .na {
|
328
|
+
color: #7cafc2;
|
329
|
+
}
|
330
|
+
|
331
|
+
.highlight .m,
|
332
|
+
.highlight .mb,
|
333
|
+
.highlight .mf,
|
334
|
+
.highlight .mh,
|
335
|
+
.highlight .mi,
|
336
|
+
.highlight .il,
|
337
|
+
.highlight .mo,
|
338
|
+
.highlight .mx {
|
339
|
+
color: #a1b56c;
|
340
|
+
}
|
341
|
+
|
342
|
+
.highlight .ss {
|
343
|
+
color: #a1b56c;
|
344
|
+
}
|
345
|
+
}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
/* @import "../../_sass/_base.scss"; */
|
2
|
+
|
3
|
+
:root {
|
4
|
+
--border-width: max(1px, 0.0625rem);
|
5
|
+
}
|
6
|
+
|
7
|
+
html, body {
|
8
|
+
height: 100%;
|
9
|
+
overflow: hidden;
|
10
|
+
padding: 0px;
|
11
|
+
margin: 0px;
|
12
|
+
}
|
13
|
+
|
14
|
+
s-page {
|
15
|
+
display: flow-root;
|
16
|
+
height: 100%;
|
17
|
+
}
|
18
|
+
|
19
|
+
main {
|
20
|
+
display: flex;
|
21
|
+
flex-direction: column;
|
22
|
+
}
|
23
|
+
|
24
|
+
.app-bar-title {
|
25
|
+
font-weight: bold;
|
26
|
+
text-decoration: none;
|
27
|
+
}
|
28
|
+
|
29
|
+
main s-scroll-view {
|
30
|
+
flex-grow: 1;
|
31
|
+
}
|
32
|
+
|
33
|
+
.content {
|
34
|
+
flex: 1;
|
35
|
+
display: flex;
|
36
|
+
flex-direction: column;
|
37
|
+
padding: 24px;
|
38
|
+
}
|
39
|
+
|
40
|
+
.post-item {
|
41
|
+
margin-bottom: 20px;
|
42
|
+
border-bottom: var(--border-width) solid var(--s-color-outline-variant);
|
43
|
+
}
|
44
|
+
|
45
|
+
.post-item-title {
|
46
|
+
color: var(--color-on-background);
|
47
|
+
text-decoration: none;
|
48
|
+
}
|
49
|
+
|
50
|
+
.post-item h3 {
|
51
|
+
font-size: 1.5em;
|
52
|
+
margin: 0;
|
53
|
+
}
|
54
|
+
|
55
|
+
.post-meta {
|
56
|
+
font-size: 0.9em;
|
57
|
+
color: gray;
|
58
|
+
}
|
59
|
+
|
60
|
+
.post-excerpt {
|
61
|
+
font-size: 1em;
|
62
|
+
color: #555;
|
63
|
+
}
|
64
|
+
|
65
|
+
.pagination {
|
66
|
+
display: flex;
|
67
|
+
flex-direction: row;
|
68
|
+
width: 100%;
|
69
|
+
align-items: center;
|
70
|
+
justify-content: center;
|
71
|
+
}
|
72
|
+
|
73
|
+
.pagination-indexing {
|
74
|
+
flex: 1;
|
75
|
+
display: flex;
|
76
|
+
flex-direction: row;
|
77
|
+
align-items: center;
|
78
|
+
justify-content: center;
|
79
|
+
}
|
80
|
+
|
81
|
+
article {
|
82
|
+
flex: 1;
|
83
|
+
display: flex;
|
84
|
+
flex-direction: column;
|
85
|
+
}
|
86
|
+
.post-content {
|
87
|
+
flex: 1;
|
88
|
+
border-top: var(--border-width) solid var(--s-color-outline-variant);
|
89
|
+
border-bottom: var(--border-width) solid var(--s-color-outline-variant);
|
90
|
+
}
|
91
|
+
|
92
|
+
.highlight {
|
93
|
+
border-radius: 8px;
|
94
|
+
padding-top: 1px;
|
95
|
+
padding-bottom: 1px;
|
96
|
+
padding-left: 8px;
|
97
|
+
padding-right: 8px;
|
98
|
+
margin-bottom: 8px;
|
99
|
+
}
|
data/index.html
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
<ul style="list-style: none; padding: 0; margin: 0; flex: 1;">
|
5
|
+
{% for post in paginator.posts %}
|
6
|
+
{% include post-item.html post=post %}
|
7
|
+
{% endfor %}
|
8
|
+
</ul>
|
9
|
+
|
10
|
+
<div class="pagination">
|
11
|
+
{% if paginator.previous_page %}
|
12
|
+
<s-icon-button>
|
13
|
+
<s-icon type="chevron_left" onclick="window.open('{{ paginator.previous_page_path }}', '_self')"></s-icon>
|
14
|
+
</s-icon-button>
|
15
|
+
{% endif %}
|
16
|
+
|
17
|
+
<div class="pagination-indexing">
|
18
|
+
{% for page in (1..paginator.total_pages) %}
|
19
|
+
{% assign page_link = paginator.base_path | append: '/' %}
|
20
|
+
{% if page != 1 %}
|
21
|
+
{% assign page_link = page_link | append: 'page' | append: page %}
|
22
|
+
{% endif %}
|
23
|
+
{% if page == paginator.page %}
|
24
|
+
<span style="margin: 8px; font-weight: bolder;">{{ page }}</span>
|
25
|
+
{% else %}
|
26
|
+
<s-ripple style="border-radius: 4px;" onclick="window.open('{{ page_link }}', '_self')">
|
27
|
+
<span style="margin: 8px;">{{ page }}</span>
|
28
|
+
</s-ripple>
|
29
|
+
{% endif %}
|
30
|
+
{% endfor %}
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% if paginator.next_page %}
|
34
|
+
<s-icon-button>
|
35
|
+
<s-icon type="chevron_right" onclick="window.open('{{ paginator.next_page_path }}', '_self')"></s-icon>
|
36
|
+
</s-icon-button>
|
37
|
+
{% endif %}
|
38
|
+
</div>
|
metadata
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sobekyll
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- boybeak
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-11-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jekyll
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
description: A material design style Jekyll theme based on Sober.
|
28
|
+
email: boybeak@gmail.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- Gemfile
|
34
|
+
- LICENSE
|
35
|
+
- README.md
|
36
|
+
- _config.yml
|
37
|
+
- _includes/post-item.html
|
38
|
+
- _layouts/default.html
|
39
|
+
- _layouts/post.html
|
40
|
+
- _sass/_base.scss
|
41
|
+
- assets/css/rouge-github-auto.css
|
42
|
+
- assets/css/style.css
|
43
|
+
- assets/js/sobekyll.js
|
44
|
+
- index.html
|
45
|
+
homepage: https://github.com/boybeak/sobekyll
|
46
|
+
licenses:
|
47
|
+
- MIT
|
48
|
+
metadata: {}
|
49
|
+
post_install_message:
|
50
|
+
rdoc_options: []
|
51
|
+
require_paths:
|
52
|
+
- lib
|
53
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 2.5.0
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
requirements: []
|
64
|
+
rubygems_version: 3.5.23
|
65
|
+
signing_key:
|
66
|
+
specification_version: 4
|
67
|
+
summary: A material design style Jekyll theme based on Sober.
|
68
|
+
test_files: []
|