PageSourceSearch

https://fairchild26.github.io/website/

html fairchild26.github.io collected 2026-10-03 09:10:54 UTC 60,579 bytes, 2,355 lines download raw bytes

1<!doctype html>
2<html
3  lang="zh-cn"
4  dir="ltr"
5  class="scroll-smooth"
6  data-default-appearance="light"
7  data-auto-appearance="true"><head>
8  <meta charset="utf-8">
9  
10    <meta http-equiv="content-language" content="zh-cn">
11  
12  <meta name="viewport" content="width=device-width, initial-scale=1.0">
13  <meta http-equiv="X-UA-Compatible" content="ie=edge">
14  <meta name="theme-color">
15
16  
17  
18    <title>个人网站 &middot; </title>
19    <meta name="title" content="个人网站 &middot; ">
20  
21
22  
23  
24    <meta name="description" content="Hugo 博客系列">
25  
26  
27  
28  
29  <link rel="canonical" href="https://fairchild26.github.io/website/">
30  
31    
32      <link rel="alternate" type="application/rss+xml" href="/website/index.xml" title="" />
33  
34
35  
36  
37    <meta name="author" content="Fairchild">
38  
39  
40    
41      
42        
43          <link href="https://github.com/fairchild26/" rel="me">
44        
45      
46    
47      
48        
49          <link href="https://blog.csdn.net/toptong/" rel="me">
50        
51      
52    
53      
54        
55          <link href="https://www.reddit.com/user/Author5903/" rel="me">
56        
57      
58    
59      
60        
61          <link href="https://www.zhihu.com/people/yu-ou-lin-95/" rel="me">
62        
63      
64    
65  
66
67  
68  <meta property="og:url" content="https://fairchild26.github.io/website/">
69  <meta property="og:title" content="个人网站">
70  <meta property="og:description" content="Hugo 博客系列">
71  <meta property="og:locale" content="zh_cn">
72  <meta property="og:type" content="website">
73
74  
75  <meta name="twitter:card" content="summary">
76  <meta name="twitter:title" content="个人网站">
77  <meta name="twitter:description" content="Hugo 博客系列">
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  <link
122    type="text/css"
123    rel="stylesheet"
124    href="/css/main.bundle.min.5c1e17a084bbd285007b045b57d7313ab81bb76fea98359d7b7a5bed3009f983a6526c5439c4a21b8636585dee2999051392be41e6b382d9ba589e5e47f089fc.css"
125    integrity="sha512-XB4XoIS70oUAewRbV9cxOrgbt2/qmDWde3pb7TAJ&#43;YOmUmxUOcSiG4Y2WF3uKZkFE5K&#43;Qeazgtm6WJ5eR/CJ/A==">
126
127  
128  
129  
129<script
130    type="text/javascript"
131    src="/js/appearance.min.6f41174b3a05b680820fe08cadbfa5fb7a7ca347b76a0955cdc68b9d8aca1ce24f0547e138cea33bcc7904d551a90afcb1cc7f2d9fe8557075d501419046c08c.js"
132    integrity="sha512-b0EXSzoFtoCCD&#43;CMrb&#43;l&#43;3p8o0e3aglVzcaLnYrKHOJPBUfhOM6jO8x5BNVRqQr8scx/LZ/oVXB11QFBkEbAjA=="></script>
132
133  
134  
135  
136  
137  
138  
139    
140    
140<script src="/lib/zoom/zoom.min.umd.b4b722fcb5d42f34f52b30a92f3521b69f403ca9d96d0d6179eb537cb870f5d83fdf1fe836688d95d5c99fefbda4170487711006e56051fa67ea00da10521721.js" integrity="sha512-tLci/LXULzT1KzCpLzUhtp9APKnZbQ1heetTfLhw9dg/3x/oNmiNldXJn&#43;&#43;9pBcEh3EQBuVgUfpn6gDaEFIXIQ=="></script>
140
141  
142
143  
144  
145  
146    
147  
148  
149    
150  
151  
152    
153  
154  
155  
156  
157  
158  
159    
160    
160<script
161      defer
162      type="text/javascript"
163      id="script-bundle"
164      src="/js/main.bundle.min.b9156dd119fa8699e994dba9142ec03d188d537ce7e93c8f0373dbcc9953a19382deb06049f0754d5fc0e297c3046ef52dbb3abe347471234e550c170cc0e37d.js"
165      integrity="sha512-uRVt0Rn6hpnplNupFC7APRiNU3zn6TyPA3PbzJlToZOC3rBgSfB1TV/A4pfDBG71Lbs6vjR0cSNOVQwXDMDjfQ=="
166      data-copy="复制"
167      data-copied="已复制"></script>
167
168  
169
170  
171  
172
173<script src="/lib/jquery/jquery.slim.min.03cb160e3cfdb2667a2e2c80d283bebcf63ff8bbc4b629c9ab2babf6fae1d0c07ad470edae783efa4fabda2ac01c58d60e63b98b3c336be8208460f08f4354f5.js" integrity="sha512-A8sWDjz9smZ6LiyA0oO&#43;vPY/&#43;LvEtinJqyur9vrh0MB61HDtrng&#43;&#43;k&#43;r2irAHFjWDmO5izwza&#43;gghGDwj0NU9Q=="></script>
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    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
220    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
221    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
222    <link rel="manifest" href="/site.webmanifest">
223  
224
225  
226  
226<script type="application/ld+json">
227  [{
228    "@context": "https://schema.org",
229    "@type": "Article",
230    "articleSection": "个人网站",
231    "name": "个人网站",
232    "headline": "个人网站",
233    "description": "Hugo 博客系列",
234    "inLanguage": "zh-cn",
235    "url" : "https://fairchild26.github.io/website/",
236    "author" : {
237      "@type": "Person",
238      "name": "Fairchild"
239    },
240    "copyrightYear": "2026",
241    "dateCreated": "2026-03-13T00:00:00\u002b00:00",
242    "datePublished": "2026-03-13T00:00:00\u002b00:00",
243    
244    "dateModified": "2026-03-13T00:00:00\u002b00:00",
245    
246    
247    
248    "mainEntityOfPage": "true",
249    "wordCount": "14"
250  }]
251  </script>
251
252
253
254
255  
256  
257    
258
259
260
261
262  
263
264  
265  
266
267  
268  
269
270  
271  
272    
273      
273<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
273
274      
274<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-firestore.js"></script>
274
275      
275<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-auth.js"></script>
275
276      
276<script>
277
278    const firebaseConfig = {
279      apiKey: "AIzaSyBCtAYbN2VwKxEZwIonfs-Q32ygXC7z7Ec",
280      authDomain: "my-wbesite-34fe9.firebaseapp.com",
281      projectId: "my-wbesite-34fe9",
282      storageBucket: "my-wbesite-34fe9.firebasestorage.app",
283      messagingSenderId: "970889989389",
284      appId: "1:970889989389:web:02f8b0db112184ddc0b444",
285      measurementId: "G-MNHEDZL4DC"
286    };
287
288        var app = firebase.initializeApp(firebaseConfig);
289        var db = firebase.firestore();
290        var auth = firebase.auth();
291
292      </script>
292
293    
294  
295
296  
297  
298</head>
299
300
301
302
303
304
305
306
307
308
309
310
311
312  
313    
314  
315
316
317
318
319
320
321  
322  <body class="flex flex-col h-screen m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32 text-lg bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral ">
323    <div id="the-top" class="absolute flex self-center">
324      <a
325        class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600"
326        href="#main-content">
327        <span class="font-bold text-primary-600 pe-2 dark:text-primary-400">&darr;</span>
328        跳过正文
329      </a>
330    </div>
331    
332    
333      <div class="min-h-[148px]"></div>
334<div class="fixed inset-x-0 z-100">
335  <div
336    id="menu-blur"
337    class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl bg-neutral/25 dark:bg-neutral-800/25"></div>
338  <div class="relative m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32">
339    <div class="main-menu flex items-center w-full gap-2 p-1 pl-0">
340  
341    
342    
343      <div>
344        <a href="/" class="flex">
345          <span class="sr-only"></span>
346          
347            <img
348              src="/img/logo.png"
349              width="487"
350              height="81"
351              class="logo max-h-20 max-w-20 object-scale-down object-left nozoom"
352              alt="">
353          
354        </a>
355      </div>
356    
357  
358  
359    <a href="/" class="text-base font-medium truncate min-w-0 shrink">
360      
361    </a>
362  
363  <div class="flex items-center ms-auto">
364    <div class="hidden md:flex">
365      <nav class="flex items-center gap-x-5 h-12">
366  
367    
368      
369  
370    <a
371      href="/cpp/"
372      
373      class="flex items-center bf-icon-color-hover"
374      aria-label="C&#43;&#43;"
375      title="C&#43;&#43; 笔记">
376      
377      
378        <span class="text-base font-medium break-normal">
379          C++
380        </span>
381      
382    </a>
383  
384
385    
386      
387  
388    <a
389      href="/python/"
390      
391      class="flex items-center bf-icon-color-hover"
392      aria-label="Python"
393      title="Python 笔记">
394      
395      
396        <span class="text-base font-medium break-normal">
397          Python
398        </span>
399      
400    </a>
401  
402
403    
404      
405  
406    <div class="nested-menu">
407      <div class="cursor-pointer flex items-center">
408        <a
409          
410            tabindex="0"
411          
412          aria-label="项目"
413          class="flex items-center text-base font-medium bf-icon-color-hover"
414          title="">
415          
416          <span class="text-bg font-bg break-normal" title="">
417            项目
418          </span>
419          <span>
420            <span class="relative block icon"><svg
421  xmlns="http://www.w3.org/2000/svg"
422  viewBox="0 0 20 20"
423  fill="currentColor"
424  aria-hidden="true"
425>
426  <path
427    fill-rule="evenodd"
428    d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
429    clip-rule="evenodd"
430  />
431</svg>
432</span>
433          </span>
434        </a>
435      </div>
436      <div class="menuhide">
437        <div class="pt-2 p-5 mt-2 rounded-xl backdrop-blur shadow-2xl bg-neutral/25 dark:bg-neutral-800/25">
438          <div class="flex flex-col space-y-3">
439            
440              <a
441                href="/website/"
442                
443                aria-label="个人网站"
444                class="flex items-center bf-icon-color-hover">
445                
446                <span class="text-sm font-sm" title="个人网站">
447                  个人网站
448                </span>
449              </a>
450            
451          </div>
452        </div>
453      </div>
454    </div>
455  
456
457    
458      
459  
460    <div class="nested-menu">
461      <div class="cursor-pointer flex items-center">
462        <a
463          
464            tabindex="0"
465          
466          aria-label="关于"
467          class="flex items-center text-base font-medium bf-icon-color-hover"
468          title="">
469          
470          <span class="text-bg font-bg break-normal" title="">
471            关于
472          </span>
473          <span>
474            <span class="relative block icon"><svg
475  xmlns="http://www.w3.org/2000/svg"
476  viewBox="0 0 20 20"
477  fill="currentColor"
478  aria-hidden="true"
479>
480  <path
481    fill-rule="evenodd"
482    d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
483    clip-rule="evenodd"
484  />
485</svg>
486</span>
487          </span>
488        </a>
489      </div>
490      <div class="menuhide">
491        <div class="pt-2 p-5 mt-2 rounded-xl backdrop-blur shadow-2xl bg-neutral/25 dark:bg-neutral-800/25">
492          <div class="flex flex-col space-y-3">
493            
494              <a
495                href="/about/tumunizi/"
496                
497                aria-label="土木逆子"
498                class="flex items-center bf-icon-color-hover">
499                
500                <span class="text-sm font-sm" title="土木逆子:摘下安全帽,我要爬上互联网的 “脚手架”">
501                  土木逆子
502                </span>
503              </a>
504            
505          </div>
506        </div>
507      </div>
508    </div>
509  
510
511    
512      
513  
514    <a
515      href="/message/"
516      
517      class="flex items-center bf-icon-color-hover"
518      aria-label="留言"
519      title="留言板">
520      
521      
522        <span class="text-base font-medium break-normal">
523          留言
524        </span>
525      
526    </a>
527  
528
529    
530  
531
532  
533  <div class="translation nested-menu">
534    <button class="cursor-pointer flex items-center">
535      <span class="me-1">
536        <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
537    <path fill="currentColor" d="M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z"/></svg></span>
538      </span>
539      <span class="text-sm font-medium bf-icon-color-hover" title="个人网站">简体中文</span>
540    </button>
541    <ul class="menuhide">
542      <li class="rounded-xl backdrop-blur shadow-2xl p-2 flex flex-col gap-1">
543        
544          <a href="/website/" class="flex items-center bf-icon-color-hover px-3 py-1">
545            <span class="text-sm font-sm" title="个人网站">
546              简体中文
547            </span>
548          </a>
549        
550          <a href="/en/website/" class="flex items-center bf-icon-color-hover px-3 py-1">
551            <span class="text-sm font-sm" title="Personal Website">
552              English
553            </span>
554          </a>
555        
556      </li>
557    </ul>
558  </div>
559
560
561  
562
563  
564    <button
565      id="search-button"
566      aria-label="Search"
567      class="text-base bf-icon-color-hover"
568      title="搜索 (/)">
569      <span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
570</span>
571    </button>
572  
573
574  
575    <div class="flex items-center">
576      <button
577        id="appearance-switcher"
578        aria-label="Dark mode switcher"
579        type="button"
580        class="text-base bf-icon-color-hover">
581        <div class="flex items-center justify-center dark:hidden">
582          <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
583</span>
584        </div>
585        <div class="items-center justify-center hidden dark:flex">
586          <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
587</span>
588        </div>
589      </button>
590    </div>
591  
592</nav>
593
594
595
596    </div>
597    <div class="flex md:hidden">
598      <div class="flex items-center h-14 gap-4">
599  
600    <button
601      id="search-button-mobile"
602      aria-label="Search"
603      class="flex items-center justify-center bf-icon-color-hover"
604      title="搜索 (/)">
605      <span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
606</span>
607    </button>
608  
609
610  
611    <button
612      id="appearance-switcher-mobile"
613      type="button"
614      aria-label="Dark mode switcher"
615      class="flex items-center justify-center text-neutral-900 hover:text-primary-600 dark:text-neutral-200 dark:hover:text-primary-400">
616      <div class="dark:hidden">
617        <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
618</span>
619      </div>
620      <div class="hidden dark:block">
621        <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
622</span>
623      </div>
624    </button>
625  
626
627  
628    <input type="checkbox" id="mobile-menu-toggle" autocomplete="off" class="hidden peer">
629    <label for="mobile-menu-toggle" class="flex items-center justify-center cursor-pointer bf-icon-color-hover">
630      <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg>
631</span>
632    </label>
633
634    <div
635      role="dialog"
636      aria-modal="true"
637      style="scrollbar-gutter: stable;"
638      class="fixed inset-0 z-50 invisible overflow-y-auto px-6 py-20 opacity-0 transition-[opacity,visibility] duration-300 peer-checked:visible peer-checked:opacity-100 bg-neutral-50/97 dark:bg-neutral-900/99
639      ">
640      <label
641        for="mobile-menu-toggle"
642        class="fixed end-8 top-5 flex items-center justify-center z-50 h-12 w-12 cursor-pointer select-none rounded-full bf-icon-color-hover border bf-border-color bf-border-color-hover bg-neutral-50 dark:bg-neutral-900">
643        <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
644</span>
645      </label>
646      <nav class="mx-auto max-w-md space-y-6">
647        
648  
649    
650    <div class="px-2">
651      <a
652        href="/cpp/"
653        aria-label="C&#43;&#43;"
654        
655        class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
656        
657        <span title="C&#43;&#43; 笔记" class="text-2xl font-bold tracking-tight">
658          C++
659        </span>
660        
661      </a>
662
663      
664    </div>
665  
666    
667    <div class="px-2">
668      <a
669        href="/python/"
670        aria-label="Python"
671        
672        class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
673        
674        <span title="Python 笔记" class="text-2xl font-bold tracking-tight">
675          Python
676        </span>
677        
678      </a>
679
680      
681    </div>
682  
683    
684    <div class="px-2">
685      <a
686        href=""
687        aria-label="项目"
688        
689        class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
690        
691        <span title="" class="text-2xl font-bold tracking-tight">
692          项目
693        </span>
694        
695          <label
696            for="fullscreen-submenu-项目"
697            class="ms-auto flex items-center justify-center h-10 w-10 cursor-pointer rounded-lg bf-icon-color-hover border bf-border-color bf-border-color-hover">
698            <span class="relative block icon"><svg
699  xmlns="http://www.w3.org/2000/svg"
700  viewBox="0 0 20 20"
701  fill="currentColor"
702  aria-hidden="true"
703>
704  <path
705    fill-rule="evenodd"
706    d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
707    clip-rule="evenodd"
708  />
709</svg>
710</span>
711          </label>
712        
713      </a>
714
715      
716        <input checked type="checkbox" id="fullscreen-submenu-项目" autocomplete="off" class="hidden peer/full">
717
718        <div
719          class="grid grid-rows-[0fr] transition-[grid-template-rows] duration-300 peer-checked/full:grid-rows-[1fr]">
720          <div class="overflow-hidden">
721            <div class="ms-7 mt-4">
722              
723                <a
724                  href="/website/"
725                  aria-label="个人网站"
726                  
727                  class="flex items-center gap-3 p-2 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
728                  
729                  <span title="个人网站" class="text-lg">
730                    个人网站
731                  </span>
732                </a>
733              
734            </div>
735          </div>
736        </div>
737      
738    </div>
739  
740    
741    <div class="px-2">
742      <a
743        href=""
744        aria-label="关于"
745        
746        class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
747        
748        <span title="" class="text-2xl font-bold tracking-tight">
749          关于
750        </span>
751        
752          <label
753            for="fullscreen-submenu-关于"
754            class="ms-auto flex items-center justify-center h-10 w-10 cursor-pointer rounded-lg bf-icon-color-hover border bf-border-color bf-border-color-hover">
755            <span class="relative block icon"><svg
756  xmlns="http://www.w3.org/2000/svg"
757  viewBox="0 0 20 20"
758  fill="currentColor"
759  aria-hidden="true"
760>
761  <path
762    fill-rule="evenodd"
763    d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
764    clip-rule="evenodd"
765  />
766</svg>
767</span>
768          </label>
769        
770      </a>
771
772      
773        <input checked type="checkbox" id="fullscreen-submenu-关于" autocomplete="off" class="hidden peer/full">
774
775        <div
776          class="grid grid-rows-[0fr] transition-[grid-template-rows] duration-300 peer-checked/full:grid-rows-[1fr]">
777          <div class="overflow-hidden">
778            <div class="ms-7 mt-4">
779              
780                <a
781                  href="/about/tumunizi/"
782                  aria-label="土木逆子"
783                  
784                  class="flex items-center gap-3 p-2 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
785                  
786                  <span title="土木逆子:摘下安全帽,我要爬上互联网的 “脚手架”" class="text-lg">
787                    土木逆子
788                  </span>
789                </a>
790              
791            </div>
792          </div>
793        </div>
794      
795    </div>
796  
797    
798    <div class="px-2">
799      <a
800        href="/message/"
801        aria-label="留言"
802        
803        class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
804        
805        <span title="留言板" class="text-2xl font-bold tracking-tight">
806          留言
807        </span>
808        
809      </a>
810
811      
812    </div>
813  
814
815        
816  
817
818        
819  
820    <div
821      class="flex flex-wrap items-center [&_span]:text-2xl [&_.translation_button_.icon]:text-4xl! [&_.translation_button_span]:text-base! [&_.translation_.menuhide_span]:text-sm! gap-x-6 ps-2 mt-8 pt-8 border-t bf-border-color">
822      
823  <div class="translation nested-menu">
824    <button class="cursor-pointer flex items-center">
825      <span class="me-1">
826        <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
827    <path fill="currentColor" d="M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z"/></svg></span>
828      </span>
829      <span class="text-sm font-medium bf-icon-color-hover" title="个人网站">简体中文</span>
830    </button>
831    <ul class="menuhide">
832      <li class="rounded-xl backdrop-blur shadow-2xl p-2 flex flex-col gap-1">
833        
834          <a href="/website/" class="flex items-center bf-icon-color-hover px-3 py-1">
835            <span class="text-sm font-sm" title="个人网站">
836              简体中文
837            </span>
838          </a>
839        
840          <a href="/en/website/" class="flex items-center bf-icon-color-hover px-3 py-1">
841            <span class="text-sm font-sm" title="Personal Website">
842              English
843            </span>
844          </a>
845        
846      </li>
847    </ul>
848  </div>
849
850
851
852      
853    </div>
854  
855
856      </nav>
857    </div>
858  
859</div>
860
861
862
863
864
865
866
867    </div>
868  </div>
869</div>
870
871
872
873
874
875  </div>
876</div>
877
878
879<script
880  type="text/javascript"
881  src="/js/background-blur.min.00a57c73ea12f2cab2980c3c3d649e89f6d82f190f74bbe2b67f2f5e39ab7d032ece47086400ca05396758aace13299da49aca43ea643d2625e62c506267a169.js"
882  integrity="sha512-AKV8c&#43;oS8sqymAw8PWSeifbYLxkPdLvitn8vXjmrfQMuzkcIZADKBTlnWKrOEymdpJrKQ&#43;pkPSYl5ixQYmehaQ=="
883  data-blur-id="menu-blur"></script>
883
884
885    
886    <div class="relative flex flex-col grow">
887      <main id="main-content" class="grow">
888        
889  
890  
891  
892
893  
894  
895    
896    
897      
898
899
900
901
902
903
904
905  
906  
907    
908  
909    
910  
911    
912  
913    
914  
915
916
917
918  
919  
920    
921    
922  
923
924
925
926
927  
928    
929    
930      
931      
932    
933  
934
935
936
937
938
939  <div class="fixed inset-x-0 top-0 h-[800px] single_hero_background nozoom">
940    
941    
942    
943    <img
944      id="background-image"
945      src="/img/night_hu_502dce3ee4978d1a.png"
946      role="presentation"
947      loading="eager"
948      decoding="async"
949      fetchpriority="high"
950      class="absolute inset-0 w-full h-full object-cover"
951      >
952    <div
953      class="absolute inset-0 bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal"></div>
954    <div
955      class="absolute inset-0 opacity-60 bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral-100 dark:to-neutral-800 mix-blend-normal"></div>
956  </div>
957
958  
959    <div
960      id="background-blur"
961      class="fixed opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-xl bg-neutral-100/75 dark:bg-neutral-800/60"></div>
962    
963    
964    
964<script
965      type="text/javascript"
966      src="/js/background-blur.min.00a57c73ea12f2cab2980c3c3d649e89f6d82f190f74bbe2b67f2f5e39ab7d032ece47086400ca05396758aace13299da49aca43ea643d2625e62c506267a169.js"
967      integrity="sha512-AKV8c&#43;oS8sqymAw8PWSeifbYLxkPdLvitn8vXjmrfQMuzkcIZADKBTlnWKrOEymdpJrKQ&#43;pkPSYl5ixQYmehaQ=="
968      data-blur-id="background-blur"
969      data-image-id="background-image"
970      data-image-url="/img/night_hu_502dce3ee4978d1a.png"></script>
970
971  
972    
973  
974
975  
976  <header>
977    
978    <h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">个人网站</h1>
979    <div class="mt-1 mb-2 text-base text-neutral-500 dark:text-neutral-400 print:hidden">
980      
981
982
983
984
985
986  
987  
988
989
990
991  
992
993  
994
995  
996
997  
998
999  
1000
1001
1002  <div class="flex flex-row flex-wrap items-center">
1003    
1004    
1005  </div>
1006
1007
1008    </div>
1009    
1010    
1011      
1012      
1013        
1014        
1015      
1016        
1017        
1018      
1019      
1020      
1021      
1021<script
1022        type="text/javascript"
1023        src="/js/page.min.54b6f4371722649edbe871e431d8670d670878c22be8f36e229fe53cc9b786fe25a834def5e6de621f7a3e37b72bc8cd73839aa5ed907ed6cbd45cd3e1b0fa20.js"
1024        integrity="sha512-VLb0NxciZJ7b6HHkMdhnDWcIeMIr6PNuIp/lPMm3hv4lqDTe9ebeYh96Pje3K8jNc4Oape2QftbL1FzT4bD6IA=="
1025        data-oid="views_website/_index.md"
1026        data-oid-likes="likes_website/_index.md"></script>
1026
1027    
1028  </header>
1029
1030  
1031  
1032  
1033  <section class="mt-0 prose flex max-w-full flex-col dark:prose-invert lg:flex-row mb-10">
1034    
1035    <div class="min-w-0 min-h-0 max-w-prose w-full">
1036      <!-- 
1037projects_websiet 目录下是 系列文章 的标准放置方式  
1038cascade 参数影响该目录下所有系列文章  
1039部分文章使用了 zenmode-enabled 短代码  
1040-->
1041<p>基于 Hugo 框架搭建个人博客网站。</p>
1042
1043    </div>
1044  </section>
1045
1046  
1047  
1048    
1049    
1050    
1051    
1052    
1053
1054    
1055      
1056        
1057          
1058          <section class="w-full grid gap-4 sm:grid-cols-2 md:grid-cols-2">
1059            
1060              
1061                
1062                  
1063
1064
1065
1066
1067
1068
1069  
1070  
1071    
1072
1073    
1074    
1075      
1076      
1077        
1078      
1079        
1080      
1081        
1082      
1083    
1084
1085    
1086    
1087      
1088      
1089    
1090
1091    
1092    
1093      
1094    
1095  
1096
1097
1098
1099<article
1100  class="article-link--card relative min-h-full min-w-full overflow-hidden rounded-lg border border-neutral-300 dark:border-neutral-600">
1101  
1102  
1103  <div class="p-4">
1104    <header>
1105      <a
1106        
1107          href="/website/ghpages/"
1108        
1109        class="not-prose before:absolute before:inset-0 decoration-primary-500 dark:text-neutral text-xl font-bold text-neutral-800 hover:underline hover:underline-offset-2">
1110        <h2>
1111          Hugo + Github Pages 博客搭建方案
1112          
1113        </h2>
1114      </a>
1115    </header>
1116    <div class="text-sm text-neutral-500 dark:text-neutral-400">
1117      
1118
1119
1120
1121
1122
1123
1124
1125  
1126
1127  
1128  
1129  
1130    
1131  
1132
1133  
1134
1135  
1136    
1137  
1138
1139  
1140
1141  
1142    
1143  
1144
1145  
1146    
1147  
1148
1149  
1150    
1151  
1152
1153  
1154    
1155  
1156
1157  
1158
1159  
1160
1161  
1162
1163
1164  <div class="flex flex-row flex-wrap items-center">
1165    
1166    
1167      <time datetime="2026-03-13T00:00:00&#43;00:00">2026 年 3 月 13 日</time><span class="px-2 text-primary-500">&middot;</span><span>
1167906 字</span><span class="px-2 text-primary-500">&middot;</span><span title="预计阅读">2 分钟</span><span class="px-2 text-primary-500">&middot;</span><span>
1168  
1169  
1170    
1171    
1172      
1173      
1174        
1175        
1176      
1177      
1178    
1179  
1180  <span
1181    id="views_website/ghpages/index.md"
1182    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1183    title="views"
1184    >loading</span
1185  >
1186  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
1187<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></span>
1188</span>
1189<span class="px-2 text-primary-500">&middot;</span><span>
1190  
1191  
1192    
1193    
1194      
1195      
1196        
1197        
1198      
1199      
1200    
1201  
1202  <span
1203    id="likes_website/ghpages/index.md"
1204    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1205    title="likes"
1206    >loading</span
1207  >
1208  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
1209<path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg></span></span>
1210</span>
1211
1212    
1213
1214    
1215    
1216  </div>
1217
1218  
1219
1220  
1221  
1222    <div class="flex flex-row flex-wrap items-center">
1223      
1224        
1225      
1226        
1227          
1228        
1229      
1230        
1231      
1232        
1233          
1234            
1235              <a class="relative mt-[0.5rem] me-2" href="/tags/git/">
1236                <span class="flex cursor-pointer">
1237  <span
1238    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1239    Git
1240  </span>
1241</span>
1242
1243              </a>
1244            
1245              <a class="relative mt-[0.5rem] me-2" href="/tags/ssh/">
1246                <span class="flex cursor-pointer">
1247  <span
1248    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1249    SSH
1250  </span>
1251</span>
1252
1253              </a>
1254            
1255              <a class="relative mt-[0.5rem] me-2" href="/tags/go/">
1256                <span class="flex cursor-pointer">
1257  <span
1258    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1259    Go
1260  </span>
1261</span>
1262
1263              </a>
1264            
1265              <a class="relative mt-[0.5rem] me-2" href="/tags/hugo/">
1266                <span class="flex cursor-pointer">
1267  <span
1268    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1269    Hugo
1270  </span>
1271</span>
1272
1273              </a>
1274            
1275          
1276        
1277      
1278    </div>
1279  
1280
1281  
1282  
1283
1284
1285
1286    </div>
1287    
1288  </div>
1289  <div class="px-6 pt-4 pb-2"></div>
1290</article>
1291
1292                
1293                  
1294
1295
1296
1297
1298
1299
1300  
1301  
1302    
1303
1304    
1305    
1306      
1307      
1308        
1309      
1310        
1311      
1312        
1313      
1314    
1315
1316    
1317    
1318      
1319      
1320    
1321
1322    
1323    
1324      
1325    
1326  
1327
1328
1329
1330<article
1331  class="article-link--card relative min-h-full min-w-full overflow-hidden rounded-lg border border-neutral-300 dark:border-neutral-600">
1332  
1333  
1334  <div class="p-4">
1335    <header>
1336      <a
1337        
1338          href="/website/sakana/"
1339        
1340        class="not-prose before:absolute before:inset-0 decoration-primary-500 dark:text-neutral text-xl font-bold text-neutral-800 hover:underline hover:underline-offset-2">
1341        <h2>
1342          网页玩具:「Sakana!」石蒜模拟器
1343          
1344        </h2>
1345      </a>
1346    </header>
1347    <div class="text-sm text-neutral-500 dark:text-neutral-400">
1348      
1349
1350
1351
1352
1353
1354
1355
1356  
1357
1358  
1359  
1360  
1361    
1362  
1363
1364  
1365
1366  
1367    
1368  
1369
1370  
1371
1372  
1373    
1374  
1375
1376  
1377    
1378  
1379
1380  
1381    
1382  
1383
1384  
1385    
1386  
1387
1388  
1389
1390  
1391
1392  
1393
1394
1395  <div class="flex flex-row flex-wrap items-center">
1396    
1397    
1398      <time datetime="2026-02-09T00:00:00&#43;00:00">2026 年 2 月 9 日</time><span class="px-2 text-primary-500">&middot;</span><span>
1398757 字</span><span class="px-2 text-primary-500">&middot;</span><span title="预计阅读">2 分钟</span><span class="px-2 text-primary-500">&middot;</span><span>
1399  
1400  
1401    
1402    
1403      
1404      
1405        
1406        
1407      
1408        
1409        
1410      
1411      
1412    
1413  
1414  <span
1415    id="views_website/sakana/index.md"
1416    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1417    title="views"
1418    >loading</span
1419  >
1420  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
1421<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></span>
1422</span>
1423<span class="px-2 text-primary-500">&middot;</span><span>
1424  
1425  
1426    
1427    
1428      
1429      
1430        
1431        
1432      
1433        
1434        
1435      
1436      
1437    
1438  
1439  <span
1440    id="likes_website/sakana/index.md"
1441    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1442    title="likes"
1443    >loading</span
1444  >
1445  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
1446<path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg></span></span>
1447</span>
1448
1449    
1450
1451    
1452    
1453  </div>
1454
1455  
1456
1457  
1458  
1459    <div class="flex flex-row flex-wrap items-center">
1460      
1461        
1462      
1463        
1464          
1465        
1466      
1467        
1468      
1469        
1470          
1471            
1472              <a class="relative mt-[0.5rem] me-2" href="/tags/hugo/">
1473                <span class="flex cursor-pointer">
1474  <span
1475    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1476    Hugo
1477  </span>
1478</span>
1479
1480              </a>
1481            
1482          
1483        
1484      
1485    </div>
1486  
1487
1488  
1489  
1490
1491
1492
1493    </div>
1494    
1495  </div>
1496  <div class="px-6 pt-4 pb-2"></div>
1497</article>
1498
1499                
1500                  
1501
1502
1503
1504
1505
1506
1507  
1508  
1509    
1510
1511    
1512    
1513      
1514      
1515        
1516      
1517        
1518      
1519        
1520      
1521    
1522
1523    
1524    
1525      
1526      
1527    
1528
1529    
1530    
1531      
1532    
1533  
1534
1535
1536
1537<article
1538  class="article-link--card relative min-h-full min-w-full overflow-hidden rounded-lg border border-neutral-300 dark:border-neutral-600">
1539  
1540  
1541  <div class="p-4">
1542    <header>
1543      <a
1544        
1545          href="/website/firebase/"
1546        
1547        class="not-prose before:absolute before:inset-0 decoration-primary-500 dark:text-neutral text-xl font-bold text-neutral-800 hover:underline hover:underline-offset-2">
1548        <h2>
1549          使用 Firebase 获取文章浏览和点赞数据
1550          
1551        </h2>
1552      </a>
1553    </header>
1554    <div class="text-sm text-neutral-500 dark:text-neutral-400">
1555      
1556
1557
1558
1559
1560
1561
1562
1563  
1564
1565  
1566  
1567  
1568    
1569  
1570
1571  
1572
1573  
1574    
1575  
1576
1577  
1578
1579  
1580    
1581  
1582
1583  
1584    
1585  
1586
1587  
1588    
1589  
1590
1591  
1592    
1593  
1594
1595  
1596
1597  
1598
1599  
1600
1601
1602  <div class="flex flex-row flex-wrap items-center">
1603    
1604    
1605      <time datetime="2026-02-06T00:00:00&#43;00:00">2026 年 2 月 6 日</time><span class="px-2 text-primary-500">&middot;</span><span>177 字</span><span class="px-2 text-primary-500">&middot;</span><span title="预计阅读">1 分钟</span><span class="px-2 text-primary-500">&middot;</span><span>
1606  
1607  
1608    
1609    
1610      
1611      
1612        
1613        
1614      
1615        
1616        
1617      
1618      
1619    
1620  
1621  <span
1622    id="views_website/firebase/index.md"
1623    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1624    title="views"
1625    >loading</span
1626  >
1627  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
1628<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></span>
1629</span>
1630<span class="px-2 text-primary-500">&middot;</span><span>
1631  
1632  
1633    
1634    
1635      
1636      
1637        
1638        
1639      
1640        
1641        
1642      
1643      
1644    
1645  
1646  <span
1647    id="likes_website/firebase/index.md"
1648    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1649    title="likes"
1650    >loading</span
1651  >
1652  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
1653<path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg></span></span>
1654</span>
1655
1656    
1657
1658    
1659    
1660  </div>
1661
1662  
1663
1664  
1665  
1666    <div class="flex flex-row flex-wrap items-center">
1667      
1668        
1669      
1670        
1671          
1672        
1673      
1674        
1675      
1676        
1677          
1678            
1679              <a class="relative mt-[0.5rem] me-2" href="/tags/firabase/">
1680                <span class="flex cursor-pointer">
1681  <span
1682    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1683    Firabase
1684  </span>
1685</span>
1686
1687              </a>
1688            
1689              <a class="relative mt-[0.5rem] me-2" href="/tags/hugo/">
1690                <span class="flex cursor-pointer">
1691  <span
1692    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1693    Hugo
1694  </span>
1695</span>
1696
1697              </a>
1698            
1699          
1700        
1701      
1702    </div>
1703  
1704
1705  
1706  
1707
1708
1709
1710    </div>
1711    
1712  </div>
1713  <div class="px-6 pt-4 pb-2"></div>
1714</article>
1715
1716                
1717                  
1718
1719
1720
1721
1722
1723
1724  
1725  
1726    
1727
1728    
1729    
1730      
1731      
1732        
1733      
1734        
1735      
1736        
1737      
1738    
1739
1740    
1741    
1742      
1743      
1744    
1745
1746    
1747    
1748      
1749    
1750  
1751
1752
1753
1754<article
1755  class="article-link--card relative min-h-full min-w-full overflow-hidden rounded-lg border border-neutral-300 dark:border-neutral-600">
1756  
1757  
1758  <div class="p-4">
1759    <header>
1760      <a
1761        
1762          href="/website/giscus/"
1763        
1764        class="not-prose before:absolute before:inset-0 decoration-primary-500 dark:text-neutral text-xl font-bold text-neutral-800 hover:underline hover:underline-offset-2">
1765        <h2>
1766          Hugo 博客如何添加 Giscus 评论系统
1767          
1768        </h2>
1769      </a>
1770    </header>
1771    <div class="text-sm text-neutral-500 dark:text-neutral-400">
1772      
1773
1774
1775
1776
1777
1778
1779
1780  
1781
1782  
1783  
1784  
1785    
1786  
1787
1788  
1789
1790  
1791    
1792  
1793
1794  
1795
1796  
1797    
1798  
1799
1800  
1801    
1802  
1803
1804  
1805    
1806  
1807
1808  
1809    
1810  
1811
1812  
1813
1814  
1815
1816  
1817
1818
1819  <div class="flex flex-row flex-wrap items-center">
1820    
1821    
1822      <time datetime="2026-02-05T00:00:00&#43;00:00">2026 年 2 月 5 日</time><span class="px-2 text-primary-500">&middot;</span><span>403 字</span><span class="px-2 text-primary-500">&middot;</span><span title="预计阅读">1 分钟</span><span class="px-2 text-primary-500">&middot;</span><span>
1823  
1824  
1825    
1826    
1827      
1828      
1829        
1830        
1831      
1832        
1833        
1834      
1835      
1836    
1837  
1838  <span
1839    id="views_website/giscus/index.md"
1840    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1841    title="views"
1842    >loading</span
1843  >
1844  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
1845<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></span>
1846</span>
1847<span class="px-2 text-primary-500">&middot;</span><span>
1848  
1849  
1850    
1851    
1852      
1853      
1854        
1855        
1856      
1857        
1858        
1859      
1860      
1861    
1862  
1863  <span
1864    id="likes_website/giscus/index.md"
1865    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
1866    title="likes"
1867    >loading</span
1868  >
1869  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
1870<path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg></span></span>
1871</span>
1872
1873    
1874
1875    
1876    
1877  </div>
1878
1879  
1880
1881  
1882  
1883    <div class="flex flex-row flex-wrap items-center">
1884      
1885        
1886      
1887        
1888          
1889        
1890      
1891        
1892      
1893        
1894          
1895            
1896              <a class="relative mt-[0.5rem] me-2" href="/tags/giscus/">
1897                <span class="flex cursor-pointer">
1898  <span
1899    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1900    Giscus
1901  </span>
1902</span>
1903
1904              </a>
1905            
1906              <a class="relative mt-[0.5rem] me-2" href="/tags/hugo/">
1907                <span class="flex cursor-pointer">
1908  <span
1909    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
1910    Hugo
1911  </span>
1912</span>
1913
1914              </a>
1915            
1916          
1917        
1918      
1919    </div>
1920  
1921
1922  
1923  
1924
1925
1926
1927    </div>
1928    
1929  </div>
1930  <div class="px-6 pt-4 pb-2"></div>
1931</article>
1932
1933                
1934                  
1935
1936
1937
1938
1939
1940
1941  
1942  
1943    
1944
1945    
1946    
1947      
1948      
1949        
1950      
1951        
1952      
1953        
1954      
1955    
1956
1957    
1958    
1959      
1960      
1961    
1962
1963    
1964    
1965      
1966    
1967  
1968
1969
1970
1971<article
1972  class="article-link--card relative min-h-full min-w-full overflow-hidden rounded-lg border border-neutral-300 dark:border-neutral-600">
1973  
1974  
1975  <div class="p-4">
1976    <header>
1977      <a
1978        
1979          href="/website/blowfish/"
1980        
1981        class="not-prose before:absolute before:inset-0 decoration-primary-500 dark:text-neutral text-xl font-bold text-neutral-800 hover:underline hover:underline-offset-2">
1982        <h2>
1983          使用 Hugo 搭建个人博客
1984          
1985        </h2>
1986      </a>
1987    </header>
1988    <div class="text-sm text-neutral-500 dark:text-neutral-400">
1989      
1990
1991
1992
1993
1994
1995
1996
1997  
1998
1999  
2000  
2001  
2002    
2003  
2004
2005  
2006
2007  
2008    
2009  
2010
2011  
2012
2013  
2014    
2015  
2016
2017  
2018    
2019  
2020
2021  
2022    
2023  
2024
2025  
2026    
2027  
2028
2029  
2030
2031  
2032
2033  
2034
2035
2036  <div class="flex flex-row flex-wrap items-center">
2037    
2038    
2039      <time datetime="2026-01-31T00:00:00&#43;00:00">2026 年 1 月 31 日</time><span class="px-2 text-primary-500">&middot;</span><span>1188 字</span><span class="px-2 text-primary-500">&middot;</span><span title="预计阅读">3 分钟</span><span class="px-2 text-primary-500">&middot;</span><span>
2040  
2041  
2042    
2043    
2044      
2045      
2046        
2047        
2048      
2049        
2050        
2051      
2052      
2053    
2054  
2055  <span
2056    id="views_website/blowfish/index.md"
2057    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
2058    title="views"
2059    >loading</span
2060  >
2061  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
2062<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></span>
2063</span>
2064<span class="px-2 text-primary-500">&middot;</span><span>
2065  
2066  
2067    
2068    
2069      
2070      
2071        
2072        
2073      
2074        
2075        
2076      
2077      
2078    
2079  
2080  <span
2081    id="likes_website/blowfish/index.md"
2082    class="animate-pulse inline-block text-transparent max-h-3 rounded-full -mt-[2px] align-middle bg-neutral-300 dark:bg-neutral-400"
2083    title="likes"
2084    >loading</span
2085  >
2086  <span class="inline-block align-text-bottom"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2087<path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg></span></span>
2088</span>
2089
2090    
2091
2092    
2093    
2094  </div>
2095
2096  
2097
2098  
2099  
2100    <div class="flex flex-row flex-wrap items-center">
2101      
2102        
2103      
2104        
2105          
2106        
2107      
2108        
2109      
2110        
2111          
2112            
2113              <a class="relative mt-[0.5rem] me-2" href="/tags/git/">
2114                <span class="flex cursor-pointer">
2115  <span
2116    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
2117    Git
2118  </span>
2119</span>
2120
2121              </a>
2122            
2123              <a class="relative mt-[0.5rem] me-2" href="/tags/go/">
2124                <span class="flex cursor-pointer">
2125  <span
2126    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
2127    Go
2128  </span>
2129</span>
2130
2131              </a>
2132            
2133              <a class="relative mt-[0.5rem] me-2" href="/tags/sass/">
2134                <span class="flex cursor-pointer">
2135  <span
2136    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
2137    Sass
2138  </span>
2139</span>
2140
2141              </a>
2142            
2143              <a class="relative mt-[0.5rem] me-2" href="/tags/hugo/">
2144                <span class="flex cursor-pointer">
2145  <span
2146    class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
2147    Hugo
2148  </span>
2149</span>
2150
2151              </a>
2152            
2153          
2154        
2155      
2156    </div>
2157  
2158
2159  
2160  
2161
2162
2163
2164    </div>
2165    
2166  </div>
2167  <div class="px-6 pt-4 pb-2"></div>
2168</article>
2169
2170                
2171              
2172            
2173          </section>
2174        
2175      
2176    
2177  
2178  
2179  
2180
2181        
2182
2183
2184  
2185
2186
2187
2188
2189
2190
2191<div
2192  id="scroll-to-top"
2193  class="fixed bottom-6 end-6 z-50 transform translate-y-4 opacity-0 duration-200">
2194  <a
2195    href="#the-top"
2196    class="pointer-events-auto flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
2197    aria-label="返回顶部"
2198    title="返回顶部">
2199    &uarr;
2200  </a>
2201</div>
2202
2203      </main><footer id="site-footer" class="py-10 print:hidden">
2204  
2205  
2206    
2207      
2208      
2209        
2210          
2211          
2212      
2213      
2214      
2215      <nav class="flex flex-row pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400 ">
2216        <ul class="flex list-none flex-col sm:flex-row">
2217          
2218            <li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
2219              <a
2220                class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
2221                href="/tags/"
2222                title="Tags">
2223                
2224                标签
2225              </a>
2226            </li>
2227          
2228            <li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
2229              <a
2230                class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
2231                href="/categories/"
2232                title="Categories">
2233                
2234                分类
2235              </a>
2236            </li>
2237          
2238        </ul>
2239      </nav>
2240    
2241  
2242  <div class="flex items-center justify-between">
2243    
2244    
2245      <p class="text-sm text-neutral-500 dark:text-neutral-400">
2246          Copyright © 2026 Robin Fairchild
2247      </p>
2248    
2249
2250    
2251    
2252      <p class="text-xs text-neutral-500 dark:text-neutral-400">
2253        
2254        
2255        
2256        由 <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
2257          href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> &amp; <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
2258          href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a> 强力驱动
2259      </p>
2260    
2261  </div>
2262  
2263    
2263<script>
2264      mediumZoom(document.querySelectorAll("img:not(.nozoom)"), {
2265        margin: 24,
2266        background: "rgba(0,0,0,0.5)",
2267        scrollOffset: 0,
2268      });
2269    </script>
2269
2270  
2271  
2272  
2273  
2273<script
2274    type="text/javascript"
2275    src="/js/process.min.ee03488f19c93c2efb199e2e3014ea5f3cb2ce7d45154adb3399a158cac27ca52831db249ede5bb602700ef87eb02434139de0858af1818ab0fb4182472204a4.js"
2276    integrity="sha512-7gNIjxnJPC77GZ4uMBTqXzyyzn1FFUrbM5mhWMrCfKUoMdsknt5btgJwDvh&#43;sCQ0E53ghYrxgYqw&#43;0GCRyIEpA=="></script>
2276
2277  
2278  
2279</footer><div
2280  id="search-wrapper"
2281  class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh] z-500"
2282  data-url="https://fairchild26.github.io/">
2283  <div
2284    id="search-modal"
2285    class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800">
2286    <header class="relative z-10 flex items-center justify-between flex-none px-2">
2287      <form class="flex items-center flex-auto min-w-0">
2288        <div class="flex items-center justify-center w-8 h-8 text-neutral-400">
2289          <span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
2290</span>
2291        </div>
2292        <input
2293          type="search"
2294          id="search-query"
2295          class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent"
2296          placeholder="搜索"
2297          tabindex="0">
2298      </form>
2299      <button
2300        id="close-search-button"
2301        class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"
2302        title="关闭 (Esc)">
2303        <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
2304</span>
2305      </button>
2306    </header>
2307    <section class="flex-auto px-2 overflow-auto">
2308      <ul id="search-results">
2309        
2310      </ul>
2311    </section>
2312  </div>
2313</div>
2314
2315    </div>
2316  </body>
2317  
2318
2319  
2320  
2321<style>
2322  @media only screen and (min-width: 768px) {
2323    #sakana-widget {
2324      display: block;   
2325      position: fixed;  
2326      left: 16px;
2327      bottom: 0;
2328    }
2329  }
2330</style>
2331
2332<div id="sakana-widget"></div>
2333
2334
2335<script>
2336  function initSakanaWidget() {
2337     
2338    const kunkun = SakanaWidget.getCharacter('chisato');
2339    kunkun.image = `https://s1.aigei.com/src/img/png/3a/3a9e00ef08124bf5b412778f4abee003.png?imageMogr2/auto-orient/thumbnail/!133x132r/gravity/Center/crop/133x132/quality/85/%7CimageView2/2/w/133&e=2051020800&token=P7S2Xpzfz11vAkASLTkfHN7Fw-oOZBecqeJaxypL:qvZOvJ1Pkg_Yc99-DWeefsu0QdM=`;
2340    kunkun.initialState = {
2341      ...kunkun.initialState,
2342      d: 1,       
2343      i: 0.001, 
2344    };
2345    SakanaWidget.registerCharacter('kunkun',  kunkun);
2346    new SakanaWidget({ character: 'kunkun' }).mount('#sakana-widget'); 
2347  }
2348</script>
2348
2349
2350<script
2351  async
2352  onload="initSakanaWidget()"
2353  src="https://cdn.jsdelivr.net/npm/[email protected]/lib/sakana.min.js"
2354></script>
2354
2355</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.