This repository has been archived by the owner on Feb 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
atom.xml
553 lines (290 loc) · 280 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>米奇妙妙屋</title>
<subtitle>ifibe ∞</subtitle>
<link href="https://ifibe.com/atom.xml" rel="self"/>
<link href="https://ifibe.com/"/>
<updated>2022-01-18T22:26:31.000Z</updated>
<id>https://ifibe.com/</id>
<author>
<name>Karan</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>Windows10/Windows11 开启S/SE模式</title>
<link href="https://ifibe.com/posts/9265190/"/>
<id>https://ifibe.com/posts/9265190/</id>
<published>2021-12-11T22:26:31.000Z</published>
<updated>2022-01-18T22:26:31.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>S模式下无法运行任何.EXE程序,只能运行商店中的UWP应用</p></blockquote><h3 id="进入S模式"><a href="#进入S模式" class="headerlink" title="进入S模式"></a>进入S模式</h3><p>编辑注册表 <code>regedit</code></p><p>路径 <code>Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy</code></p><p>修改<code>SkuPolicyRequired</code>值为<code>1</code></p><h3 id="退出S模式"><a href="#退出S模式" class="headerlink" title="退出S模式"></a>退出S模式</h3><p>商店搜索 S Mode 单向退出即可</p><hr><p>2022年1月18日</p><blockquote><p>我的博客即将同步至腾讯云+社区,邀请大家一同入驻:<a href="https://cloud.tencent.com/developer/support-plan?invite_code=3qjn6caxd1gk8">https://cloud.tencent.com/developer/support-plan?invite_code=3qjn6caxd1gk8</a></p></blockquote>]]></content>
<summary type="html">Windows10/Windows11开启S/SE模式;Win10/Win11开启S/SE模式</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="教程" scheme="https://ifibe.com/tags/%E6%95%99%E7%A8%8B/"/>
<category term="windows" scheme="https://ifibe.com/tags/windows/"/>
</entry>
<entry>
<title>Win11 手动安装Windows SubSystem For Android (WSA)</title>
<link href="https://ifibe.com/posts/fc9a69d4/"/>
<id>https://ifibe.com/posts/fc9a69d4/</id>
<published>2021-11-04T22:35:55.000Z</published>
<updated>2021-11-04T22:35:55.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Windows SubSystem For Android (WSA)</p></blockquote><h4 id="下载WSA安装包"><a href="#下载WSA安装包" class="headerlink" title="下载WSA安装包"></a>下载WSA安装包</h4><p>1.2G - 下载地址:<a class="btn-beautify outline red larger" href="https://pan.ifibe.com/s/31sW" title="下载地址1"><i class="far fa-save"></i><span>下载地址1</span></a></p><h4 id="手动安装"><a href="#手动安装" class="headerlink" title="手动安装"></a>手动安装</h4><p>管理员权限PowerShell运行 <code>Add-AppxPackage wsa.Msixbundle</code></p><p><img src="https://ifibe.com/asst/imgs/fc9a69d4-1.webp" alt="PowerShell"></p><h4 id="安装应用"><a href="#安装应用" class="headerlink" title="安装应用"></a>安装应用</h4><p>旁加载使用<code>adb install</code>,或者上面安装包里有WSA工具包。</p><p><img src="https://ifibe.com/asst/imgs/fc9a69d4-2.webp" alt="wsa1"></p><p><img src="https://ifibe.com/asst/imgs/fc9a69d4-3.webp" alt="wsa2"></p>]]></content>
<summary type="html">Win11 手动安装Windows SubSystem For Android (WSA)</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="教程" scheme="https://ifibe.com/tags/%E6%95%99%E7%A8%8B/"/>
<category term="Win11" scheme="https://ifibe.com/tags/Win11/"/>
<category term="WSA" scheme="https://ifibe.com/tags/WSA/"/>
<category term="Android" scheme="https://ifibe.com/tags/Android/"/>
<category term="SubSystem" scheme="https://ifibe.com/tags/SubSystem/"/>
</entry>
<entry>
<title>Switch Firmwares 13.0.0 with prod.keys</title>
<link href="https://ifibe.com/posts/3847493a/"/>
<id>https://ifibe.com/posts/3847493a/</id>
<published>2021-10-04T19:28:53.000Z</published>
<updated>2021-10-04T19:28:53.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Switch 固件版本 13.0.0 和对应 prod.keys</p></blockquote><h2 id="Official-Global-Firmwares"><a href="#Official-Global-Firmwares" class="headerlink" title="Official Global Firmwares"></a>Official Global Firmwares</h2><div class="note primary flat"><p>不知道这是什么东西</p></div><h3 id="info"><a href="#info" class="headerlink" title="info"></a>info</h3><p>Official Global Firmwares | Firmware 13.0.0 | MD5:9fa654de1a4682e517a15b5a79a7895d<br>prod.keys | | Firmware 13.0.0</p><p>下载地址:<a class="btn-beautify outline red larger" href="https://pan.ifibe.com/s/rAi2" title="下载地址1"><i class="far fa-save"></i><span>下载地址1</span></a></p>]]></content>
<summary type="html">Switch Firmwares 13.0.0 with prod.keys</summary>
<category term="工具" scheme="https://ifibe.com/categories/%E5%B7%A5%E5%85%B7/"/>
<category term="Switch" scheme="https://ifibe.com/tags/Switch/"/>
<category term="Firmwares" scheme="https://ifibe.com/tags/Firmwares/"/>
<category term="固件" scheme="https://ifibe.com/tags/%E5%9B%BA%E4%BB%B6/"/>
</entry>
<entry>
<title>标签示例[测试]</title>
<link href="https://ifibe.com/posts/395c09/"/>
<id>https://ifibe.com/posts/395c09/</id>
<published>2021-07-29T19:05:53.000Z</published>
<updated>2021-07-29T19:05:53.000Z</updated>
<content type="html"><![CDATA[<!-- tab 用法 1 --><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">{% note [class] [no-icon] [style] %}</span><br><span class="line">Any content (support inline tags too.io).</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><table><thead><tr><th>名稱</th><th>用法</th></tr></thead><tbody><tr><td>class</td><td>【可選】標識,不同的標識有不同的配色<br>( default / primary / success / info / warning / danger )</td></tr><tr><td>no-icon</td><td>【可選】不顯示 icon</td></tr><tr><td>style</td><td>【可選】可以覆蓋配置中的 style <br>(simple/modern/flat/disabled)</td></tr></tbody></table><blockquote><p>simple</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">{% note simple %}</span><br><span class="line">默認 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note default simple %}</span><br><span class="line">default 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note primary simple %}</span><br><span class="line">primary 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note success simple %}</span><br><span class="line">success 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note info simple %}</span><br><span class="line">info 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note warning simple %}</span><br><span class="line">warning 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note danger simple %}</span><br><span class="line">danger 提示塊標籤</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note simple"><p>默認 提示塊標籤</p></div><div class="note default simple"><p>default 提示塊標籤</p></div><div class="note primary simple"><p>primary 提示塊標籤</p></div><div class="note success simple"><p>success 提示塊標籤</p></div><div class="note info simple"><p>info 提示塊標籤</p></div><div class="note warning simple"><p>warning 提示塊標籤</p></div><div class="note danger simple"><p>danger 提示塊標籤</p></div><blockquote><p>modern</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">{% note modern %}</span><br><span class="line">默認 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note default modern %}</span><br><span class="line">default 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note primary modern %}</span><br><span class="line">primary 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note success modern %}</span><br><span class="line">success 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note info modern %}</span><br><span class="line">info 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note warning modern %}</span><br><span class="line">warning 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note danger modern %}</span><br><span class="line">danger 提示塊標籤</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note modern"><p>默認 提示塊標籤</p></div><div class="note default modern"><p>default 提示塊標籤</p></div><div class="note primary modern"><p>primary 提示塊標籤</p></div><div class="note success modern"><p>success 提示塊標籤</p></div><div class="note info modern"><p>info 提示塊標籤</p></div><div class="note warning modern"><p>warning 提示塊標籤</p></div><div class="note danger modern"><p>danger 提示塊標籤</p></div><blockquote><p>flat</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">{% note flat %}</span><br><span class="line">默認 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note default flat %}</span><br><span class="line">default 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note primary flat %}</span><br><span class="line">primary 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note success flat %}</span><br><span class="line">success 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note info flat %}</span><br><span class="line">info 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note warning flat %}</span><br><span class="line">warning 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note danger flat %}</span><br><span class="line">danger 提示塊標籤</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note flat"><p>默認 提示塊標籤</p></div><div class="note default flat"><p>default 提示塊標籤</p></div><div class="note primary flat"><p>primary 提示塊標籤</p></div><div class="note success flat"><p>success 提示塊標籤</p></div><div class="note info flat"><p>info 提示塊標籤</p></div><div class="note warning flat"><p>warning 提示塊標籤</p></div><div class="note danger flat"><p>danger 提示塊標籤</p></div><blockquote><p>disabled</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">{% note disabled %}</span><br><span class="line">默認 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note default disabled %}</span><br><span class="line">default 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note primary disabled %}</span><br><span class="line">primary 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note success disabled %}</span><br><span class="line">success 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note info disabled %}</span><br><span class="line">info 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note warning disabled %}</span><br><span class="line">warning 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note danger disabled %}</span><br><span class="line">danger 提示塊標籤</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note disabled"><p>默認 提示塊標籤</p></div><div class="note default disabled"><p>default 提示塊標籤</p></div><div class="note primary disabled"><p>primary 提示塊標籤</p></div><div class="note success disabled"><p>success 提示塊標籤</p></div><div class="note info disabled"><p>info 提示塊標籤</p></div><div class="note warning disabled"><p>warning 提示塊標籤</p></div><div class="note danger disabled"><p>danger 提示塊標籤</p></div><blockquote><p>no-icon</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">{% note no-icon %}</span><br><span class="line">默認 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note default no-icon %}</span><br><span class="line">default 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note primary no-icon %}</span><br><span class="line">primary 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note success no-icon %}</span><br><span class="line">success 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note info no-icon %}</span><br><span class="line">info 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note warning no-icon %}</span><br><span class="line">warning 提示塊標籤</span><br><span class="line">{% endnote %}</span><br><span class="line"></span><br><span class="line">{% note danger no-icon %}</span><br><span class="line">danger 提示塊標籤</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note no-icon flat"><p>默認 提示塊標籤</p></div><div class="note default no-icon flat"><p>default 提示塊標籤</p></div><div class="note primary no-icon flat"><p>primary 提示塊標籤</p></div><div class="note success no-icon flat"><p>success 提示塊標籤</p></div><div class="note info no-icon flat"><p>info 提示塊標籤</p></div><div class="note warning no-icon flat"><p>warning 提示塊標籤</p></div><div class="note danger no-icon flat"><p>danger 提示塊標籤</p></div><!-- endtab --><!-- tab 用法 2(自定義 icon)--><blockquote><p>3.2.0 以上版本支</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">{% note [color] [icon] [style] %}</span><br><span class="line">Any content (support inline tags too.io).</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><table><thead><tr><th>名稱</th><th>用法</th></tr></thead><tbody><tr><td>color</td><td>【可選】顔色 <br>(default / blue / pink / red / purple / orange / green)</td></tr><tr><td>icon</td><td>【可選】可配置自定義 icon (只支持 fontawesome 圖標, 也可以配置 no-icon )</td></tr><tr><td>style</td><td>【可選】可以覆蓋配置中的 style<br/>(simple/modern/flat/disabled)</td></tr></tbody></table><blockquote><p>simple</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">{% note 'fab fa-cc-visa' simple %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note blue 'fas fa-bullhorn' simple %}</span><br><span class="line">2021年快到了....</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note pink 'fas fa-car-crash' simple %}</span><br><span class="line">小心開車 安全至上</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note red 'fas fa-fan' simple%}</span><br><span class="line">這是三片呢?還是四片?</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note orange 'fas fa-battery-half' simple %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note purple 'far fa-hand-scissors' simple %}</span><br><span class="line">剪刀石頭布</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note green 'fab fa-internet-explorer' simple %}</span><br><span class="line">前端最討厭的瀏覽器</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note icon-padding simple"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note blue icon-padding simple"><i class="note-icon fas fa-bullhorn"></i><p>2021年快到了….</p></div><div class="note pink icon-padding simple"><i class="note-icon fas fa-car-crash"></i><p>小心開車 安全至上</p></div><div class="note red icon-padding simple"><i class="note-icon fas fa-fan"></i><p>這是三片呢?還是四片?</p></div><div class="note orange icon-padding simple"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note purple icon-padding simple"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石頭布</p></div><div class="note green icon-padding simple"><i class="note-icon fab fa-internet-explorer"></i><p>前端最討厭的瀏覽器</p></div><blockquote><p>modern</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">{% note 'fab fa-cc-visa' modern %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note blue 'fas fa-bullhorn' modern %}</span><br><span class="line">2021年快到了....</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note pink 'fas fa-car-crash' modern %}</span><br><span class="line">小心開車 安全至上</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note red 'fas fa-fan' modern%}</span><br><span class="line">這是三片呢?還是四片?</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note orange 'fas fa-battery-half' modern %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note purple 'far fa-hand-scissors' modern %}</span><br><span class="line">剪刀石頭布</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note green 'fab fa-internet-explorer' modern %}</span><br><span class="line">前端最討厭的瀏覽器</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note icon-padding modern"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note blue icon-padding modern"><i class="note-icon fas fa-bullhorn"></i><p>2021年快到了….</p></div><div class="note pink icon-padding modern"><i class="note-icon fas fa-car-crash"></i><p>小心開車 安全至上</p></div><div class="note red icon-padding modern"><i class="note-icon fas fa-fan"></i><p>這是三片呢?還是四片?</p></div><div class="note orange icon-padding modern"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note purple icon-padding modern"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石頭布</p></div><div class="note green icon-padding modern"><i class="note-icon fab fa-internet-explorer"></i><p>前端最討厭的瀏覽器</p></div><blockquote><p>flat</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">{% note 'fab fa-cc-visa' flat %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note blue 'fas fa-bullhorn' flat %}</span><br><span class="line">2021年快到了....</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note pink 'fas fa-car-crash' flat %}</span><br><span class="line">小心開車 安全至上</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note red 'fas fa-fan' flat%}</span><br><span class="line">這是三片呢?還是四片?</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note orange 'fas fa-battery-half' flat %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note purple 'far fa-hand-scissors' flat %}</span><br><span class="line">剪刀石頭布</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note green 'fab fa-internet-explorer' flat %}</span><br><span class="line">前端最討厭的瀏覽器</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note icon-padding flat"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note blue icon-padding flat"><i class="note-icon fas fa-bullhorn"></i><p>2021年快到了….</p></div><div class="note pink icon-padding flat"><i class="note-icon fas fa-car-crash"></i><p>小心開車 安全至上</p></div><div class="note red icon-padding flat"><i class="note-icon fas fa-fan"></i><p>這是三片呢?還是四片?</p></div><div class="note orange icon-padding flat"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note purple icon-padding flat"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石頭布</p></div><div class="note green icon-padding flat"><i class="note-icon fab fa-internet-explorer"></i><p>前端最討厭的瀏覽器</p></div><blockquote><p>disabled</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">{% note 'fab fa-cc-visa' disabled %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note blue 'fas fa-bullhorn' disabled %}</span><br><span class="line">2021年快到了....</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note pink 'fas fa-car-crash' disabled %}</span><br><span class="line">小心開車 安全至上</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note red 'fas fa-fan' disabled %}</span><br><span class="line">這是三片呢?還是四片?</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note orange 'fas fa-battery-half' disabled %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note purple 'far fa-hand-scissors' disabled %}</span><br><span class="line">剪刀石頭布</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note green 'fab fa-internet-explorer' disabled %}</span><br><span class="line">前端最討厭的瀏覽器</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note icon-padding disabled"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note blue icon-padding disabled"><i class="note-icon fas fa-bullhorn"></i><p>2021年快到了….</p></div><div class="note pink icon-padding disabled"><i class="note-icon fas fa-car-crash"></i><p>小心開車 安全至上</p></div><div class="note red icon-padding disabled"><i class="note-icon fas fa-fan"></i><p>這是三片呢?還是四片?</p></div><div class="note orange icon-padding disabled"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 還是 UnionPay</p></div><div class="note purple icon-padding disabled"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石頭布</p></div><div class="note green icon-padding disabled"><i class="note-icon fab fa-internet-explorer"></i><p>前端最討厭的瀏覽器</p></div><blockquote><p>no-icon</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">{% note no-icon %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note blue no-icon %}</span><br><span class="line">2021年快到了....</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note pink no-icon %}</span><br><span class="line">小心開車 安全至上</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note red no-icon %}</span><br><span class="line">這是三片呢?還是四片?</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note orange no-icon %}</span><br><span class="line">你是刷 Visa 還是 UnionPay</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note purple no-icon %}</span><br><span class="line">剪刀石頭布</span><br><span class="line">{% endnote %}</span><br><span class="line">{% note green no-icon %}</span><br><span class="line">前端最討厭的瀏覽器</span><br><span class="line">{% endnote %}</span><br></pre></td></tr></table></figure><div class="note no-icon flat"><p>你是刷 Visa 還是 UnionPay</p></div><div class="note blue no-icon flat"><p>2021年快到了….</p></div><div class="note pink no-icon flat"><p>小心開車 安全至上</p></div><div class="note red no-icon flat"><p>這是三片呢?還是四片?</p></div><div class="note orange no-icon flat"><p>你是刷 Visa 還是 UnionPay</p></div><div class="note purple no-icon flat"><p>剪刀石頭布</p></div><div class="note green no-icon flat"><p>前端最討厭的瀏覽器</p></div><!-- endtab --><h3 id="Tabs"><a href="#Tabs" class="headerlink" title="Tabs"></a>Tabs</h3><p>移植於next主題</p><p>使用方法</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">{% tabs Unique name, [index] %}</span><br><span class="line"><!-- tab [Tab caption] [@icon] --></span><br><span class="line">Any content (support inline tags too).</span><br><span class="line"><!-- endtab --></span><br><span class="line">{% endtabs %}</span><br><span class="line"></span><br><span class="line">Unique name : Unique name of tabs block tag without comma.</span><br><span class="line"><span class="code"> Will be used in #id's as prefix for each tab with their index numbers.</span></span><br><span class="line"><span class="code"> If there are whitespaces in name, for generate #id all whitespaces will replaced by dashes.</span></span><br><span class="line"><span class="code"> Only for current url of post/page must be unique!</span></span><br><span class="line"><span class="code">[index] : Index number of active tab.</span></span><br><span class="line"><span class="code"> If not specified, first tab (1) will be selected.</span></span><br><span class="line"><span class="code"> If index is -1, no tab will be selected. It's will be something like spoiler.</span></span><br><span class="line"><span class="code"> Optional parameter.</span></span><br><span class="line"><span class="code">[Tab caption] : Caption of current tab.</span></span><br><span class="line"><span class="code"> If not caption specified, unique name with tab index suffix will be used as caption of tab.</span></span><br><span class="line"><span class="code"> If not caption specified, but specified icon, caption will empty.</span></span><br><span class="line"><span class="code"> Optional parameter.</span></span><br><span class="line"><span class="code">[@icon] : FontAwesome icon name (full-name, look like 'fas fa-font')</span></span><br><span class="line"><span class="code"> Can be specified with or without space; e.g. 'Tab caption @icon' similar to 'Tab caption@icon'.</span></span><br><span class="line"><span class="code"> Optional parameter.</span></span><br></pre></td></tr></table></figure><blockquote><p>Demo 1 - 預設選擇第一個【默認】</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">{% tabs test1 %}</span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 1.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 2.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 3.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line">{% endtabs %}</span><br></pre></td></tr></table></figure><div class="tabs" id="test1"><ul class="nav-tabs"><li class="tab active"><button type="button" data-href="#test1-1">test1 1</button></li><li class="tab"><button type="button" data-href="#test1-2">test1 2</button></li><li class="tab"><button type="button" data-href="#test1-3">test1 3</button></li></ul><div class="tab-contents"><div class="tab-item-content active" id="test1-1"><p><strong>This is Tab 1.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test1-2"><p><strong>This is Tab 2.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test1-3"><p><strong>This is Tab 3.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div></div></div><blockquote><p>Demo 2 - 預設選擇tabs</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">{% tabs test2, 3 %}</span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 1.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 2.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 3.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line">{% endtabs %}</span><br></pre></td></tr></table></figure><div class="tabs" id="test2"><ul class="nav-tabs"><li class="tab"><button type="button" data-href="#test2-1">test2 1</button></li><li class="tab"><button type="button" data-href="#test2-2">test2 2</button></li><li class="tab active"><button type="button" data-href="#test2-3">test2 3</button></li></ul><div class="tab-contents"><div class="tab-item-content" id="test2-1"><p><strong>This is Tab 1.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test2-2"><p><strong>This is Tab 2.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content active" id="test2-3"><p><strong>This is Tab 3.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div></div></div><blockquote><p>Demo 3 - 沒有預設值</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">{% tabs test3, -1 %}</span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 1.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 2.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab --></span><br><span class="line"><span class="strong">**This is Tab 3.**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line">{% endtabs %}</span><br></pre></td></tr></table></figure><div class="tabs" id="test3"><ul class="nav-tabs"><li class="tab"><button type="button" data-href="#test3-1">test3 1</button></li><li class="tab"><button type="button" data-href="#test3-2">test3 2</button></li><li class="tab"><button type="button" data-href="#test3-3">test3 3</button></li></ul><div class="tab-contents"><div class="tab-item-content" id="test3-1"><p><strong>This is Tab 1.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test3-2"><p><strong>This is Tab 2.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test3-3"><p><strong>This is Tab 3.</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div></div></div><blockquote><p>Demo 4 - 自定義Tab名 + 只有icon + icon和Tab名</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">{% tabs test4 %}</span><br><span class="line"><!-- tab 第一個Tab --></span><br><span class="line"><span class="strong">**tab名字為第一個Tab**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab @fab fa-apple-pay --></span><br><span class="line"><span class="strong">**只有圖標 沒有Tab名字**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line"></span><br><span class="line"><!-- tab 炸彈@fas fa-bomb --></span><br><span class="line"><span class="strong">**名字+icon**</span></span><br><span class="line"><!-- endtab --></span><br><span class="line">{% endtabs %}</span><br></pre></td></tr></table></figure><div class="tabs" id="test4"><ul class="nav-tabs"><li class="tab active"><button type="button" data-href="#test4-1">第一個Tab</button></li><li class="tab"><button type="button" data-href="#test4-2"><i class="fab fa-apple-pay" style="text-align: center;"></i></button></li><li class="tab"><button type="button" data-href="#test4-3"><i class="fas fa-bomb"></i>炸彈</button></li></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p><strong>tab名字為第一個Tab</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test4-2"><p><strong>只有圖標 沒有Tab名字</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div><div class="tab-item-content" id="test4-3"><p><strong>名字+icon</strong></p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="fas fa-arrow-up"></i></button></div></div></div><h3 id="Button"><a href="#Button" class="headerlink" title="Button"></a>Button</h3><blockquote><p>3.0以上適用</p></blockquote><p>使用方法:</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">{% btn [url],[text],[icon],[color] [style] [layout] [position] [size] %}</span><br><span class="line"></span><br><span class="line">[url] : 鏈接</span><br><span class="line">[text] : 按鈕文字</span><br><span class="line">[icon] : [可選] 圖標</span><br><span class="line">[color] : [可選] 按鈕背景顔色(默認style時)</span><br><span class="line"><span class="code"> 按鈕字體和邊框顔色(outline時)</span></span><br><span class="line"><span class="code"> default/blue/pink/red/purple/orange/green</span></span><br><span class="line"><span class="code">[style] : [可選] 按鈕樣式 默認實心</span></span><br><span class="line"><span class="code"> outline/留空</span></span><br><span class="line"><span class="code">[layout] : [可選] 按鈕佈局 默認為line</span></span><br><span class="line"><span class="code"> block/留空</span></span><br><span class="line"><span class="code">[position] : [可選] 按鈕位置 前提是設置了layout為block 默認為左邊</span></span><br><span class="line"><span class="code"> center/right/留空</span></span><br><span class="line"><span class="code">[size] : [可選] 按鈕大小</span></span><br><span class="line"><span class="code"> larger/留空</span></span><br></pre></td></tr></table></figure><blockquote><p>Demo</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">This is my website, click the button {% btn 'https://butterfly.js.org/',Butterfly %}</span><br><span class="line">This is my website, click the button {% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right %}</span><br><span class="line">This is my website, click the button {% btn 'https://butterfly.js.org/',Butterfly,,outline %}</span><br><span class="line">This is my website, click the button {% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline %}</span><br><span class="line">This is my website, click the button {% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,larger %}</span><br></pre></td></tr></table></figure><p>This is my website, click the button <a class="btn-beautify " href="https://butterfly.js.org/" title="Butterfly"><span>Butterfly</span></a><br>This is my website, click the button <a class="btn-beautify " href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><br>This is my website, click the button <a class="btn-beautify outline" href="https://butterfly.js.org/" title="Butterfly"><span>Butterfly</span></a><br>This is my website, click the button <a class="btn-beautify outline" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><br>This is my website, click the button <a class="btn-beautify larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a></p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,block %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,block center larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,block right outline larger %}</span><br></pre></td></tr></table></figure><a class="btn-beautify block" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify block center larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify block right outline larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><p><strong>more than one button in center</strong></p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,blue larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,pink larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,red larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,purple larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,orange larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,green larger %}</span><br></pre></td></tr></table></figure><a class="btn-beautify larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify blue larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify pink larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify red larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify purple larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify orange larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify green larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag"><<span class="name">div</span> <span class="attr">class</span>=<span class="string">"btn-center"</span>></span></span></span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline blue larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline pink larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline red larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline purple larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline orange larger %}</span><br><span class="line">{% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,outline green larger %}</span><br><span class="line"><span class="language-xml"><span class="tag"></<span class="name">div</span>></span></span></span><br></pre></td></tr></table></figure><div class="btn-center"><a class="btn-beautify outline larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify outline blue larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify outline pink larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify outline red larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify outline purple larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify outline orange larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a><a class="btn-beautify outline green larger" href="https://butterfly.js.org/" title="Butterfly"><i class="far fa-hand-point-right"></i><span>Butterfly</span></a></div><h3 id="inlineImg"><a href="#inlineImg" class="headerlink" title="inlineImg"></a>inlineImg</h3><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">{% inlineImg [src] [height] %}</span><br><span class="line"></span><br><span class="line">[src] : 圖片鏈接</span><br><span class="line">[height] : 圖片高度限制【可選】</span><br></pre></td></tr></table></figure><blockquote><p>Demo</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">![](<span class="link"></span>)</span><br><span class="line"></span><br><span class="line">我覺得很漂亮 {% inlineImg 150px %}</span><br></pre></td></tr></table></figure><h3 id="label"><a href="#label" class="headerlink" title="label"></a>label</h3><p>高亮所需的文字</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">{% label text color %}</span><br></pre></td></tr></table></figure><table><thead><tr><th>參數</th><th>解釋</th></tr></thead><tbody><tr><td>text</td><td>文字</td></tr><tr><td>color</td><td>【可選】背景顏色,默認為 <code>default</code><br />default/blue/pink/red/purple/orange/green</td></tr></tbody></table><blockquote><p>Demo</p></blockquote><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">臣亮言:{% label 先帝 %}創業未半,而{% label 中道崩殂 blue %}。今天下三分,{% label 益州疲敝 pink %},此誠{% label 危急存亡之秋 red %}也!然侍衞之臣,不懈於內;{% label 忠志之士 purple %},忘身於外者,蓋追先帝之殊遇,欲報之於陛下也。誠宜開張聖聽,以光先帝遺德,恢弘志士之氣;不宜妄自菲薄,引喻失義,以塞忠諫之路也。</span><br><span class="line">宮中、府中,俱為一體;陟罰臧否,不宜異同。若有{% label 作奸 orange %}、{% label 犯科 green %},及為忠善者,宜付有司,論其刑賞,以昭陛下平明之治;不宜偏私,使內外異法也。</span><br></pre></td></tr></table></figure><p>臣亮言:<mark class="hl-label default">先帝</mark> 創業未半,而<mark class="hl-label blue">中道崩殂</mark> 。今天下三分,<mark class="hl-label pink">益州疲敝</mark> ,此誠<mark class="hl-label red">危急存亡之秋</mark> 也!然侍衞之臣,不懈於內;<mark class="hl-label purple">忠志之士</mark> ,忘身於外者,蓋追先帝之殊遇,欲報之於陛下也。誠宜開張聖聽,以光先帝遺德,恢弘志士之氣;不宜妄自菲薄,引喻失義,以塞忠諫之路也。</p><p>宮中、府中,俱為一體;陟罰臧否,不宜異同。若有<mark class="hl-label orange">作奸</mark> 、<mark class="hl-label green">犯科</mark> ,及為忠善者,宜付有司,論其刑賞,以昭陛下平明之治;不宜偏私,使內外異法也。</p>]]></content>
<summary type="html">标签示例</summary>
<category term="测试" scheme="https://ifibe.com/categories/%E6%B5%8B%E8%AF%95/"/>
<category term="测试" scheme="https://ifibe.com/tags/%E6%B5%8B%E8%AF%95/"/>
<category term="Hexo" scheme="https://ifibe.com/tags/Hexo/"/>
<category term="Hexo优化" scheme="https://ifibe.com/tags/Hexo%E4%BC%98%E5%8C%96/"/>
</entry>
<entry>
<title>Heroku上一键部署Cloudreve网盘程序[更新]</title>
<link href="https://ifibe.com/posts/c12ba40e/"/>
<id>https://ifibe.com/posts/c12ba40e/</id>
<published>2021-07-29T18:40:30.000Z</published>
<updated>2021-07-29T18:40:30.000Z</updated>
<content type="html"><![CDATA[<div class="note warning flat"><p>重置管理员密码在文末(需本地环境操作)<a href="https://ifibe.com/posts/c12ba40e/#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">点击跳转</a></p></div><h2 id="Cloudreve-Heroku-with-Redis"><a href="#Cloudreve-Heroku-with-Redis" class="headerlink" title="Cloudreve-Heroku with Redis"></a>Cloudreve-Heroku with Redis</h2><p>Cloudreve with redis的Docker版本,可自定义数据库信息</p><div class="note info flat"><p>应用程序升级或变更时,配置文件与数据库均可保留(使用sqlite方式时不保留任何信息)</p></div><p>一键部署在Heroku上:<a href="https://www.heroku.com/deploy?template=https://github.com/useblueCloudreve-Heroku"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy"></a></p><p>DEMO : <a href="https://cloudre.herokuapp.com/" target="_blank">cloudre.herokuapp.com</a></p><p>查看Heroku Redis + Heroku Postgres版:<a href="https://github.com/useblue/Cloudreve-Heroku/tree/Cloudreve-Heroku" target="_blank">Cloudreve-Heroku/tree/Cloudreve-Heroku</a></p><p>查看mysql版:<a href="https://github.com/useblue/Cloudreve-Heroku/tree/Heroku-mysql" target="_blank">Cloudreve-Heroku/tree/Heroku-mysql</a></p><h3 id="关于"><a href="#关于" class="headerlink" title="关于"></a>关于</h3><p>使用redis:alpine镜像制作,默认开启Redis缓存服务</p><p>容器中的Cloudreve版本为 cloudreve_3.3.2_linux_amd64(#db7489f)</p><h3 id="账户信息-请及时修改"><a href="#账户信息-请及时修改" class="headerlink" title="账户信息-请及时修改"></a>账户信息-请及时修改</h3><p>已取消sqlite部署方式,请使用第三方mysql数据库进行连接</p><p><del>用户名:<a href="mailto:admin@cloudreve.org">admin@cloudreve.org</a></del></p><p><del>密码:vUUH4MpL</del></p><h3 id="自定义信息"><a href="#自定义信息" class="headerlink" title="自定义信息"></a>自定义信息</h3><p>环境变量</p><figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">[Database]</span></span><br><span class="line"><span class="attr">Type</span> = mysql <span class="comment"># 数据库类型,目前支持 sqlite/mysql/mssql/postgres</span></span><br><span class="line"><span class="attr">Host</span> = <span class="number">127.0</span>.<span class="number">0.1</span></span><br><span class="line"><span class="attr">Port</span> = <span class="number">3306</span></span><br><span class="line"><span class="attr">User</span> = root</span><br><span class="line"><span class="attr">Password</span> = root</span><br><span class="line"><span class="attr">Name</span> = v3</span><br><span class="line"><span class="attr">Charset</span> = utf8</span><br><span class="line"><span class="attr">TablePrefix</span> = cd</span><br></pre></td></tr></table></figure><hr><h2 id="Cloudreve-Heroku-with-Heroku-Redis-Heroku-Postgres-需要已验证的Heroku账户"><a href="#Cloudreve-Heroku-with-Heroku-Redis-Heroku-Postgres-需要已验证的Heroku账户" class="headerlink" title="Cloudreve-Heroku with Heroku Redis + Heroku Postgres(需要已验证的Heroku账户)"></a>Cloudreve-Heroku with Heroku Redis + Heroku Postgres(需要已验证的Heroku账户)</h2><div class="note danger flat"><p>当前版本使用Heroku Postgres可能无法成功部署。<a href="https://github.com/cloudreve/Cloudreve/issues/960" target="_blank">#960</a></p></div><div class="note info flat"><p>Cloudreve的Docker版本,内置Heroku Redis与Heroku Postgres,可自定义插件配置(可能包含付费内容)</p></div><p>一键部署在Heroku上:<a href="https://heroku.com/deploy?template=https://github.com/useblue/Cloudreve-Heroku/tree/Cloudreve-Heroku"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy"></a></p><h3 id="关于-1"><a href="#关于-1" class="headerlink" title="关于"></a>关于</h3><p>使用alpine:latest镜像制作,默认开启Redis缓存服务</p><p>应用程序升级或变更时,配置文件与数据库均可保留</p><p>容器中的Cloudreve版本为 cloudreve_3.3.2_linux_amd64(#db7489f)</p><p>高级版用户可自行修改<code>app.json</code>中<code>addons</code>参数以获得更好的体验,具体参数参考如下:</p><figure class="highlight awk"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">Heroku Postgres : https:<span class="regexp">//</span>elements.heroku.com<span class="regexp">/addons/</span>heroku-postgresql</span><br><span class="line">Heroku Redis : https:<span class="regexp">//</span>elements.heroku.com<span class="regexp">/addons/</span>heroku-redis</span><br><span class="line">Cloudreve 捐赠版(<span class="number">299</span>元) :http:<span class="regexp">//</span>cloudreve.org/buy.php</span><br></pre></td></tr></table></figure><p>可修改内容</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">"addons"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"heroku-postgresql:hobby-dev"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"heroku-redis:hobby-dev"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"logdna:quaco"</span></span><br><span class="line"><span class="punctuation">]</span><span class="punctuation">,</span></span><br></pre></td></tr></table></figure><h3 id="账户信息-请及时修改-1"><a href="#账户信息-请及时修改-1" class="headerlink" title="账户信息-请及时修改"></a>账户信息-请及时修改</h3><blockquote><p>部署完成在应用日志或<code>LogDNA</code>中查看默认的账户密码</p></blockquote><hr><h2 id="Cloudreve-Heroku-with-Redis-Jawsdb-Mysql-需要已验证的Heroku账户"><a href="#Cloudreve-Heroku-with-Redis-Jawsdb-Mysql-需要已验证的Heroku账户" class="headerlink" title="Cloudreve-Heroku with Redis + Jawsdb Mysql(需要已验证的Heroku账户)"></a>Cloudreve-Heroku with Redis + Jawsdb Mysql(需要已验证的Heroku账户)</h2><p>Cloudreve with redis的Docker版本,内置Heroku Redis与Jawsdb Mysql</p><div class="note info flat"><p>默认数据库空间为5MB</p></div><p>一键部署在Heroku上:<a href="https://heroku.com/deploy?template=https://github.com/useblue/Cloudreve-Heroku/tree/Heroku-mysql"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy"></a></p><h3 id="关于-2"><a href="#关于-2" class="headerlink" title="关于"></a>关于</h3><p>使用alpine:latest镜像制作,默认开启Redis缓存服务</p><p>应用程序升级或变更时,配置文件与数据库均可保留</p><p>容器中的Cloudreve版本为 cloudreve_3.3.2_linux_amd64(#db7489f)</p><p>高级版用户可自行修改<code>app.json</code>中<code>addons</code>参数以获得更好的体验,具体参数参考如下:</p><figure class="highlight awk"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">Heroku Postgres : https:<span class="regexp">//</span>elements.heroku.com<span class="regexp">/addons/</span>heroku-postgresql</span><br><span class="line">Heroku Redis : https:<span class="regexp">//</span>elements.heroku.com<span class="regexp">/addons/</span>heroku-redis</span><br><span class="line">Cloudreve 捐赠版(<span class="number">299</span>元) :http:<span class="regexp">//</span>cloudreve.org/buy.php</span><br></pre></td></tr></table></figure><p>可修改内容</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">"addons"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"heroku-postgresql:hobby-dev"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"heroku-redis:hobby-dev"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"logdna:quaco"</span></span><br><span class="line"><span class="punctuation">]</span><span class="punctuation">,</span></span><br></pre></td></tr></table></figure><h3 id="账户信息-请及时修改-2"><a href="#账户信息-请及时修改-2" class="headerlink" title="账户信息-请及时修改"></a>账户信息-请及时修改</h3><blockquote><p>部署完成在应用日志或<code>LogDNA</code>中查看默认的账户密码</p></blockquote><hr><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">app[web] info</span><br><span class="line">app[web] info ___ _ _ </span><br><span class="line">app[web] info / __\ | ___ _ _ __| |_ __ _____ _____ </span><br><span class="line">app[web] info / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \ </span><br><span class="line">app[web] info / /___| | (_) | |_| | (_| | | | __/\ V / __/ </span><br><span class="line">app[web] info \____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___| </span><br><span class="line">app[web] info</span><br><span class="line">app[web] info V3.3.2 Commit #db7489f Pro=false </span><br><span class="line">app[web] info ================================================ </span><br><span class="line">app[web] info</span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 初始化数据库连接 </span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 数据库版本匹配,跳过数据库迁移 </span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 初始化任务队列,WorkerNum = 10 </span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 初始化定时任务... </span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 当前运行模式:Master </span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 已连接到 Redis 服务器:ec2-44-196-121-18.compute-1.amazonaws.com:28059 </span><br><span class="line">app[web] info [Info] 2021-07-29 11:00:35 开始监听 :35724 </span><br><span class="line">heroku[web] info State changed from starting to up </span><br></pre></td></tr></table></figure><hr><h2 id="重置管理员密码"><a href="#重置管理员密码" class="headerlink" title="重置管理员密码"></a>重置管理员密码</h2><h3 id="配置文件"><a href="#配置文件" class="headerlink" title="配置文件"></a>配置文件</h3><p>下载Cloudreve程序至本地,将数据库信息填入<code>conf.ini</code>文件中,需与Heroku实例配置一致</p><figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">[System]</span></span><br><span class="line"><span class="attr">Mode</span> = master</span><br><span class="line"><span class="attr">Listen</span> = :<span class="number">5212</span></span><br><span class="line"><span class="attr">SessionSecret</span> = xVV2OkWvG3KKch6vhvZzGguDihnu5OfzDm1DrLubQBwz8QONZiNcPoUOYJ3LJTVS</span><br><span class="line"><span class="attr">HashIDSalt</span> = Aqecg1YrZ3EVTD4rpS2ll38naCzEc8FazPehnX4pAR0pKncUFtm76j4Eskzzq08P</span><br><span class="line"><span class="section">[Database]</span></span><br><span class="line"><span class="comment">; 数据库类型,目前支持 sqlite/mysql/mssql/postgres</span></span><br><span class="line"><span class="attr">Type</span> = mysql</span><br><span class="line"><span class="comment">; MySQL 端口</span></span><br><span class="line"><span class="attr">Port</span> = <span class="number">3306</span></span><br><span class="line"><span class="comment">; 用户名</span></span><br><span class="line"><span class="attr">User</span> = VTD4rpS2ll38naCzEc8FazPeh</span><br><span class="line"><span class="comment">; 密码</span></span><br><span class="line"><span class="attr">Password</span> = VTD4rpS2ll38naCzEc8FazPeh</span><br><span class="line"><span class="comment">; 数据库地址</span></span><br><span class="line"><span class="attr">Host</span> = VTD4rpS2ll38naCzEc8FazPeh.VTD4rpS2ll38naCzEc8FazPeh.us-east-<span class="number">1</span>.rds.amazonaws.com</span><br><span class="line"><span class="comment">; 数据库名称</span></span><br><span class="line"><span class="attr">Name</span> = VTD4rpS2ll38naCzEc8FazPeh</span><br><span class="line"><span class="comment">; 数据表前缀</span></span><br><span class="line"><span class="attr">TablePrefix</span> = cd</span><br><span class="line"><span class="comment">; 字符集</span></span><br><span class="line"><span class="attr">Charset</span> = utf8</span><br></pre></td></tr></table></figure><h3 id="数据库脚本"><a href="#数据库脚本" class="headerlink" title="数据库脚本"></a>数据库脚本</h3><ul><li>重置管理员密码</li></ul><p>以下数据库脚本可以重设初始管理员(即 UID 为 1 的用户)的密码,新密码会在命令行日志中输出,请注意保存。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">./cloudreve --database-script ResetAdminPassword</span><br></pre></td></tr></table></figure><ul><li>校准用户容量</li></ul><p>如果因为系统故障、手动操作数据库记录导致用户已用空间与实际不符时,你可以运行以下数据库脚本,Cloudreve 会重新校准所有已注册用户的容量使用。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">./cloudreve --database-script CalibrateUserStorage</span><br></pre></td></tr></table></figure><hr>]]></content>
<summary type="html">Heroku上一键部署Cloudreve网盘程序</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="Cloudreve" scheme="https://ifibe.com/tags/Cloudreve/"/>
<category term="Heroku" scheme="https://ifibe.com/tags/Heroku/"/>
<category term="Docker" scheme="https://ifibe.com/tags/Docker/"/>
</entry>
<entry>
<title>某被夹软件高级版接口调试信息</title>
<link href="https://ifibe.com/posts/dc8c48a5/"/>
<id>https://ifibe.com/posts/dc8c48a5/</id>
<published>2021-07-20T15:18:45.000Z</published>
<updated>2021-07-20T15:18:45.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Share 高级版接口返回内容 –> .json</p></blockquote><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span><span class="attr">"code"</span><span class="punctuation">:</span><span class="number">0</span><span class="punctuation">,</span><span class="attr">"data"</span><span class="punctuation">:</span><span class="punctuation">{</span><span class="attr">"code"</span><span class="punctuation">:</span><span class="string">"接口测试"</span><span class="punctuation">,</span><span class="attr">"activeCount"</span><span class="punctuation">:</span><span class="number">0</span><span class="punctuation">,</span><span class="attr">"timestamp"</span><span class="punctuation">:</span><span class="number">1658301482000</span><span class="punctuation">}</span><span class="punctuation">}</span></span><br></pre></td></tr></table></figure><p><img src="https://ifibe.com/asst/imgs/sharecode.webp" alt="激活效果"></p><h4 id="完整响应"><a href="#完整响应" class="headerlink" title="完整响应"></a>完整响应</h4><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">HTTP/<span class="number">1.1</span> <span class="number">200</span></span><br><span class="line">Server<span class="punctuation">:</span> nginx</span><br><span class="line">Date<span class="punctuation">:</span> Tue<span class="punctuation">,</span> <span class="number">20</span> Jul <span class="number">2021</span> <span class="number">07</span><span class="punctuation">:</span><span class="number">10</span><span class="punctuation">:</span><span class="number">15</span> GMT</span><br><span class="line">Content-Type<span class="punctuation">:</span> application/json;charset=UTF<span class="number">-8</span></span><br><span class="line">Connection<span class="punctuation">:</span> keep-alive</span><br><span class="line">Content-Length<span class="punctuation">:</span> <span class="number">87</span></span><br><span class="line"></span><br><span class="line"><span class="punctuation">{</span><span class="attr">"code"</span><span class="punctuation">:</span><span class="number">0</span><span class="punctuation">,</span><span class="attr">"data"</span><span class="punctuation">:</span><span class="punctuation">{</span><span class="attr">"code"</span><span class="punctuation">:</span><span class="string">"接口测试"</span><span class="punctuation">,</span><span class="attr">"activeCount"</span><span class="punctuation">:</span><span class="number">0</span><span class="punctuation">,</span><span class="attr">"timestamp"</span><span class="punctuation">:</span><span class="number">1658301482000</span><span class="punctuation">}</span><span class="punctuation">}</span></span><br></pre></td></tr></table></figure><p>提示:<span class="hide-inline"><button type="button" class="hide-button" style="">查看 </button><span class="hide-content">Content-Length code#2 timestamp </span></span></p><h4 id="返回错误"><a href="#返回错误" class="headerlink" title="返回错误"></a>返回错误</h4><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span><span class="attr">"code"</span><span class="punctuation">:</span><span class="number">3001</span><span class="punctuation">}</span></span><br></pre></td></tr></table></figure><p>请求内容<br><img src="https://ifibe.com/asst/imgs/sharesender.webp" alt="请求内容"></p>]]></content>
<summary type="html">简介</summary>
<category term="测试" scheme="https://ifibe.com/categories/%E6%B5%8B%E8%AF%95/"/>
<category term="API" scheme="https://ifibe.com/tags/API/"/>
<category term="Share" scheme="https://ifibe.com/tags/Share/"/>
<category term="接口调试" scheme="https://ifibe.com/tags/%E6%8E%A5%E5%8F%A3%E8%B0%83%E8%AF%95/"/>
</entry>
<entry>
<title>在Cloudflare Pages上构建应用</title>
<link href="https://ifibe.com/posts/e8a8c56d/"/>
<id>https://ifibe.com/posts/e8a8c56d/</id>
<published>2021-02-18T08:29:51.000Z</published>
<updated>2021-02-18T08:29:51.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Cloudflare Pages是Cloudflare新推出的一项静态内容托管平台,类似于Netlify。目前支持从Github仓库中拉取内容。</p></blockquote><h2 id="测试申请"><a href="#测试申请" class="headerlink" title="测试申请"></a>测试申请</h2><p>目前Cloudflare Pages处于测试阶段,可以在 pages.cloudflare.com 中申请Cloudflare Pages的试用资格。</p><p><img src="https://ifibe.com/asst/imgs/e8a8c56d-1.webp"></p><h2 id="特性"><a href="#特性" class="headerlink" title="特性"></a>特性</h2><p>根据官网的描述是一款可以做到开箱即用的静态内容构建平台。</p><div class="note red icon-padding flat"><i class="note-icon fas fa-fan"></i><p>免费用户每月有500次构建,最多可绑定10个自定义域,最多可包含20000个文件,文件最大为25MB。</p></div><p><img src="https://ifibe.com/asst/imgs/e8a8c56d-1.webp"></p><h3 id="自身特点"><a href="#自身特点" class="headerlink" title="自身特点"></a>自身特点</h3><div class="note red icon-padding flat"><i class="note-icon fas fa-bolt"></i><p>所有构建的静态内容将会上传至每个Cloudflare边缘节点</p></div><div class="note red icon-padding flat"><i class="note-icon fas fa-bolt"></i><p>借助Cloudflare Access集成,可以精确控制访问预览。</p></div><div class="note red icon-padding flat"><i class="note-icon fas fa-bolt"></i><p>支持最新的Web标准与HTTP/3的支持,QUIC,图像压缩,等等。</p></div><h2 id="Cloudflare-Pages-平台配置"><a href="#Cloudflare-Pages-平台配置" class="headerlink" title="Cloudflare Pages 平台配置"></a>Cloudflare Pages 平台配置</h2><h3 id="运行环境"><a href="#运行环境" class="headerlink" title="运行环境"></a>运行环境</h3><ul><li>支持的语言</li></ul><table><thead><tr><th>Framework</th><th>Default version</th></tr></thead><tbody><tr><td>Elixir</td><td>1.7</td></tr><tr><td>Emacs</td><td>25</td></tr><tr><td>Erlang</td><td>21</td></tr><tr><td>Java</td><td>8</td></tr><tr><td>Node.js</td><td>10</td></tr><tr><td>PHP</td><td>5.6</td></tr><tr><td>Python</td><td>2.7</td></tr><tr><td>Ruby</td><td>2.6.2</td></tr></tbody></table><ul><li>预置工具</li></ul><table><thead><tr><th>Tools</th><th>Notes</th></tr></thead><tbody><tr><td>Boot</td><td></td></tr><tr><td>Cask</td><td></td></tr><tr><td>Composer</td><td></td></tr><tr><td>Doxygen</td><td>Version 1.8.6</td></tr><tr><td>Gutenberg</td><td></td></tr><tr><td>Hugo</td><td>Version 0.54</td></tr><tr><td>GNU Make</td><td>Version 3.8.1</td></tr><tr><td>ImageMagick</td><td>Version 6.7.7</td></tr><tr><td>jq</td><td>Version 1.5</td></tr><tr><td>Leiningen</td><td></td></tr><tr><td>OptiPNG</td><td>Version 0.6.4</td></tr><tr><td>NPM</td><td>Corresponds with NPM version</td></tr><tr><td>pip</td><td>Corresponds with Python version</td></tr><tr><td>Pipenv</td><td>Latest version</td></tr><tr><td>Yarn</td><td>Version 1.13.0</td></tr><tr><td>Zola</td><td></td></tr></tbody></table><ul><li>环境变量</li></ul><table><thead><tr><th>Language/tool</th><th>Environment variable</th><th>File</th></tr></thead><tbody><tr><td>Go</td><td><code>GO_VERSION</code></td><td></td></tr><tr><td>Node.js</td><td><code>NODE_VERSION</code></td><td><code>.nvmrc</code>, <code>.node-version</code></td></tr><tr><td>NPM</td><td><code>NPM_VERSION</code></td><td></td></tr><tr><td>Python</td><td><code>PYTHON_VERSION</code></td><td><code>runtime.txt</code>, <code>Pipfile</code></td></tr><tr><td>Ruby</td><td><code>RUBY_VERSION</code></td><td><code>.ruby-version</code></td></tr><tr><td>Yarn</td><td><code>YARN_VERSION</code></td><td></td></tr></tbody></table><p><img src="https://ifibe.com/asst/imgs/e8a8c56d-3.webp"></p><h2 id="部署Hexo于Cloudflare-Pages"><a href="#部署Hexo于Cloudflare-Pages" class="headerlink" title="部署Hexo于Cloudflare Pages"></a>部署Hexo于Cloudflare Pages</h2><p>类似于Netlify,绑定Github导入项目即可自动构建</p><div class="note green icon-padding flat"><i class="note-icon fas fa-battery-half"></i><p>应用创建后会自动生成类似<code>*.pages.dev</code>的CNAME链接。绑定域名后将其指向任意Cloudflare CDN地址均可正常使用</p></div><h3 id="构建失败?"><a href="#构建失败?" class="headerlink" title="构建失败?"></a>构建失败?</h3><p>在使用包含&&的连续命令时可能会出现以下错误</p><figure class="highlight awk"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="regexp">/bin/</span>sh: <span class="number">1</span>: hexo: not found</span><br></pre></td></tr></table></figure><ul><li>可通过package.json打包命令</li></ul><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">//package.json</span></span><br><span class="line"> <span class="attr">"scripts"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"dev"</span><span class="punctuation">:</span> <span class="string">"hexo clean && hexo s"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"build"</span><span class="punctuation">:</span> <span class="string">"hexo clean && hexo generate && gulp"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm run dev = hexo clean && hexo s</span><br><span class="line">npm run build = hexo clean && hexo generate && gulp</span><br></pre></td></tr></table></figure><p><img src="https://ifibe.com/asst/imgs/e8a8c56d-4.webp"></p>]]></content>
<summary type="html">使用Cloudflare Pgaes部署静态应用。在Cloudflare Pages上部署Hexo静态博客</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="Hexo" scheme="https://ifibe.com/tags/Hexo/"/>
<category term="Cloudreve" scheme="https://ifibe.com/tags/Cloudreve/"/>
</entry>
<entry>
<title>Python通过requests模块发送GET,POST请求</title>
<link href="https://ifibe.com/posts/8dfae4d0/"/>
<id>https://ifibe.com/posts/8dfae4d0/</id>
<published>2021-02-02T17:04:12.000Z</published>
<updated>2021-02-02T17:04:12.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Python通过requests模块发送GET,POST请求</p></blockquote><h2 id="GET-请求示例(片段)"><a href="#GET-请求示例(片段)" class="headerlink" title="GET 请求示例(片段)"></a>GET 请求示例(片段)</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> requests</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> codecs</span><br><span class="line"><span class="keyword">from</span> t <span class="keyword">import</span> payload</span><br><span class="line">sys.stdout = codecs.getwriter(<span class="string">"utf-8"</span>)(sys.stdout.detach())</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">body</span>(<span class="title class_ inherited__">object</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"></span><br><span class="line"> self.headers = {</span><br><span class="line"> <span class="string">'Connection'</span>:<span class="string">'keep-alive'</span>,</span><br><span class="line"> <span class="string">'content-type'</span>:<span class="string">'application/json'</span>,</span><br><span class="line"> <span class="string">'Accept-Encoding'</span>:<span class="string">'gzip,deflate,br'</span>,</span><br><span class="line"> <span class="string">'user-agent'</span>:<span class="string">'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat'</span>,</span><br><span class="line"> <span class="string">'Referer'</span>:<span class="string">''</span>,</span><br><span class="line"> <span class="string">'cookie'</span>:<span class="string">''</span></span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">prt_err_msg</span>(<span class="params">self, res, expectation</span>):</span><br><span class="line"> <span class="keyword">if</span> res[<span class="string">'code'</span>] != expectation:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'ERROR:'</span>, res[<span class="string">'message'</span>])</span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'SUCCESS'</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">get</span>(<span class="params">self</span>):</span><br><span class="line"></span><br><span class="line"> api = <span class="string">''</span></span><br><span class="line"></span><br><span class="line"> res = requests.get(url, headers=self.headers, data=payload.encode(<span class="string">'utf-8'</span>)).json()</span><br><span class="line"> self.prt_err_msg(res, <span class="number">0</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">run</span>(<span class="params">self</span>):</span><br><span class="line"></span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'get check'</span>)</span><br><span class="line"> self.sign()</span><br><span class="line"> </span><br></pre></td></tr></table></figure><h2 id="请求示例(片段)"><a href="#请求示例(片段)" class="headerlink" title="请求示例(片段)"></a>请求示例(片段)</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> requests</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> codecs</span><br><span class="line"><span class="keyword">from</span> t <span class="keyword">import</span> payload</span><br><span class="line">sys.stdout = codecs.getwriter(<span class="string">"utf-8"</span>)(sys.stdout.detach())</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">wx</span>(<span class="title class_ inherited__">object</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"></span><br><span class="line"> self.headers = {</span><br><span class="line"> <span class="string">'Host'</span>:<span class="string">''</span>,</span><br><span class="line"> <span class="string">'Connection'</span>:<span class="string">'keep-alive'</span>,</span><br><span class="line"> <span class="string">'X-Tag'</span>:<span class="string">''</span>,</span><br><span class="line"> <span class="string">'Content-Length'</span>:<span class="string">''</span>,</span><br><span class="line"> <span class="string">'content-type'</span>:<span class="string">'application/json'</span>,</span><br><span class="line"> <span class="string">'Accept-Encoding'</span>:<span class="string">'gzip,deflate,br'</span>,</span><br><span class="line"> <span class="string">'user-agent'</span>:<span class="string">'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat'</span>,</span><br><span class="line"> <span class="string">'Referer'</span>:<span class="string">''</span>,</span><br><span class="line"> <span class="string">'cookie'</span>:<span class="string">''</span></span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">prt_err_msg</span>(<span class="params">self, res, expectation</span>):</span><br><span class="line"> <span class="keyword">if</span> res[<span class="string">'code'</span>] != expectation:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'ERROR:'</span>, res[<span class="string">'message'</span>])</span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'SUCCESS'</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">sign</span>(<span class="params">self</span>):</span><br><span class="line"></span><br><span class="line"> url = <span class="string">""</span></span><br><span class="line"></span><br><span class="line"> res = requests.post(url, headers=self.headers, data=payload.encode(<span class="string">'utf-8'</span>)).json()</span><br><span class="line"> self.prt_err_msg(res, <span class="number">0</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">run</span>(<span class="params">self</span>):</span><br><span class="line"></span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'ck'</span>)</span><br><span class="line"> self.sign()</span><br></pre></td></tr></table></figure><h2 id="SCF-传入"><a href="#SCF-传入" class="headerlink" title="SCF 传入"></a>SCF 传入</h2><p><code>index.main_handler</code></p>]]></content>
<summary type="html">Python通过requests模块发送GET,POST请求</summary>
<category term="分类" scheme="https://ifibe.com/categories/%E5%88%86%E7%B1%BB/"/>
<category term="子类" scheme="https://ifibe.com/categories/%E5%88%86%E7%B1%BB/%E5%AD%90%E7%B1%BB/"/>
<category term="标签" scheme="https://ifibe.com/tags/%E6%A0%87%E7%AD%BE/"/>
</entry>
<entry>
<title>Python时间判断与赋值</title>
<link href="https://ifibe.com/posts/974e73c1/"/>
<id>https://ifibe.com/posts/974e73c1/</id>
<published>2021-02-02T15:57:27.000Z</published>
<updated>2021-02-02T15:57:27.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>非常简单的Python时间判断与赋值</p></blockquote><h2 id="判断当前时间为上午还是下午"><a href="#判断当前时间为上午还是下午" class="headerlink" title="判断当前时间为上午还是下午"></a>判断当前时间为上午还是下午</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> time</span><br><span class="line"></span><br><span class="line">mytime = time.localtime()</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> mytime.tm_hour < <span class="number">12</span>:</span><br><span class="line"> payload = <span class="string">'AM'</span></span><br><span class="line"> </span><br><span class="line"> <span class="built_in">print</span> (payload)</span><br><span class="line"></span><br><span class="line"><span class="keyword">else</span>:</span><br><span class="line"> payload = <span class="string">'PM'</span></span><br><span class="line"> </span><br><span class="line"> <span class="built_in">print</span> (payload)</span><br></pre></td></tr></table></figure><h3 id="内容编码"><a href="#内容编码" class="headerlink" title="内容编码"></a>内容编码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> time</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> codecs</span><br><span class="line"></span><br><span class="line">sys.stdout = codecs.getwriter(<span class="string">"utf-8"</span>)(sys.stdout.detach())</span><br><span class="line"></span><br><span class="line">mytime = time.localtime()</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> mytime.tm_hour < <span class="number">12</span>:</span><br><span class="line"> payload = <span class="string">'AM'</span></span><br><span class="line"> </span><br><span class="line"> <span class="built_in">print</span> (payload)</span><br><span class="line"></span><br><span class="line"><span class="keyword">else</span>:</span><br><span class="line"> payload = <span class="string">'PM'</span></span><br><span class="line"> </span><br><span class="line"> <span class="built_in">print</span> (payload)</span><br></pre></td></tr></table></figure><h2 id="调用-实现根据时间来输出不同内容"><a href="#调用-实现根据时间来输出不同内容" class="headerlink" title="调用(实现根据时间来输出不同内容)"></a>调用(实现根据时间来输出不同内容)</h2><p>取值<code>payload</code></p><h3 id="A-py"><a href="#A-py" class="headerlink" title="A.py"></a>A.py</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> time</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> codecs</span><br><span class="line"></span><br><span class="line">sys.stdout = codecs.getwriter(<span class="string">"utf-8"</span>)(sys.stdout.detach())</span><br><span class="line"></span><br><span class="line">mytime = time.localtime()</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> mytime.tm_hour < <span class="number">12</span>:</span><br><span class="line"> payload = <span class="string">'1'</span></span><br><span class="line"> </span><br><span class="line"> <span class="built_in">print</span> (payload)</span><br><span class="line"></span><br><span class="line"><span class="keyword">else</span>:</span><br><span class="line"> payload = <span class="string">'2'</span></span><br><span class="line"> </span><br><span class="line"> <span class="built_in">print</span> (payload)</span><br></pre></td></tr></table></figure><h3 id="B-py"><a href="#B-py" class="headerlink" title="B.py"></a>B.py</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> A <span class="keyword">import</span> payload</span><br><span class="line">br = payload</span><br><span class="line"><span class="built_in">print</span>(br)</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">使用Python函数进行时间判断,并对子项赋值</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="Python" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/Python/"/>
<category term="Python" scheme="https://ifibe.com/tags/Python/"/>
</entry>
<entry>
<title>Python中文字符转义报错</title>
<link href="https://ifibe.com/posts/611d64f6/"/>
<id>https://ifibe.com/posts/611d64f6/</id>
<published>2021-02-02T15:57:15.000Z</published>
<updated>2021-02-02T15:57:15.000Z</updated>
<content type="html"><![CDATA[<h2 id="UnicodeEncodeError-‘ascii’-codec-can’t-encode-characters-in-position-19-31-ordinal-not-in-range-128"><a href="#UnicodeEncodeError-‘ascii’-codec-can’t-encode-characters-in-position-19-31-ordinal-not-in-range-128" class="headerlink" title="UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 19-31: ordinal not in range(128)"></a>UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 19-31: ordinal not in range(128)</h2><h3 id="在Python中重设UTF-8编码输出"><a href="#在Python中重设UTF-8编码输出" class="headerlink" title="在Python中重设UTF-8编码输出"></a>在Python中重设UTF-8编码输出</h3><p>在脚本中加入</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> codecs</span><br><span class="line">sys.stdout = codecs.getwriter(<span class="string">"utf-8"</span>)(sys.stdout.detach())</span><br></pre></td></tr></table></figure><h2 id="UnicodeEncodeError-‘latin-1’-codec-can’t-encode-characters-in-position-19-31-Body-‘’-is-not-valid-Latin-1-Use-body-encode-‘utf-8’-if-you-want-to-send-it-encoded-in-UTF-8-”"><a href="#UnicodeEncodeError-‘latin-1’-codec-can’t-encode-characters-in-position-19-31-Body-‘’-is-not-valid-Latin-1-Use-body-encode-‘utf-8’-if-you-want-to-send-it-encoded-in-UTF-8-”" class="headerlink" title="UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 19-31: Body (‘’) is not valid Latin-1. Use body.encode(‘utf-8’) if you want to send it encoded in UTF-8.”"></a>UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 19-31: Body (‘’) is not valid Latin-1. Use body.encode(‘utf-8’) if you want to send it encoded in UTF-8.”</h2><h3 id="requests模块报错"><a href="#requests模块报错" class="headerlink" title="requests模块报错"></a>requests模块报错</h3><p>是因为传入的data数据未处理引起的</p><p>在请求参数后加<code>.encode('utf-8')</code></p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">res = requests.post(url, headers=self.headers, data=payload.encode(<span class="string">'utf-8'</span>)).json()</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">Python在执行中文输出时报错</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="Python" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/Python/"/>
<category term="Python" scheme="https://ifibe.com/tags/Python/"/>
</entry>
<entry>
<title>微信小程序抓包</title>
<link href="https://ifibe.com/posts/5e557948/"/>
<id>https://ifibe.com/posts/5e557948/</id>
<published>2021-01-19T13:23:03.000Z</published>
<updated>2021-01-19T13:23:03.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>由于微信7.0版本后不再信任手动添加的证书,此例使用Fidder+桌面版微信/UWP Wechat 进行小程序抓包(仅用于小程序调试)</p></blockquote><h2 id="前置任务"><a href="#前置任务" class="headerlink" title="前置任务"></a>前置任务</h2><h3 id="安装Fiddler"><a href="#安装Fiddler" class="headerlink" title="安装Fiddler"></a>安装Fiddler</h3><p>懂得都懂 fiddler</p><p><a href="https://www.telerik.com/download/fiddler">https://www.telerik.com/download/fiddler</a></p><p><img src="https://ifibe.com/asst/imgs/fiddler.webp" alt="Fiddler"></p><h3 id="安装FiddlerRoot-certificate"><a href="#安装FiddlerRoot-certificate" class="headerlink" title="安装FiddlerRoot certificate"></a>安装FiddlerRoot certificate</h3><p>信任Fiddler自签证书后即可解密HTTPS传输内容</p><p><img src="https://ifibe.com/asst/imgs/fiddler-cert.webp" alt="cert"></p><p>加密状态下看到的回调类似</p><figure class="highlight awk"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Referer: https:<span class="regexp">//</span>servicewechat.com<span class="regexp">/wxbebb3cdd9b331046/</span><span class="number">279</span>/page-frame.html</span><br></pre></td></tr></table></figure><h3 id="Fiddler具体用法"><a href="#Fiddler具体用法" class="headerlink" title="Fiddler具体用法"></a>Fiddler具体用法</h3><p>看文档</p><p><a href="https://docs.telerik.com/fiddler-everywhere/user-guide/main-menu.html">https://docs.telerik.com/fiddler-everywhere/user-guide/main-menu.html</a></p><h2 id="抓包"><a href="#抓包" class="headerlink" title="抓包"></a>抓包</h2><p>Fiddler启动后会开启系统代理<code>http=127.0.0.1:8888;https=127.0.0.1:8888;ftp=127.0.0.1:7890</code>以监听网卡数据</p><p>在AutoResponder可以使用正则表达式来过滤想要看到的请求</p><p><img src="https://ifibe.com/asst/imgs/fiddler-trans.webp" alt="trans"></p><h3 id="小程序抓包"><a href="#小程序抓包" class="headerlink" title="小程序抓包"></a>小程序抓包</h3><p>清屏后打开小程序,即可看到抓取的数据包</p><p>Headers</p><figure class="highlight http"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">POST</span> <span class="string">https://xcx.www.gov.cn/ebus/gwymp/api/r/pagedisplay/ShowHomeBotmConfig?</span> <span class="meta">HTTP/1.1</span></span><br><span class="line"><span class="attribute">Host</span><span class="punctuation">: </span>xcx.www.gov.cn</span><br><span class="line"><span class="attribute">Connection</span><span class="punctuation">: </span>keep-alive</span><br><span class="line"><span class="attribute">Content-Length</span><span class="punctuation">: </span>2</span><br><span class="line"><span class="attribute">User-Agent</span><span class="punctuation">: </span>Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat</span><br><span class="line"><span class="attribute">content-type</span><span class="punctuation">: </span>application/json</span><br><span class="line"><span class="attribute">dgd-pre-release</span><span class="punctuation">: </span>0</span><br><span class="line"><span class="attribute">x-tif-did</span><span class="punctuation">: </span>lrntxntzCv</span><br><span class="line"><span class="attribute">x-tif-openid</span><span class="punctuation">: </span>#</span><br><span class="line"><span class="attribute">x-tif-sid</span><span class="punctuation">: </span>#</span><br><span class="line"><span class="attribute">x-yss-city-code</span><span class="punctuation">: </span>4400</span><br><span class="line"><span class="attribute">x-yss-page</span><span class="punctuation">: </span>pages/index/index</span><br><span class="line"><span class="attribute">Referer</span><span class="punctuation">: </span>https://servicewechat.com/wxbebb3cdd9b331046/279/page-frame.html</span><br><span class="line"><span class="attribute">Accept-Encoding</span><span class="punctuation">: </span>gzip, deflate, br</span><br><span class="line"></span><br><span class="line"><span class="language-dust"><span class="template-variable">{}</span></span></span><br></pre></td></tr></table></figure><p>解密后的内容</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"errcode"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"errmsg"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"data"</span><span class="punctuation">:</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"face_expire"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"realname_expire"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"star_name"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"star_cid"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"uid"</span><span class="punctuation">:</span> <span class="string">"#"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"phone"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"cid_start_date"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"cid_expire_date"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"cid_type"</span><span class="punctuation">:</span> <span class="string">"1000"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ext_data"</span><span class="punctuation">:</span> <span class="string">""</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> </span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></table></figure><hr><h2 id="调试工具"><a href="#调试工具" class="headerlink" title="调试工具"></a>调试工具</h2><p>推荐使用Postman</p><p><a href="https://www.postman.com/downloads/">https://www.postman.com/downloads/</a></p>]]></content>
<summary type="html">使用Fiddler进行微信小程序抓包</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="工具" scheme="https://ifibe.com/categories/%E5%B7%A5%E5%85%B7/"/>
<category term="Fiddler" scheme="https://ifibe.com/tags/Fiddler/"/>
<category term="Postman" scheme="https://ifibe.com/tags/Postman/"/>
<category term="Wechat" scheme="https://ifibe.com/tags/Wechat/"/>
<category term="小程序抓包" scheme="https://ifibe.com/tags/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%8A%93%E5%8C%85/"/>
</entry>
<entry>
<title>主题修改记录</title>
<link href="https://ifibe.com/posts/1db0a89f/"/>
<id>https://ifibe.com/posts/1db0a89f/</id>
<published>2020-09-01T15:26:58.000Z</published>
<updated>2020-09-01T15:26:58.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>当前看到的主题为<code>butterfly</code>模板部分修改后的样式</p></blockquote><hr><h2 id="透明化部分"><a href="#透明化部分" class="headerlink" title="透明化部分"></a>透明化部分</h2><h3 id="banner-头图"><a href="#banner-头图" class="headerlink" title="banner 头图"></a>banner 头图</h3><p>在<code>\themes\butterfly\layout\includes\header\index.pug</code>中添加以下内容</p><figure class="highlight maxima"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> !is_post()</span><br><span class="line"> - <span class="built_in">var</span> bg_img = '<span class="built_in">background</span>-<span class="built_in">color</span>:<span class="built_in">transparent</span>;'</span><br></pre></td></tr></table></figure><p>修改如下</p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight csharp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">if</span> <span class="title">is_home</span>()</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.index_img || theme.<span class="function">default_top_img</span></span><br><span class="line"><span class="function"><span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_post</span>()</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = page.top_img || page.cover || page.randomcover || theme.<span class="function">default_top_img</span></span><br><span class="line"><span class="function"><span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_archive</span>()</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.archive_img || theme.<span class="function">default_top_img</span></span><br><span class="line"><span class="function"><span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_tag</span>()</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.tag_img || theme.<span class="function">default_top_img</span></span><br><span class="line"><span class="function"><span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_category</span>()</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.category_img || theme.default_top_img</span><br><span class="line"><span class="keyword">else</span></span><br><span class="line"> - <span class="keyword">var</span> top_img = page.top_img || theme.default_top_img</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> theme.<span class="function">douban</span></span><br><span class="line"><span class="function"> <span class="keyword">if</span> <span class="title">is_current</span>(<span class="params"><span class="string">'/movies/'</span>, [strict]</span>)</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.douban.movies_img || theme.<span class="function">default_top_img</span></span><br><span class="line"><span class="function"> <span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_current</span>(<span class="params"><span class="string">'/books/'</span>, [strict]</span>)</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.douban.books_img || theme.<span class="function">default_top_img</span></span><br><span class="line"><span class="function"> <span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_current</span>(<span class="params"><span class="string">'/games/'</span>, [strict]</span>)</span></span><br><span class="line"><span class="function"> - <span class="keyword">var</span> top_img</span> = theme.douban.games_img || theme.default_top_img</span><br><span class="line"></span><br><span class="line">- <span class="keyword">var</span> bg_img = top_img && top_img !== <span class="literal">true</span> ? `background-image: url(${url_for(top_img)})` : <span class="string">''</span></span><br><span class="line">- <span class="keyword">var</span> site_title = is_archive() ? _p(<span class="string">'page.archives'</span>) : page.title || page.tag || page.category || config.title</span><br><span class="line">- <span class="keyword">var</span> isHomeClass = is_home() ? <span class="string">'full_page'</span> : <span class="string">'not-index-bg'</span></span><br><span class="line">- is_post() ? isHomeClass = <span class="string">'post-bg'</span> : isHomeClass</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> !is_post()</span><br><span class="line"> - <span class="keyword">var</span> bg_img = <span class="string">'background-color:transparent;'</span></span><br><span class="line">header<span class="meta">#page-header(class=isHomeClass style=bg_img)</span></span><br><span class="line"> !=<span class="keyword">partial</span>(<span class="string">'includes/header/nav'</span>, {}, {cache:theme.fragment_cache})</span><br><span class="line"> <span class="function"><span class="keyword">if</span> <span class="title">is_home</span>()</span></span><br><span class="line"><span class="function"> #site-info</span></span><br><span class="line"><span class="function"> h1#site_title</span>=site_title</span><br><span class="line"> <span class="meta">#site_subtitle</span></span><br><span class="line"> span<span class="meta">#subtitle</span></span><br><span class="line"> <span class="keyword">if</span>(theme.social)</span><br><span class="line"> <span class="meta">#site_social_icons</span></span><br><span class="line"> !=fragment_cache(<span class="string">'social'</span>, function(){<span class="keyword">return</span> <span class="keyword">partial</span>(<span class="string">'includes/header/social'</span>)})</span><br><span class="line"> <span class="meta">#scroll_down</span></span><br><span class="line"> i.fas.fa-angle-down.scroll-down-<span class="function">effects</span></span><br><span class="line"><span class="function"> <span class="keyword">else</span> <span class="keyword">if</span> <span class="title">is_post</span>()</span></span><br><span class="line"><span class="function"> include ./post-info.pug </span></span><br><span class="line"><span class="function"> <span class="keyword">else</span></span></span><br><span class="line"><span class="function"> #page_site-info</span></span><br><span class="line"><span class="function"> h1#site_title</span>=site_title</span><br><span class="line"></span><br></pre></td></tr></table></figure></div></details><h3 id="页脚透明"><a href="#页脚透明" class="headerlink" title="页脚透明"></a>页脚透明</h3><p>在<code>\themes\butterfly\layout\includes\layout.pug</code>中修改以下内容</p><figure class="highlight maxima"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> !is_post()</span><br><span class="line"> <span class="keyword">if</span> (footerBg === <span class="literal">true</span>)</span><br><span class="line"> - <span class="built_in">var</span> footer_bg = '<span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">transparent</span>;'</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> - <span class="built_in">var</span> footer_bg = '<span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">transparent</span>;'</span><br><span class="line"><span class="keyword">else</span></span><br><span class="line"> - <span class="built_in">var</span> footer_bg = '<span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">transparent</span>;'</span><br></pre></td></tr></table></figure><p>修改如下</p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br></pre></td><td class="code"><pre><span class="line">- <span class="keyword">var</span> hideAside = !theme.aside.enable || page.aside === <span class="literal">false</span> ? <span class="string">'hide-aside'</span> : <span class="string">''</span></span><br><span class="line"></span><br><span class="line">doctype html</span><br><span class="line"><span class="title function_ invoke__">html</span>(lang=config.language data-theme=theme.display_mode)</span><br><span class="line"> head</span><br><span class="line"> <span class="keyword">include</span> ./head.pug</span><br><span class="line"> body</span><br><span class="line"> <span class="keyword">if</span> theme.preloader</span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/loading/loading'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"></span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/mobile-sidebar/index'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"></span><br><span class="line"> <span class="comment">#body-wrap</span></span><br><span class="line"> <span class="keyword">if</span> theme.background</span><br><span class="line"> <span class="comment">#web_bg</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">include</span> ./sidebar.pug</span><br><span class="line"> <span class="keyword">include</span> ./header/index.pug</span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> (!<span class="title function_ invoke__">is_post</span>())</span><br><span class="line"> main<span class="comment">#content-inner.layout_page(class=hideAside)</span></span><br><span class="line"> <span class="keyword">if</span> body</span><br><span class="line"> div!= body</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> block content</span><br><span class="line"> <span class="keyword">if</span> theme.aside.enable && page.aside !== <span class="literal">false</span></span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/widget/index'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> main<span class="comment">#content-inner.layout_post</span></span><br><span class="line"> <span class="keyword">if</span> body</span><br><span class="line"> div!= body</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> block content</span><br><span class="line"> </span><br><span class="line"> - <span class="keyword">var</span> footerBg = theme.footer_bg</span><br><span class="line"> <span class="keyword">if</span> !<span class="title function_ invoke__">is_post</span>()</span><br><span class="line"> <span class="keyword">if</span> (footerBg === <span class="literal">true</span>)</span><br><span class="line"> - <span class="keyword">var</span> footer_bg = <span class="string">'background-color: transparent;'</span></span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> - <span class="keyword">var</span> footer_bg = <span class="string">'background-color: transparent;'</span></span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> - <span class="keyword">var</span> footer_bg = <span class="string">'background-color: transparent;'</span></span><br><span class="line"></span><br><span class="line"> footer<span class="comment">#footer(style=footer_bg)</span></span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/footer'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"></span><br><span class="line"> <span class="keyword">include</span> ./rightside.pug</span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/third-party/search/index'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"> <span class="keyword">include</span> ./additional-js.pug</span><br></pre></td></tr></table></figure></div></details><p><code>dev 3.2.0 以前</code></p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight maxima"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> !is_post()</span><br><span class="line">- <span class="built_in">var</span> footer_bg = '<span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">transparent</span>;'</span><br></pre></td></tr></table></figure><p>修改如下</p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br></pre></td><td class="code"><pre><span class="line">- <span class="keyword">var</span> hideAside = !theme.aside.enable || page.aside === <span class="literal">false</span> ? <span class="string">'hide-aside'</span> : <span class="string">''</span></span><br><span class="line"></span><br><span class="line">doctype html</span><br><span class="line"><span class="title function_ invoke__">html</span>(lang=config.language data-theme=theme.display_mode)</span><br><span class="line"> head</span><br><span class="line"> <span class="keyword">include</span> ./head.pug</span><br><span class="line"> body</span><br><span class="line"> <span class="keyword">if</span> theme.preloader</span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/loading/loading'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"></span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/mobile-sidebar/index'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"></span><br><span class="line"> <span class="comment">#body-wrap</span></span><br><span class="line"> <span class="keyword">if</span> theme.background</span><br><span class="line"> - <span class="keyword">var</span> is_photo = theme.background.<span class="title function_ invoke__">startsWith</span>(<span class="string">'url'</span>) ? <span class="string">'photo'</span>:<span class="string">'color'</span></span><br><span class="line"> <span class="comment">#web_bg(data-type=is_photo)</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">include</span> ./sidebar.pug</span><br><span class="line"> <span class="keyword">include</span> ./header/index.pug</span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> (!<span class="title function_ invoke__">is_post</span>())</span><br><span class="line"> main<span class="comment">#content-inner.layout_page(class=hideAside)</span></span><br><span class="line"> <span class="keyword">if</span> body</span><br><span class="line"> div!= body</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> block content</span><br><span class="line"> <span class="keyword">if</span> theme.aside.enable && page.aside !== <span class="literal">false</span></span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/widget/index'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> main<span class="comment">#content-inner.layout_post</span></span><br><span class="line"> <span class="keyword">if</span> body</span><br><span class="line"> div!= body</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> block content</span><br><span class="line"> </span><br><span class="line"> - <span class="keyword">var</span> footer_bg = theme.footer_bg == <span class="literal">false</span> ? <span class="string">''</span> : bg_img</span><br><span class="line"> <span class="keyword">if</span> !<span class="title function_ invoke__">is_post</span>()</span><br><span class="line"> - <span class="keyword">var</span> footer_bg = <span class="string">'background-color: transparent;'</span></span><br><span class="line"> - <span class="keyword">var</span> is_bg = theme.footer_bg == <span class="literal">false</span> ? <span class="string">'color'</span> : <span class="string">'photo'</span></span><br><span class="line"> footer<span class="comment">#footer(style=footer_bg data-type=is_bg)</span></span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/footer'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"></span><br><span class="line"> <span class="keyword">include</span> ./rightside.pug</span><br><span class="line"> !=<span class="title function_ invoke__">partial</span>(<span class="string">'includes/third-party/search/index'</span>, {}, {<span class="attr">cache</span>:theme.fragment_cache})</span><br><span class="line"> <span class="keyword">include</span> ./additional-js.pug</span><br></pre></td></tr></table></figure></div></details></div></details><p>~~ ### 黑暗模式下 nav 处黑色浮块消除 ~~<br>在<code>\themes\butterfly\source\css\_mode\darkmode.styl</code>中删除以下</p><figure class="highlight processing"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">background</span>-<span class="type">color</span>: <span class="built_in">alpha</span>($dark-black, <span class="number">.7</span>)</span><br></pre></td></tr></table></figure><p>修改如下</p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight hsp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> hexo-config(<span class="string">'darkmode.enable'</span>) || hexo-config(<span class="string">'display_mode'</span>) == <span class="string">'dark'</span></span><br><span class="line"> [data-theme=<span class="string">'dark'</span>]</span><br><span class="line"> --global-bg: darken(<span class="meta">#<span class="number">121212</span>, <span class="number">2</span>)</span></span><br><span class="line"> --<span class="keyword">font</span>-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --hr-border: alpha(<span class="meta">#FFFFFF, <span class="number">.3</span>)</span></span><br><span class="line"> --hr-before-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --search-bg: <span class="meta">#<span class="number">121212</span></span></span><br><span class="line"> --search-<span class="keyword">input</span>-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --search-result-<span class="keyword">title</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.8</span>)</span></span><br><span class="line"> --preloader-bg: darken(<span class="meta">#<span class="number">121212</span>, <span class="number">2</span>)</span></span><br><span class="line"> --preloader-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --tab-border-<span class="keyword">color</span>: <span class="meta">#<span class="number">2</span>c2c2c</span></span><br><span class="line"> --tab-botton-bg: <span class="meta">#<span class="number">2</span>c2c2c</span></span><br><span class="line"> --tab-botton-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --tab-<span class="keyword">button</span>-hover-bg: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">15</span>)</span></span><br><span class="line"> --tab-<span class="keyword">button</span>-active-bg: <span class="meta">#<span class="number">121212</span></span></span><br><span class="line"> --card-bg: <span class="meta">#<span class="number">121212</span></span></span><br><span class="line"> --sidebar-bg: <span class="meta">#<span class="number">121212</span></span></span><br><span class="line"> --btn-hover-<span class="keyword">color</span>: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">40</span>)</span></span><br><span class="line"> --btn-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --btn-bg: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">5</span>)</span></span><br><span class="line"> --text-bg-hover: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">15</span>)</span></span><br><span class="line"> --light-grey: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --white: alpha(<span class="meta">#FFFFFF, <span class="number">.8</span>)</span></span><br><span class="line"> --text-highlight-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.8</span>)</span></span><br><span class="line"> --blockquote-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"> --blockquote-bg: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">10</span>)</span></span><br><span class="line"> --reward-pop: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">10</span>)</span></span><br><span class="line"> --sidebar-icon-<span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">// 網站背景,footer背景</span></span><br><span class="line"> <span class="meta">#web_bg[data-type=color],</span></span><br><span class="line"> <span class="meta">#footer[data-type=color]</span></span><br><span class="line"> background: darken(<span class="meta">#<span class="number">121212</span>, <span class="number">2</span>)</span></span><br><span class="line"></span><br><span class="line"> <span class="meta">#web_bg[data-type=photo]:before,</span></span><br><span class="line"> <span class="meta">#footer[data-type=photo]:before</span></span><br><span class="line"> position: absolute</span><br><span class="line"> <span class="keyword">width</span>: <span class="number">100</span>%</span><br><span class="line"> height: <span class="number">100</span>%</span><br><span class="line"> background-<span class="keyword">color</span>: alpha($dark-black, <span class="number">.7</span>)</span><br><span class="line"> content: <span class="string">''</span></span><br><span class="line"></span><br><span class="line"> <span class="meta">#page-header</span></span><br><span class="line"> background-<span class="keyword">color</span>: <span class="meta">#<span class="number">121212</span></span></span><br><span class="line"></span><br><span class="line"> <span class="meta">#article-container</span></span><br><span class="line"> code</span><br><span class="line"> background: <span class="meta">#<span class="number">2</span>c2c2c</span></span><br><span class="line"></span><br><span class="line"> pre > code</span><br><span class="line"> background: <span class="number">0</span></span><br><span class="line"></span><br><span class="line"> .note</span><br><span class="line"> code</span><br><span class="line"> background: $code-background</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 頭部</span></span><br><span class="line"> <span class="meta">#page-header</span></span><br><span class="line"> &:before</span><br><span class="line"> position: absolute</span><br><span class="line"> top: <span class="number">0</span></span><br><span class="line"> left: <span class="number">0</span></span><br><span class="line"> display: block</span><br><span class="line"> <span class="keyword">width</span>: <span class="number">100</span>%</span><br><span class="line"> height: <span class="number">100</span>%</span><br><span class="line"> content: <span class="string">''</span></span><br><span class="line"></span><br><span class="line"> & > <span class="meta">#nav</span></span><br><span class="line"> &.fixed</span><br><span class="line"> background: alpha(<span class="meta">#<span class="number">121212</span>, <span class="number">.8</span>)</span></span><br><span class="line"> box-shadow: <span class="number">0</span> <span class="number">5</span>px <span class="number">6</span>px <span class="number">-5</span>px rgba(<span class="number">133</span>, <span class="number">133</span>, <span class="number">133</span>, <span class="number">0</span>)</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 代碼框</span></span><br><span class="line"> <span class="meta">#article-container</span></span><br><span class="line"> pre,</span><br><span class="line"> .highlight:<span class="keyword">not</span>(.js-file-<span class="keyword">line</span>-container)</span><br><span class="line"> background-<span class="keyword">color</span>: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">2</span>) !important</span></span><br><span class="line"> <span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>) !important</span></span><br><span class="line"></span><br><span class="line"> figure.highlight</span><br><span class="line"> box-shadow: none</span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> hexo-config(<span class="string">'rootConfig.highlight'</span>) && hexo-config(<span class="string">'rootConfig.highlight.enable'</span>)</span><br><span class="line"> table::-webkit-scrollbar-thumb</span><br><span class="line"> background: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">5</span>)</span></span><br><span class="line"></span><br><span class="line"> .line:before</span><br><span class="line"> <span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>) !important</span></span><br><span class="line"></span><br><span class="line"> .hljs</span><br><span class="line"> background-<span class="keyword">color</span>: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">2</span>) !important</span></span><br><span class="line"></span><br><span class="line"> pre[class*=<span class="string">'language-'</span>]::-webkit-scrollbar-thumb</span><br><span class="line"> background: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">5</span>)</span></span><br><span class="line"></span><br><span class="line"> .highlight-tools</span><br><span class="line"> background: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">3</span>) !important</span></span><br><span class="line"> <span class="keyword">color</span>: <span class="meta">#<span class="number">90</span>a4ae !important</span></span><br><span class="line"></span><br><span class="line"> <span class="meta">#post-comment</span></span><br><span class="line"> .comment-<span class="keyword">switch</span></span><br><span class="line"> <span class="keyword">if</span> hexo-config(<span class="string">'comments.text'</span>)</span><br><span class="line"> background: <span class="meta">#<span class="number">2</span>c2c2c !important</span></span><br><span class="line"></span><br><span class="line"> label</span><br><span class="line"> filter: brightness(<span class="number">.7</span>)</span><br><span class="line"></span><br><span class="line"> <span class="comment">// note</span></span><br><span class="line"> <span class="keyword">if</span> hexo-config(<span class="string">'note.style'</span>) == <span class="string">'modern'</span> || hexo-config(<span class="string">'note.style'</span>) == <span class="string">'flat'</span></span><br><span class="line"> .note</span><br><span class="line"> filter: brightness(<span class="number">.7</span>)</span><br><span class="line"></span><br><span class="line"> <span class="comment">// hide-tags</span></span><br><span class="line"> .hide-<span class="keyword">button</span>,</span><br><span class="line"> .btn-beautify,</span><br><span class="line"> .mermaid,</span><br><span class="line"> .post-outdate-notice,</span><br><span class="line"> .error-img,</span><br><span class="line"> <span class="meta">#article-container iframe,</span></span><br><span class="line"> img,</span><br><span class="line"> .gist,</span><br><span class="line"> .aplayer</span><br><span class="line"> filter: brightness(<span class="number">.7</span>)</span><br><span class="line"></span><br><span class="line"> <span class="meta">#aside_content .aside-list > .aside-list-item:not(:last-child)</span></span><br><span class="line"> border-bottom: <span class="number">1</span>px dashed alpha(<span class="meta">#FFFFFF, <span class="number">.1</span>)</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">// 第三方</span></span><br><span class="line"> <span class="comment">// 插件 hexo-blog-encrypt</span></span><br><span class="line"> <span class="meta">#hexo-blog-encrypt</span></span><br><span class="line"> label,</span><br><span class="line"> <span class="keyword">input</span></span><br><span class="line"> <span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>) !important</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">input</span></span><br><span class="line"> background-<span class="keyword">color</span>: <span class="meta">#<span class="number">121212</span></span></span><br><span class="line"></span><br><span class="line"> <span class="comment">// Gitalk</span></span><br><span class="line"> <span class="meta">#gitalk-container</span></span><br><span class="line"> filter: brightness(<span class="number">.8</span>)</span><br><span class="line"></span><br><span class="line"> svg</span><br><span class="line"> fill: alpha(<span class="meta">#FFFFFF, <span class="number">.8</span>) !important</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">// Disqus and Disqusjs</span></span><br><span class="line"> <span class="meta">#disqus_thread</span></span><br><span class="line"> <span class="meta">#dsqjs</span></span><br><span class="line"> .dsqjs-tab-active,</span><br><span class="line"> .dsqjs-no-comment</span><br><span class="line"> <span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"></span><br><span class="line"> .dsqjs-order-label</span><br><span class="line"> background-<span class="keyword">color</span>: lighten(<span class="meta">#<span class="number">121212</span>, <span class="number">5</span>)</span></span><br><span class="line"></span><br><span class="line"> .dsqjs-post-body</span><br><span class="line"> <span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"></span><br><span class="line"> code,</span><br><span class="line"> pre</span><br><span class="line"> background: <span class="meta">#<span class="number">2</span>c2c2c</span></span><br><span class="line"></span><br><span class="line"> blockquote</span><br><span class="line"> <span class="keyword">color</span>: alpha(<span class="meta">#FFFFFF, <span class="number">.6</span>)</span></span><br><span class="line"></span><br></pre></td></tr></table></figure></div></details><hr><h2 id="滚动栏样式"><a href="#滚动栏样式" class="headerlink" title="滚动栏样式"></a>滚动栏样式</h2><p>在<code>\themes\butterfly\source\css\_global\index.styl</code>中添加以下内容</p><figure class="highlight maxima"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line">//滚动栏开始</span><br><span class="line">*::-webkit-scrollbar</span><br><span class="line"> <span class="built_in">width</span>: 10px</span><br><span class="line"> <span class="built_in">height</span>: 10px</span><br><span class="line"></span><br><span class="line">*::-webkit-scrollbar-thumb</span><br><span class="line"> <span class="built_in">background</span>: <span class="built_in">var</span>(--btn-bg)</span><br><span class="line"> <span class="built_in">background</span>-<span class="built_in">image</span>: -webkit-<span class="built_in">linear</span>-gradient( 45deg, rgba(<span class="number">255</span>, <span class="number">255</span>, <span class="number">255</span>, <span class="number">0.4</span>) <span class="number">25</span><span class="symbol">%</span>, <span class="built_in">transparent</span> <span class="number">25</span><span class="symbol">%</span>, <span class="built_in">transparent</span> <span class="number">50</span><span class="symbol">%</span>, rgba(<span class="number">255</span>, <span class="number">255</span>, <span class="number">255</span>, <span class="number">0.4</span>) <span class="number">50</span><span class="symbol">%</span>, rgba(<span class="number">255</span>, <span class="number">255</span>, <span class="number">255</span>, <span class="number">0.4</span>) <span class="number">75</span><span class="symbol">%</span>, <span class="built_in">transparent</span> <span class="number">75</span><span class="symbol">%</span>, <span class="built_in">transparent</span>)</span><br><span class="line"> <span class="built_in">border</span>-<span class="built_in">radius</span>: 2em</span><br><span class="line"></span><br><span class="line">*::-webkit-scrollbar-<span class="built_in">track</span></span><br><span class="line"> <span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">transparent</span></span><br><span class="line"></span><br><span class="line">*::-webkit-scrollbar-corner </span><br><span class="line"> <span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">transparent</span></span><br><span class="line"></span><br><span class="line">*::-moz-selection</span><br><span class="line"> <span class="built_in">color</span>: #fff</span><br><span class="line"> <span class="built_in">background</span>-<span class="built_in">color</span>: <span class="built_in">var</span>(--btn-bg)</span><br><span class="line">//滚动栏结束</span><br></pre></td></tr></table></figure><p>滚动栏配色调取config中<code>theme_color</code>中<code>main</code>值。</p><p>修改如下</p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br><span class="line">283</span><br><span class="line">284</span><br><span class="line">285</span><br><span class="line">286</span><br><span class="line">287</span><br><span class="line">288</span><br><span class="line">289</span><br><span class="line">290</span><br><span class="line">291</span><br><span class="line">292</span><br><span class="line">293</span><br><span class="line">294</span><br><span class="line">295</span><br><span class="line">296</span><br><span class="line">297</span><br><span class="line">298</span><br><span class="line">299</span><br><span class="line">300</span><br><span class="line">301</span><br><span class="line">302</span><br><span class="line">303</span><br><span class="line">304</span><br><span class="line">305</span><br><span class="line">306</span><br><span class="line">307</span><br><span class="line">308</span><br><span class="line">309</span><br><span class="line">310</span><br><span class="line">311</span><br><span class="line">312</span><br><span class="line">313</span><br><span class="line">314</span><br><span class="line">315</span><br><span class="line">316</span><br><span class="line">317</span><br><span class="line">318</span><br><span class="line">319</span><br><span class="line">320</span><br><span class="line">321</span><br><span class="line">322</span><br><span class="line">323</span><br><span class="line">324</span><br><span class="line">325</span><br><span class="line">326</span><br><span class="line">327</span><br><span class="line">328</span><br><span class="line">329</span><br><span class="line">330</span><br><span class="line">331</span><br><span class="line">332</span><br><span class="line">333</span><br><span class="line">334</span><br><span class="line">335</span><br><span class="line">336</span><br><span class="line">337</span><br><span class="line">338</span><br><span class="line">339</span><br><span class="line">340</span><br><span class="line">341</span><br><span class="line">342</span><br><span class="line">343</span><br><span class="line">344</span><br><span class="line">345</span><br><span class="line">346</span><br><span class="line">347</span><br><span class="line">348</span><br><span class="line">349</span><br><span class="line">350</span><br><span class="line">351</span><br><span class="line">352</span><br><span class="line">353</span><br><span class="line">354</span><br><span class="line">355</span><br><span class="line">356</span><br><span class="line">357</span><br><span class="line">358</span><br><span class="line">359</span><br><span class="line">360</span><br><span class="line">361</span><br><span class="line">362</span><br><span class="line">363</span><br><span class="line">364</span><br><span class="line">365</span><br><span class="line">366</span><br><span class="line">367</span><br><span class="line">368</span><br><span class="line">369</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">html</span></span><br><span class="line"> <span class="attr">height:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">font-size:</span> <span class="string">20px</span></span><br><span class="line"></span><br><span class="line"><span class="string">body</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">relative</span></span><br><span class="line"> <span class="attr">min-height:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">var(--global-bg)</span></span><br><span class="line"> <span class="attr">color:</span> <span class="string">var(--font-color)</span></span><br><span class="line"> <span class="attr">font-size:</span> <span class="string">$font-size</span></span><br><span class="line"> <span class="attr">font-family:</span> <span class="string">$font-family</span></span><br><span class="line"> <span class="attr">line-height:</span> <span class="string">$text-line-height</span></span><br><span class="line"> <span class="string">-webkit-tap-highlight-color:</span> <span class="string">rgba(0,</span> <span class="number">0</span><span class="string">,</span> <span class="number">0</span><span class="string">,</span> <span class="number">0</span><span class="string">)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">if</span> <span class="type">!hexo</span><span class="string">-config('copy.enable')</span></span><br><span class="line"> <span class="attr">user-select:</span> <span class="string">none</span></span><br><span class="line"> </span><br><span class="line"><span class="string">//滚动栏开始</span></span><br><span class="line"><span class="string">*::-webkit-scrollbar</span></span><br><span class="line"> <span class="attr">width:</span> <span class="string">10px</span></span><br><span class="line"> <span class="attr">height:</span> <span class="string">10px</span></span><br><span class="line"></span><br><span class="line"><span class="string">*::-webkit-scrollbar-thumb</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">var(--btn-bg)</span></span><br><span class="line"> <span class="attr">background-image:</span> <span class="string">-webkit-linear-gradient(</span> <span class="string">45deg,</span> <span class="string">rgba(255,</span> <span class="number">255</span><span class="string">,</span> <span class="number">255</span><span class="string">,</span> <span class="number">0.4</span><span class="string">)</span> <span class="number">25</span><span class="string">%,</span> <span class="string">transparent</span> <span class="number">25</span><span class="string">%,</span> <span class="string">transparent</span> <span class="number">50</span><span class="string">%,</span> <span class="string">rgba(255,</span> <span class="number">255</span><span class="string">,</span> <span class="number">255</span><span class="string">,</span> <span class="number">0.4</span><span class="string">)</span> <span class="number">50</span><span class="string">%,</span> <span class="string">rgba(255,</span> <span class="number">255</span><span class="string">,</span> <span class="number">255</span><span class="string">,</span> <span class="number">0.4</span><span class="string">)</span> <span class="number">75</span><span class="string">%,</span> <span class="string">transparent</span> <span class="number">75</span><span class="string">%,</span> <span class="string">transparent)</span></span><br><span class="line"> <span class="attr">border-radius:</span> <span class="string">2em</span></span><br><span class="line"></span><br><span class="line"><span class="string">*::-webkit-scrollbar-track</span></span><br><span class="line"> <span class="attr">background-color:</span> <span class="string">transparent</span></span><br><span class="line"></span><br><span class="line"><span class="string">*::-webkit-scrollbar-corner</span> </span><br><span class="line"> <span class="attr">background-color:</span> <span class="string">transparent</span></span><br><span class="line"></span><br><span class="line"><span class="string">*::-moz-selection</span></span><br><span class="line"> <span class="attr">color:</span> <span class="comment">#fff</span></span><br><span class="line"> <span class="attr">background-color:</span> <span class="string">var(--btn-bg)</span></span><br><span class="line"><span class="string">//滚动栏结束</span></span><br><span class="line"></span><br><span class="line"><span class="string">input::placeholder</span></span><br><span class="line"> <span class="attr">color:</span> <span class="string">var(--font-color)</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#web_bg</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">fixed</span></span><br><span class="line"> <span class="attr">z-index:</span> <span class="number">-999</span></span><br><span class="line"> <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">height:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">$web-bg</span></span><br><span class="line"> <span class="attr">background-attachment:</span> <span class="string">local</span></span><br><span class="line"> <span class="attr">background-position:</span> <span class="string">center</span></span><br><span class="line"> <span class="attr">background-size:</span> <span class="string">cover</span></span><br><span class="line"> <span class="attr">background-repeat:</span> <span class="literal">no</span><span class="string">-repeat</span></span><br><span class="line"></span><br><span class="line"><span class="string">h1,</span></span><br><span class="line"><span class="string">h2,</span></span><br><span class="line"><span class="string">h3,</span></span><br><span class="line"><span class="string">h4,</span></span><br><span class="line"><span class="string">h5,</span></span><br><span class="line"><span class="string">h6</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">relative</span></span><br><span class="line"> <span class="attr">margin:</span> <span class="string">1rem</span> <span class="number">0</span> <span class="string">.7rem</span></span><br><span class="line"> <span class="attr">color:</span> <span class="string">var(--text-highlight-color)</span></span><br><span class="line"> <span class="attr">font-weight:</span> <span class="string">bold</span></span><br><span class="line"></span><br><span class="line"> <span class="string">code</span></span><br><span class="line"> <span class="attr">font-size:</span> <span class="string">inherit</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line"><span class="string">*</span></span><br><span class="line"> <span class="attr">box-sizing:</span> <span class="string">border-box</span></span><br><span class="line"></span><br><span class="line"><span class="string">hr</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">relative</span></span><br><span class="line"> <span class="attr">margin:</span> <span class="string">2rem</span> <span class="string">auto</span></span><br><span class="line"> <span class="attr">border:</span> <span class="string">2px</span> <span class="string">dashed</span> <span class="string">var(--hr-border)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">if</span> <span class="string">hexo-config('hr_icon.enable')</span></span><br><span class="line"> <span class="attr">width:</span> <span class="string">calc(100%</span> <span class="bullet">-</span> <span class="string">4px)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">&:hover</span></span><br><span class="line"> <span class="string">&:before</span></span><br><span class="line"> <span class="attr">left:</span> <span class="string">calc(95%</span> <span class="bullet">-</span> <span class="string">20px)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">&:before</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">absolute</span></span><br><span class="line"> <span class="attr">top:</span> <span class="string">$hr-icon-top</span></span><br><span class="line"> <span class="attr">left:</span> <span class="number">5</span><span class="string">%</span></span><br><span class="line"> <span class="attr">z-index:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">color:</span> <span class="string">var(--hr-before-color)</span></span><br><span class="line"> <span class="attr">content:</span> <span class="string">$hr-icon</span></span><br><span class="line"> <span class="attr">font-size:</span> <span class="string">20px</span></span><br><span class="line"> <span class="attr">line-height:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transition:</span> <span class="string">all</span> <span class="string">1s</span> <span class="string">ease-in-out</span></span><br><span class="line"> <span class="string">@extend</span> <span class="string">.fontawesomeIcon</span></span><br><span class="line"></span><br><span class="line"><span class="string">.table-wrap</span></span><br><span class="line"> <span class="attr">overflow-x:</span> <span class="string">scroll</span></span><br><span class="line"> <span class="attr">margin:</span> <span class="number">0</span> <span class="number">0</span> <span class="string">1rem</span></span><br><span class="line"></span><br><span class="line"><span class="string">table</span></span><br><span class="line"> <span class="attr">display:</span> <span class="string">table</span></span><br><span class="line"> <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">border-spacing:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">border-collapse:</span> <span class="string">collapse</span></span><br><span class="line"> <span class="attr">empty-cells:</span> <span class="string">show</span></span><br><span class="line"></span><br><span class="line"> <span class="string">thead</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">alpha($table-thead-bg,</span> <span class="number">10</span><span class="string">%)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">th,</span></span><br><span class="line"> <span class="string">td</span></span><br><span class="line"> <span class="attr">padding:</span> <span class="string">.3rem</span> <span class="string">.6rem</span></span><br><span class="line"> <span class="attr">border:</span> <span class="string">1px</span> <span class="string">solid</span> <span class="string">var(--light-grey)</span></span><br><span class="line"> <span class="attr">vertical-align:</span> <span class="string">middle</span></span><br><span class="line"></span><br><span class="line"><span class="string">*::selection</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">$theme-text-selection-color</span></span><br><span class="line"> <span class="attr">color:</span> <span class="comment">#F7F7F7</span></span><br><span class="line"></span><br><span class="line"><span class="string">button</span></span><br><span class="line"> <span class="attr">padding:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">outline:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">border:</span> <span class="string">none</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">none</span></span><br><span class="line"> <span class="attr">cursor:</span> <span class="string">pointer</span></span><br><span class="line"></span><br><span class="line"><span class="string">//</span> <span class="string">font</span></span><br><span class="line"><span class="comment">#page-header #site_title,</span></span><br><span class="line"><span class="comment">#page-header #site_subtitle,</span></span><br><span class="line"><span class="comment">#site-name,</span></span><br><span class="line"><span class="comment">#aside_content .author-info__name,</span></span><br><span class="line"><span class="comment">#aside_content .author-info__description</span></span><br><span class="line"> <span class="attr">font-family:</span> <span class="string">$site-name-font</span></span><br><span class="line"></span><br><span class="line"><span class="string">.is-center</span></span><br><span class="line"> <span class="attr">text-align:</span> <span class="string">center</span></span><br><span class="line"></span><br><span class="line"><span class="string">.copy-true</span></span><br><span class="line"> <span class="attr">user-select:</span> <span class="string">all</span></span><br><span class="line"></span><br><span class="line"><span class="string">.pull-left</span></span><br><span class="line"> <span class="attr">float:</span> <span class="string">left</span></span><br><span class="line"></span><br><span class="line"><span class="string">.pull-right</span></span><br><span class="line"> <span class="attr">float:</span> <span class="string">right</span></span><br><span class="line"></span><br><span class="line"><span class="string">.button--animated</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">relative</span></span><br><span class="line"> <span class="attr">z-index:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transition:</span> <span class="string">color</span> <span class="string">1s</span></span><br><span class="line"></span><br><span class="line"> <span class="string">&:before</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">absolute</span></span><br><span class="line"> <span class="attr">top:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">right:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">bottom:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">left:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">z-index:</span> <span class="number">-1</span></span><br><span class="line"> <span class="attr">background:</span> <span class="string">var(--btn-hover-color)</span></span><br><span class="line"> <span class="attr">content:</span> <span class="string">''</span></span><br><span class="line"> <span class="attr">transition:</span> <span class="string">transform</span> <span class="string">.5s</span> <span class="string">ease-out</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scaleX(0)</span></span><br><span class="line"> <span class="attr">transform-origin:</span> <span class="number">0</span> <span class="number">50</span><span class="string">%</span></span><br><span class="line"></span><br><span class="line"> <span class="string">&:hover</span></span><br><span class="line"> <span class="string">&:before</span></span><br><span class="line"> <span class="attr">transition-timing-function:</span> <span class="string">cubic-bezier(.45,</span> <span class="number">1.64</span><span class="string">,</span> <span class="number">.47</span><span class="string">,</span> <span class="number">.66</span><span class="string">)</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scaleX(1)</span></span><br><span class="line"></span><br><span class="line"><span class="string">img[src=''],</span></span><br><span class="line"><span class="string">img:not([src])</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line"><span class="string">.img-alt</span></span><br><span class="line"> <span class="attr">margin:</span> <span class="string">-.5rem</span> <span class="number">0</span> <span class="string">.5rem</span></span><br><span class="line"> <span class="attr">color:</span> <span class="comment">#858585</span></span><br><span class="line"></span><br><span class="line"> <span class="string">&:hover</span></span><br><span class="line"> <span class="attr">text-decoration:</span> <span class="string">none</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line"><span class="string">.post-ad</span></span><br><span class="line"> <span class="attr">margin:</span> <span class="string">2rem</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line"><span class="string">.ad_height</span></span><br><span class="line"> <span class="attr">display:</span> <span class="string">block</span> <span class="type">!important</span></span><br><span class="line"> <span class="attr">height:</span> <span class="string">auto</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line"><span class="string">//</span> <span class="string">animation</span></span><br><span class="line"><span class="comment">#content-inner,</span></span><br><span class="line"><span class="comment">#footer</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">main</span> <span class="string">1s</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#page-header</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">header-effect</span> <span class="string">1s</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#site_title,</span></span><br><span class="line"><span class="comment">#site_subtitle</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">titlescale</span> <span class="string">1s</span></span><br><span class="line"></span><br><span class="line"><span class="string">canvas:not(#ribbon-canvas),</span></span><br><span class="line"><span class="comment">#web_bg</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">to_show</span> <span class="string">4s</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#ribbon-canvas</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">ribbon_to_show</span> <span class="string">4s</span></span><br><span class="line"></span><br><span class="line"><span class="string">.card-announcement-animation</span></span><br><span class="line"> <span class="attr">color:</span> <span class="comment">#FF0000</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">announ_animation</span> <span class="string">.8s</span> <span class="string">linear</span> <span class="string">infinite</span></span><br><span class="line"></span><br><span class="line"><span class="string">.scroll-down-effects</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">scroll-down-effect</span> <span class="number">1.</span><span class="string">5s</span> <span class="string">infinite</span></span><br><span class="line"></span><br><span class="line"><span class="string">if</span> <span class="string">hexo-config('avatar.effect')</span> <span class="string">==</span> <span class="literal">true</span></span><br><span class="line"> <span class="string">.avatar-img</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">avatar_turn_around</span> <span class="string">2s</span> <span class="string">linear</span> <span class="string">infinite</span></span><br><span class="line"></span><br><span class="line"><span class="string">.reward-main</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">donate_effcet</span> <span class="string">.3s</span> <span class="string">.1s</span> <span class="string">ease</span> <span class="string">both</span></span><br><span class="line"></span><br><span class="line"><span class="string">.tocOpenPc</span></span><br><span class="line"> <span class="string">.sidebar-toc__title</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">tocsidebarLtoR</span> <span class="string">.5s</span></span><br><span class="line"></span><br><span class="line"> <span class="string">.sidebar-toc__progress</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">tocsidebarLtoR</span> <span class="string">.7s</span></span><br><span class="line"></span><br><span class="line"> <span class="string">.sidebar-toc__content</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">tocsidebarLtoR</span> <span class="string">.9s</span></span><br><span class="line"></span><br><span class="line"><span class="string">.tocOpenMobile</span></span><br><span class="line"> <span class="string">.sidebar-toc__title</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">tocsidebarRtoL</span> <span class="string">.4s</span></span><br><span class="line"></span><br><span class="line"> <span class="string">.sidebar-toc__progress</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">tocsidebarRtoL</span> <span class="string">.6s</span></span><br><span class="line"></span><br><span class="line"> <span class="string">.sidebar-toc__content</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">tocsidebarRtoL</span> <span class="string">.7s</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#mobile-sidebar-menus</span></span><br><span class="line"> <span class="string">&.open</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translate3d(-100%,</span> <span class="number">0</span><span class="string">,</span> <span class="number">0</span><span class="string">)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">for</span> <span class="string">i</span> <span class="string">in</span> <span class="number">1</span> <span class="number">2</span> <span class="number">3</span> <span class="number">4</span></span><br><span class="line"> <span class="string">></span> <span class="string">:nth-child({i})</span></span><br><span class="line"> <span class="attr">animation:</span> <span class="string">sidebarItem</span> <span class="string">(i</span> <span class="string">/</span> <span class="number">5</span><span class="string">)s</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">scroll-down-effect</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">top:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">.4</span></span><br><span class="line"></span><br><span class="line"> <span class="number">50</span><span class="string">%</span></span><br><span class="line"> <span class="attr">top:</span> <span class="string">-16px</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">top:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">.4</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">header-effect</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(-50px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">headerNoOpacity</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(-50px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">main</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(50px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">titlescale</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scale(.7)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scale(1)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">search_close</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scale(1)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scale(.7)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">to_show</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">ribbon_to_show</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="string">hexo-config('canvas_ribbon.alpha')</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">avatar_turn_around</span></span><br><span class="line"> <span class="string">from</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">rotate(0)</span></span><br><span class="line"></span><br><span class="line"> <span class="string">to</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">rotate(360deg)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">sub_menus</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(10px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">donate_effcet</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(-20px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">opacity:</span> <span class="number">1</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateY(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">announ_animation</span></span><br><span class="line"> <span class="number">0</span><span class="string">%,</span></span><br><span class="line"> <span class="string">to</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scale(1)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">50</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">scale(1.2)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">sidebarItem</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateX(200px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateX(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">tocsidebarRtoL</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateX(200px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateX(0)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">tocsidebarLtoR</span></span><br><span class="line"> <span class="number">0</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateX(-200px)</span></span><br><span class="line"></span><br><span class="line"> <span class="number">100</span><span class="string">%</span></span><br><span class="line"> <span class="attr">transform:</span> <span class="string">translateX(0)</span></span><br></pre></td></tr></table></figure></div></details><hr><h2 id="页脚心跳"><a href="#页脚心跳" class="headerlink" title="页脚心跳"></a>页脚心跳</h2><p>在<code>\themes\butterfly\layout\includes\footer.pug</code>中修改以下内容</p><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="symbol">&nbsp;</span><span class="tag"><<span class="name">i</span> <span class="attr">style</span>=<span class="string">"color:#FF6A6A;animation: announ_animation 0.8s linear infinite;"</span><span class="attr">class</span>=<span class="string">"fas fa-heart"</span>></span><span class="tag"></<span class="name">i</span>></span></span><br></pre></td></tr></table></figure><p>修改如下</p><details class="toggle" style="border: 1px solid var(--btn-bg)"><summary class="toggle-button" style="background-color: var(--btn-bg);">点击查看</summary><div class="toggle-content"><figure class="highlight pgsql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#footer-wrap</span></span><br><span class="line"> <span class="keyword">if</span> theme.footer.<span class="keyword">owner</span>.<span class="keyword">enable</span></span><br><span class="line"> - var now = <span class="built_in">new</span> <span class="type">Date</span>()</span><br><span class="line"> - var nowYear = now.getFullYear()</span><br><span class="line"> <span class="keyword">if</span> theme.footer.<span class="keyword">owner</span>.since && theme.footer.<span class="keyword">owner</span>.since != nowYear</span><br><span class="line"> .copyright!= `&<span class="keyword">copy</span>;${theme.footer.<span class="keyword">owner</span>.since} - ${nowYear} <span class="keyword">By</span> ${config.author}`</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> .copyright!= `&<span class="keyword">copy</span>; ${nowYear}&nbsp;<i style="color:#FF6A6A;animation: announ_animation 0.8s linear infinite;"<span class="keyword">class</span>="fas fa-heart"></i> <span class="keyword">By</span> ${config.author}`</span><br><span class="line"> <span class="keyword">if</span> theme.footer.copyright</span><br><span class="line"> .framework-<span class="keyword">info</span></span><br><span class="line"> span= _p(<span class="string">'footer.framework'</span>) + <span class="string">' '</span></span><br><span class="line"> a(href=<span class="string">'https://hexo.io'</span>)= <span class="string">'Hexo'</span></span><br><span class="line"> span.footer-separator |</span><br><span class="line"> span= _p(<span class="string">'footer.theme'</span>) + <span class="string">' '</span></span><br><span class="line"> a(href=<span class="string">'https://github.com/jerryc127/hexo-theme-butterfly'</span>)= <span class="string">'Butterfly'</span></span><br><span class="line"> <span class="keyword">if</span> theme.footer.custom_text</span><br><span class="line"> .footer_custom_text!=`${theme.footer.custom_text}` </span><br><span class="line"> <span class="keyword">if</span> theme.footer.ICP.<span class="keyword">enable</span></span><br><span class="line"> .icp</span><br><span class="line"> a(href=theme.footer.ICP.url)</span><br><span class="line"> <span class="keyword">if</span> theme.footer.ICP.icon</span><br><span class="line"> img.icp-icon(src=url_for(theme.footer.ICP.icon))</span><br><span class="line"> span=theme.footer.ICP.text</span><br><span class="line"></span><br></pre></td></tr></table></figure></div></details>]]></content>
<summary type="html">butterfly主题美化修改记录,hexo-theme-butterfly</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="Hexo 优化" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/Hexo-%E4%BC%98%E5%8C%96/"/>
<category term="Hexo" scheme="https://ifibe.com/tags/Hexo/"/>
<category term="Hexo优化" scheme="https://ifibe.com/tags/Hexo%E4%BC%98%E5%8C%96/"/>
<category term="标签" scheme="https://ifibe.com/tags/%E6%A0%87%E7%AD%BE/"/>
<category term="butterfly" scheme="https://ifibe.com/tags/butterfly/"/>
</entry>
<entry>
<title>Git开启大小写识别</title>
<link href="https://ifibe.com/posts/824c4975/"/>
<id>https://ifibe.com/posts/824c4975/</id>
<published>2020-09-01T14:57:04.000Z</published>
<updated>2020-09-01T14:57:04.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>由于Windows下Git的默认配置不区分文件名称的大小写,在工程远端推送中就会挖很多大坑,如果在对文件名称大小写敏感的项目开发途中修改了某一名称的大小写,此时在远端推送时Git是不会检测到这一名称大小写修改的。</p></blockquote><h4 id="默认配置下文件名变动侦测"><a href="#默认配置下文件名变动侦测" class="headerlink" title="默认配置下文件名变动侦测"></a>默认配置下文件名变动侦测</h4><p>使用<code>git mv</code>来重命名文件夹(在<code>core.ignorecase=true</code>情况下)</p><h3 id="开启Git对大小写的识别"><a href="#开启Git对大小写的识别" class="headerlink" title="开启Git对大小写的识别"></a>开启Git对大小写的识别</h3><ul><li>在仓库命令行中执行<figure class="highlight arduino"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git config core.ignorecase <span class="literal">false</span></span><br></pre></td></tr></table></figure></li><li>Git全局开启<figure class="highlight arduino"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git config --global core.ignorecase <span class="literal">false</span></span><br></pre></td></tr></table></figure></li></ul><h3 id="查看配置文件"><a href="#查看配置文件" class="headerlink" title="查看配置文件"></a>查看配置文件</h3><figure class="highlight lua"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git <span class="built_in">config</span> <span class="comment">--list</span></span><br></pre></td></tr></table></figure><p>找到有<code>core.ignorecase=false</code>即为大小写敏感开启</p>]]></content>
<summary type="html">Git开启大小写识别</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="Git" scheme="https://ifibe.com/tags/Git/"/>
</entry>
<entry>
<title>Heroku上一键部署Cloudreve网盘程序并开启Redis</title>
<link href="https://ifibe.com/posts/458e93i5/"/>
<id>https://ifibe.com/posts/458e93i5/</id>
<published>2020-07-19T10:11:48.000Z</published>
<updated>2020-07-21T13:43:43.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Cloudreve 支持多家云存储驱动的公有云文件系统,能助您以最低的成本快速搭建公私兼备的网盘系统。实验性的附加Mysql数据库方式在最下方。</p></blockquote><div class="note warning flat"><p><a href="https://ifibe.com/posts/c12ba40e/">查看更新的内容:Cloudreve-Heroku</a></p></div><h2 id="在Heroku一键部署Cloudreve-Redis"><a href="#在Heroku一键部署Cloudreve-Redis" class="headerlink" title="在Heroku一键部署Cloudreve+Redis"></a>在Heroku一键部署Cloudreve+Redis</h2><p>一键部署在Heroku上:<a href="https://heroku.com/deploy?template=https://github.com/useblue/Cloudreve-Heroku"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy"></a></p><hr><h2 id="镜像内容"><a href="#镜像内容" class="headerlink" title="镜像内容"></a>镜像内容</h2><ul><li><a href="https://github.com/useblue/Cloudreve-Heroku">项目地址:Cloudreve-Heroku</a></li><li>基于redis:6.0.5-alpine镜像制作,系统运行占用极小,默认开启Redis缓存服务</li><li>容器中的Redis版本为 6.0.5</li><li>容器中的Cloudreve版本为 cloudreve_3.1.1_linux_amd64(#27bf8ca)</li></ul><hr><h2 id="运行信息(默认账户,启动后请及时修改)"><a href="#运行信息(默认账户,启动后请及时修改)" class="headerlink" title="运行信息(默认账户,启动后请及时修改)"></a>运行信息(默认账户,启动后请及时修改)</h2><ul><li>用户名:<a href="mailto:admin@cloudreve.org">admin@cloudreve.org</a></li><li>密码:vUUH4MpL</li></ul><hr><h2 id="注意"><a href="#注意" class="headerlink" title="注意"></a>注意</h2><div class="note warning flat"><p>Heroku对于<code>Free and Hobby</code>订阅有自动休眠的策略</p></div><blockquote><p>If an app has a free web dyno, and that dyno receives no web traffic in a 30-minute period, it will sleep. In addition to the web dyno sleeping, the worker dyno (if present) will also sleep.</p><p>Free web dynos do not consume free dyno hours while sleeping.</p><p>If a sleeping web dyno receives web traffic, it will become active again after a short delay (assuming your account has free dyno hours available).</p><footer><strong>Devcenter</strong><cite><a href="https://devcenter.heroku.com/articles/free-dyno-hours#dyno-sleeping">Dyno sleeping</a></cite></footer></blockquote><p>意味着在<code>Free and Hobby</code>节点部署的应用程序会在无网络访问30分钟后自动休眠,由于此镜像中的Cloudreve集成Sqlite储存数据,在应用程序休眠重启之后会丢失所有之前保存的数据以及配置文件。这里可以使用Uptimebot的自动监控功能来保持<code>Free and Hobby</code>节点应用程序的网络活跃以避免应用程序休眠:<a href="https://uptimerobot.com/signUp">点击注册Uptimebot</a></p><div class="note danger flat"><p>请注意Heroku订阅中的应用程序允许运行的时长,普通用户为550小时/月,验证用户为1000小时/月</p></div><hr><h2 id="维护计划"><a href="#维护计划" class="headerlink" title="维护计划"></a>维护计划</h2><div class="note primary flat"><p>可能会随Cloudreve仓库进行大版本更新(由于使用Sqlite方式存储数据,一般情况不会有更新改动)</p></div><p>以后可能会集成Aria2启用离线下载功能</p><h2 id="生成日志"><a href="#生成日志" class="headerlink" title="生成日志"></a>生成日志</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"> ___ _ _</span><br><span class="line"> / __\ | ___ _ _ __| |_ __ _____ _____</span><br><span class="line"> / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \</span><br><span class="line">/ /___| | (_) | |_| | (_| | | | __/\ V / __/</span><br><span class="line">\____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___|</span><br><span class="line"></span><br><span class="line"> V3.1.1 Commit #27bf8ca Pro=false</span><br><span class="line">================================================</span><br><span class="line"></span><br><span class="line">[Info] 2020-07-18 18:36:53 初始化数据库连接</span><br><span class="line">[Info] 2020-07-18 18:36:53 开始进行数据库初始化...</span><br><span class="line">[Info] 2020-07-18 18:36:53 初始管理员账号:admin@cloudreve.org</span><br><span class="line">[Info] 2020-07-18 18:36:53 初始管理员密码:vUUH4MpL</span><br><span class="line">[Info] 2020-07-18 18:36:54 数据库初始化结束</span><br><span class="line">[Info] 2020-07-18 18:36:54 初始化任务队列,WorkerNum = 10</span><br><span class="line">[Info] 2020-07-18 18:36:54 初始化定时任务...</span><br><span class="line">[Info] 2020-07-18 18:36:54 当前运行模式:Master</span><br></pre></td></tr></table></figure><h2 id="使用Mysql作为数据存储方式"><a href="#使用Mysql作为数据存储方式" class="headerlink" title="使用Mysql作为数据存储方式"></a>使用Mysql作为数据存储方式</h2><p>使用Heroku自带的Add-on插件Cleardb Mysql,默认的数据库空间仅有5MB</p><p>一键部署:<a href="https://heroku.com/deploy?template=https://github.com/useblue/Cloudreve-Heroku/tree/Heroku-mysql"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy"></a></p><h3 id="手动配置数据库环境变量"><a href="#手动配置数据库环境变量" class="headerlink" title="手动配置数据库环境变量"></a>手动配置数据库环境变量</h3><p>在第一次部署完成后在应用程序设置中手动编辑环境变量选项,根据<code>CLEARDB_DATABASE_URL</code>编辑对应条目</p><p>示例:</p><figure class="highlight autohotkey"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">`CLEARDB_DATABASE_URL`=`mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=<span class="literal">true</span>`=`mysql://Database User:Database Password@Database Host/Database Name?reconnect=<span class="literal">true</span>`</span><br><span class="line"></span><br><span class="line">`Database Host`=`us-cdbr-east.cleardb.com`</span><br><span class="line"></span><br><span class="line">`Database User`=`adffdadf2341`</span><br><span class="line"></span><br><span class="line">`Database Password`=`adf4234`</span><br><span class="line"></span><br><span class="line">`Database Name`=`heroku_db`</span><br></pre></td></tr></table></figure><p>环境变量设置完成后,应用程序会自动尝试与Mysql服务器通讯,此时查看应用程序日志即可获取到自动生成的账户密码(<code>应用日志中显示的账户密码只会显示一次,如果没有可能是错过了log,请删除应用重新配置</code>)</p><p>实例应用程序日志:</p><figure class="highlight apache"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670292</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: ___ _ _ </span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670292</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: / __\ | ___ _ _ __| |_ __ _____ _____ </span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670292</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \</span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670293</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: / /___| | (_) | |_| | (_| | | | __/\ V / __/</span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670293</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: \____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___|</span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670294</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: </span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670294</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: V3.<span class="number">1</span>.<span class="number">1</span> Commit #<span class="number">27</span>bf8ca Pro=false</span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670295</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: ================================================</span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670295</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]: </span><br><span class="line"><span class="attribute">2020</span>-<span class="number">07</span>-<span class="number">21</span>T04:<span class="number">43</span>:<span class="number">01</span>.<span class="number">670977</span>+<span class="number">00</span>:<span class="number">00</span> app[web.<span class="number">1</span>]:<span class="meta"> [Info] 2020-07-21 04:43:01 初始化数据库连接</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:01.703827+00:00 app[web.1]: [Info] 2020-07-21 04:43:01 开始进行数据库初始化...</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:02.537241+00:00 app[web.1]: [Info] 2020-07-21 04:43:02 初始管理员账号:admin@cloudreve.org</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:02.537276+00:00 app[web.1]: [Info] 2020-07-21 04:43:02 初始管理员密码:06kTFXPM</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:03.915000+00:00 app[web.1]: [Info] 2020-07-21 04:43:03 数据库初始化结束</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:03.920567+00:00 app[web.1]: [Info] 2020-07-21 04:43:03 初始化任务队列,WorkerNum = 10</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:03.952497+00:00 app[web.1]: [Info] 2020-07-21 04:43:03 初始化定时任务...</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:04.086686+00:00 app[web.1]: [Info] 2020-07-21 04:43:04 当前运行模式:Master</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:04.087044+00:00 app[web.1]: [Info] 2020-07-21 04:43:04 已连接到 Redis 服务器:127.0.0.1:6379</span></span><br><span class="line"><span class="meta">2020-07-21T04:43:04.087303+00:00 app[web.1]: [Info] 2020-07-21 04:43:04 开始监听 :7458</span></span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">Heroku上一键部署Cloudreve网盘程序并开启Redis</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="Cloudreve" scheme="https://ifibe.com/tags/Cloudreve/"/>
<category term="Heroku" scheme="https://ifibe.com/tags/Heroku/"/>
<category term="Docker" scheme="https://ifibe.com/tags/Docker/"/>
</entry>
<entry>
<title>hexo-deployer-git以token方式部署到Github</title>
<link href="https://ifibe.com/posts/5a8a6c8d/"/>
<id>https://ifibe.com/posts/5a8a6c8d/</id>
<published>2020-07-18T10:08:46.000Z</published>
<updated>2020-07-18T10:08:46.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>记hexo-deployer-git远程CI部署踩坑</p></blockquote><h2 id="翻车写法"><a href="#翻车写法" class="headerlink" title="翻车写法"></a>翻车写法</h2><p>官方文档中关于config.yml写法</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># You can use this:</span></span><br><span class="line"><span class="attr">deploy:</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">git</span></span><br><span class="line"> <span class="attr">repo:</span> <span class="string"><repository</span> <span class="string">url></span></span><br><span class="line"> <span class="attr">branch:</span> [<span class="string">branch</span>]</span><br><span class="line"> <span class="attr">token:</span> <span class="string">''</span></span><br><span class="line"> <span class="attr">message:</span> [<span class="string">message</span>]</span><br><span class="line"> <span class="attr">name:</span> [<span class="string">git</span> <span class="string">user</span>]</span><br><span class="line"> <span class="attr">email:</span> [<span class="string">git</span> <span class="string">email</span>]</span><br><span class="line"> <span class="attr">extend_dirs:</span> [<span class="string">extend</span> <span class="string">directory</span>]</span><br><span class="line"> <span class="attr">ignore_hidden:</span> <span class="literal">false</span> <span class="comment"># default is true</span></span><br><span class="line"> <span class="attr">ignore_pattern:</span> <span class="string">regexp</span> <span class="comment"># whatever file that matches the regexp will be ignored when deploying</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>此时会因为程序读不到token而导致密钥验证失败报错</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">Logon failed, use ctrl+c to cancel basic credential prompt.</span><br><span class="line">remote: No anonymous write access.</span><br><span class="line">fatal: Authentication failed for 'https://github.com/useblue/blog-ifibe.com.git/'</span><br><span class="line">FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html</span><br><span class="line">Error: Spawn failed</span><br></pre></td></tr></table></figure><h2 id="勉强能跑写法"><a href="#勉强能跑写法" class="headerlink" title="勉强能跑写法"></a>勉强能跑写法</h2><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">deploy:</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">git</span></span><br><span class="line"> <span class="attr">repo:</span></span><br><span class="line"> <span class="attr">github:</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string"><repository</span> <span class="string">url></span></span><br><span class="line"> <span class="attr">branch:</span> [<span class="string">branch</span>]</span><br><span class="line"> <span class="attr">token:</span> <span class="string">''</span></span><br><span class="line"> <span class="attr">message:</span> [<span class="string">message</span>]</span><br><span class="line"> <span class="attr">name:</span> [<span class="string">git</span> <span class="string">user</span>]</span><br><span class="line"> <span class="attr">email:</span> [<span class="string">git</span> <span class="string">email</span>]</span><br><span class="line"> <span class="attr">extend_dirs:</span> [<span class="string">extend</span> <span class="string">directory</span>]</span><br><span class="line"> <span class="attr">ignore_hidden:</span> <span class="literal">false</span> <span class="comment"># default is true</span></span><br><span class="line"> <span class="attr">ignore_pattern:</span> <span class="string">regexp</span> <span class="comment"># whatever file that matches the </span></span><br></pre></td></tr></table></figure><p>使用token验证时使用HTTPS方式</p><img src="https://ifibe.com/asst/imgs/5a8a6c8d-2.webp" width="30%" height="30%">]]></content>
<summary type="html">hexo-deployer-git以token方式部署到Github报错的解决方法</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="教程" scheme="https://ifibe.com/tags/%E6%95%99%E7%A8%8B/"/>
<category term="Hexo" scheme="https://ifibe.com/tags/Hexo/"/>
<category term="工具" scheme="https://ifibe.com/tags/%E5%B7%A5%E5%85%B7/"/>
</entry>
<entry>
<title>使用iptables屏蔽攻击者访问者ip</title>
<link href="https://ifibe.com/posts/50bffff6/"/>
<id>https://ifibe.com/posts/50bffff6/</id>
<published>2020-05-28T21:35:09.000Z</published>
<updated>2020-05-28T21:35:09.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>最近一次检查服务器应用运行情况时在应用 log 中发现大量不寻常的指向访问(大量某皇家 xx 流量),同时网卡出口方向负载异常。于是通过 netstat 排查出入流量,同时使用 iptables 将垃圾流量地址屏蔽,减轻应用运行负载,提高运行体验。(也可自行编写 shell 将大流量相同访问自动屏蔽,但可能影响用户访问,本文介绍应对普通攻击时的手动操作方法)</p></blockquote><h2 id="安装-iptables"><a href="#安装-iptables" class="headerlink" title="安装 iptables"></a>安装 iptables</h2><p>演示环境为 Ubuntu 18.04</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ apt-get install iptables -y</span><br></pre></td></tr></table></figure><p>查看 iptables 版本</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -V</span><br></pre></td></tr></table></figure><h2 id="使用-netstat-排查流量"><a href="#使用-netstat-排查流量" class="headerlink" title="使用 netstat 排查流量"></a>使用 netstat 排查流量</h2><h3 id="检查特定端口的-ip-连接情况"><a href="#检查特定端口的-ip-连接情况" class="headerlink" title="检查特定端口的 ip 连接情况"></a>检查特定端口的 ip 连接情况</h3><p>以应用运行在 80 端口为例<br>列出 80 端口正被哪些 ip 访问</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -tun | grep <span class="string">":80"</span></span><br></pre></td></tr></table></figure><p>列出访问 80 端口前 10 的 ip 地址,并显示连接数</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -antp | awk <span class="string">'$4 ~ /:80$/ {print $4" "$5}'</span> | awk <span class="string">'{print $2}'</span>|awk -F : {<span class="string">'print $1'</span>} | <span class="built_in">uniq</span> -c | <span class="built_in">sort</span> -nr | <span class="built_in">head</span> -n 10</span><br></pre></td></tr></table></figure><p>列出所有访问 80 端口的 ip 地址,并显示连接数</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -plan|grep :80|awk {<span class="string">'print $5'</span>}|<span class="built_in">cut</span> -d: -f 1|<span class="built_in">sort</span>|<span class="built_in">uniq</span> -c|<span class="built_in">sort</span> -nk 1</span><br></pre></td></tr></table></figure><p><img src="https://ifibe.com/asst/imgs/netstat80.webp" alt="netstat" title="netstat"></p><h3 id="全部连接情况"><a href="#全部连接情况" class="headerlink" title="全部连接情况"></a>全部连接情况</h3><p>显示所有的网络活动</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -na</span><br></pre></td></tr></table></figure><p>显示连接数多的 ip</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -an|awk -F: <span class="string">'{print $2}'</span>|<span class="built_in">sort</span>|<span class="built_in">uniq</span> -c|<span class="built_in">sort</span> -nr|<span class="built_in">head</span></span><br></pre></td></tr></table></figure><p>列出所有经过的 ip</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -n -p | grep SYN_REC | <span class="built_in">sort</span> -u</span><br></pre></td></tr></table></figure><p>计算每个 ip 发起的连接数</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ netstat -ntu | awk <span class="string">'{print $5}'</span> | <span class="built_in">cut</span> -d: -f1 | <span class="built_in">sort</span> | <span class="built_in">uniq</span> -c | <span class="built_in">sort</span> -n</span><br></pre></td></tr></table></figure><h2 id="使用-iptables-屏蔽特定访问"><a href="#使用-iptables-屏蔽特定访问" class="headerlink" title="使用 iptables 屏蔽特定访问"></a>使用 iptables 屏蔽特定访问</h2><h3 id="显示当前的防火墙规则"><a href="#显示当前的防火墙规则" class="headerlink" title="显示当前的防火墙规则"></a>显示当前的防火墙规则</h3><p>以主机名方式显示规则</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -L</span><br></pre></td></tr></table></figure><p>以 ip 显示显示规则</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -L -n</span><br></pre></td></tr></table></figure><h3 id="屏蔽特定-ip"><a href="#屏蔽特定-ip" class="headerlink" title="屏蔽特定 ip"></a>屏蔽特定 ip</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -I INPUT -s ***.***.***.*** -j DROP</span><br></pre></td></tr></table></figure><p>例如</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -I INPUT -s 202.60.228.135 -j DROP</span><br><span class="line">$ iptables -I INPUT -s 47.112.148.83 -j DROP</span><br><span class="line">$ iptables -I INPUT -s 208.115.232.242 -j DROP</span><br><span class="line">$ iptables -I INPUT -s 63.143.61.22 -j DROP</span><br></pre></td></tr></table></figure><h3 id="屏蔽一条-ip-段"><a href="#屏蔽一条-ip-段" class="headerlink" title="屏蔽一条 ip 段"></a>屏蔽一条 ip 段</h3><p>如果恶意访问的 ip 来自同一机房,可直接将机房 ip 段屏蔽</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -I INPUT -s ***.***.***.***/24 -j DROP</span><br></pre></td></tr></table></figure><p>例如</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -I INPUT -s 1.2.3.0/24 -j DROP</span><br></pre></td></tr></table></figure><h3 id="释放屏蔽的-ip"><a href="#释放屏蔽的-ip" class="headerlink" title="释放屏蔽的 ip"></a>释放屏蔽的 ip</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables -D INPUT -s ***.***.***.*** -j DROP</span><br></pre></td></tr></table></figure><p>同上</p><blockquote><p>配置完成后可使用<code>iptables -L -n</code>检查规则</p></blockquote><h3 id="防火墙操作"><a href="#防火墙操作" class="headerlink" title="防火墙操作"></a>防火墙操作</h3><p>使用<code>iptables-save</code>保存此次修改<br>配置每次启动自动生效上一次的防火墙规则</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ iptables-save > /etc/iptables.rules</span><br></pre></td></tr></table></figure><p>编辑<code>/etc/network/interfaces</code>文件,在末尾加上</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pre-up iptables-restore < /etc/iptables.rules</span><br></pre></td></tr></table></figure><p>每次修改 iptables 规则后,执行一次<code>iptables-save > /etc/iptables.rules</code>来保存规则。</p><hr><h3 id="iptables-帮助"><a href="#iptables-帮助" class="headerlink" title="iptables 帮助"></a>iptables 帮助</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br></pre></td><td class="code"><pre><span class="line">$ iptables --<span class="built_in">help</span></span><br><span class="line">iptables v1.6.1</span><br><span class="line"></span><br><span class="line">Usage: iptables -[ACD] chain rule-specification [options]</span><br><span class="line"> iptables -I chain [rulenum] rule-specification [options]</span><br><span class="line"> iptables -R chain rulenum rule-specification [options]</span><br><span class="line"> iptables -D chain rulenum [options]</span><br><span class="line"> iptables -[LS] [chain [rulenum]] [options]</span><br><span class="line"> iptables -[FZ] [chain] [options]</span><br><span class="line"> iptables -[NX] chain</span><br><span class="line"> iptables -E old-chain-name new-chain-name</span><br><span class="line"> iptables -P chain target [options]</span><br><span class="line"> iptables -h (<span class="built_in">print</span> this <span class="built_in">help</span> information)</span><br><span class="line"></span><br><span class="line">Commands:</span><br><span class="line">Either long or short options are allowed.</span><br><span class="line"> --append -A chainAppend to chain</span><br><span class="line"> --check -C chainCheck <span class="keyword">for</span> the existence of a rule</span><br><span class="line"> --delete -D chainDelete matching rule from chain</span><br><span class="line"> --delete -D chain rulenum</span><br><span class="line">Delete rule rulenum (1 = first) from chain</span><br><span class="line"> --insert -I chain [rulenum]</span><br><span class="line">Insert <span class="keyword">in</span> chain as rulenum (default 1=first)</span><br><span class="line"> --replace -R chain rulenum</span><br><span class="line">Replace rule rulenum (1 = first) <span class="keyword">in</span> chain</span><br><span class="line"> --list -L [chain [rulenum]]</span><br><span class="line">List the rules <span class="keyword">in</span> a chain or all chains</span><br><span class="line"> --list-rules -S [chain [rulenum]]</span><br><span class="line">Print the rules <span class="keyword">in</span> a chain or all chains</span><br><span class="line"> --flush -F [chain]Delete all rules <span class="keyword">in</span> chain or all chains</span><br><span class="line"> --zero -Z [chain [rulenum]]</span><br><span class="line">Zero counters <span class="keyword">in</span> chain or all chains</span><br><span class="line"> --new -N chainCreate a new user-defined chain</span><br><span class="line"> --delete-chain</span><br><span class="line"> -X [chain]Delete a user-defined chain</span><br><span class="line"> --policy -P chain target</span><br><span class="line">Change policy on chain to target</span><br><span class="line"> --rename-chain</span><br><span class="line"> -E old-chain new-chain</span><br><span class="line">Change chain name, (moving any references)</span><br><span class="line">Options:</span><br><span class="line"> --ipv4-4Nothing (line is ignored by ip6tables-restore)</span><br><span class="line"> --ipv6-6Error (line is ignored by iptables-restore)</span><br><span class="line">[!] --protocol-p protoprotocol: by number or name, eg. `tcp<span class="string">'</span></span><br><span class="line"><span class="string">[!] --source-s address[/mask][...]</span></span><br><span class="line"><span class="string">source specification</span></span><br><span class="line"><span class="string">[!] --destination -d address[/mask][...]</span></span><br><span class="line"><span class="string">destination specification</span></span><br><span class="line"><span class="string">[!] --in-interface -i input name[+]</span></span><br><span class="line"><span class="string">network interface name ([+] for wildcard)</span></span><br><span class="line"><span class="string"> --jump-j target</span></span><br><span class="line"><span class="string">target for rule (may load target extension)</span></span><br><span class="line"><span class="string"> --goto -g chain</span></span><br><span class="line"><span class="string"> jump to chain with no return</span></span><br><span class="line"><span class="string"> --match-m match</span></span><br><span class="line"><span class="string">extended match (may load extension)</span></span><br><span class="line"><span class="string"> --numeric-nnumeric output of addresses and ports</span></span><br><span class="line"><span class="string">[!] --out-interface -o output name[+]</span></span><br><span class="line"><span class="string">network interface name ([+] for wildcard)</span></span><br><span class="line"><span class="string"> --table-t tabletable to manipulate (default: `filter'</span>)</span><br><span class="line"> --verbose-vverbose mode</span><br><span class="line"> --<span class="built_in">wait</span>-w [seconds]maximum <span class="built_in">wait</span> to acquire xtables lock before give up</span><br><span class="line"> --wait-interval -W [usecs]<span class="built_in">wait</span> time to try to acquire xtables lock</span><br><span class="line">default is 1 second</span><br><span class="line"> --line-numbers<span class="built_in">print</span> line numbers when listing</span><br><span class="line"> --exact-x<span class="built_in">expand</span> numbers (display exact values)</span><br><span class="line">[!] --fragment-fmatch second or further fragments only</span><br><span class="line"> --modprobe=<<span class="built_in">command</span>>try to insert modules using this <span class="built_in">command</span></span><br><span class="line"> --set-counters PKTS BYTES<span class="built_in">set</span> the counter during insert/append</span><br><span class="line">[!] --version-V<span class="built_in">print</span> package version.</span><br></pre></td></tr></table></figure><div class="note info flat"><p>参考:<a href="https://help.ubuntu.com/community/IptablesHowTo">https://help.ubuntu.com/community/IptablesHowTo</a></p></div>]]></content>
<summary type="html">通过设置iptables来屏蔽特定攻击者ip,减轻服务器压力</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="网络安全" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/"/>
<category term="Linux" scheme="https://ifibe.com/tags/Linux/"/>
<category term="iptables" scheme="https://ifibe.com/tags/iptables/"/>
<category term="防火墙" scheme="https://ifibe.com/tags/%E9%98%B2%E7%81%AB%E5%A2%99/"/>
</entry>
<entry>
<title>使用NS1智能Filter Chain功能配置GeoIP分区解析</title>
<link href="https://ifibe.com/posts/f12078f/"/>
<id>https://ifibe.com/posts/f12078f/</id>
<published>2020-05-09T19:36:52.000Z</published>
<updated>2020-05-09T19:36:52.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>使用 NS1 智能 DNS 中的 Filter Chain 功能来实现 GeoIP 分地解析的功能。本文中使用的是 Filter Chain 中的 Geofence Country(地理围栏功能)。</p></blockquote><h2 id="配置-GeoIP"><a href="#配置-GeoIP" class="headerlink" title="配置 GeoIP"></a>配置 GeoIP</h2><h3 id="设置不同的-DNS-响应分组"><a href="#设置不同的-DNS-响应分组" class="headerlink" title="设置不同的 DNS 响应分组"></a>设置不同的 DNS 响应分组</h3><p>设置两组或两组以上的 DNS 组以完成后续的 GeoIP 功能,或者分别给不同的 IP 设置相应 GeoIP Metadata 也可以达到相同的效果。<br><img src="https://ifibe.com/asst/imgs/agic.webp" alt="dns分组" title="dns分组"></p><h3 id="启用相应的-Filter-Chain-功能"><a href="#启用相应的-Filter-Chain-功能" class="headerlink" title="启用相应的 Filter Chain 功能"></a>启用相应的 Filter Chain 功能</h3><p>这里使用到的是 Filter Chain 中的 Geofence Country(地理围栏功能),可以对不同的国家地区设置对应的 DNS 解析地址,目前仅支持对北美地区进行行政区域的详细划分,其他地区仅支持精确到国家地址。</p><p><img src="https://ifibe.com/asst/imgs/aflt.webp" alt="Filter Chain" title="Filter Chain"></p><p>选择<code>Geofence Country</code>,添加到右侧的 Active Filter 列表,并启用。</p><p><img src="https://ifibe.com/asst/imgs/efca.webp" alt="Filter Chain" title="Filter Chain"></p><blockquote><p>在 Filter Chain 功能表中给出了很多使用的过滤功能,可以根据自己的实际需求来配置不同的 Filter Chain 规则,例如设置宕机切换解析、地理分区解析、权重解析···</p></blockquote><h3 id="为-DNS-分组配置相应的-GeoIP-Metadata-数据"><a href="#为-DNS-分组配置相应的-GeoIP-Metadata-数据" class="headerlink" title="为 DNS 分组配置相应的 GeoIP Metadata 数据"></a>为 DNS 分组配置相应的 GeoIP Metadata 数据</h3><p>在添加好的 DNS 解析组或 IP 中点击设置,按照左侧的功能表添加需要的解析规则。<br>选择左侧的 Country/countries,选择该组 DNS 解析需要对应哪些地理位置。<br><img src="https://ifibe.com/asst/imgs/agm.webp" alt="Metadata" title="Metadata"></p><h2 id="测试-Filter-Chain-配置"><a href="#测试-Filter-Chain-配置" class="headerlink" title="测试 Filter Chain 配置"></a>测试 Filter Chain 配置</h2><p>在面板左侧找到 Simulate Filters (Beta)</p><p><img src="https://ifibe.com/asst/imgs/sfbi.webp" alt="Simulate Filters" title="Simulate Filters"></p><p>在 IP Address 中输入想要测试的地理 IP 或 ASN,点击 Simulate Filters,如果返回的 DNS 记录是预设的地理 IP 解析地址,则表示已完成 GeoIP 的配置。</p>]]></content>
<summary type="html">使用NS1提供的智能DNS(Filter Chain)配置自动分区GeoIP解析</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="资源" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/%E8%B5%84%E6%BA%90/"/>
<category term="Cloudflare" scheme="https://ifibe.com/tags/Cloudflare/"/>
<category term="NS1" scheme="https://ifibe.com/tags/NS1/"/>
<category term="NSONE" scheme="https://ifibe.com/tags/NSONE/"/>
<category term="GeoIP" scheme="https://ifibe.com/tags/GeoIP/"/>
<category term="分区解析" scheme="https://ifibe.com/tags/%E5%88%86%E5%8C%BA%E8%A7%A3%E6%9E%90/"/>
</entry>
<entry>
<title>Hexo的SEO优化-配置文章自动推送到百度蜘蛛</title>
<link href="https://ifibe.com/posts/c8656f1d/"/>
<id>https://ifibe.com/posts/c8656f1d/</id>
<published>2020-03-23T14:23:47.000Z</published>
<updated>2021-07-31T14:23:47.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>使用 Hexo Baidu URL Submit 插件可以在每次提交更改时自动向百度蜘蛛推送最新的链接,解决百度爬虫被禁止访问的问题,提升网站收录质量和速度。</p></blockquote><h2 id="获取百度推送密钥"><a href="#获取百度推送密钥" class="headerlink" title="获取百度推送密钥"></a>获取百度推送密钥</h2><p>在 ziyuan.baidu.com/site 注册你的网址,验证完后可在<code>站点管理->资源提交->链接提交->主动推送(实时)</code>中找到你的推送密钥,下面说明中的<code>token=</code>后的内容即为推送密钥。</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">推送接口</span><br><span class="line">接口调用地址:http://data.zz.baidu.com/urls?site=https://ifibe.com&token=xxxxxxxxxx</span><br></pre></td></tr></table></figure><div class="note warning flat"><p>请注意, 本插件的配置文件中包含秘钥, 请您妥善管理好您的博客源码。</p></div><h2 id="使用-Hexo-Baidu-URL-Submit"><a href="#使用-Hexo-Baidu-URL-Submit" class="headerlink" title="使用 Hexo Baidu URL Submit"></a>使用 Hexo Baidu URL Submit</h2><h3 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h3><p>在 Hexo 根目录执行</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-baidu-url-submit --save</span><br><span class="line"><span class="comment">#$ sudo npm install hexo-baidu-url-submit --save</span></span><br></pre></td></tr></table></figure><h3 id="配置"><a href="#配置" class="headerlink" title="配置"></a>配置</h3><p>编辑 Hexo 根目录下的配置文件<code>.config.xml</code></p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"># 设置百度主动推送</span><br><span class="line">baidu_url_submit:</span><br><span class="line"> count: 200 # 比如200,代表提交最新的200个链接</span><br><span class="line"> host: ifibe.com # 在百度站长平台中注册的域名</span><br><span class="line"> token: xxxxxxxxxx # 百度站长密钥</span><br><span class="line"> path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里,这个默认</span><br><span class="line"></span><br><span class="line"># Deployment</span><br><span class="line">## Docs: https://hexo.io/docs/deployment.html</span><br><span class="line">deploy:</span><br><span class="line"> type: baidu_url_submitter</span><br></pre></td></tr></table></figure><p>生成的 baidu_urls.txt 在 Public 文件夹中,包含最新生成的文章链接</p><h3 id="执行推送"><a href="#执行推送" class="headerlink" title="执行推送"></a>执行推送</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">$ hexo clean</span><br><span class="line">$ hexo g</span><br><span class="line">$ hexo d</span><br></pre></td></tr></table></figure><p>只有执行<code>hexo deploy</code>后才会完成推送,返回 200 即为推送成功</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">INFO Deploying: baidu_url_submitter</span><br><span class="line">INFO Submitting urls</span><br><span class="line">{"remain":2967,"success":17}</span><br><span class="line">INFO Deploy done: baidu_url_submitter</span><br></pre></td></tr></table></figure><h2 id="插件原理"><a href="#插件原理" class="headerlink" title="插件原理"></a>插件原理</h2><ul><li>新链接的产生, hexo generate 会产生一个文本文件,里面包含最新的链接</li><li>新链接的提交, hexo deploy 会从上述文件中读取链接,提交至百度搜索引擎</li></ul><hr><div class="note success flat"><p>2021-07-31 : 感谢 Walker Steve 指出文中错别字</p></div><hr>]]></content>
<summary type="html">Hexo的SEO优化自动生成sitemap推送到百度蜘蛛</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="Hexo 优化" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/Hexo-%E4%BC%98%E5%8C%96/"/>
<category term="教程" scheme="https://ifibe.com/tags/%E6%95%99%E7%A8%8B/"/>
<category term="Hexo" scheme="https://ifibe.com/tags/Hexo/"/>
<category term="SEO" scheme="https://ifibe.com/tags/SEO/"/>
<category term="Hexo优化" scheme="https://ifibe.com/tags/Hexo%E4%BC%98%E5%8C%96/"/>
<category term="Hexo优化SEO" scheme="https://ifibe.com/tags/Hexo%E4%BC%98%E5%8C%96SEO/"/>
<category term="百度推送" scheme="https://ifibe.com/tags/%E7%99%BE%E5%BA%A6%E6%8E%A8%E9%80%81/"/>
<category term="baidu url submit" scheme="https://ifibe.com/tags/baidu-url-submit/"/>
</entry>
<entry>
<title>Hexo的SEO优化-使用abbrlink设置永久链接为随机值</title>
<link href="https://ifibe.com/posts/cd6eb56d/"/>
<id>https://ifibe.com/posts/cd6eb56d/</id>
<published>2020-03-22T19:46:34.000Z</published>
<updated>2020-03-22T19:46:34.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>Hexo 默认的永久链接配置为:year/:month/:day/:title/,这样生成的链接会成为一个四级目录,对于搜索引擎来说并不是很友好。这里介绍一个 Hexo 插件 hexo-abbrlink,它能将 Hexo 生成的永久链接转化为一个固定的随机值,极大的缩短了永久链接的长度。一旦生成一个随机值,之后对文章的标题或者时间进行任何修改,这个随机的 abbrlink 是不会发生任何变化的,也为 Hexo 的维护提供了便利。</p></blockquote><h2 id="安装使用-abbrlink"><a href="#安装使用-abbrlink" class="headerlink" title="安装使用 abbrlink"></a>安装使用 abbrlink</h2><h3 id="将插件添加到-Hexo"><a href="#将插件添加到-Hexo" class="headerlink" title="将插件添加到 Hexo"></a>将插件添加到 Hexo</h3><p>博客目录下执行 npm 安装指令</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-abbrlink --save <span class="comment">#提示错误可以加上sudo像下面一样</span></span><br><span class="line"><span class="comment">#npm install hexo-abbrlink --save</span></span><br></pre></td></tr></table></figure><h2 id="启用-abbrlink"><a href="#启用-abbrlink" class="headerlink" title="启用 abbrlink"></a>启用 abbrlink</h2><p>以下设置均修改博客根目录下的配置文件<code>.config.xml</code></p><h3 id="修改默认的永久链接参数"><a href="#修改默认的永久链接参数" class="headerlink" title="修改默认的永久链接参数"></a>修改默认的永久链接参数</h3><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"># URL</span><br><span class="line">## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'</span><br><span class="line">url: https://ifibe.com/ #替换为你自己的链接</span><br><span class="line">root: /</span><br><span class="line">permalink: posts/:abbrlink/ #这里就是永久链接的参数设置</span><br><span class="line">permalink_defaults:</span><br></pre></td></tr></table></figure><p>当永久链接参数为<code>permalink: posts/:abbrlink/</code>时,生成的文章链接类似于<code>/post/cd6eb56d/</code>,例如<code>https://ifibe.com/post/cd6eb56d/</code>。</p><h3 id="启用-abbrlink-1"><a href="#启用-abbrlink-1" class="headerlink" title="启用 abbrlink"></a>启用 abbrlink</h3><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"># abbrlink config</span><br><span class="line">abbrlink:</span><br><span class="line"> alg: crc32 #support crc16(default) and crc32</span><br><span class="line"> rep: hex #support dec(default) and hex</span><br></pre></td></tr></table></figure><h3 id="abbrlink-参数说明"><a href="#abbrlink-参数说明" class="headerlink" title="abbrlink 参数说明"></a>abbrlink 参数说明</h3><p>参数:<code>alg</code> 对应随机值算法参数,可选为 crc16 和 crc32<br>参数:<code>rep</code> 对应生成链接的表示方法,hex:十六进制,dec:十进制<br>两种参数的生成区别:<br>crc16+hex</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/posts/66c8/</span><br></pre></td></tr></table></figure><p>crc16+dec</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/posts/65535/</span><br></pre></td></tr></table></figure><p>crc32+hex</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/posts/8ddf18fb/</span><br></pre></td></tr></table></figure><p>crc32+dec</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/posts/1690090958/</span><br></pre></td></tr></table></figure><div class="note primary flat"><p>对于 crc16 算法生成的随机值,具有一个最大限度,为 65536。</p></div><h2 id="使用-abbrlink"><a href="#使用-abbrlink" class="headerlink" title="使用 abbrlink"></a>使用 abbrlink</h2><p>使用前执行</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo clean & hexo g</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">将Hexo的永久链接设置为随机值,缩短链接达到搜索引擎优化的效果</summary>
<category term="教程" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/"/>
<category term="Hexo 优化" scheme="https://ifibe.com/categories/%E6%95%99%E7%A8%8B/Hexo-%E4%BC%98%E5%8C%96/"/>
<category term="教程" scheme="https://ifibe.com/tags/%E6%95%99%E7%A8%8B/"/>
<category term="Hexo" scheme="https://ifibe.com/tags/Hexo/"/>
<category term="SEO" scheme="https://ifibe.com/tags/SEO/"/>
<category term="Hexo优化" scheme="https://ifibe.com/tags/Hexo%E4%BC%98%E5%8C%96/"/>
<category term="Hexo优化SEO" scheme="https://ifibe.com/tags/Hexo%E4%BC%98%E5%8C%96SEO/"/>
<category term="Permalinks" scheme="https://ifibe.com/tags/Permalinks/"/>
<category term="abbrlink" scheme="https://ifibe.com/tags/abbrlink/"/>
</entry>
<entry>
<title>申请Google AdSense提示已有帐户?</title>
<link href="https://ifibe.com/posts/50014b48/"/>
<id>https://ifibe.com/posts/50014b48/</id>
<published>2020-03-19T21:50:52.000Z</published>
<updated>2020-03-19T21:50:52.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>有一说一,我也不知道该怎么办。</p></blockquote><p>破站好久没有更新了,正好最近刚申请通过 Google AdSense 计划,所以来水一篇并没有什么用的 AdSense 的注册经历。</p><h2 id="初次申请"><a href="#初次申请" class="headerlink" title="初次申请"></a>初次申请</h2><p>破站在 2019 年改版使用 Hexo 之前申请过一次 Google AdSense,当时是以网站内容过少而拒绝了,当时想着也没有什么用就再没有管过了。。。</p><h2 id="再次尝试"><a href="#再次尝试" class="headerlink" title="再次尝试"></a>再次尝试</h2><p>IFIBE.COM 在改版为 Hexo 之后就开始重新申请 Google AdSense,这一段时间一共尝试过四次,每次都是以相同的理由于拒绝申请。。。</p><p>提示</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">我們發現您還有另一個 AdSense 帳戶。根據我們的規定,每位使用者只能擁有一個帳戶。如要使用這個帳戶,請先關閉另一個。</span><br></pre></td></tr></table></figure><p>一共申请的四次,每次都是提示这个理由,叫我去关闭另外一个 Google 账户,但是我一直就只使用过这一个 Google 账户,这是要叫我去把谁的关了啊。<br>在 AdSense 的社群发帖也没有得到任何恢复,所以 AdSense 的申请暂停了一个多月。</p><h2 id="最后申请"><a href="#最后申请" class="headerlink" title="最后申请"></a>最后申请</h2><p>近期想着给破站挂个 Ad(虽然没什么流量但也得有想法),就再次申请了 AdSense,<code>还是原来的Google账户,期间没有做任何账户管理有关的操作</code>,毫不意外的又被拒绝了。<br>但这一次却不是因为账户重复的问题,邮件中 Google 给出的回复是因为站点检查中发现了违规内容</p><img src="https://ifibe.com/asst/imgs/m01.webp" width="30%" height="30%"><p>点开邮件的链接之后就立马进行了再一次的申请,<code>此时对网站内容并没有任何更改</code>。</p><p>第二天就收到 Google AdSense 发来的审核通过邮件,并且已经成功的将 AdSense 应用到了站点。<br><img src="https://ifibe.com/asst/imgs/ads01.webp" alt="ads01" title="ads01"></p><blockquote><p>所以说最开始的错误提示还是比较玄学的,之间没有做任何更改就自动通过了,如果遇到相同问题,可以先等一段时间再重复申请,有可能就会通过。</p></blockquote>]]></content>
<summary type="html">申请Google AdSense提示已有帐户怎么办</summary>
<category term="杂谈" scheme="https://ifibe.com/categories/%E6%9D%82%E8%B0%88/"/>
<category term="Google AdSense" scheme="https://ifibe.com/tags/Google-AdSense/"/>
</entry>
</feed>