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 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
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "jekyll", "~> 4.3.0" # 指定 Jekyll 的版本
4
+ gem "webrick", "~> 1.7" # 解决 Jekyll serve 在某些环境下的依赖问题
5
+ gem 'rouge'
6
+ gem "jekyll-paginate"
7
+
8
+ gem "sobekyll", path: "."
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
@@ -0,0 +1,2 @@
1
+ # Sobekyll
2
+ Sobekyll
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>&copy; {{ 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>
@@ -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,13 @@
1
+ body {
2
+ font-family: Arial, sans-serif;
3
+ line-height: 1.6;
4
+ background-color: #f4f4f9;
5
+ color: #333;
6
+ }
7
+ header {
8
+ background: #444;
9
+ color: #fff;
10
+ padding: 10px 0;
11
+ text-align: center;
12
+ }
13
+
@@ -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
+ }
@@ -0,0 +1,8 @@
1
+ onPageLoad();
2
+ function onPageLoad() {
3
+ // document.addEventListener("DOMContentLoaded", (event) => {
4
+ // document.querySelectorAll("pre code").forEach((block) => {
5
+ // hljs.highlightElement(block);
6
+ // });
7
+ // });
8
+ }
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: []