<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Naive Koala</title><link>https://www.xalaok.top/</link><description>Recent content on Naive Koala</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 12 Feb 2026 15:20:00 +0800</lastBuildDate><atom:link href="https://www.xalaok.top/index.xml" rel="self" type="application/rss+xml"/><item><title>南京生存训练奇遇记</title><link>https://www.xalaok.top/post/nanjing-survival-training/</link><pubDate>Sun, 08 Feb 2026 22:45:00 +0800</pubDate><guid>https://www.xalaok.top/post/nanjing-survival-training/</guid><description>&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/cover.webp" alt="Featured image of post 南京生存训练奇遇记" /&gt;&lt;p&gt;去年 3 月，学校组织了去南京的研学活动，名为“生存训练”。如今虽已过去一年，但还是决定把这一难忘的经历记录下来，为日后重访南京时能循迹重温。为此，我翻阅了当时的朋友圈、照片、聊天记录、支付宝账单等等。&lt;/p&gt;
&lt;h2 id="day-1-20250320"&gt;&lt;a href="#day-1-20250320" class="header-anchor"&gt;&lt;/a&gt;Day 1 2025/03/20
&lt;/h2&gt;&lt;p&gt;​
清晨 5 点起床，在学校篮球场集合后乘坐大巴出发，08:30 在窦庄服务区短暂休整，​上午约 11 时到达南京大屠杀遇难同胞纪念馆，缅怀遇难同胞。&lt;br&gt;
稍微参观的久了一点，离开时因小组仅 4 人未达人数要求还被年级主任扣留了一会😅。后经班主任协调，我们找到另一组合影“交差”，这才得以继续行程。&lt;br&gt;
12:46 到纪念馆旁边的万达广场找另一组合完照后在阿香米线解决了午餐。&lt;br&gt;
13:42-14:43 乘坐地铁从集庆门大街到诚信大道。&lt;/p&gt;
&lt;p&gt;​下面我将讲述我们四人小组约 10km 骑行奇妙旅程，可配合路线图观看：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/cycling_route.webp"
width="791"
height="1500"
loading="lazy" style="display:block;margin:0 auto;"
alt="骑行路径"
class="gallery-image"
data-flex-grow="52"
data-flex-basis="126px"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/goat_1539.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="15:39 路边有羊"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/cow_1551.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="15:51 泥路转角的牛"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/cycling_1606.webp"
width="600"
height="800"
loading="lazy" style="display:block;margin:0 auto;"
alt="16:06 泥路"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/mall_1716.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="17:16 砂之船奥莱"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/dorm.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="宿舍"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;p&gt;14:43 3 号线诚信大道出站&lt;br&gt;
扫共享单车无哈啰所以四个人 2 青桔 2 美团&lt;br&gt;
前庄站处在建 断头路&lt;br&gt;
​掉头左转进殷富街&lt;br&gt;
​殷富街吉印大道的丁字路口遇到超绝 &lt;strong&gt;5s 绿灯&lt;/strong&gt;&lt;br&gt;
​吉印大桥下&lt;strong&gt;美团&lt;/strong&gt;共享单车提示&lt;strong&gt;出运营区&lt;/strong&gt;（青桔没出）&lt;br&gt;
​右转进入河畔&lt;strong&gt;柏油路&lt;/strong&gt;（图中&lt;strong&gt;蓝色&lt;/strong&gt;描出）&lt;br&gt;
沿河每二三十米就有一个钓鱼佬 路边小树丛还有&lt;strong&gt;几只羊&lt;/strong&gt;（上图 1，后来甚至走上路）&lt;br&gt;
柏油路段限高 1.9m（我们班有俩 1.92m 的高人过不去说是）&lt;br&gt;
道路尽头是方山大桥与秣陵新河，柏油路也在此转为&lt;strong&gt;泥路&lt;/strong&gt;（图中&lt;strong&gt;棕色&lt;/strong&gt;描出）&lt;br&gt;
泥路可见文章封面图，图中段较为平整，后面有大量满是轮胎印的&lt;strong&gt;泥泞坑洼&lt;/strong&gt;段和土坡，有些路段怕掉进河里不得不下车推行&lt;br&gt;
​泥路拐弯有&lt;strong&gt;两头牛&lt;/strong&gt;（上图 2，看到它在撒尿）&lt;br&gt;
刚好到点卯时间，为了看起来像个人，把对岸作为了合照背景&lt;br&gt;
​泥路圆弧处我们下车探路（上图 3），看到少量油菜花&lt;br&gt;
​最后终于拐进正常的&lt;strong&gt;水泥路&lt;/strong&gt;（图中&lt;strong&gt;绿色&lt;/strong&gt;描出），再左转就到了 3 号线终点站附近，在 16:34 到达砂之船奥莱商场（上图 4）&lt;br&gt;
本来在共享单车运营区外停车要付 5 元调度费，但不知怎的美团给免了。真得给青桔和美团道个歉，让它们的自行车走了这么一段它们本不该走的路🤣&lt;br&gt;
说这段旅程奇妙，是因为河岸两侧景象迥异：一边是正常的公路，而我们走的这一侧却是泥路，且泥路两头又分别连接着水泥路和柏油路。Day 3 参观城市规划馆发现这块地属于&lt;strong&gt;生态保护用地&lt;/strong&gt;，而周围却被城市建筑用地环绕。在这片非农业用的土地上，竟同时存在&lt;strong&gt;农田、工厂与地铁车库&lt;/strong&gt;，且紧邻商场，实在令人称奇。&lt;/p&gt;
&lt;p&gt;晚餐是商场里面的晋满满手工刀削面。&lt;br&gt;
17:18 乘坐博宁毗邻 1 路公交车从秣周东路双龙大道到正方中路，成为全班最先到达集合点的小组，实力！😎&lt;br&gt;
​大巴统一送到学校安排的住处江宁区江苏广电集团，体验到超绝 20 人大宿舍💩。隔壁市西和我们一起来，住的是两人一间的星级酒店，而且活动费还比我们低，没有对比就没有伤害！&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Day 1 支出明细（共 ¥100.20）：&lt;/strong&gt;&lt;br&gt;
5GB 流量 ¥11.70&lt;br&gt;
午餐（万达广场-阿香米线） ¥36&lt;br&gt;
地铁（集庆门大街-诚信大道） ¥6&lt;br&gt;
美团单车（101 分钟） ¥7.50&lt;br&gt;
晚餐（砂之船奥莱-晋满满手工刀削面） ¥35&lt;br&gt;
公交车（博宁毗邻 1 路 秣周东路双龙大道-正方中路） ¥4&lt;/p&gt;
&lt;h2 id="day-2-20250321"&gt;&lt;a href="#day-2-20250321" class="header-anchor"&gt;&lt;/a&gt;Day 2 2025/03/21
&lt;/h2&gt;&lt;p&gt;&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/morning.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="5:30 的基地"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/breakfast_0756.webp"
width="450"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="7:56 肯德基"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/city_planning_0906.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="9:06 城市规划馆外"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/city_planning_0915.webp"
width="750"
height="1000"
loading="lazy" style="display:block;margin:0 auto;"
alt="9:15 城市规划馆"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/basalt_gate_0954.webp"
width="1000"
height="750"
loading="lazy" style="display:block;margin:0 auto;"
alt="9:54 玄武门"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/xuanwulake_1010.webp"
width="800"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="10:10 玄武湖景区"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/chayanyuese.webp"
width="450"
height="600"
loading="lazy" style="display:block;margin:0 auto;"
alt="茶颜悦色"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;&lt;/p&gt;
&lt;p&gt;我们班人多一辆大巴坐不下，而我们组就 4 个人，可谓短小精悍，行动方便，因此被安排跟 12 班同乘一车。&lt;br&gt;
7:20 大巴送我们到达正方中路地铁站。&lt;br&gt;
7:33 到达吉印大道站吃 KFC 当早饭（上图 2）。&lt;br&gt;
8:09 再次出发乘坐地铁，9:04 到达玄武门站。
9:06 参观南京​城市规划馆（上图 3 4）&lt;br&gt;
​9:54 开始游赏玄武湖景区（上图 5 6），景区里还差点遇到市西的同学，可惜路线有点差别。&lt;br&gt;
沿湖南岸一路向东，离开景区后 11:40 在路边老鼓楼汤包解决了午餐。&lt;br&gt;
12:14 乘地铁从九华山站到南艺二师草场门站。&lt;br&gt;
一路向南骑行 34 分钟后 13:12 到达南京环宇城，组长请我们喝了茶颜悦色（上图 7）。&lt;br&gt;
骑行 10 分钟 13:55 到达莫愁湖站乘地铁到三山街站。&lt;br&gt;
在这里我们与其他小组会合，一同游览了夫子庙。&lt;br&gt;
15:18 在三山街站的 85°C 买了次日早餐的面包，再乘地铁到吉印大道。&lt;br&gt;
16:27 又来到早上的那个 KFC 买好晚饭，时间紧迫，带着晚餐狂奔进地铁回正方中路集合点。有小组下错地铁站，而班次间隔较长，遂决定骑车，但有组员不会骑车，只能跟着后面跑，最终迟到。当然集合迟到也是不少小组的普遍情况。&lt;br&gt;
回基地则是​跟 11 班车最先到达，全年级第一个洗澡，成功避免被猛男们包围。&lt;br&gt;
晚上班会，交流完课题调研结果，班主任说到集合迟到的事，因时间已晚，众人流露出不耐烦的情绪。班主任发怒，让大家主动自我反省，同学们一个个自发地起立自我检讨，情绪激动处竟流下泪来。&lt;br&gt;
回到寝室后，大伙交流起白天的奇妙经历。有小组说他们在长江大桥大桥遇到了一些面露不善的人，不远处有一辆窗户不透明、略显恐怖的面包车，很难不让人联想到拐卖😨。我们小组也分享了我们第一天的骑行见闻。&lt;br&gt;
说实话，我一开始觉得，研学活动起名“生存训练”未免有些过于夸张。我们都是高中生了，在省会城市，且有手机，怎么可能连两天都活不下来？但如果跑到像那个小组一样偏僻的地方，没准还真会遇到“生存问题”。而我们小组虽也走的是偏僻小路，却一路顺利，反倒成了一段愉快冒险。&lt;/p&gt;
&lt;p&gt;​&lt;strong&gt;Day 2 支出明细（共 ¥144.5）：&lt;/strong&gt;&lt;br&gt;
地铁（正方中路-吉印大道） ¥3&lt;br&gt;
早餐（肯德基） ¥13&lt;br&gt;
地铁（吉印大道-玄武湖） ¥6&lt;br&gt;
午餐（老鼓楼汤包） ¥45.50&lt;br&gt;
地铁（九华山-南艺二师草场门） ¥3&lt;br&gt;
哈啰单车（34 分钟 南艺二师草场门-南京环宇城） ¥3.50&lt;br&gt;
哈啰单车（10 分钟 南京环宇城-莫愁湖） ¥1.50&lt;br&gt;
地铁（莫愁湖-三山街） ¥3&lt;br&gt;
Day 3 早餐（85°C） ¥10&lt;br&gt;
地铁（三山街-吉印大道） ¥5&lt;br&gt;
晚餐（肯德基） ¥44&lt;br&gt;
地铁单程票（作纪念） ¥3&lt;br&gt;
地铁（吉印大道-正方中路） ¥3&lt;/p&gt;
&lt;h2 id="day-3-20250322"&gt;&lt;a href="#day-3-20250322" class="header-anchor"&gt;&lt;/a&gt;Day 3 2025/03/22
&lt;/h2&gt;&lt;p&gt;&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/yuhuatai1.webp"
width="700"
height="525"
loading="lazy" style="display:block;margin:0 auto;"
alt="雨花台"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/yuhuatai2.webp"
width="525"
height="700"
loading="lazy" style="display:block;margin:0 auto;"
alt="雨花台"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/nanjing-survival-training/class.webp"
width="600"
height="450"
loading="lazy" style="display:block;margin:0 auto;"
alt="班级合照"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;p&gt;清晨我们来到雨花台，这片安眠着无数革命烈士的土地。同学们在烈士纪念碑前肃立宣誓，依次献花。主题教育活动结束后，各班进行主题班会，团员们纷纷发表自己的感想。&lt;br&gt;
大约 10 点我们启程回上海。车上提前下单服务区的汉堡王，险些误点成北侧反方向服务区的 KFC。&lt;br&gt;
11:30 左右到达芳茂山服务区，16:40 回到学校。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Day 3 支出明细（共 ¥50.50）：&lt;/strong&gt;&lt;br&gt;
午餐（芳茂山服务区-汉堡王） ¥50.50&lt;/p&gt;</description></item><item><title>上海虹桥拍机</title><link>https://www.xalaok.top/post/zsss-plane-spotting-202511/</link><pubDate>Fri, 06 Feb 2026 02:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/zsss-plane-spotting-202511/</guid><description>&lt;img src="https://www.xalaok.top/post/zsss-plane-spotting-202511/cover.webp" alt="Featured image of post 上海虹桥拍机" /&gt;&lt;p&gt;✈️ 机场：上海虹桥国际机场（IATA: SHA/ICAO: ZSSS）&lt;br&gt;
🕔 时间：2025.11.29&lt;br&gt;
📷 设备：vivo X200 Ultra&lt;br&gt;
🌀 风向：南风&lt;br&gt;
📍 机位：南塘桥健身步道（RWY 18L 降落）；南虹港观机长廊（RWY 18R 起飞）&lt;br&gt;
当天从上午一直拍到傍晚天色渐暗，观赏了 10+ 航司的 50+ 架次起降。&lt;br&gt;
由于南风，飞机都在北侧降落，所以一早先来到了北侧的南塘桥步道，只有零星几个人。运气非常好，第一次来就遇上了国航波音 747-8（B-2485）。原本计划执飞的 CA1557 在前一天晚上取消，本以为它不来了，结果到了机场发现它执飞了提前了一小时的 CA1531！&lt;br&gt;
吃完饭下午来到南侧观机长廊，正好遇到 B-2485 起飞。没什么人，只有一些一无所获的钓鱼佬。飞常准看到长荣航空注册号 B-17811 的一架波音 787-10（执飞 BR772）即将抵达，赶忙乘车返回北边，一阵狂奔仍未能在飞机触地前跑到最佳拍摄点，所幸拍到了几秒的素材。没想到下午聚集在 18L 附近的人还挺多。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/zsss-plane-spotting-202511/spotters.webp"
width="1536"
height="488"
loading="lazy" style="display:block;margin:0 auto;"
alt="观机的人群"
class="gallery-image"
data-flex-grow="314"
data-flex-basis="755px"
&gt;&lt;/p&gt;
&lt;p&gt;我将拍到的素材剪辑为了一支两分钟的短片 &lt;a class="link" href="https://www.bilibili.com/video/BV14v27BLERg/" target="_blank" rel="noopener"
&gt;BV14v27BLERg&lt;/a&gt;，欢迎大家观看三连！看点包含多家中外航司的宽体与窄体机：国航 748 与 787、东航 C919 与 A350、南航 77W、海南航空 787、吉祥航空 787、西藏航空 A330、全日空 78X、日航 77W，大韩航空 A321、长荣航空 78X 等等。由于窄体机较为常见，本次我重点拍摄的是宽体客机。&lt;/p&gt;
&lt;p&gt;本次拍摄到的飞机按时间顺序排列如下：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;时刻&lt;/th&gt;
&lt;th style="text-align: center"&gt;注册号&lt;/th&gt;
&lt;th style="text-align: center"&gt;机型&lt;/th&gt;
&lt;th style="text-align: center"&gt;机龄&lt;/th&gt;
&lt;th style="text-align: center"&gt;航班号&lt;/th&gt;
&lt;th style="text-align: center"&gt;航线&lt;/th&gt;
&lt;th style="text-align: center"&gt;彩绘/纪念&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:31&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-1380&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-8&lt;/td&gt;
&lt;td style="text-align: center"&gt;8&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5801&lt;/td&gt;
&lt;td style="text-align: center"&gt;KMG-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:32&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-209R&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-9&lt;/td&gt;
&lt;td style="text-align: center"&gt;6.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1857&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-CAN&lt;/td&gt;
&lt;td style="text-align: center"&gt;梦旅生花&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:36&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32FQ&lt;/td&gt;
&lt;td style="text-align: center"&gt;A350-941&lt;/td&gt;
&lt;td style="text-align: center"&gt;2&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5301&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-CAN&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:40&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-5908&lt;/td&gt;
&lt;td style="text-align: center"&gt;A330-243&lt;/td&gt;
&lt;td style="text-align: center"&gt;12.9&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5302&lt;/td&gt;
&lt;td style="text-align: center"&gt;CAN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;天合联盟&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:45&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32ED&lt;/td&gt;
&lt;td style="text-align: center"&gt;A350-941&lt;/td&gt;
&lt;td style="text-align: center"&gt;2.4&lt;/td&gt;
&lt;td style="text-align: center"&gt;CZ8879&lt;/td&gt;
&lt;td style="text-align: center"&gt;PKX-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:47&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-6523&lt;/td&gt;
&lt;td style="text-align: center"&gt;A330-343&lt;/td&gt;
&lt;td style="text-align: center"&gt;14.8&lt;/td&gt;
&lt;td style="text-align: center"&gt;CA4515&lt;/td&gt;
&lt;td style="text-align: center"&gt;CTU-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:51&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-2008&lt;/td&gt;
&lt;td style="text-align: center"&gt;B777-31B(ER)&lt;/td&gt;
&lt;td style="text-align: center"&gt;11.3&lt;/td&gt;
&lt;td style="text-align: center"&gt;CZ3553&lt;/td&gt;
&lt;td style="text-align: center"&gt;SZX-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:56&lt;/td&gt;
&lt;td style="text-align: center"&gt;/&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787&lt;/td&gt;
&lt;td style="text-align: center"&gt;/&lt;/td&gt;
&lt;td style="text-align: center"&gt;HU&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-?&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;10:56&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-9965&lt;/td&gt;
&lt;td style="text-align: center"&gt;A320-214&lt;/td&gt;
&lt;td style="text-align: center"&gt;12.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;9C8910&lt;/td&gt;
&lt;td style="text-align: center"&gt;JJN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:03&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-919D&lt;/td&gt;
&lt;td style="text-align: center"&gt;C919&lt;/td&gt;
&lt;td style="text-align: center"&gt;2&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU2151&lt;/td&gt;
&lt;td style="text-align: center"&gt;XIY-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:08&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-8862&lt;/td&gt;
&lt;td style="text-align: center"&gt;A330-343&lt;/td&gt;
&lt;td style="text-align: center"&gt;8.3&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5304&lt;/td&gt;
&lt;td style="text-align: center"&gt;CAN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:13&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-5708&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-85C&lt;/td&gt;
&lt;td style="text-align: center"&gt;12.8&lt;/td&gt;
&lt;td style="text-align: center"&gt;MF8577&lt;/td&gt;
&lt;td style="text-align: center"&gt;JJN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:15&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-5269&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-76D&lt;/td&gt;
&lt;td style="text-align: center"&gt;15.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;FM9242&lt;/td&gt;
&lt;td style="text-align: center"&gt;YNT-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:16&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-1429&lt;/td&gt;
&lt;td style="text-align: center"&gt;B777-39L(ER)&lt;/td&gt;
&lt;td style="text-align: center"&gt;8.4&lt;/td&gt;
&lt;td style="text-align: center"&gt;CA1838&lt;/td&gt;
&lt;td style="text-align: center"&gt;CAN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:18&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-7898&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-9&lt;/td&gt;
&lt;td style="text-align: center"&gt;9.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;CA1519&lt;/td&gt;
&lt;td style="text-align: center"&gt;PEK-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:25&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-6469&lt;/td&gt;
&lt;td style="text-align: center"&gt;A319-115&lt;/td&gt;
&lt;td style="text-align: center"&gt;10.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5535&lt;/td&gt;
&lt;td style="text-align: center"&gt;LHW-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:28&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32DS&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-271N&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.9&lt;/td&gt;
&lt;td style="text-align: center"&gt;ZH9503&lt;/td&gt;
&lt;td style="text-align: center"&gt;SZX-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:30&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-6142&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-79P&lt;/td&gt;
&lt;td style="text-align: center"&gt;10.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5803&lt;/td&gt;
&lt;td style="text-align: center"&gt;KMG-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:39&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-1872&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-211&lt;/td&gt;
&lt;td style="text-align: center"&gt;11.4&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1118&lt;/td&gt;
&lt;td style="text-align: center"&gt;XMN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;中国红&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:41&lt;/td&gt;
&lt;td style="text-align: center"&gt;JA733J&lt;/td&gt;
&lt;td style="text-align: center"&gt;B777-346(ER)&lt;/td&gt;
&lt;td style="text-align: center"&gt;20.5&lt;/td&gt;
&lt;td style="text-align: center"&gt;JL81&lt;/td&gt;
&lt;td style="text-align: center"&gt;HND-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:54&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-5976&lt;/td&gt;
&lt;td style="text-align: center"&gt;A330-343&lt;/td&gt;
&lt;td style="text-align: center"&gt;10.5&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5106&lt;/td&gt;
&lt;td style="text-align: center"&gt;PEK-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;玩具总动员&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;11:57&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32M5&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-253N&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;CZ3531&lt;/td&gt;
&lt;td style="text-align: center"&gt;CAN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;12:11&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-2485&lt;/td&gt;
&lt;td style="text-align: center"&gt;B747-89L&lt;/td&gt;
&lt;td style="text-align: center"&gt;11.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;CA1531&lt;/td&gt;
&lt;td style="text-align: center"&gt;PEK-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;12:16&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-919G&lt;/td&gt;
&lt;td style="text-align: center"&gt;C919&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.6&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5636&lt;/td&gt;
&lt;td style="text-align: center"&gt;XMN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;12:24&lt;/td&gt;
&lt;td style="text-align: center"&gt;JA902A&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-10&lt;/td&gt;
&lt;td style="text-align: center"&gt;3.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;NH969&lt;/td&gt;
&lt;td style="text-align: center"&gt;HND-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;12:27&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-1047&lt;/td&gt;
&lt;td style="text-align: center"&gt;A330-243&lt;/td&gt;
&lt;td style="text-align: center"&gt;7.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;TV9865&lt;/td&gt;
&lt;td style="text-align: center"&gt;CTU-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;12:38&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-5635&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-85C&lt;/td&gt;
&lt;td style="text-align: center"&gt;13.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;MF8567&lt;/td&gt;
&lt;td style="text-align: center"&gt;XMN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:07&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-2485&lt;/td&gt;
&lt;td style="text-align: center"&gt;B747-89L&lt;/td&gt;
&lt;td style="text-align: center"&gt;11.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;CA1532&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-PEK&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:38&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-8648&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-211&lt;/td&gt;
&lt;td style="text-align: center"&gt;9.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5515&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-TAO&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:40&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-8317&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-211&lt;/td&gt;
&lt;td style="text-align: center"&gt;10.1&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1174&lt;/td&gt;
&lt;td style="text-align: center"&gt;NNG-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;中国红&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:41&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-919G&lt;/td&gt;
&lt;td style="text-align: center"&gt;C919&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.6&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU9187&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-TFU&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:44&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-658V&lt;/td&gt;
&lt;td style="text-align: center"&gt;C919&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.1&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU9198&lt;/td&gt;
&lt;td style="text-align: center"&gt;TFU-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:48&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-919A&lt;/td&gt;
&lt;td style="text-align: center"&gt;C919&lt;/td&gt;
&lt;td style="text-align: center"&gt;3&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5159&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-PEK&lt;/td&gt;
&lt;td style="text-align: center"&gt;1st C919&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:49&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32DS&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-271N&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.9&lt;/td&gt;
&lt;td style="text-align: center"&gt;ZH9504&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-SZX&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;14:55&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-321N&lt;/td&gt;
&lt;td style="text-align: center"&gt;A350-941&lt;/td&gt;
&lt;td style="text-align: center"&gt;5&lt;/td&gt;
&lt;td style="text-align: center"&gt;CA1524&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-PEK&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:01&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-224D&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-8&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;FM9116&lt;/td&gt;
&lt;td style="text-align: center"&gt;TSN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:05&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-226N&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-9&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.5&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO&lt;/td&gt;
&lt;td style="text-align: center"&gt;?&lt;/td&gt;
&lt;td style="text-align: center"&gt;花见神州&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:09&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32HD&lt;/td&gt;
&lt;td style="text-align: center"&gt;A320-271N&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.5&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1208&lt;/td&gt;
&lt;td style="text-align: center"&gt;KWE-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:11&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-20CK&lt;/td&gt;
&lt;td style="text-align: center"&gt;B777-31B(ER)&lt;/td&gt;
&lt;td style="text-align: center"&gt;6.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;CZ3538&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-CAN&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:19&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-207N&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-9&lt;/td&gt;
&lt;td style="text-align: center"&gt;7&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1869&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-CAN&lt;/td&gt;
&lt;td style="text-align: center"&gt;丝路飘带&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:24&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-20DX&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-8&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.5&lt;/td&gt;
&lt;td style="text-align: center"&gt;MF8857&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-LZO&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;15:36&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-919H&lt;/td&gt;
&lt;td style="text-align: center"&gt;C919&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.4&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU9193&lt;/td&gt;
&lt;td style="text-align: center"&gt;SHA-CKG&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;16:12&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-17811&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-10&lt;/td&gt;
&lt;td style="text-align: center"&gt;2.7&lt;/td&gt;
&lt;td style="text-align: center"&gt;BR772&lt;/td&gt;
&lt;td style="text-align: center"&gt;TSA-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;16:25&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-32FQ&lt;/td&gt;
&lt;td style="text-align: center"&gt;A350-941&lt;/td&gt;
&lt;td style="text-align: center"&gt;2&lt;/td&gt;
&lt;td style="text-align: center"&gt;MU5308&lt;/td&gt;
&lt;td style="text-align: center"&gt;CAN-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;16:36&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-1115&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-9&lt;/td&gt;
&lt;td style="text-align: center"&gt;7.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1884&lt;/td&gt;
&lt;td style="text-align: center"&gt;SZX-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;梦旅生花&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;16:41&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-1332&lt;/td&gt;
&lt;td style="text-align: center"&gt;B737-89P&lt;/td&gt;
&lt;td style="text-align: center"&gt;8.2&lt;/td&gt;
&lt;td style="text-align: center"&gt;FM818&lt;/td&gt;
&lt;td style="text-align: center"&gt;MFM-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;16:46&lt;/td&gt;
&lt;td style="text-align: center"&gt;B-8587&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-231&lt;/td&gt;
&lt;td style="text-align: center"&gt;8.5&lt;/td&gt;
&lt;td style="text-align: center"&gt;HO1210&lt;/td&gt;
&lt;td style="text-align: center"&gt;KWE-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;16:48&lt;/td&gt;
&lt;td style="text-align: center"&gt;HL8559&lt;/td&gt;
&lt;td style="text-align: center"&gt;A321-272N&lt;/td&gt;
&lt;td style="text-align: center"&gt;1.3&lt;/td&gt;
&lt;td style="text-align: center"&gt;KE2057&lt;/td&gt;
&lt;td style="text-align: center"&gt;GMP-SHA&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;B-32FQ（A350-941）、B-2485（B747-89L）、B-919G（C919）、B-32DS（A321-271N）都拍到了起飞和降落&lt;/li&gt;
&lt;li&gt;拍到了 5 架东航 C919，其中包括全球首架 B-919A 和机龄仅 23 天的 B-658V “宝宝机”&lt;/li&gt;
&lt;li&gt;机龄最老的一架是日航的 77W，注册号 JA733J，机龄 20.5 年&lt;/li&gt;
&lt;li&gt;8 架彩绘/纪念标识飞机，大部分是吉祥航空&lt;/li&gt;
&lt;li&gt;B-5976 玩具总动员彩绘就是我去年去西安时乘坐的同一架飞机&lt;/li&gt;
&lt;li&gt;15:05 我在观机长廊拍摄到 B-226N，但奇怪的是飞常准显示它 15:28 才到达虹桥&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下一个目标浦东机场，那里有更多外航好货！这次 X200U 的潜望长焦帮了我大忙，以后有经济实力了希望能带着相机和长焦镜头拍机，那样拍出来的素材会更加清晰。&lt;/p&gt;</description></item><item><title>观《疯狂动物城 2》有感</title><link>https://www.xalaok.top/post/zootopia-2/</link><pubDate>Sun, 01 Feb 2026 13:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/zootopia-2/</guid><description>&lt;img src="https://www.xalaok.top/post/zootopia-2/cover.webp" alt="Featured image of post 观《疯狂动物城 2》有感" /&gt;&lt;p&gt;周五放寒假，晚上去看了疯狂动物城 2。这篇不讨论剧情和观感，不感兴趣的话现在是你退出的最佳时机。&lt;br&gt;
我几乎不会在看电影时因为感动而流泪，但看到 Nick 在救下 Judy 时的那段对白，我没能忍住。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Nick Wilde&lt;/strong&gt;: I don&amp;rsquo;t care that we&amp;rsquo;re different. You know? What I care about&amp;hellip; is you. I care about you. Okay? And I didn&amp;rsquo;t say it. I should have said it, but I didn&amp;rsquo;t because&amp;hellip; uh&amp;hellip; Well, &amp;lsquo;cause I am an &lt;strong&gt;emotionally insecure&lt;/strong&gt; source of your discomfort who is &lt;strong&gt;not good at expressing his feelings&lt;/strong&gt;. Probably because I&amp;rsquo;ve been &lt;strong&gt;on my own&lt;/strong&gt; my whole life. It&amp;rsquo;s not an excuse. It&amp;rsquo;s just&amp;hellip; It&amp;rsquo;s why instead of telling you that you&amp;rsquo;re the best thing that ever happened to me.&lt;br&gt;
&lt;strong&gt;Nick Wilde&lt;/strong&gt;: I have unresolved childhood trauma that I refuse to discuss because being vulnerable scares me.&lt;br&gt;
&lt;strong&gt;Nick Wilde&lt;/strong&gt;: And I didn&amp;rsquo;t join the ZPD because I wanted to be a cop; I joined because I always wanted to be part of a pack&amp;hellip; and the &lt;strong&gt;thought of losing you scares me&lt;/strong&gt; because&amp;hellip; because you&amp;rsquo;re my pack.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;进入高二，我变得比从前更加内向。&lt;br&gt;
因为换座位的缘故，离高一时的朋友 W 坐的比较远，说话的机会也少了不少，W 也有更有共同语言，或者说更愿意探索新爱好，创造共同语言的朋友 X。X 也是我的朋友，当然没有他不愿意和我说话的意思，我觉得更多是我自己不敞开心扉的原因。大概是因为我的性格原因，我一般仅仅能和座位相近的同学保持友好关系，但却比较难像别人一样和班里同学有较深入的交流，跟女生更是基本没说过话。况且本来我的爱好在班内就极为小众，目前没有找到和我相同爱好的人，我在班里也算是半个透明人，我很少主动找人聊天，印象里也没人主动找我聊天。有几个同学在教室后面聊天打闹我难以融入甚至会感到局促。甚至同学 D 9 月加我微信之后一个月没跟她说过话，然后她说我高冷。后来也算是能在微信上聊起来了，我觉得得归功于她极 E 的性格（我们班有人说她是那种交际花的性格，非贬义）。有时还会聊到深夜，就是学校里还是没怎么说过话。和她微信上聊天还挺有意思，聊天其实不一定要有多相同的兴趣。&lt;br&gt;
我自认为是一个内心较敏感心思细腻的人，但就像台词里说的那样，不善于表达。夸别人，说别人可爱让我自己觉得很别扭，尽管我真心觉得 ta 很可爱。今天凌晨同学 D 说她的初中好朋友突然甩了很长一条真心话给她，过会又说“这种好话十的四次方辈子都不可能从你嘴里蹦出来 0.1 个字”，我更加深刻地意识到我在情感表达方面是很有欠缺的。同学 D 玩“我在朋友圈发想对你说的话但不说是谁”的游戏，我第一次参加此类游戏，初中时就有人玩，但我怕真看到了尴尬，从来没参加过。写出来其中有一句“嘴有点太毒了 极讨厌”。今天早上她发现猫走丢了，我在她朋友圈下面开玩笑说“世界那么大他想去看看”，结果她正焦急着就骂了我一句傻逼吧，我连忙道歉，突然意识到有些话我自己觉得有意思别人不一定觉得有意思。虽然她马上说是因为她太急了，但我想确实得谨言慎行。&lt;br&gt;
她说和我微信上说话很有趣，我想起初中班上同学当时可能也这么认为，有些女生的聊天记录现在看甚至感觉有点暧昧了（当然当时没有什么“非分之想”），很怀念当时纯真、没有学业重压的时光，怀念当时更加开朗的性格。&lt;br&gt;
我很在意别人的想法，会担心自己说的话让别人生气。我昨天把同学 D 做成表情包的时候还担心她会生气，这在初中时是根本不会想的，因为大家都互相恶搞然后互相“报复”。今天凌晨顺着那条游戏朋友圈翻我同桌 L 三个月前写了一大段尴尬真心话的朋友圈并点赞，他立即在私信骂“我操你个傻逼翻我古早朋友圈”，过会我问他没生气吧，结果他说“？啥意思你觉得我是这么小气的人嘛”。我其实猜到他应该是开玩笑，但我好像总是会倾向于认为他们生气了。之前还有一次误以为同学 D 生气了，还把玩笑很当真地写了一大段话。还好发前先试探了一下，不然真要被她笑死了。可惜引发了浓厚的阅读兴趣，很纠结，但还是不敢发出来。&lt;br&gt;
很有意思，我曾多次问过“你没生气吧”这个问题，同学 D 惊讶于我会听她的语音而不是转文字的时候我给的回答也是“能听出生不生气”，看到电影中 Nick 说“thought of losing you scares me”时我似乎找到了答案，本来就没几个我能与之聊得起来的同学，怕因惹他们生气而导致失去。当然出现“生气”这种局面也是因为我总是想着用有趣甚至恶搞的方式说话，也即前文说的“嘴太毒”。不过大多数时候几个同学是觉得我这种方式是很有趣的。&lt;br&gt;
很久没有在一天内写过这么多字了，但确实是看完电影和这两天经历的有感而发。想到啥写啥，没有什么逻辑，让大家见笑了。虽然我并不觉得我现在这样在班里偏独来独往有什么很大的问题，但是开朗点总不会错不是吗。&lt;br&gt;
嗯，用同学 D 常用的夸人的话说，大家都很可爱。&lt;br&gt;
2026 年 2 月 1 日&lt;br&gt;
于杏园&lt;/p&gt;</description></item><item><title>我的 2024</title><link>https://www.xalaok.top/post/my-2024/</link><pubDate>Sat, 16 Aug 2025 11:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/my-2024/</guid><description>&lt;img src="https://www.xalaok.top/post/my-2024/cover.webp" alt="Featured image of post 我的 2024" /&gt;&lt;p&gt;是的，这是一篇 2024 的年度总结！本应是寒假写完的，结果鸽到了下半年的暑假。&lt;/p&gt;
&lt;h2 id="学校生活"&gt;&lt;a href="#%e5%ad%a6%e6%a0%a1%e7%94%9f%e6%b4%bb" class="header-anchor"&gt;&lt;/a&gt;📖学校生活
&lt;/h2&gt;&lt;p&gt;2024 年对我来说真的是变化超大的一年，从初中那种相对无忧无虑的日子，跨进了高中这种更加忙碌劳累的新阶段。&lt;/p&gt;
&lt;p&gt;最明显的变化就是和初中同学分开了。我和 6 个好哥们那个以前改了无数次群名的小群，改名为了“恭喜高中了”——其实是学《范进中举》时，班里有个同学把“恭喜高中了”的“中”读成了一声，毕业了觉得正好应景就一直用着。现在看这个群名，还是会想起以前的日子。&lt;/p&gt;
&lt;p&gt;本来毕业了想写写初中老师的趣事，毕竟四年里好玩的事太多了，但真要写又不知道从哪说起，还是把这些回忆留在心里吧，有时想起来的时候还能笑出声。&lt;/p&gt;
&lt;p&gt;4 月份学校组织去大观园，那天出发前居然发生物作业，不知道哪个班的同学居然直接丢到景区垃圾桶了。我和另几个伙伴就仿着“小学生作业丢失”的热点视频，拍了个类似的发到B站上，现在回头看那个视频，感觉这种无脑的快乐真好。还记得是勉强赶在回程前将这个“天才的想法”录制完成的，真是太会玩了！&lt;/p&gt;
&lt;p&gt;5 月份有次打乒乓球，在老夏（我们班九年级的新英语老师，55 岁了但特别有趣，全班都喜欢他）背后捡球，不小心被他用球拍打到了眼眶，眉毛那块肿了。结果第二天他居然写了张英文便签条给我道歉，还给了个面包。&lt;/p&gt;
&lt;p&gt;6 月中考结束，我和四个好伙伴约好去虹桥机场拍飞机。在机场北边的路上，看着那些飞机起降最让我兴奋了。fy 拍到了当时是原神彩绘机的吉祥航空的 B-209R（波音 787-9，后来发现我在 2020 年 1 月坐过这架）。我只恨我的手机摄像头太差，拍的视频都和油画一样。希望以后能有机会带着相机认认真真地拍一天飞机！&lt;/p&gt;
&lt;p&gt;毕业典礼结束后，班主任谈及四年师生情谊时眼眶泛红，我们也不禁动容。等出学校都23点了。&lt;/p&gt;
&lt;p&gt;紧接着就和两个伙伴一起去了绍兴，那是第一次坐高铁，也是我自 2020 年疫情以来第一次离开上海。&lt;/p&gt;
&lt;p&gt;暑假就真得面临中考结果了。没敢等下去，在自招批次就定了，其实如果等名额分配到区批次，就能进更好的学校，可惜没有如果。整个暑假后半段到开学前一个月，我都有点提不起劲，总觉得有点遗憾。&lt;/p&gt;
&lt;p&gt;9 月底去东方绿洲军训，6 天 5 晚。这是一段又热又累，但想来又觉得特别值得回忆的经历。有天中文集合，班长自己带着所有女生迟到了（之前她不允许男生迟到），班里男生本来就对她这一个月有点不满，这下矛盾更加激化。那天晚上班主任耽误全班洗澡也紧急开了班会，让大家纷纷检讨自己，有的同学说到动情处甚至哭了。我第一次觉得我们班主任是真的会管班级，也第一次觉得这个新班级的同学如此有凝聚力。另外，识图活动还偶然故地重游了初中一次秋游时也来东方绿洲时的活动场地。这一周里我经常在饭后休息时间偷偷躲在厕所看手机，因为真的很想用微信与初中同学和妈妈分享经历！（本以为会有人和我一样，结果那些比我“不老实”得多的同学居然也没有，可能当时还不熟怕互相举报吧）&lt;/p&gt;
&lt;p&gt;高中学习压力比初中又上了一个量级，作业经常写到深夜，白天忍不住犯困，甚至有时第一节课就会困。月考也让人压力山大。不过高一上期中考试五科总分排到了年级前 3% 很让我振奋（第一次考地理答题纸考号就涂错了，高分直接变成 0 分，还好不重要）。但后来状态就有点下滑，期待自己尽快调整状态，重回正轨！&lt;/p&gt;
&lt;h2 id="建站"&gt;&lt;a href="#%e5%bb%ba%e7%ab%99" class="header-anchor"&gt;&lt;/a&gt;💻建站
&lt;/h2&gt;&lt;p&gt;回看了一下这一年的 GitHub 提交和 Memos，2024 年折腾博客没有了 2023 年频繁更换博客程序和部署平台的大折腾，而是忠于 Hugo 和 Stack，大多是些小修小补：&lt;br&gt;
01/07 添加时间线短代码，应用在关于页“本站时间线”。&lt;br&gt;
01/18 Umami 统计代码被人用在了自己的网站上，&lt;code&gt;localhost&lt;/code&gt; 来源被刷了 400+ 次访问，还有了一个“测试”评论。用 GitHub 代码搜索发现有人把我网站源文件全拿走然后自己修改，却保留了统计和评论代码。赶紧改了 Umami 统计代码名称。&lt;br&gt;
01/19 抄椒盐豆豉的作业，在首页加上了热力图；加入萌 ICP 备。&lt;br&gt;
01/25 把 Vercel 的 PostgreSQL 数据库导出到 VPS 中，并批量删除了上述的 400+ &lt;code&gt;localhost&lt;/code&gt; 来源访问（可能由于网络原因，当时电脑本地 Navicat 连接不上 Vercel 的数据库，在 VPS 上装了 PgAdmin 搞了好久才成功导出所有数据）；评论程序迁移 Waline → Twikoo。&lt;br&gt;
02/10 加入十年之约。&lt;br&gt;
02/20 拆分 custom.scss 方便维护；删除鼠标样式；友链分栏（本来想写个修改方法，结果鸽到现在😅）；基于大大的小蜗牛的优化版的 &lt;a class="link" href="https://www.xalaok.top/post/aisummary/" &gt;AI 摘要&lt;/a&gt;。&lt;br&gt;
04/05 加入开往。&lt;br&gt;
07/04 文章图片全部本地化，因为 Stack 主题的外链图片不支持排版、灯箱和图片备注显示。&lt;br&gt;
07/18 更换字体霞鹜文楷 → HarmonyOS Sans；文章页面左上角引入返回按钮（Stack 旧版样式）。&lt;br&gt;
08/08 删除返回按钮；使用 &lt;a class="link" href="https://tokinx.github.io/ViewImage/" target="_blank" rel="noopener"
&gt;ViewImage.js&lt;/a&gt; 作为灯箱，比自带的 PhotoSwipe 美观一点，但保留 PhotoSwipe 用于图片排版。&lt;br&gt;
08/27 删除热力图，就我这更新速度整个热力图大部分格子都是白色的，感觉没啥大用，还占首页空间。&lt;br&gt;
09/22 网站被 &lt;code&gt;ptcvvt.shop&lt;/code&gt; 镜像，加上了阿猪的防镜像 js，今天再看，这个域名已经过期了。&lt;br&gt;
11/02 Hugo 0.135.0 及以上弃用了 &lt;code&gt;getJSON&lt;/code&gt;，要换成 &lt;code&gt;resource.Get&lt;/code&gt;，但我试了好久没成功，以后有兴趣看看 Cursor 能不能帮忙适配。&lt;br&gt;
12/13 删除 AI 摘要，感觉目前没啥用；删除标签云，因为网页划到底也无法完全展示。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/blog_snapshot.webp"
width="1356"
height="818"
loading="lazy" style="display:block;margin:0 auto;"
alt="博客"
class="gallery-image"
data-flex-grow="165"
data-flex-basis="397px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/2024_umami_statistics.webp"
width="1356"
height="824"
loading="lazy" style="display:block;margin:0 auto;"
alt="2024 访问统计"
class="gallery-image"
data-flex-grow="164"
data-flex-basis="394px"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/github_contributions.webp"
width="2640"
height="880"
loading="lazy" style="display:block;margin:0 auto;"
alt="GitHub 提交"
class="gallery-image"
data-flex-grow="300"
data-flex-basis="720px"
&gt;&lt;/p&gt;
&lt;h2 id="旅游"&gt;&lt;a href="#%e6%97%85%e6%b8%b8" class="header-anchor"&gt;&lt;/a&gt;✈️旅游
&lt;/h2&gt;&lt;p&gt;自 2020 年一月以来，2024 我第一次离开上海，去了绍兴、西安、重庆&lt;/p&gt;
&lt;h3 id="绍兴"&gt;&lt;a href="#%e7%bb%8d%e5%85%b4" class="header-anchor"&gt;&lt;/a&gt;🍶绍兴
&lt;/h3&gt;&lt;p&gt;见 &lt;a class="link" href="https://www.xalaok.top/post/a-trip-to-shaoxing/" &gt;绍兴之行 | 这次是五人组的子集&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="西安"&gt;&lt;a href="#%e8%a5%bf%e5%ae%89" class="header-anchor"&gt;&lt;/a&gt;🏛️西安
&lt;/h3&gt;&lt;p&gt;疫情后第一次坐飞机就遇到了 3h42min 的延误。到酒店睡下都快要 4 点了。往返两程坐的是同一架飞机——B-5976 玩具总动员彩绘，机型 A330-343，发动机 2 × RR Trent 700。&lt;/p&gt;
&lt;p&gt;因为此行主要目的不是旅游，所以酒店入住的是陕西宾馆，地处郊区。游玩安排也较为仓促。&lt;/p&gt;
&lt;p&gt;陕西历史博物馆根本抢不到票，所以去了渭河北边的秦汉馆。离酒店和机场都有一定距离。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/mu2168.webp"
width="770"
height="1358"
loading="lazy" style="display:block;margin:0 auto;"
alt="07/10 MU2168"
class="gallery-image"
data-flex-grow="56"
data-flex-basis="136px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/b5976.webp"
width="1024"
height="772"
loading="lazy" style="display:block;margin:0 auto;"
alt="B-5976"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="318px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/cloud.webp"
width="1024"
height="768"
loading="lazy" style="display:block;margin:0 auto;"
alt="云端"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/bell_tower.webp"
width="1024"
height="772"
loading="lazy" style="display:block;margin:0 auto;"
alt="西安钟楼"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="318px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/huimin_street.webp"
width="1024"
height="768"
loading="lazy" style="display:block;margin:0 auto;"
alt="回民街"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/qinhan_history_museum.webp"
width="1024"
height="768"
loading="lazy" style="display:block;margin:0 auto;"
alt="陕西历史博物馆（秦汉馆）"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;h3 id="重庆"&gt;&lt;a href="#%e9%87%8d%e5%ba%86" class="header-anchor"&gt;&lt;/a&gt;🍲重庆
&lt;/h3&gt;&lt;p&gt;抓住暑假的尾巴前往重庆。去程 MU5421，注册号 B-209N，机型 B787-9，发动机 2 × GEnx。回程 CA4541，注册号 B-1469，机型 B787-9，发动机 2 × RR Trent 1000。&lt;/p&gt;
&lt;p&gt;第一天下午行走山城步道，打卡重庆轻轨地铁 L2。晚上在南山的半山腰享用烤肉，吃到 21 点差点打不到车，幸好有司机恰好上山，不然酒店可就白费了。&lt;/p&gt;
&lt;p&gt;第二天在来福士的顶楼 47 层观光，再从长江索道南站坐到北站，打卡云端之眼。本来担心坐缆车来不及，还好国航“及时”调时了 1h。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/b209n.webp"
width="1024"
height="512"
loading="lazy" style="display:block;margin:0 auto;"
alt="B-209N（帅还得是 787）"
class="gallery-image"
data-flex-grow="200"
data-flex-basis="480px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/genx.webp"
width="768"
height="1024"
loading="lazy" style="display:block;margin:0 auto;"
alt="GEnx"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/raffles_hotel.webp"
width="1024"
height="768"
loading="lazy" style="display:block;margin:0 auto;"
alt="重庆来福士洲际酒店"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/mountain_city_trail.webp"
width="768"
height="1024"
loading="lazy" style="display:block;margin:0 auto;"
alt="山城步道"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/yangtze_bridge.webp"
width="1024"
height="683"
loading="lazy" style="display:block;margin:0 auto;"
alt="重庆长江大桥"
class="gallery-image"
data-flex-grow="149"
data-flex-basis="359px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/nanshan.webp"
width="1024"
height="768"
loading="lazy" style="display:block;margin:0 auto;"
alt="坐落在南山上的烤肉店"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/raffles_night.webp"
width="1024"
height="768"
loading="lazy" style="display:block;margin:0 auto;"
alt="来福士夜景"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;h2 id="娱乐"&gt;&lt;a href="#%e5%a8%b1%e4%b9%90" class="header-anchor"&gt;&lt;/a&gt;😙娱乐
&lt;/h2&gt;&lt;h3 id="年度报告"&gt;&lt;a href="#%e5%b9%b4%e5%ba%a6%e6%8a%a5%e5%91%8a" class="header-anchor"&gt;&lt;/a&gt;📃年度报告
&lt;/h3&gt;&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/2024_bilibili_report.webp"
width="984"
height="960"
loading="lazy" style="display:block;margin:0 auto;"
alt="Bilibili 年度报告"
class="gallery-image"
data-flex-grow="102"
data-flex-basis="246px"
&gt;
&lt;img src="https://www.xalaok.top/post/my-2024/2024_ncm_report.webp"
width="532"
height="960"
loading="lazy" style="display:block;margin:0 auto;"
alt="网易云音乐 年度报告"
class="gallery-image"
data-flex-grow="55"
data-flex-basis="133px"
&gt;&lt;/p&gt;
&lt;h3 id="观影记录"&gt;&lt;a href="#%e8%a7%82%e5%bd%b1%e8%ae%b0%e5%bd%95" class="header-anchor"&gt;&lt;/a&gt;🎞️观影记录
&lt;/h3&gt;&lt;p&gt;（2024/07 之前不全）&lt;br&gt;
《年会不能停》2023 / 中国大陆 / 2024 春 / ★★★&lt;br&gt;
《热辣滚烫》2024 / 中国大陆 / 2024 春 / ★★★&lt;br&gt;
《实习生》2015 / 美国 / 2024 春 / ★★★★&lt;br&gt;
《抓娃娃》2024 / 中国大陆 / 2024-07-21 / ★★★★&lt;br&gt;
《泳者之心》2024 / 美国 / 2024-06-28 / ★★★★&lt;br&gt;
《飞驰人生 2》2024 / 中国大陆 / 2024 暑 / ★★★&lt;br&gt;
《逆行人生》2024 / 中国大陆 / 2024-08-11 / ★★★&lt;br&gt;
《欢迎到南方》2010 / 意大利 / 2024-12-06 / ★★★&lt;br&gt;
《我去哪儿？》2016 / 意大利 / 2024-12-06 / ★★★&lt;br&gt;
《美丽人生》1997 / 意大利 / 2024-12-20 / ★★★★★&lt;/p&gt;
&lt;h2 id="新装备"&gt;&lt;a href="#%e6%96%b0%e8%a3%85%e5%a4%87" class="header-anchor"&gt;&lt;/a&gt;✨新装备
&lt;/h2&gt;&lt;h3 id="耳机"&gt;&lt;a href="#%e8%80%b3%e6%9c%ba" class="header-anchor"&gt;&lt;/a&gt;🎧耳机
&lt;/h3&gt;&lt;p&gt;vivo TWS 4 是我的第 1 个降噪耳机，之前用的是仿冒的 AirPods 2，因此体验可谓是质的提升，但使用过程中仍发现了一些缺点。音质我也听不明白，不知道算什么水平。降噪尚可，但底噪太大。抗风噪能力几乎为零，通话拾音也较差，对方根本听不清，还是老老实实用手机听筒。可能是我自己耳道原因，右耳佩戴较舒适，左耳佩戴一会就会有些不适。另外，因为手机芯片是联发科的，所以我无法体验到耳机本身支持的高通 aptX 高清编码。OPPO 的 TWS 耳机（特别是 Enco Free 4）口碑似乎不错，以后可以试试。&lt;/p&gt;
&lt;p&gt;假期需要听网课，长时间佩戴还是头戴式舒服，所以购入了索尼的 WH-CH720N。一开始有些压头，后来慢慢撑开了就好多了。音质方面，同上，我无法评价。降噪就一般了，但是稍微降一点也是好的。&lt;/p&gt;
&lt;h3 id="投影仪"&gt;&lt;a href="#%e6%8a%95%e5%bd%b1%e4%bb%aa" class="header-anchor"&gt;&lt;/a&gt;📽️投影仪
&lt;/h3&gt;&lt;p&gt;有了这台 JMGO N1S Pro 之后，我便在家获得类似“小影院”的影音体验。也可以投影到天花板上躺在床上刷 B 站。今年（2025）春节我还把它带出门和家人一起看大屏春晚。&lt;/p&gt;
&lt;h3 id="黑苹果"&gt;&lt;a href="#%e9%bb%91%e8%8b%b9%e6%9e%9c" class="header-anchor"&gt;&lt;/a&gt;🍎黑苹果
&lt;/h3&gt;&lt;p&gt;之前搞过两次，换了很多 EFI，看到白色苹果图标之后跑代码一直会卡住，差点就找咸鱼商家帮忙装了，结果才发现之前失败的罪魁祸首是原装的海力士硬盘不支持。于是把之前在联想的酷软圈得了个 SATA 硬盘奖品翻了出来，JD 买了盒 9 块的精密螺丝刀，01/29 捣鼓了一个小时，把笔记本电脑拆开把硬盘装进去了。01/30 终于成功安装了黑苹果！&lt;br&gt;
幸好没在咸鱼付费装，折腾完了这一年也没打开过几次，每次都要重启用 U 盘引导启动太繁琐。&lt;br&gt;
过程记录在&lt;a class="link" href="https://www.xalaok.top/post/hackintosh/" &gt;黑苹果折腾记录&lt;/a&gt;。我的 EFI：&lt;a class="link" href="https://github.com/Xalaok/LEGION-Y7000-2020-EFI" target="_blank" rel="noopener"
&gt;Xalaok/LEGION-Y7000-2020-EFI&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id="minecraft"&gt;&lt;a href="#minecraft" class="header-anchor"&gt;&lt;/a&gt;🎮Minecraft
&lt;/h3&gt;&lt;p&gt;之前疫情时和朋友一起联机 MC，05/16 趁 Minecraft 15 周年半价 ￥44.5 入正补个票😎&lt;/p&gt;
&lt;h3 id="folo"&gt;&lt;a href="#folo" class="header-anchor"&gt;&lt;/a&gt;📑Folo
&lt;/h3&gt;&lt;p&gt;10/10 开始使用 Follow，它改变了我的信息获取形态。对我来说它的优点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;高颜值，相比于我之前用过 Fluent Reader、ReadYou&lt;/li&gt;
&lt;li&gt;深度集成 RSSHub，支持众多订阅源&lt;/li&gt;
&lt;li&gt;Readability 和内置浏览器让我能够不用切换浏览器就能完整浏览部分输出 RSS 的订阅源&lt;/li&gt;
&lt;li&gt;集成 AI 摘要，快速阅读信息&lt;/li&gt;
&lt;li&gt;可设置视图，例如文章、社交媒体、图片、视频、音频和通知分门别类&lt;/li&gt;
&lt;li&gt;可查看其他用户的订阅源，发现更多内容&lt;/li&gt;
&lt;li&gt;可认证自己的订阅，看到订阅数不断增长慢慢的成就感&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/my-2024/follow.webp"
width="1232"
height="790"
loading="lazy" style="display:block;margin:0 auto;"
alt="Follow"
class="gallery-image"
data-flex-grow="155"
data-flex-basis="374px"
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;2025，无限进步~&lt;/p&gt;</description></item><item><title>Stack 主题“好物”页面</title><link>https://www.xalaok.top/post/how-to-create-a-goods-page-for-stack/</link><pubDate>Thu, 17 Apr 2025 20:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/how-to-create-a-goods-page-for-stack/</guid><description>&lt;img src="https://www.xalaok.top/post/how-to-create-a-goods-page-for-stack/cover.webp" alt="Featured image of post Stack 主题“好物”页面" /&gt;&lt;p&gt;一直想弄一个像林木木和 Heo 那样的好物页面，但苦于对 HTML 和 CSS 还仅在“能看懂”的阶段，无法根据自己的想法修改布局，适配样式。现在有了 AI，让我这样不会写代码的人也能够完成一些简单的任务。不得不感叹 AI 的强大！&lt;br&gt;
之前让 AI 写东西，总是因为我的指令不够专业，它不能完全理解我的意图。想想还是 AI 更懂 AI，所以这次我先让 DeepSeek 把我粗略的要求写成详细的提示词，再把它和一张成果预览图一起喂给最近新了解到的号称可以复现任何 UI 的 same.new，第一轮对话就生成了一个高度可用的成品，第二轮对话把我主题的部分文件提供给它，让它根据已有模板和样式修改，成功在免费 tokens 内做出了现在的样子。&lt;/p&gt;
&lt;h2 id="预览"&gt;&lt;a href="#%e9%a2%84%e8%a7%88" class="header-anchor"&gt;&lt;/a&gt;预览
&lt;/h2&gt;&lt;p&gt;成品预览图（或者到“&lt;a class="link" href="https://www.xalaok.top/goods/" &gt;装备&lt;/a&gt;”页查看）：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/how-to-create-a-goods-page-for-stack/preview.webp"
width="1300"
height="864"
loading="lazy" style="display:block;margin:0 auto;"
alt="样式预览"
class="gallery-image"
data-flex-grow="150"
data-flex-basis="361px"
&gt;&lt;/p&gt;
&lt;h2 id="创建页面模板"&gt;&lt;a href="#%e5%88%9b%e5%bb%ba%e9%a1%b5%e9%9d%a2%e6%a8%a1%e6%9d%bf" class="header-anchor"&gt;&lt;/a&gt;创建页面模板
&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;/layouts/page&lt;/code&gt; 创建 &lt;code&gt;goods.html&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;define&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;body-class&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;article-page keep-sidebar&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;define&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-grid&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.Site.Data.goods.goods&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;partial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-card.html&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;eq&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.Params.comments&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;false&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;partial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;comments/include&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;partialCached&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;footer/footer&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;实现思路：读取 &lt;code&gt;/data/goods.json&lt;/code&gt; 中 &lt;code&gt;goods&lt;/code&gt; 数组的好物信息，插入好物卡片，组成好物模块，再加评论和页脚版权模块&lt;/p&gt;
&lt;div class="notice notice-note" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#436170"&gt;&lt;path d="M504 256a248 248 0 11-496 0 248 248 0 01496 0zm-248 50a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;相较于正常页面删除了 &lt;code&gt;{{ partial &amp;quot;article/article&amp;quot; . }}&lt;/code&gt;，否则会像其他文章页一样显示标题、时间等信息：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/how-to-create-a-goods-page-for-stack/banner1.webp"
loading="lazy" style="display:block;margin:0 auto;"
alt="多余标题"
&gt;&lt;/p&gt;
&lt;p&gt;当然，你也可以自行改造，只留下标题和描述：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/how-to-create-a-goods-page-for-stack/banner2.webp"
loading="lazy" style="display:block;margin:0 auto;"
alt="修改版"
&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;接下来写单个好物卡片的 &lt;code&gt;partial&lt;/code&gt; 代码。在 &lt;code&gt;/layouts/partials&lt;/code&gt; 创建 &lt;code&gt;goods-card.html&lt;/code&gt; （名称随意，与上面代码 Line 5 处保持一致即可）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-card&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-image&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .image }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .title }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;loading&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-content&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h3&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .title }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;goods-description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .description }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;单个卡片由图片、名称和描述组成，未来可能考虑添加购置时间和价格标签。&lt;/p&gt;
&lt;h2 id="编写样式"&gt;&lt;a href="#%e7%bc%96%e5%86%99%e6%a0%b7%e5%bc%8f" class="header-anchor"&gt;&lt;/a&gt;编写样式
&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中添加：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--goods-grid-gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;grid-template-columns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;goods-grid-gap&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;section-separation&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-padding&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;576&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.goods-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;grid-template-columns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;768&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.goods-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;grid-template-columns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;992&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.goods-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;grid-template-columns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-background&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-border-radius&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;box-shadow&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex-direction&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-card&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-image&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;180&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;justify-content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-background&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-image&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;contain&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-card&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="nc"&gt;.goods-image&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.05&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex-grow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex-direction&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.65&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-text-color-main&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;HarmonyOS_Regular&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.goods-description&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-text-color-secondary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex-grow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;HarmonyOS_Regular&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;line-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/* Dark mode adjustments */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dark&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="nc"&gt;.goods-image&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.05&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;优点：使用了 Stack 主题全局的 scss 变量，更好地融入主题风格（非 Stack 主题自行根据情况删除或替换 scss 变量）；根据页面宽度自动调整卡片布局（scss 全局变量魔改见 &lt;a class="link" href="https://www.xalaok.top/post/stack-modify/" &gt;Hugo Stack 魔改美化&lt;/a&gt;）&lt;br&gt;
代码中颜色、字体、卡片间距等等都可根据自己喜好更改。&lt;/p&gt;
&lt;p&gt;为了方便维护，我自己是在 &lt;code&gt;/assets/scss/custom&lt;/code&gt; 中单独创建了 &lt;code&gt;goods.scss&lt;/code&gt;，并在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中用 &lt;code&gt;@import &amp;quot;custom/goods.scss&amp;quot;;&lt;/code&gt; 引入。&lt;/p&gt;
&lt;h2 id="创建页面"&gt;&lt;a href="#%e5%88%9b%e5%bb%ba%e9%a1%b5%e9%9d%a2" class="header-anchor"&gt;&lt;/a&gt;创建页面
&lt;/h2&gt;&lt;p&gt;创建 &lt;code&gt;/content/page/goods/index.md&lt;/code&gt;，以下是 YAML 版 Front Matter：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;好物&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;layout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;goods&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;goods&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;menu&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;main&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 视情况更改&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 填写 svg 名称&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 按需开启&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;license&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;a class="link" href="https://tablericons.com/" target="_blank" rel="noopener"
&gt;Tabler Icons&lt;/a&gt; 选择一个心仪的 SVG 图标放入 &lt;code&gt;/assets/icons&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="数据存储"&gt;&lt;a href="#%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8" class="header-anchor"&gt;&lt;/a&gt;数据存储
&lt;/h2&gt;&lt;p&gt;创建 &lt;code&gt;/data/goods.json&lt;/code&gt;，将好物数据用以下格式存储：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;goods&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;image&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>装备</title><link>https://www.xalaok.top/goods/</link><pubDate>Sun, 30 Mar 2025 00:00:00 +0000</pubDate><guid>https://www.xalaok.top/goods/</guid><description/></item><item><title>GitHub 账号一年两度被盗是什么体验</title><link>https://www.xalaok.top/post/github-spam-again/</link><pubDate>Sat, 14 Dec 2024 10:30:00 +0800</pubDate><guid>https://www.xalaok.top/post/github-spam-again/</guid><description>&lt;img src="https://www.xalaok.top/post/github-spam-again/cover.webp" alt="Featured image of post GitHub 账号一年两度被盗是什么体验" /&gt;&lt;p&gt;GitHub 账号又被标记为垃圾了，今年第二次。Support 页面说可能会长达 14 个工作日才能得到回复（最近这个提示删了），实际上第一次 26 天（02/02~02/28），第二次长达 4 个月（07/04~11/08）我才收到恢复账号功能的回复，也就是说 2024 里面小半年的时间我的 GitHub 账号都处于别人不可见、我不能使用第三方应用（对我来说主要影响是 Vercel 得用别的 Git 平台或者 CLI）的状态。&lt;/p&gt;
&lt;p&gt;第一次是今年 2 月。02/02 中午 12 点收到一封 GitHub 邮件提醒我 &lt;a class="link" href="https://github.com/Y5neKO" target="_blank" rel="noopener"
&gt;@Y5neKO&lt;/a&gt; 在我账户下的 Xalaok1 仓库提了一个 issue，内容是一个 &lt;a class="link" href="https://github.com/orgs/community/discussions/103073" target="_blank" rel="noopener"
&gt;Discussion 的链接&lt;/a&gt;，大意是他发现他的账号下多了一个叫 Y5neKO1 的仓库，并且 star 了一个陌生仓库，所有星标了这个仓库的用户都有一个 &lt;code&gt;{user}1&lt;/code&gt; 的仓库。他应该给所有被盗号的用户都去提了 issue，在此对他表示感谢。&lt;br&gt;
17:11 又收到 GitHub 的邮件：“GitHub 发现你的账号可能有可疑登录尝试，已强制重置密码。建议你立即更改强密码，并启用双因素认证来加强账号安全。检查近期账号活动、仓库及星标情况，如有疑问请联系 GitHub 支持。”于是我立即更改了密码。&lt;br&gt;
21:48 我提了工单说明我已更改密码，但不知道为什么我开启了 2FA 但依然账号被盗，并且授权第三方应用受限，提示“You are marked as spam, and therefore cannot authorize a third party application.”&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/github-spam-again/240205security_log.webp"
width="1257"
height="1526"
loading="lazy" style="display:block;margin:0 auto;"
alt="02/05 Security Log 截图"
class="gallery-image"
data-flex-grow="82"
data-flex-basis="197px"
&gt;&lt;/p&gt;
&lt;p&gt;两周后 02/17 19:18 我又补了一段网上找到的言辞恳切的文案：“Dear sir or madam: I am writing to seek your help. My Github account has been flagged and my profile is hidden from the public. Similarly, I am also marked as spam, so I cannot authorize third-party applications. It brings me a lot of trouble. I would appreciate your help if you unlock the hidden profile as soon as possible. Thank you so much.”&lt;br&gt;
又过了两周 02/28 16:27 终于收到了回复：&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;回复内容过长，点击展开查看&lt;/summary&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi Xalaok,&lt;/p&gt;
&lt;p&gt;Thank you for taking the time to write in. I&amp;rsquo;m sorry for the time it has taken to get back to you—it was certainly longer than we would have liked.&lt;/p&gt;
&lt;p&gt;We recently noticed that your GitHub account had a suspicious login. Out of abundance of caution, we&amp;rsquo;ve forced a password reset on your account. We&amp;rsquo;ve noticed that you&amp;rsquo;ve already accessed your account and reset your password, which is great! Thanks for taking the initiative to secure your account.&lt;/p&gt;
&lt;p&gt;To protect your account from unauthorised access, please choose a strong and unique password for your account. We have a help article with some recommendations here:&lt;br&gt;
&lt;a class="link" href="https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-strong-password" target="_blank" rel="noopener"
&gt;https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-strong-password&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We also strongly recommend taking the additional step to secure your account with two-factor authentication. The following guide provides step-by-step instructions:&lt;br&gt;
&lt;a class="link" href="https://docs.github.com/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" target="_blank" rel="noopener"
&gt;https://docs.github.com/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While we can&amp;rsquo;t be certain as to how your account was compromised, a common cause is reusing credentials across multiple online services. An attacker can then obtain a list of email addresses and passwords from one compromised service, and use them to compromise accounts on another. Please note that while individual GitHub accounts may have been compromised via such means, GitHub itself has not been hacked or compromised.&lt;/p&gt;
&lt;p&gt;Alternatively, it&amp;rsquo;s possible that one of your devices may be infected with malware capable of stealing passwords or browser session data. We&amp;rsquo;d advise reviewing your device security to ensure this isn&amp;rsquo;t the case.&lt;/p&gt;
&lt;p&gt;During the account compromise, it appears that the bad actor starred a number of repositories but we have since unstarred any repositories that were not starred by you. Additionally, the bad actor created some repositories but we see that you have deleted the repository, thank you for doing that!&lt;/p&gt;
&lt;p&gt;If you have any further questions or concerns, please don&amp;rsquo;t hesitate to reach out. We&amp;rsquo;re here to help.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Lewis, SDG.&lt;/p&gt;
&lt;p&gt;GitHub Support.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/details&gt;
&lt;p&gt;TL;DR：为了保护您的账户安全，请务必设置强密码，并启用双因素身份验证。账号被盗可能由于在多个服务使用相同的密码，或设备感染恶意软件。我们已经 unstar 了不是你 star 的仓库，并感谢你删除了攻击者恶意创建的仓库。注意，GitHub 平台本身并未遭到数据泄露。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;第二次是 07/04。同样是因为那天 08:12 的提交 &lt;code&gt;708b723&lt;/code&gt; 没有被 Vercel 获取发现的账号被限制。查了 Security Log 发现 06/25 02:44:26 有一个哈萨克斯坦的 IP，且 07/04 05:02:00 开始, 有一个伦敦的 IP 在我的账号内创建了 14 个仓库：&lt;code&gt;Xalaok1&lt;/code&gt; &lt;code&gt;WinRar-Setup&lt;/code&gt; &lt;code&gt;tenorshare-4ukey&lt;/code&gt; &lt;code&gt;Sony-Vegas&lt;/code&gt; &lt;code&gt;Solana-Sniper-Bot&lt;/code&gt; &lt;code&gt;Filmora&lt;/code&gt; &lt;code&gt;FL-Studio&lt;/code&gt; &lt;code&gt;Reiboot-free&lt;/code&gt; &lt;code&gt;Adobe-Premiere-Pro&lt;/code&gt; &lt;code&gt;BNB-finder&lt;/code&gt; &lt;code&gt;Adobe-Photoshop&lt;/code&gt; &lt;code&gt;Adobe-Illustrator&lt;/code&gt; &lt;code&gt;Adobe-After-Effects&lt;/code&gt; &lt;code&gt;Adobe-Acrobat&lt;/code&gt;&lt;br&gt;
20:35 提了工单，说明了上述情况&lt;br&gt;
4 个月后😑，11/06 21:15 收到了回复：&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;回复内容过长，点击展开查看&lt;/summary&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;Thank you for contacting GitHub Support.&lt;/p&gt;
&lt;p&gt;We have cause to believe that your account may have been compromised and misused. In particular, malicious content may have been published using your account. We have placed restrictions on its visibility while we investigate further.&lt;/p&gt;
&lt;p&gt;To assist us in this process, please review your account for any content that you don&amp;rsquo;t recognise. &lt;a class="link" href="https://docs.github.com/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log" target="_blank" rel="noopener"
&gt;Your account&amp;rsquo;s security log&lt;/a&gt; may assist you in this process. During the review, please look out for two possibilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;new repositories, not created by you&lt;/li&gt;
&lt;li&gt;modifications to your existing repositories, not performed by you&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you identify new repositories that were not created by you, please first take note of their URLs, and then &lt;a class="link" href="https://docs.github.com/repositories/creating-and-managing-repositories/deleting-a-repository" target="_blank" rel="noopener"
&gt;delete them by following our documentation here&lt;/a&gt;. &lt;strong&gt;Do not interact with any of the content in these repositories&lt;/strong&gt;, as this may result in further compromise. Once you have deleted these repositories, please reply with a list of their URLs.&lt;/p&gt;
&lt;p&gt;If you identify modifications to your existing repositories, you have two options:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If you are happy to delete the repository (for example, if you have a backup, or you no longer need it), &lt;a class="link" href="https://docs.github.com/repositories/creating-and-managing-repositories/deleting-a-repository" target="_blank" rel="noopener"
&gt;please do so&lt;/a&gt; and reply with a list of URLs for any repositories you have deleted.&lt;/li&gt;
&lt;li&gt;If you need to retain the repository, we can assist you in repairing it. &lt;strong&gt;Please do not attempt to modify or explore the repository content yourself&lt;/strong&gt;. Instead, please send us the relevant URLs, and we will then share further instructions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you identify any other suspicious actions on your account, please also inform us of these in your reply. Alternatively, if you still require assistance and can&amp;rsquo;t locate any malicious or suspicious content, please let us know and we&amp;rsquo;ll take another look.&lt;/p&gt;
&lt;p&gt;Additionally, if you missed this message and are unable to reply, you can start a new support request here: &lt;a class="link" href="https://support.github.com/contact/cannot_sign_in" target="_blank" rel="noopener"
&gt;https://support.github.com/contact/cannot_sign_in&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you choose to create a new request, including this ticket number for reference will help us provide the necessary context: # NUM&lt;/p&gt;
&lt;p&gt;We are working to resolve your case as soon as possible, and we thank you for your patience and cooperation.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Lewis, SDG.&lt;/p&gt;
&lt;p&gt;GitHub Support.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/details&gt;
&lt;p&gt;TL;DR：GitHub 支持团队发现你的账户可能被入侵并用于恶意活动，因此已限制账户可见性，并正在调查中。请检查你的账户，留意本人创建的仓库中是否有非你所为的提交，删除不是你创建的仓库后，在回复中告诉我们这些仓库的列表。&lt;/p&gt;
&lt;p&gt;11/07 17:02 我回复了前面所说的 14 个仓库&lt;br&gt;
11/08 01:27 终于收到了恢复账号功能的邮件：&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;回复内容过长，点击展开查看&lt;/summary&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi again,&lt;/p&gt;
&lt;p&gt;Thank you for working with us to resolve this. &lt;/p&gt;
&lt;p&gt;Upon review, we have lifted all the restrictions currently imposed on your account. Your account should be available again by now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For your attention&lt;/strong&gt;, this kind of unauthorized access often occurs as a result of reusing the same sign in credentials on multiple online services. An attacker is then able to obtain lists of email addresses and passwords from other online services that have been compromised in the past, and try them on GitHub. To note, GitHub has not been hacked or compromised.&lt;/p&gt;
&lt;p&gt;Additionally, it&amp;rsquo;s possible that your system is infected with malware that can steal passwords and browser session data. I would like to suggest that you scan your computer for malware to protect against potential threats. &lt;/p&gt;
&lt;p&gt;Regularly scanning your computer is critical to maintaining optimal cybersecurity. Therefore, I encourage you to make it a regular practice to scan your system at least once a week. Furthermore, it is essential to keep your anti-virus and anti-malware software up-to-date to safeguard against the latest threats.&lt;/p&gt;
&lt;p&gt;As for this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have a question, are my stars going to be retained?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yes they will, the stars removed will be those added by the bad actor.&lt;/p&gt;
&lt;p&gt;If you have any further questions or concerns, please don&amp;rsquo;t hesitate to reach out. We&amp;rsquo;re here to help.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Lewis, SDG.&lt;/p&gt;
&lt;p&gt;GitHub Support.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/details&gt;
&lt;p&gt;TL;DR：您好，感谢您与我们合作解决账户问题。我们已解除您账户的所有限制。您的问题通常是由于在多处使用相同密码造成的。攻击者可以从其他被入侵的在线服务中获取电子邮件地址和密码列表，并尝试在 GitHub 上使用。注意，GitHub 并未被入侵。此外，您的系统可能感染了恶意软件，建议您扫描您的电脑以防潜在威胁。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;两次的回复都强调了“账号被盗可能源于在多处使用相同密码或设备感染恶意软件”、“GitHub 并未被入侵”。但是我的密码是 Bitwarden 随机生成的强密码，而且 2FA 也开了，不知道为什么账号被入侵！难道是魔法有问题吗？&lt;br&gt;
害，真不知道怎么防范，不知下次再被盗号会影响多久！😢&lt;/p&gt;</description></item><item><title>我目前使用的自托管服务</title><link>https://www.xalaok.top/post/my-selfhost-services/</link><pubDate>Sun, 08 Dec 2024 20:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/my-selfhost-services/</guid><description>&lt;img src="https://www.xalaok.top/post/my-selfhost-services/cover.webp" alt="Featured image of post 我目前使用的自托管服务" /&gt;&lt;p&gt;2023/07 &lt;a class="link" href="https://www.xalaok.top/post/alist-on-replit/" &gt;在 Replit 部署了 Memos&lt;/a&gt;，结果 2024 年 Replit 就开始收费了，再加上也需要自部署一些小服务，所以去年 12 月开始自己买 VPS 使用。现在这台 $15（当时 ￥108）的 CloudCone 2C1G 45G VPS 也快到期了，已买 $10.98（￥80）的 Racknerd 1C1G 17G 续上。经过&lt;a class="link" href="https://www.xalaok.top/post/putty/" &gt;上次的教训&lt;/a&gt;，一开机就生成 SSH 密钥然后把密码关了。插一嘴，RN 的后台没 CC 好用，没法上传密钥到服务器。&lt;/p&gt;
&lt;p&gt;不喜欢宝塔的界面，装了 1Panel，所以 VPS 上全是 Docker 容器方式部署的。但 1Panel 系统备份只会备份应用商店和本地应用的安装，自己启动的容器不会备份，这点还是挺头疼的。我想过自己按照文档做成本地应用再安装，但是太麻烦了。&lt;/p&gt;
&lt;p&gt;我目前的自部署服务的地方有两个，VPS 和 Vercel。自托管的服务如下：&lt;/p&gt;
&lt;h3 id="umami"&gt;&lt;a href="#umami" class="header-anchor"&gt;&lt;/a&gt;Umami
&lt;/h3&gt;&lt;p&gt;部署方式：Docker/Serverless&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/umami-software/umami" target="_blank" rel="noopener"
&gt;https://github.com/umami-software/umami&lt;/a&gt;&lt;br&gt;
博客圈很著名的访问统计服务，用于替代 Google 统计。一年多记录到 2w 多访问，偶尔看看数据又涨了挺开心的😅。一开始前端和数据库都部署在 Vercel，现在数据库放在服务器上，1Panel 自动化每天备份到 OneDrive。&lt;/p&gt;
&lt;h3 id="mysql"&gt;&lt;a href="#mysql" class="header-anchor"&gt;&lt;/a&gt;MySQL
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
项目地址：&lt;a class="link" href="https://www.mysql.com/" target="_blank" rel="noopener"
&gt;https://www.mysql.com/&lt;/a&gt;&lt;br&gt;
世界上使用最多的开源关系数据库。最开始用 WordPress 建站还有后来给班级用 Typecho 搭网站时用的数据库，后来博客转为静态后没再使用过。服务器上部署过，最新版本内存占用是 PostgreSQL 的六七倍。&lt;/p&gt;
&lt;h3 id="postgresql"&gt;&lt;a href="#postgresql" class="header-anchor"&gt;&lt;/a&gt;PostgreSQL
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
项目地址：&lt;a class="link" href="https://www.postgresql.org/" target="_blank" rel="noopener"
&gt;https://www.postgresql.org/&lt;/a&gt;&lt;br&gt;
宣称是世界上最先进的开源关系数据库。部署 Umami 的时候第一次了解，因为 Vercel 可以开一个免费的 PSQL 数据库。但是想备份数据的时候发现用 Navicat 连不上，说是什么 SNI 的问题。又尝试在服务器上用 PgAdmin 连接，连接上了却面对复杂的界面目瞪口呆，只得一通 Google 加瞎捣鼓。到服务器上导入的时候又是一堆数据格式之类的问题，好不容易才成功。&lt;/p&gt;
&lt;h3 id="alist"&gt;&lt;a href="#alist" class="header-anchor"&gt;&lt;/a&gt;Alist
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/AlistGo/alist" target="_blank" rel="noopener"
&gt;https://github.com/AlistGo/alist&lt;/a&gt;&lt;br&gt;
非常好用的网盘聚合程序，查看下载文件不用再打开官方客户端。国内阿里和 123 都官方宣称支持 WebDAV 挂载到 Alist，但是都是会员才可用😢。目前主要把它用作网页版 OneDrive。&lt;/p&gt;
&lt;h3 id="twikoo"&gt;&lt;a href="#twikoo" class="header-anchor"&gt;&lt;/a&gt;Twikoo
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/twikoojs/twikoo/" target="_blank" rel="noopener"
&gt;https://github.com/twikoojs/twikoo/&lt;/a&gt;&lt;br&gt;
目前在用的评论系统。之前用过 Waline，前端部署在 Vercel，数据存在 LeanCloud，导致速度极慢且不易备份数据。后来为了能够在木木佬的 MemoBBS 用上评论，换成了 Twikoo。数据就是容器里的几个 json 文件，备份方便。不支持站点隔离，为此我给博客和 Memos 单独部署了两个容器。也没有单独的管理面板，每次都要到评论框处管理。也没有编辑和删除功能，需要自己编辑 json 文件。正在考虑迁移 Artalk。&lt;/p&gt;
&lt;h3 id="artalk"&gt;&lt;a href="#artalk" class="header-anchor"&gt;&lt;/a&gt;Artalk
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/ArtalkJS/Artalk" target="_blank" rel="noopener"
&gt;https://github.com/ArtalkJS/Artalk&lt;/a&gt;&lt;br&gt;
另一款开源评论系统，功能十分丰富，支持站点隔离，有单独的管理面板。之前已用 GitHub 上找到的别人制作的本地应用在 1Panel 安装，近期也加入了官方应用商店列表。后续可能由 Twikoo 迁移。&lt;/p&gt;
&lt;h3 id="memos"&gt;&lt;a href="#memos" class="header-anchor"&gt;&lt;/a&gt;Memos
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/usememos/memos" target="_blank" rel="noopener"
&gt;https://github.com/usememos/memos&lt;/a&gt;&lt;br&gt;
一个开源、轻量级的笔记解决方案。但博友们一般把它用作“微博”，木木佬还做了个 &lt;a class="link" href="https://memobbs.app/" target="_blank" rel="noopener"
&gt;Memos 广场&lt;/a&gt;，我也在里面哈哈。但是经常破坏性更新，因为广场支持 API v1，所以目前还停留在 0.18.2 版本。&lt;br&gt;
前段时间发现一个类似的程序 &lt;a class="link" href="https://github.com/blinko-space/blinko" target="_blank" rel="noopener"
&gt;Blinko&lt;/a&gt;。还在早期开发阶段，更新很勤，已经发了一百多个版本，说是还会支持 AI。&lt;/p&gt;
&lt;h3 id="gh-proxy"&gt;&lt;a href="#gh-proxy" class="header-anchor"&gt;&lt;/a&gt;gh-proxy
&lt;/h3&gt;&lt;p&gt;部署方式：Cloudflare/Docker/Python&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/hunshcn/gh-proxy" target="_blank" rel="noopener"
&gt;https://github.com/hunshcn/gh-proxy&lt;/a&gt;&lt;br&gt;
用于 GitHub Release、Archive 以及项目文件的加速，支持 Clone，有 Cloudflare Workers 无服务器版本以及 Python 版本。油猴脚本里提供的加速不太稳定，自建了一个。&lt;/p&gt;
&lt;h3 id="watchtower"&gt;&lt;a href="#watchtower" class="header-anchor"&gt;&lt;/a&gt;WatchTower
&lt;/h3&gt;&lt;p&gt;部署方式：Docker&lt;br&gt;
开源地址：&lt;a class="link" href="https://github.com/containrrr/watchtower" target="_blank" rel="noopener"
&gt;https://github.com/containrrr/watchtower&lt;/a&gt;&lt;br&gt;
Docker 镜像自动更新服务，支持通知、清理旧镜像、回滚。&lt;/p&gt;</description></item><item><title>绍兴之行 | 这次是五人组的子集</title><link>https://www.xalaok.top/post/a-trip-to-shaoxing/</link><pubDate>Mon, 01 Jul 2024 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/a-trip-to-shaoxing/</guid><description>&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/cover.webp" alt="Featured image of post 绍兴之行 | 这次是五人组的子集" /&gt;&lt;p&gt;没记错的话是国内玩过的第三个城市，前两个是三亚和哈尔滨。是的，我连北京都还没去过。6/27 上午是自招考试，下午是班级拍照，晚上是毕业典礼。6/28 一早起来就约 sc 出去玩，先定下了目的地，准备体验下九年级课文《孔乙己》中的茴香豆和黄酒。&lt;/p&gt;
&lt;h2 id="第一次坐火车"&gt;&lt;a href="#%e7%ac%ac%e4%b8%80%e6%ac%a1%e5%9d%90%e7%81%ab%e8%bd%a6" class="header-anchor"&gt;&lt;/a&gt;第一次坐火车
&lt;/h2&gt;&lt;p&gt;我之前出去玩一般都出国，所以都是飞机，记忆中没有做过火车。
由于我们敲定计划太晚，这两天的火车票基本都是无座或时间不合适。原计划去程从上海松江站出发，看看新车站，候补了 D3131 和 D3201，回程候补 T136(19:20-22:15)，最大化利用可玩时间。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/1.webp"
width="400"
height="350"
loading="lazy" style="display:block;margin:0 auto;"
alt="候补截图"
class="gallery-image"
data-flex-grow="114"
data-flex-basis="274px"
&gt;&lt;/p&gt;
&lt;p&gt;结果下午 dqy 被交附嘉定录取了，取消了回老家的行程。去程的两列动车候补也没成功。sc 去松江站和不带家长的计划都落空了，于是干脆三个家长都带上，但要求去程火车分头行动。&lt;/p&gt;
&lt;h2 id="上海虹桥绍兴北"&gt;&lt;a href="#%e4%b8%8a%e6%b5%b7%e8%99%b9%e6%a1%a5%e7%bb%8d%e5%85%b4%e5%8c%97" class="header-anchor"&gt;&lt;/a&gt;上海虹桥→绍兴北
&lt;/h2&gt;&lt;p&gt;D377 07:41-09:27（我们）&lt;br&gt;
G7503 08:03-09:17（家长）&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/D377.webp"
width="367"
height="300"
loading="lazy" style="display:block;margin:0 auto;"
alt="D377 经停站"
class="gallery-image"
data-flex-grow="122"
data-flex-basis="293px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/G7503.webp"
width="291"
height="300"
loading="lazy" style="display:block;margin:0 auto;"
alt="G7503 经停站"
class="gallery-image"
data-flex-grow="97"
data-flex-basis="232px"
&gt;&lt;/p&gt;
&lt;p&gt;原定于 6:30 在长寿路地铁站集合，但出了点小插曲，坐火车地兴奋变为了一阵慌乱。我和妈妈 6:50 急忙打车，终于赶在 7:25 到达虹桥，有惊无险上了车。&lt;br&gt;
D377 在临平南站停靠了 24min，等待后面三列高铁飞驰过站（包括 G7503）。而这也是 sc 这个铁路迷选择这辆车的原因。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/D377lpn1_0837.webp"
width="1920"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
alt="临平南"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/D377lpn2_0837.webp"
width="1920"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
alt="临平南"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/D377arrival_0927.webp"
width="1920"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
alt="绍兴北"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/D377speed_0922.webp"
width="1981"
height="1415"
loading="lazy" style="display:block;margin:0 auto;"
alt="241km/h"
class="gallery-image"
data-flex-grow="140"
data-flex-basis="336px"
&gt;&lt;/p&gt;
&lt;h2 id="鲁迅故居-徐渭艺术馆"&gt;&lt;a href="#%e9%b2%81%e8%bf%85%e6%95%85%e5%b1%85-%e5%be%90%e6%b8%ad%e8%89%ba%e6%9c%af%e9%a6%86" class="header-anchor"&gt;&lt;/a&gt;鲁迅故居 徐渭艺术馆
&lt;/h2&gt;&lt;p&gt;到达绍兴北，乘坐 sc 最爱的 15 路公交车前往地铁站。司机很热情，告诉我们应该哪里下车。接着乘坐一号线到鲁迅故里，走马观花看了一遍鲁迅故居、鲁迅纪念馆。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/tianyanlun.webp"
width="1440"
height="1920"
loading="lazy" style="display:block;margin:0 auto;"
alt="鲁迅纪念馆里的《天演论》"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/2.webp"
width="1440"
height="1920"
loading="lazy" style="display:block;margin:0 auto;"
alt="咸亨酒店"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/3.webp"
width="1440"
height="1920"
loading="lazy" style="display:block;margin:0 auto;"
alt="徐渭像"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/4.webp"
width="1440"
height="1920"
loading="lazy" style="display:block;margin:0 auto;"
alt="五百年来一徐渭"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;&lt;/p&gt;
&lt;h2 id="咸亨酒店"&gt;&lt;a href="#%e5%92%b8%e4%ba%a8%e9%85%92%e5%ba%97" class="header-anchor"&gt;&lt;/a&gt;咸亨酒店
&lt;/h2&gt;&lt;p&gt;冲着这个名字来到这家饭店，门口有写着孔乙己欠 19 个钱的板，还有一个写着“我为孔乙己还钱”的投币箱😁。不过它的很多菜像是料理包，豆腐也不明原因是酸的，茴香豆算得上是这家店最成功的菜。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/huixiangdou.webp"
width="400"
height="225"
loading="lazy" style="display:block;margin:0 auto;"
alt="多乎哉，不多也"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
&gt;&lt;/p&gt;
&lt;h2 id="开元名都酒店-东湖"&gt;&lt;a href="#%e5%bc%80%e5%85%83%e5%90%8d%e9%83%bd%e9%85%92%e5%ba%97-%e4%b8%9c%e6%b9%96" class="header-anchor"&gt;&lt;/a&gt;开元名都酒店 东湖
&lt;/h2&gt;&lt;p&gt;这次入住的是开元名都酒店，外墙看上去比较老旧（sc 妈妈说在 sc 小时候来绍兴住的就是这家酒店，sc 自己忘了）。马路对面就是公交站，交通还算方便。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/hotel1.webp"
width="1077"
height="808"
loading="lazy" style="display:block;margin:0 auto;"
alt="绍兴开元名都大酒店"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="319px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/hotel2.webp"
width="1080"
height="675"
loading="lazy" style="display:block;margin:0 auto;"
alt="酒店大堂"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/hotel3.webp"
width="1080"
height="675"
loading="lazy" style="display:block;margin:0 auto;"
alt="酒店房间"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
&gt;&lt;/p&gt;
&lt;p&gt;稍作休整，吃了几大块西瓜后前往东湖景区。门票未成年半价 25，但划船不包含在内，本来我想坐条船，但其他两人没这个意愿，只得作罢。&lt;br&gt;
天气是真恶心，又热还潮湿，走点路就汗流浃背，在中暑的边缘徘徊，不得不进室内吹会空调，这热得简直找回了军训的感觉。好不容易找到了个好玩的，摘树上果子扔到水里，结果有一次用劲大了点，差点扔到游船里，被驾船的人骂了几句😂。到处逛了一小时左右就打车回酒店了，居然只花了 6 块钱，比上海起步十几真是便宜多了。&lt;br&gt;
一句话：最爱东湖行不足……不了一点&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/eastlake1.webp"
width="1920"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/eastlake2.webp"
width="1083"
height="1920"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="56"
data-flex-basis="135px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/eastlake3.webp"
width="1920"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/5.webp"
width="1438"
height="1080"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="319px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/6.webp"
width="1920"
height="1442"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="319px"
&gt;&lt;/p&gt;
&lt;h2 id="绍兴夜景"&gt;&lt;a href="#%e7%bb%8d%e5%85%b4%e5%a4%9c%e6%99%af" class="header-anchor"&gt;&lt;/a&gt;绍兴夜景
&lt;/h2&gt;&lt;p&gt;享受完酒店￥243/两人的小龙虾自助餐后回到房间，dqy 玩坏了保险箱，自己设的密码不到一分钟就忘记了。等工作人员修好后出发前往城市广场。绍兴的夜景还是比上海差远了，几乎没什么人，我们边走边聊班级的事，还找到了一个双层豪华公厕。dqy 因为作息优良，所以一般到 22:00 就累了，而且那天晚上想吐，所以我们十点就打车回酒店了，本来我和 sc 还准备玩到十一点再回酒店😅&lt;/p&gt;
&lt;h2 id="绍兴图书馆-午餐"&gt;&lt;a href="#%e7%bb%8d%e5%85%b4%e5%9b%be%e4%b9%a6%e9%a6%86-%e5%8d%88%e9%a4%90" class="header-anchor"&gt;&lt;/a&gt;绍兴图书馆 午餐
&lt;/h2&gt;&lt;p&gt;吃完自助早餐前往绍兴图书馆看了会书，12:00 左右回到酒店，收拾东西退房后吃了午饭，dqy 想早回去，换了更早的车票，于是都换成了 G7584。&lt;br&gt;
午餐是剡溪路 337 号牛鼎旺的牛杂煲。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/0630lunch.webp"
width="1500"
height="1125"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;h2 id="绍兴北上海虹桥"&gt;&lt;a href="#%e7%bb%8d%e5%85%b4%e5%8c%97%e4%b8%8a%e6%b5%b7%e8%99%b9%e6%a1%a5" class="header-anchor"&gt;&lt;/a&gt;绍兴北→上海虹桥
&lt;/h2&gt;&lt;p&gt;买了两瓶黄酒准备送给数学和英语老师，打车去绍兴北站，又和 sc 合买了张￥20 福利彩票，啥也没刮出来😒，不买才是赢！&lt;br&gt;
之前还想为什么无座和二等座一个价，当我在绝大部分时间都有空座位坐的时候才明白😁&lt;br&gt;
但神奇的是 G7584 比 D377 开的还慢，时速超 200km 的只有嘉兴南到虹桥两段中一共不到 5 分钟，达到 250km/h 的时间甚至可以以秒计。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/CRH.webp"
width="1440"
height="1920"
loading="lazy" style="display:block;margin:0 auto;"
alt="CRH 和谐号"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/G7584.webp"
width="388"
height="400"
loading="lazy" style="display:block;margin:0 auto;"
alt="G7584 经停站"
class="gallery-image"
data-flex-grow="97"
data-flex-basis="232px"
&gt;
&lt;img src="https://www.xalaok.top/post/a-trip-to-shaoxing/G7584arrival.webp"
width="1920"
height="1372"
loading="lazy" style="display:block;margin:0 auto;"
alt="G7584 到达"
class="gallery-image"
data-flex-grow="139"
data-flex-basis="335px"
&gt;&lt;/p&gt;
&lt;h2 id="支出明细"&gt;&lt;a href="#%e6%94%af%e5%87%ba%e6%98%8e%e7%bb%86" class="header-anchor"&gt;&lt;/a&gt;支出明细
&lt;/h2&gt;&lt;p&gt;Day 1：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;打车：
&lt;ul&gt;
&lt;li&gt;长寿街道社区卫生服务中心→上海虹桥 52.14&lt;/li&gt;
&lt;li&gt;东湖→酒店 6.52&lt;/li&gt;
&lt;li&gt;城市广场→酒店 6.5&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;火车：D377 75+G7503 93&lt;/li&gt;
&lt;li&gt;公交：0.8+0.8+1.6+0.8&lt;/li&gt;
&lt;li&gt;地铁：
&lt;ul&gt;
&lt;li&gt;长寿路 3&lt;/li&gt;
&lt;li&gt;绍兴一中→鲁迅故里 5&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;黄酒棒冰 5&lt;/li&gt;
&lt;li&gt;冰粉 5&lt;/li&gt;
&lt;li&gt;黄酒奶茶 9.9&lt;/li&gt;
&lt;li&gt;东湖 25&lt;/li&gt;
&lt;li&gt;吃饭 107+243&lt;/li&gt;
&lt;li&gt;酒店 563&lt;/li&gt;
&lt;li&gt;流量 5&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Day 2：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;打车：
&lt;ul&gt;
&lt;li&gt;绍兴图书馆→酒店 16.76&lt;/li&gt;
&lt;li&gt;三关六码头→绍兴北站 34.71-22.6=12.11&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;公交：0.8+0.8+1.6+0.8&lt;/li&gt;
&lt;li&gt;地铁：鲁迅故里→梅山广场 3&lt;/li&gt;
&lt;li&gt;吃饭 50&lt;/li&gt;
&lt;li&gt;火车票：G7584 91+91&lt;/li&gt;
&lt;li&gt;黄酒 25.3&lt;/li&gt;
&lt;li&gt;食品 57&lt;/li&gt;
&lt;li&gt;流量 3.98&lt;/li&gt;
&lt;li&gt;彩票 10&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;总计 1568.22±20，比过两天去西安的机票还便宜🤔&lt;/p&gt;</description></item><item><title>五人组出游 | 第一次拍机</title><link>https://www.xalaok.top/post/a-trip-to-zsss/</link><pubDate>Mon, 17 Jun 2024 18:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/a-trip-to-zsss/</guid><description>&lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/cover.webp" alt="Featured image of post 五人组出游 | 第一次拍机" /&gt;&lt;p&gt;中考终于结束了，五人组（lcj, sc, fy, dqy, mxy）相约出游。整齐划一的微信状态（截图来自 mxy）：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/1.webp"
width="1000"
height="291"
loading="lazy" style="display:block;margin:0 auto;"
alt="五人组微信状态"
class="gallery-image"
data-flex-grow="343"
data-flex-basis="824px"
&gt;&lt;/p&gt;
&lt;p&gt;9:30 在学校门口集合，骑车去昌平路地铁站。就这短短的几分钟里 sc 一次差点装载栏杆上，一次差点被出租车撞，真是“我们的事故，不止一个”😂（杨浦二模作文：我们的故事，不止一个） 。&lt;br&gt;
乘到虹桥机场 T2 站，体验了一把穿车厢。出站后准备找个好位置拍机和高铁，但是由于想拍机的 fy 和想拍高铁的 sc 都没有做好攻略，导致我们在里面来回绕路，甚至又走了一站地铁的路程到了上海虹桥站。虽然浪费了很多时间，但是来到的久违的机场，玩了自动人行道，而且难得几个哥们一起出来玩，也非常有趣。只要好朋友一起玩，在哪无所谓！😎当时距离 fy 想拍的 B-209R 吉祥航空原神号彩绘机起飞还有一段时间，一行人于是先来到龙湖虹桥天街干饭，一进商场大门就是 BYD 和 Tesla 摊位还有华为和小米“中门对狙”。排除了快餐厅和单人均价过高的餐厅，最终选中一家烤鱼。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/2.webp"
width="598"
height="1000"
loading="lazy" style="display:block;margin:0 auto;"
alt="账单"
class="gallery-image"
data-flex-grow="59"
data-flex-basis="143px"
&gt; &lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/3.webp"
width="1000"
height="750"
loading="lazy" style="display:block;margin:0 auto;"
alt="合影"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;&lt;/p&gt;
&lt;p&gt;结果等我们吃完了这家倒霉的飞机才起飞（fy 说这架准点率 10%） 。另搜到一家成都日料店叫下北沢：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/HO1882.webp"
width="768"
height="328"
loading="lazy" style="display:block;margin:0 auto;"
alt="HO1882"
class="gallery-image"
data-flex-grow="234"
data-flex-basis="561px"
&gt; &lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/xiabeize.webp"
width="1125"
height="707"
loading="lazy" style="display:block;margin:0 auto;"
alt="下北沢"
class="gallery-image"
data-flex-grow="159"
data-flex-basis="381px"
&gt;&lt;/p&gt;
&lt;p&gt;于是我们轮番玩了苹果华为小米，在两台 iPad 上都原神启动并把角色名称设定为我们班最著名的 CP 。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/4.webp"
width="902"
height="507"
loading="lazy" style="display:block;margin:0 auto;"
alt="myh❤️pdn"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
&gt;&lt;/p&gt;
&lt;p&gt;除了我（拍机时烈日当头汗流浃背的我为这个决定后悔不已！）每人都买了一杯饮料后出发乘坐了 71 路到申昆路站，下来一路小跑，fy 和 dqy 跑得太快没跟上，剩下的我们仨在天山西路南石桥路路口停下，在 14:51 拍到了几架东航和上航进场。下为 B8397 A321-211 MU5410：
&lt;video src="b8397.mp4" controls controlslist="nodownload" loading="lazy" style="display:block;margin:0 auto;width:80%"&gt;&lt;/video&gt;
然后我们去找前面的两人，半路上那架原神号降落，我没拍到（不过我并不是原神玩家），fy 如愿拍到了。他们的位置就在我们东边一点，更加正对 18L 跑道。其实我原来那个十字路口的位置更好，能拍到几乎整条跑道。
&lt;video src="b209r.mp4" controls controlslist="nodownload" loading="lazy" style="display:block;margin:0 auto;width:80%"&gt;&lt;/video&gt;
虽然手机镜头很烂，拍出来的很糊，但第一次在机场拍机很兴奋！&lt;br&gt;
拍完去完成 sc 的心愿，他要拍 G9 和 G121，说是新车。但是等到 12306 显示的预计到达时间 15:42 分过了他只拍到一辆。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/a-trip-to-zsss/5.webp"
width="971"
height="546"
loading="lazy" style="display:block;margin:0 auto;"
alt="高铁"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
&gt;&lt;/p&gt;
&lt;p&gt;路上看到的星天牛：
&lt;video src="6.mp4" controls controlslist="nodownload" loading="lazy" style="display:block;margin:0 auto;width:80%"&gt;&lt;/video&gt;
最后回程我们坐公交车到金运路，再坐 L13 到江宁路。刚好 17:00 到家。&lt;br&gt;
整天公共交通花了 12 元，午餐人均 93 元，一共 105 元。&lt;/p&gt;</description></item><item><title>体育中考游记</title><link>https://www.xalaok.top/post/ti-yu-zhong-kao/</link><pubDate>Sun, 14 Apr 2024 11:20:00 +0800</pubDate><guid>https://www.xalaok.top/post/ti-yu-zhong-kao/</guid><description>&lt;img src="https://www.xalaok.top/post/ti-yu-zhong-kao/cover.webp" alt="Featured image of post 体育中考游记" /&gt;&lt;p&gt;我所在的上海市静安区今年体育中考时间是 4/8~4/17，学校抽签抽到陆上项目 4/11，水上项目 4/13。据我的游泳教练所说今年是第一次在工作日进行体育中考。&lt;br&gt;
在官宣之前，家长们其实做过很多努力。因为前几年因为疫情取消体育考试，不少家长（包括我妈），希望今年也取消，还以孩子们都得过新冠为由拨打 12345 热线。还有些是退而求其次，想要求降低满分标准，而且好像是有人大代表也提议，并在电视上播了。当时都在传是不是上面准备批准了放出来告知大众的，但最终没能如大家所愿。但我还是凭实力满分了哈哈。&lt;/p&gt;
&lt;p&gt;先列举一下考试项目，不了解的可以从中知晓难度（男生满分标准）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第一项（三选一，6 分）：1000 米跑（男生，3'34&amp;rsquo;&amp;rsquo; 满分），800 米跑（女生），200 米游泳（4‘36’‘ 满分），4 分钟跳绳（400 个满分）&lt;/li&gt;
&lt;li&gt;第二项（五选一，3 分）：50 米跑（7.1s 满分）、立定跳远（2.49m 满分）、实心球（9.70m 满分）、引体向上（男生，11 个满分）、仰卧起坐（女生）、25 米游泳（22s 满分）&lt;/li&gt;
&lt;li&gt;第三项（五选一，3 分）：乒乓球（25/30 个满分）、羽毛球、网球、武术、体操&lt;/li&gt;
&lt;li&gt;第四项（三选一，3 分）：足球（7.6s 满分）、篮球（20s 满分）、排球（40 秒 45 个满分）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;很幸运，陆上和水上项目我都被安排在当天的第一场 7:30。早考早解放嘛。&lt;/p&gt;
&lt;h2 id="陆上项目"&gt;&lt;a href="#%e9%99%86%e4%b8%8a%e9%a1%b9%e7%9b%ae" class="header-anchor"&gt;&lt;/a&gt;陆上项目
&lt;/h2&gt;&lt;p&gt;地点：新中高级&lt;br&gt;
很巧考试当天没下雨，前后两天都下。班里有位因为选了网球而被安排在我们后一天考试的同学因为下雨到现在还没考。分组是每 20 人一组，项目选的一样的人在一组里，方便一起转场。我是第六组的 20 号。&lt;/p&gt;
&lt;h3 id="排球"&gt;&lt;a href="#%e6%8e%92%e7%90%83" class="header-anchor"&gt;&lt;/a&gt;排球
&lt;/h3&gt;&lt;p&gt;第一个考的是排球。我的成绩：51 个。&lt;br&gt;
虽然是满分，但这是这四项里我最担心的一项，因为在平时练习的时候一开始总是没手感不在状态，所以很怕正式考试的时候因为没时间再练习导致寄掉。本组引导员老师带我们到达场地后我更慌了，那里属于篮球场，要在旁边室内体育馆的外部砖墙上垫球，跟我练习时的白色水泥墙又不一样。和我预想的不一样，是先全组人五个一组试球之后再挨个测试。由于是 20 号，所以在五个一组试球的时候我是最后一个拿球，结果等我拿到球那四个人占满了位置，找空位使我浪费了本就不多的 30 秒试球时间的一半。更扎心的是，等到我前面十几个人测完就快轮到我的时候，隔壁组测试的老师拿走了我试练过的那个球，我将用的球气量不同，也就是说我白试球了！好在我努力压抑了心中的紧张，有惊无险地在这块陌生的墙壁上用陌生的球完成了测试。&lt;br&gt;
排球在很多人眼里应该是女生的运动，学校体育老师也没有特别关注选排球的男生和选篮球的女生。我前两年也打过一段时间篮球，但是我的水平在那些擅长篮球的同学们里不说数一数二吧，也算是乏善可陈。我在正式确定中考项目之前试了几次，但投篮命中率极低，经常补篮也不进，唯一一次运气很好，两次都一遍投中，16 秒。这样的稳定性很明显不适合在中考冒险，就正式确定了从去年暑假就开始练的排球了（正好我妈找到那个机构能一起练乒乓和排球）。&lt;/p&gt;
&lt;h3 id="乒乓球"&gt;&lt;a href="#%e4%b9%92%e4%b9%93%e7%90%83" class="header-anchor"&gt;&lt;/a&gt;乒乓球
&lt;/h3&gt;&lt;p&gt;第二个考的是乒乓球。我的成绩：29 个。&lt;br&gt;
拿下排球满分后我的心态瞬间放松了许多。还在乒乓球场地看到了学校体育老师，虽然是隔壁桌，但看到熟悉的人毕竟是亲切的。乒乓球考试不仅有连在 30 个正式球之前的 5 个试球，还有 10 个练习球。本来是志在 30 球全中的，结果因为受老师在我每打中一个球时都会报数的干扰失了一球。&lt;br&gt;
值得一提的是在为中考训练乒乓球的时候产生了浓厚的兴趣，九下以来每节体育课都会和朋友打几局，一开始两个人都把飞来的球当发球机打，球线都超级高，后来慢慢地都变强了，当然从我俩打出过 21:19 不难看出我们依然是菜鸡的本质。&lt;/p&gt;
&lt;h3 id="跳绳"&gt;&lt;a href="#%e8%b7%b3%e7%bb%b3" class="header-anchor"&gt;&lt;/a&gt;跳绳
&lt;/h3&gt;&lt;p&gt;最后是 4 分钟跳绳。我的成绩：500 个。&lt;br&gt;
结束的时候老师说：“超过 500 个，优秀！”我想我不可能是正好 500 个，估计是老师看我超过 500 就懒得细数了。跳绳对我来说特别简单，最高纪录 576 个且不间断。很多人应该都不用怎么练就能达到满分标准。说明上海在跳绳这项要求不高，相比之下南京的 3 分钟 400 个要求就高一些了，听说还有省市要求 4 分钟 500 个。1000 米跑我最高成绩就 4 分 05 秒，离满分相差了整整半分钟，但放到北京或者南京却可以满分。&lt;br&gt;
我组里有个人很惨，跳绳的时候甲沟炎犯了，跳了三百多个就疼的跳不了了，然后申请仲裁但失败了。&lt;/p&gt;
&lt;h2 id="水上项目"&gt;&lt;a href="#%e6%b0%b4%e4%b8%8a%e9%a1%b9%e7%9b%ae" class="header-anchor"&gt;&lt;/a&gt;水上项目
&lt;/h2&gt;&lt;p&gt;地点：民立中学沈坚强游泳俱乐部
再来说昨天早上考的水上项目 25 米游泳。我的成绩：17.77s（把我到目前为止最快的成绩献给了中考）。7:20 进考点 9:40 才出来，评价是伟大考试院，​非常好分组，使我等待 2h。&lt;br&gt;
当时听到沈坚强这个名字，糟心的回忆涌上心头。七年级游泳课在市西中学，游泳馆也是沈坚强，虽然只是地下二层，但因为层高较大，而且经常没灯，所以总是有种下十八层地狱的感觉。狭小肮脏的更衣室挤满了两个班的男生，全站着都挤。空气极度潮湿，擦不干身体，衣服掉地上都是习以为常的事。每周去上课都免不了抱怨一番。泳池边也到处有不明黄色斑块，让人难以下脚。&lt;br&gt;
到达民立。集合地是游泳馆楼上的一个室内体育馆。在考前看到准考证上“第一场第二组 129 号”的组别号时，我就做好了要等待比较久的心理准备。但当我走进体育馆看到全场近三百号人的“盛大场面”我才发现我格局小了。300 人都在 7:30 集合。第一组有一百人左右，都是选了两项游泳的人。第二组有两百人，绝大多数都是只选 25 米的。&lt;br&gt;
8:15 左右，突然来了个女老师然后大声问谁带了手机。陆陆续续有二三十人站起来到老师面前列队交手机。老师：“要是进去了谁被发现手机不交作弊处理啊！不知道中考带手机是违纪的吗？啊？……”（一顿骂）。咱就是说体育考试如何用手机作弊？当然我没带。&lt;br&gt;
又过了一会。老师：“今天一个上午就你们这些人啊，估计要三个小时吧，都是男生没有女生的，女厕所女更衣室都可以用啊。”&lt;br&gt;
等到 9:00 左右的时候体育馆里不少人（包括我）已经躺倒了。和认识的同样序号很靠后的几个同学聊了很久很久的天。于是开始抱怨考试院完全可以拆成几场，只能理解为保安想早点下班了。&lt;br&gt;
当我们看到同班的第二组二十几号的同学进去游泳时都投去了羡慕的目光和国际友好手势。但想到第一组的仁兄们虽然先游了 25 米，但是他们得穿好衣服出场再重新检入等待第二组人全游完了才能重新穿上湿泳衣游 200 米时就高兴多了（快乐建立在别人的痛苦之上哈哈），这也体现了 4 分钟跳绳的优越性。&lt;br&gt;
9:20 左右终于轮到我了。泳池旁边有一个显示成绩大屏，口令发出之后上面会有个计时，很有压迫感。吹哨下水。发令是老师播放枪声，我从来没听过，根本不知道应该在什么时候开始游，结果游完了老师说我抢跑，所幸没有追究，还是算我 17.77s。&lt;br&gt;
最后出来发现比那位序号二十几的同学没晚多少（相对于等待的两小时这 20 分钟都不算什么）。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;体育考试大捷是个好的开始，希望这个势头能助我中考大捷。&lt;/p&gt;</description></item><item><title>记一次服务器被黑（？）</title><link>https://www.xalaok.top/post/putty/</link><pubDate>Sat, 13 Apr 2024 13:30:00 +0800</pubDate><guid>https://www.xalaok.top/post/putty/</guid><description>&lt;img src="https://www.xalaok.top/post/putty/cover.webp" alt="Featured image of post 记一次服务器被黑（？）" /&gt;&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;去年十二月中旬由&lt;a class="link" href="https://yinji.org/" target="_blank" rel="noopener"
&gt;胡同学&lt;/a&gt;推荐买了 CloudCone VPS 用来搭建一些 Docker 自托管项目，因为原本我部署 Uptime Kuma、AList 和 Memos 的平台 Zeabur 和 Replit 都相继在年底开启了收费。&lt;br&gt;
初上手 VPS 就跑了个 1Panel 面板方便管理，但还是经常要使用 SSH 连接。当时根本没啥安全意识，就设了个密码连接，而且那个密码很简单。果不其然还没过几天就出事了，搭建的服务全部 502，SSH 也连不上，直接整个人愣在当场。打开 CC 后台看到 CPU 占用为 0，我觉得是被人黑了，所以重置了 SSH 密码然后还是连不上。心急如焚地试了各种办法，发现后台重启能获得短暂复活时间，但不一会又死掉。利用短暂时间把面板密码、SSH 密码又都改了，但服务器每次重启都还是会在很短的时间内再次断连。对方手速真是太快了，而且我想不明白黑客是怎么搞我的。最后迫不得已决定尝试终极办法——后台重装系统，还好 1Panel 有备份恢复功能，数据完好无损。这才总算是恢复了对服务器的控制权。&lt;/p&gt;
&lt;p&gt;问了 ChatGPT，它告诉我：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;直接在电脑的终端输入 SSH 密码连接服务器并不安全，因为密码可能会被记录在终端的历史记录中，或者被其他恶意软件截获。这样会导致密码泄露的风险。&lt;br&gt;
为了更安全地连接服务器，建议使用 SSH 密钥对进行认证。生成一个 SSH 密钥对，将公钥添加到服务器上的 ~/.ssh/authorized_keys 文件中，然后使用私钥进行连接。这样即使私钥被泄露，也不会对服务器的安全造成影响，因为私钥是加密的，无法被他人轻易使用。&lt;br&gt;
另外，还可以使用 SSH 代理来管理密钥，这样可以避免在每次连接时输入密码或者解锁密钥。使用这些方法可以大大提高连接服务器的安全性，避免密码泄露的隐患。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;之前在网上看人家玩服务器很多用密钥的，不以为然，觉得没人会对我的服务器有兴趣吧，侥幸用方便点的密码。虽然不确定 ChatGPT 生成的这段话的真实性，但是密钥比密码安全是能确定的。密码让我吃了苦头，现在就来用密钥了。&lt;/p&gt;
&lt;p&gt;找到一个免费开源的老牌 SSH 客户端，PuTTY。它常被用于 Windows 下连接管理远程服务器。现在我不太用到 SSH 了，基本都是 1Panel 里面操作各种东西，但为方便我以后查阅使用方法，配合截图记录一下 PuTTY 的基础用法及一些设置技巧。&lt;/p&gt;
&lt;p&gt;开始前先说一下，如果有朋友想买 CC 的 VPS 可以走我的 AFF 啊哈哈&lt;br&gt;
&lt;a class="link" href="https://app.cloudcone.com/?ref=11248" target="_blank" rel="noopener"
&gt;https://app.cloudcone.com/?ref=11248&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="putty-下载"&gt;&lt;a href="#putty-%e4%b8%8b%e8%bd%bd" class="header-anchor"&gt;&lt;/a&gt;PuTTY 下载
&lt;/h2&gt;&lt;p&gt;PuTTY 官方下载地址：&lt;a class="link" href="https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html" target="_blank" rel="noopener"
&gt;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在下载页提供有集成 PuTTY 及相关工具的完整安装包，也可以视需求单独下载某个程序使用：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文件名&lt;/th&gt;
&lt;th&gt;概述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;putty.exe&lt;/td&gt;
&lt;td&gt;SSH 和 Telnet 客户端（最常使用）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pscp.exe&lt;/td&gt;
&lt;td&gt;SCP 客户端，命令行下通过 SSH 远程拷贝文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;psftp.exe&lt;/td&gt;
&lt;td&gt;SFTP 客户端，命令行下的文件传输会话&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;puttytel.exe&lt;/td&gt;
&lt;td&gt;Telnet 客户端&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;plink.exe&lt;/td&gt;
&lt;td&gt;PuTTY 后端的命令行工具&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pageant.exe&lt;/td&gt;
&lt;td&gt;PuTTY、PSCP、Plink 的 SSH 认证代理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;puttygen.exe&lt;/td&gt;
&lt;td&gt;RSA、DSA、ECDSA 和 EdDSA 密钥生成工具&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="创建-ssh-会话"&gt;&lt;a href="#%e5%88%9b%e5%bb%ba-ssh-%e4%bc%9a%e8%af%9d" class="header-anchor"&gt;&lt;/a&gt;创建 SSH 会话
&lt;/h2&gt;&lt;p&gt;运行 putty.exe，在程序界面内输入服务器 IP 地址和端口，选中 SSH 连接类型，设置连接会话名称，点击保存，然后点击 Open 按钮连接登录。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/putty/01.webp"
width="602"
height="543"
loading="lazy" style="display:block;margin:0 auto;"
alt="创建会话"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="266px"
&gt;&lt;/p&gt;
&lt;p&gt;首次连接会提示服务器指纹，保存后登录同一台服务器将不再提示（如果提示，则表示服务器指纹发生了变化，可能是重装系统所致或连接服务器被冒充）。如果需要注销连接会话，使用 &lt;code&gt;exit&lt;/code&gt; 命令或 &lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;D&lt;/kbd&gt; 快捷键。&lt;/p&gt;
&lt;h2 id="putty-配置"&gt;&lt;a href="#putty-%e9%85%8d%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;PuTTY 配置
&lt;/h2&gt;&lt;p&gt;选中 SSH 会话，点击 &lt;code&gt;Load&lt;/code&gt; 加载设置，然后开始修改设置，最后回到首页点击 &lt;code&gt;Save&lt;/code&gt; 保存。&lt;/p&gt;
&lt;h3 id="使用私钥登录"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8%e7%a7%81%e9%92%a5%e7%99%bb%e5%bd%95" class="header-anchor"&gt;&lt;/a&gt;使用私钥登录
&lt;/h3&gt;&lt;h4 id="生成密钥"&gt;&lt;a href="#%e7%94%9f%e6%88%90%e5%af%86%e9%92%a5" class="header-anchor"&gt;&lt;/a&gt;生成密钥
&lt;/h4&gt;&lt;p&gt;&lt;img src="https://www.xalaok.top/post/putty/02.webp"
width="802"
height="579"
loading="lazy" style="display:block;margin:0 auto;"
alt="生成密钥"
class="gallery-image"
data-flex-grow="138"
data-flex-basis="332px"
&gt;&lt;/p&gt;
&lt;p&gt;运行 puttygen.exe，点击 &lt;code&gt;Generate&lt;/code&gt; 生成密钥对，然后在 &lt;code&gt;Key passphrase&lt;/code&gt; 设置密码后点击 &lt;code&gt;Save public key&lt;/code&gt; 和 &lt;code&gt;Save private key&lt;/code&gt; 保存。公钥上传到服务器（CloudCone 后台可以上传），私钥自己妥善保存。&lt;/p&gt;
&lt;h4 id="设置密钥"&gt;&lt;a href="#%e8%ae%be%e7%bd%ae%e5%af%86%e9%92%a5" class="header-anchor"&gt;&lt;/a&gt;设置密钥
&lt;/h4&gt;&lt;p&gt;侧边栏依次打开 Connection -&amp;gt; SSH -&amp;gt; Auth -&amp;gt; Credentials，浏览选中私钥文件，保存设置后即可使用密钥方式登录。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/putty/03.webp"
width="602"
height="543"
loading="lazy" style="display:block;margin:0 auto;"
alt="设置密钥"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="266px"
&gt;&lt;/p&gt;
&lt;p&gt;注意要使用 PPK 格式因为 PuTTY 不支持 &lt;code&gt;PEM&lt;/code&gt; 格式密钥。需要用 puttygen.exe 转换一下。点击 &lt;code&gt;Load&lt;/code&gt; 导入私钥文件，然后点击 &lt;code&gt;Save private key&lt;/code&gt; 另存为 &lt;code&gt;PPK&lt;/code&gt; 格式。&lt;/p&gt;
&lt;h3 id="会话保持"&gt;&lt;a href="#%e4%bc%9a%e8%af%9d%e4%bf%9d%e6%8c%81" class="header-anchor"&gt;&lt;/a&gt;会话保持
&lt;/h3&gt;&lt;p&gt;当与服务器长时间没数据传输，PuTTY 会自动断开连接。可以在侧边栏 Connection 选项卡设置 &lt;code&gt;Seconds between keepalives&lt;/code&gt; 值开启会话保持功能。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/putty/04.webp"
width="602"
height="543"
loading="lazy" style="display:block;margin:0 auto;"
alt="会话保持"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="266px"
&gt;&lt;/p&gt;
&lt;h3 id="窗口内容长度"&gt;&lt;a href="#%e7%aa%97%e5%8f%a3%e5%86%85%e5%ae%b9%e9%95%bf%e5%ba%a6" class="header-anchor"&gt;&lt;/a&gt;窗口内容长度
&lt;/h3&gt;&lt;p&gt;当打开一个很长内容的文件，或者程序命令不断输出内容，PuTTY 会话窗口只显示最后 2000 行内容。如果需要调整，在侧边栏 Windows 选项卡里修改 &lt;code&gt;Lines of scrollback&lt;/code&gt; 数值。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/putty/05.webp"
width="602"
height="543"
loading="lazy" style="display:block;margin:0 auto;"
alt="窗口内容长度"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="266px"
&gt;&lt;/p&gt;</description></item><item><title>Hi，AI 摘要</title><link>https://www.xalaok.top/post/aisummary/</link><pubDate>Sat, 24 Feb 2024 14:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/aisummary/</guid><description>&lt;img src="https://www.xalaok.top/post/aisummary/cover.webp" alt="Featured image of post Hi，AI 摘要" /&gt;&lt;p&gt;又又又来折腾博客了，看不少博友都加上了 AI 总结文章的功能，也想自己整一个。本文借鉴了&lt;a class="link" href="https://www.eallion.com/ai-summary/" target="_blank" rel="noopener"
&gt;大大的小蜗牛&lt;/a&gt;并进行了部分修改。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/aisummary/ai.png"
width="1016"
height="224"
loading="lazy" style="display:block;margin:0 auto;"
alt="效果图"
class="gallery-image"
data-flex-grow="453"
data-flex-basis="1088px"
&gt;&lt;/p&gt;
&lt;h2 id="获取摘要数据"&gt;&lt;a href="#%e8%8e%b7%e5%8f%96%e6%91%98%e8%a6%81%e6%95%b0%e6%8d%ae" class="header-anchor"&gt;&lt;/a&gt;获取摘要数据
&lt;/h2&gt;&lt;h3 id="ai-生成总结"&gt;&lt;a href="#ai-%e7%94%9f%e6%88%90%e6%80%bb%e7%bb%93" class="header-anchor"&gt;&lt;/a&gt;AI 生成总结
&lt;/h3&gt;&lt;p&gt;方式有三种：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;接入 &lt;a class="link" href="https://github.com/zhheo/Post-Abstract-AI" target="_blank" rel="noopener"
&gt;TianliGPT&lt;/a&gt;，自动在访问时生成（需要购买 Key）&lt;/li&gt;
&lt;li&gt;通过脚本从 ChatGPT 或 Claude 获取&lt;/li&gt;
&lt;li&gt;手动把文章内容喂给 ChatGPT 或 Claude 获取&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我自己用的是第三种。因为我博客也就三十几篇文章，TianliGPT 9 块钱能生成至少 50 篇文章的摘要，而且目前博客访问的人也不多，能省就省省😅。脚本虽然很方便，但貌似我还不太会使用，搞不出来。正好之前部署过 NextChat 且有一个免费的 GPT-3.5 的 API Key，所以就手动喂给 GPT 了。&lt;/p&gt;
&lt;h3 id="数据存在哪"&gt;&lt;a href="#%e6%95%b0%e6%8d%ae%e5%ad%98%e5%9c%a8%e5%93%aa" class="header-anchor"&gt;&lt;/a&gt;数据存在哪
&lt;/h3&gt;&lt;p&gt;有两种方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 &lt;code&gt;/data&lt;/code&gt; 目录下用 &lt;code&gt;json&lt;/code&gt; 文件保存&lt;/li&gt;
&lt;li&gt;把摘要结果放在文章 Front Matter 的 &lt;code&gt;summary&lt;/code&gt; 下&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;方式 1 显然要比方式 2 方便维护。&lt;/p&gt;
&lt;p&gt;在 &lt;code&gt;/data&lt;/code&gt; 新建 &lt;code&gt;summary.json&lt;/code&gt;， 数据格式如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;summaries&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;generated&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;summary&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="渲染-ai-摘要"&gt;&lt;a href="#%e6%b8%b2%e6%9f%93-ai-%e6%91%98%e8%a6%81" class="header-anchor"&gt;&lt;/a&gt;渲染 AI 摘要
&lt;/h2&gt;&lt;h3 id="修改模板文件"&gt;&lt;a href="#%e4%bf%ae%e6%94%b9%e6%a8%a1%e6%9d%bf%e6%96%87%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;修改模板文件
&lt;/h3&gt;&lt;p&gt;Hugo 可以直接修改位于 &lt;code&gt;/layouts&lt;/code&gt; 的页面模板文件，大大的小蜗牛直接把代码加在 &lt;code&gt;single.html&lt;/code&gt; 里了，我为了单个文件不要太长难看懂，单独将 AI 摘要部分放在一个文件里。如果同样是 Stack 主题，可以直接跟着下文操作，其他主题也大差不差。&lt;/p&gt;
&lt;p&gt;在 &lt;code&gt;/layouts/partial/article/components&lt;/code&gt; 创建 &lt;code&gt;aisummary.html&lt;/code&gt;（&lt;code&gt;getJSON&lt;/code&gt; 仅适用于 Hugo 0.134.3 及以下，新版的 &lt;code&gt;resource.Get&lt;/code&gt; 我搞不明白）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 获取数据 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $summary := getJSON &amp;#34;data/summary/summary.json&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 以 slug 作为锚点来对应文章与摘要 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $currentSlug := .Params.slug }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $matchingSummary := index (where $summary.summaries &amp;#34;slug&amp;#34; $currentSlug) 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-ai&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ai-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;i&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;fas fa-robot ai-title-icon&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;i&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ai-title-text&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;AI 摘要&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Typeit 打字机效果，不需要则注释掉下面这行代码 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ai-explanation&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ai-explanation&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ai-explanation ai-explanation-content&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if $matchingSummary.summary }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $matchingSummary.summary }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; AI 摘要接口暂时失联……
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 打字机效果的 JS 不需要则注释掉 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/typeit@8.7.1/dist/index.umd.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;DOMContentLoaded&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 从 .ai-explanation-content 取值
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;matchingSummary&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;.ai-explanation-content&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;TypeIt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;#ai-explanation&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;strings&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;matchingSummary&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;speed&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lifeLike&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;waitUntilVisible&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="nx"&gt;go&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;&amp;lt;i class=&amp;quot;fas fa-robot ai-title-icon&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;/code&gt; 中的 &lt;code&gt;fas fa-robot&lt;/code&gt; 需要更改为你自己的图标 CSS 里的名称（生成 CSS 可用 Fontello）&lt;br&gt;
如不需要打字机效果，需要将 &lt;code&gt;&amp;lt;div id=&amp;quot;ai-explanation&amp;quot; class=&amp;quot;ai-explanation&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt; 和 JS 部分注释掉。&lt;br&gt;
这里的修改是把 unpkg 换成了国内的饿了么 npm 镜像，并且调快了打字机速度（原来感觉有点太慢了，如果还觉得慢可以把 &lt;code&gt;speed&lt;/code&gt; 数值继续调小）&lt;br&gt;
然后把摘要引入文章的模板文件。在 &lt;code&gt;/layouts/partial/article/article.html&lt;/code&gt; 的 &lt;code&gt;header&lt;/code&gt; 和 &lt;code&gt;content&lt;/code&gt; 中间加上 &lt;code&gt;{{ partial &amp;quot;article/components/aisummary&amp;quot; . }}&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="添加-css"&gt;&lt;a href="#%e6%b7%bb%e5%8a%a0-css" class="header-anchor"&gt;&lt;/a&gt;添加 CSS
&lt;/h3&gt;&lt;p&gt;为了方便管理我单独创建了 &lt;code&gt;ai.scss&lt;/code&gt;。在 &lt;code&gt;/assets/scss&lt;/code&gt; 下的合适位置（我是 &lt;code&gt;/assets/scss/custom&lt;/code&gt;）创建 &lt;code&gt;ai.scss&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.post-ai&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f5f5f5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;line-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#ffffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.ai-title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#2d96bd&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.25&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;cursor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;default&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;user-select&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.ai-title-icon&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.25&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.ai-title-text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;line-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.ai-explanation&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#cfe6f3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;line-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.ai-explanation&lt;/span&gt; &lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 打字机效果，不需要则注释掉
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.ai-explanation-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;部分参数可以自行根据喜好更改。&lt;br&gt;
如不需要打字机效果，也要把最后一项 &lt;code&gt;ai-explanation-content&lt;/code&gt; 的 CSS 注释掉。&lt;br&gt;
然后在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中引入（&lt;code&gt;@import &amp;quot;custom/ai.scss&amp;quot;;&lt;/code&gt;）。&lt;/p&gt;
&lt;h2 id="单篇文章禁用摘要"&gt;&lt;a href="#%e5%8d%95%e7%af%87%e6%96%87%e7%ab%a0%e7%a6%81%e7%94%a8%e6%91%98%e8%a6%81" class="header-anchor"&gt;&lt;/a&gt;单篇文章禁用摘要
&lt;/h2&gt;&lt;p&gt;这是我自己添加的功能。有些文章代码太多，总字符数很大，导致喂给 GPT 会超出最大字符数，无法生成摘要。并且一些文章并不需要 AI 摘要，比如我的 &lt;a class="link" href="https://www.xalaok.top/post/stack-modify/" &gt;Hugo-theme-Stack 魔改美化&lt;/a&gt; 和 &lt;a class="link" href="https://www.xalaok.top/post/blog-modify/" &gt;博客魔改美化（通用）&lt;/a&gt; 这两篇文章，几乎都是代码片段，右侧的目录本身就是总结。所以禁用单篇文章摘要的功能来了。受到 &lt;code&gt;article.html&lt;/code&gt; 里面 &lt;code&gt;{{ if or .Params.math .Site.Params.article.math }}{{ partialCached &amp;quot;article/components/math.html&amp;quot; . }}{{ end }}&lt;/code&gt; 的启发，可以通过调用 Hugo 的函数方式实现。&lt;/p&gt;
&lt;p&gt;询问 ChatGPT 后得知，上面的代码意思是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这段代码是在Hugo模板中使用的条件语句，用于根据条件来决定是否插入数学公式。让我们逐步解释这段代码的含义：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;{{ if ... }} ... {{ end }}&lt;/code&gt;：这是 Hugo 模板中的条件语句，表示如果条件为真，则执行条件语句块中的内容。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;or .Params.math .Site.Params.article.math&lt;/code&gt;：这部分是条件语句的条件部分。它使用了逻辑运算符&lt;code&gt;or&lt;/code&gt;来判断两个条件中只要有一个为真即为真。具体解释如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.Params.math&lt;/code&gt;：这是访问当前页面（文章）的 Front Matter 参数中的 &lt;code&gt;math&lt;/code&gt; 字段的值。通常，这个字段用于标识该文章是否包含数学公式。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.Site.Params.article.math&lt;/code&gt;：这是访问网站全局参数中的 &lt;code&gt;article.math&lt;/code&gt; 字段的值。这个字段可能用于设置整个网站是否启用数学公式显示。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;{{ partialCached &amp;quot;article/components/math.html&amp;quot; . }}&lt;/code&gt;：如果条件为真，将会调用名为 &lt;code&gt;article/components/math.html&lt;/code&gt; 的部分模板。这个部分模板可能包含用于显示数学公式的相关代码。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;综合起来，这段代码的意思是：如果当前页面的 Front Matter 中包含 &lt;code&gt;math&lt;/code&gt; 字段，或者网站全局参数中的 &lt;code&gt;article.math&lt;/code&gt; 字段为真，那么就会插入数学公式相关的内容，可能是通过调用特定的部分模板来实现数学公式的显示。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;那么我们一葫芦画瓢，写一个“除非当前页面的 Front Matter 中的 &lt;code&gt;ai&lt;/code&gt; 字段为 &lt;code&gt;false&lt;/code&gt;，那么就插入文章摘要”的条件语句。&lt;br&gt;
翻了下 Hugo 写得很复杂的文档后找到了一个 &lt;code&gt;ne&lt;/code&gt; 函数，它的作用是判断两个值是否不相等，如果不相等，则返回 &lt;code&gt;true&lt;/code&gt;，否则返回 &lt;code&gt;false&lt;/code&gt;。&lt;br&gt;
那么我们需要的代码就是 &lt;code&gt;{{ if ne .Params.ai false }}{{ end }}&lt;/code&gt;。&lt;br&gt;
现在仅实现了在单篇文章的 Front Matter 中禁用，如果要能够统一禁用所有的 AI 摘要，就需要在网站全局参数中设置一个字段，如 &lt;code&gt;article.ai&lt;/code&gt; 字段。&lt;br&gt;
修改一下，使用 &lt;code&gt;and&lt;/code&gt; 函数来要求两个条件同时为真才执行条件语句中的内容。只有当 Front Matter 中的 &lt;code&gt;ai&lt;/code&gt; 字段和网站全局参数中的 &lt;code&gt;article.ai&lt;/code&gt; 字段的值都不为 &lt;code&gt;false&lt;/code&gt; 时，才会执行条件语句块中的内容：&lt;code&gt;{{ if and (ne .Params.ai false) (ne .Site.Params.article.ai false) }}{{ end }}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;现在将最终的代码片段加在 &lt;code&gt;/layouts/partial/article/article.html&lt;/code&gt; 的 &lt;code&gt;header&lt;/code&gt; 和 &lt;code&gt;content&lt;/code&gt; 中间：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if and (ne .Params.ai false) (ne .Site.Params.article.ai false) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ partial &amp;#34;article/components/aisummary&amp;#34; . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再在 &lt;code&gt;hugo.yaml&lt;/code&gt; 或 &lt;code&gt;config.yaml&lt;/code&gt; 中加一个 &lt;code&gt;article.ai&lt;/code&gt; 字段并设为 &lt;code&gt;true&lt;/code&gt;，想要禁用单篇文章摘要在 Front Matter 中加上 &lt;code&gt;ai: false&lt;/code&gt; 即可。&lt;/p&gt;
&lt;p&gt;Enjoy~&lt;/p&gt;</description></item><item><title>黑苹果折腾记录</title><link>https://www.xalaok.top/post/hackintosh/</link><pubDate>Tue, 30 Jan 2024 14:30:00 +0800</pubDate><guid>https://www.xalaok.top/post/hackintosh/</guid><description>&lt;img src="https://www.xalaok.top/post/hackintosh/cover.webp" alt="Featured image of post 黑苹果折腾记录" /&gt;&lt;p&gt;之前整过两次黑苹果，尝试了不下五种镜像和 EFI，连 U 盘都写坏了一个，但都以失败告终。现在才知道罪魁祸首是这个 SKHynix 海力士硬盘的锅，这玩意装不了黑苹果😭&lt;/p&gt;
&lt;p&gt;不过幸运的是去年在联想软件商店的酷软圈里发了一个帖大肆称赞了一番后赢得了一个奖品——联想 SL700 固态硬盘，它是可以装黑苹果的。于是自己 B 站找了官方的视频教程拆机装上了硬盘。&lt;/p&gt;
&lt;p&gt;本来一直觉得是 EFI 不匹配导致不成功，所以还想找个淘宝店远程安装的。但是现在有个新硬盘当然要折腾试试，这不成功了，成功剩下几十块钱😅&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/hackintosh/systeminfo.webp"
width="269"
height="441"
loading="lazy" style="display:block;margin:0 auto;"
alt="系统信息"
class="gallery-image"
data-flex-grow="60"
data-flex-basis="146px"
&gt;&lt;/p&gt;
&lt;p&gt;下面记录一下我的安装过程。如果是以下电脑型号都可以这么装：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Y7000/Y7000P/Y9000K-2018&lt;/li&gt;
&lt;li&gt;Y7000/Y7000P/Y9000K-2019&lt;/li&gt;
&lt;li&gt;Y7000/Y7000P/Y9000K-2020&lt;/li&gt;
&lt;li&gt;Y530/Y540/Y545/Y730/Y740&lt;/li&gt;
&lt;li&gt;Legion 5i/Legion 7&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="我的电脑信息"&gt;&lt;a href="#%e6%88%91%e7%9a%84%e7%94%b5%e8%84%91%e4%bf%a1%e6%81%af" class="header-anchor"&gt;&lt;/a&gt;我的电脑信息
&lt;/h2&gt;&lt;p&gt;Lenovo LEGION Y7000 2020&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU：Intel Core i7-10750H&lt;/li&gt;
&lt;li&gt;GPU：Nvidia GeForce GTX1650Ti&lt;/li&gt;
&lt;li&gt;RAM：Kingston 16 GB DDR4 3200MHz&lt;/li&gt;
&lt;li&gt;硬盘：Lenovo SL700 SATA3 240GB&lt;/li&gt;
&lt;li&gt;无线网卡：Intel Wi-Fi 6 AX201 160MHz&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="准备阶段"&gt;&lt;a href="#%e5%87%86%e5%a4%87%e9%98%b6%e6%ae%b5" class="header-anchor"&gt;&lt;/a&gt;准备阶段
&lt;/h2&gt;&lt;h3 id="工具下载"&gt;&lt;a href="#%e5%b7%a5%e5%85%b7%e4%b8%8b%e8%bd%bd" class="header-anchor"&gt;&lt;/a&gt;工具下载
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.diskgenius.cn/" target="_blank" rel="noopener"
&gt;DiskGenius&lt;/a&gt; - 分区，管理启动项&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.drive-image.com/" target="_blank" rel="noopener"
&gt;R-Drive Image&lt;/a&gt; - 恢复镜像&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ic005k/OCAuxiliaryTools" target="_blank" rel="noopener"
&gt;OCAuxiliaryTools&lt;/a&gt; - 编辑 OC 引导&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://etcher.balena.io/" target="_blank" rel="noopener"
&gt;balenaEtcher&lt;/a&gt; - 刻录镜像&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="镜像下载"&gt;&lt;a href="#%e9%95%9c%e5%83%8f%e4%b8%8b%e8%bd%bd" class="header-anchor"&gt;&lt;/a&gt;镜像下载
&lt;/h3&gt;&lt;p&gt;10.13.6~13.x 镜像都可以&lt;/p&gt;
&lt;h3 id="准备磁盘"&gt;&lt;a href="#%e5%87%86%e5%a4%87%e7%a3%81%e7%9b%98" class="header-anchor"&gt;&lt;/a&gt;准备磁盘
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;将硬盘转换为 GPT 格式，采用 UEFI 引导&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;单硬盘双系统&lt;/strong&gt;：在有充足空间的分区上划分出 64G 以上空间，不要格式化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多硬盘双系统&lt;/strong&gt;：需要安装黑苹果的硬盘删除所有分区，然后建立 ESP 和 MSR 分区，剩余空间不要格式化&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="efi"&gt;&lt;a href="#efi" class="header-anchor"&gt;&lt;/a&gt;EFI
&lt;/h3&gt;&lt;p&gt;已经将我的 EFI 发布在 GitHub 上（仓库地址：&lt;a class="link" href="https://github.com/Xalaok/LEGION-Y7000-2020-EFI" target="_blank" rel="noopener"
&gt;Xalaok/LEGION-Y7000-2020-EFI&lt;/a&gt;）。如果和我的配置一样（硬盘除外），且安装的 macOS 版本也是 Ventura，那么可以直接使用本 EFI，如果不是 Ventura 需要更换无线网卡驱动（方法参见下面第 3 步），如果配置不同需要自行根据下面教程配置 EFI&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 xiaoM 大佬的&lt;a class="link" href="https://github.com/xiaoMGitHub/LEGION_Y7000Series_Hackintosh" target="_blank" rel="noopener"
&gt;仓库&lt;/a&gt;下载 Y7000 系列 EFI&lt;/li&gt;
&lt;li&gt;解压后保留符合处理器的 plist，其余的删除&lt;/li&gt;
&lt;li&gt;从 &lt;a class="link" href="https://github.com/OpenIntelWireless/itlwm" target="_blank" rel="noopener"
&gt;OpenIntelWireless/itlwm&lt;/a&gt; 下载 Intel 无线网卡驱动，看说明，将需要的放入 &lt;code&gt;/EFI/OC/Kexts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;从 &lt;a class="link" href="https://github.com/OpenIntelWireless/IntelBluetoothFirmware" target="_blank" rel="noopener"
&gt;OpenIntelWireless/IntelBluetoothFirmware&lt;/a&gt; 下载 Intel 蓝牙驱动，看说明，将需要的（Monterey 及以上删除 &lt;code&gt;IntelBluetoothInjector.kext&lt;/code&gt;）放入 &lt;code&gt;/EFI/OC/Kexts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;从 &lt;a class="link" href="https://github.com/acidanthera/BrcmPatchRAM" target="_blank" rel="noopener"
&gt;acidanthera/BrcmPatchRAM&lt;/a&gt; 下载 &lt;code&gt;BlueToolFixup.kext&lt;/code&gt; 放入 &lt;code&gt;/EFI/OC/Kexts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;从 &lt;a class="link" href="https://github.com/acidanthera/HibernationFixup/" target="_blank" rel="noopener"
&gt;acidanthera/HibernationFixup&lt;/a&gt; 下载 &lt;code&gt;HibernationFixup.kext&lt;/code&gt; 放入 &lt;code&gt;/EFI/OC/Kexts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在 OCAT 工具中打开 &lt;code&gt;config.plist&lt;/code&gt;，打开 &lt;code&gt;Kernel&lt;/code&gt; 选项卡拖入新添加的 Kext(Kernel Extention)，全部启用后保存&lt;/li&gt;
&lt;li&gt;如果是 PM981、PM981a、镁光、海力士固态需要屏蔽。在 &lt;code&gt;/EFI/OC/config.plist&lt;/code&gt; 搜索 &lt;code&gt;SSDT-DNVMe.aml&lt;/code&gt;，将上方的 &lt;code&gt;&amp;lt;key&amp;gt;Enabled&amp;lt;/key&amp;gt;&lt;/code&gt; 下面一行 &lt;code&gt;&amp;lt;false/&amp;gt;&lt;/code&gt; 修改为 &lt;code&gt;&amp;lt;true/&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="bios-设置"&gt;&lt;a href="#bios-%e8%ae%be%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;BIOS 设置
&lt;/h3&gt;&lt;h3 id="拯救者一键修改-bios-脚本"&gt;&lt;a href="#%e6%8b%af%e6%95%91%e8%80%85%e4%b8%80%e9%94%ae%e4%bf%ae%e6%94%b9-bios-%e8%84%9a%e6%9c%ac" class="header-anchor"&gt;&lt;/a&gt;拯救者一键修改 BIOS 脚本
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;下载工具：&lt;a class="link" href="https://github.com/xiaoMGitHub/LEGION_Y7000Series_Insyde_Advanced_Settings_Tools" target="_blank" rel="noopener"
&gt;xiaoMGitHub/LEGION_Y7000Series_Insyde_Advanced_Settings_Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;解压后运行&lt;code&gt;双击执行.bat&lt;/code&gt;。依次执行 2、4、5（如果是八代处理器则需要额外多执行 1）后重启&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="重启按-f2-进入-bios"&gt;&lt;a href="#%e9%87%8d%e5%90%af%e6%8c%89-f2-%e8%bf%9b%e5%85%a5-bios" class="header-anchor"&gt;&lt;/a&gt;重启按 F2 进入 BIOS
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;关闭 Disabled
&lt;ul&gt;
&lt;li&gt;Secure Boot（安全启动，必须关闭）&lt;/li&gt;
&lt;li&gt;Intel Platform Trust（可关可不关）&lt;/li&gt;
&lt;li&gt;DPTF（在 Configuration 选项卡中，必须关闭，这样可以通过 ACPI 补丁来禁用独显降低黑果功耗）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;开启 Enabled
&lt;ul&gt;
&lt;li&gt;SATA Mode: AHCI（必须）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="安装系统"&gt;&lt;a href="#%e5%ae%89%e8%a3%85%e7%b3%bb%e7%bb%9f" class="header-anchor"&gt;&lt;/a&gt;安装系统
&lt;/h2&gt;&lt;h3 id="安装版"&gt;&lt;a href="#%e5%ae%89%e8%a3%85%e7%89%88" class="header-anchor"&gt;&lt;/a&gt;安装版
&lt;/h3&gt;&lt;p&gt;balenaEtcher 刻录镜像到 U 盘，替换 EFI，重启按 F12 选择 U 盘启动安装&lt;/p&gt;
&lt;h3 id="恢复版"&gt;&lt;a href="#%e6%81%a2%e5%a4%8d%e7%89%88" class="header-anchor"&gt;&lt;/a&gt;恢复版
&lt;/h3&gt;&lt;h4 id="恢复镜像"&gt;&lt;a href="#%e6%81%a2%e5%a4%8d%e9%95%9c%e5%83%8f" class="header-anchor"&gt;&lt;/a&gt;恢复镜像
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;安装并打开 R-Drive Image，选择“恢复映像”&lt;/li&gt;
&lt;li&gt;选取镜像文件，然后点“下一步”&lt;/li&gt;
&lt;li&gt;从源中将镜像按住拖到下面的“目标磁盘”或者“空闲分区”中，然后点“下一步”&lt;/li&gt;
&lt;li&gt;点“启动”开始恢复镜像&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="空余空间的的合并方法"&gt;&lt;a href="#%e7%a9%ba%e4%bd%99%e7%a9%ba%e9%97%b4%e7%9a%84%e7%9a%84%e5%90%88%e5%b9%b6%e6%96%b9%e6%b3%95" class="header-anchor"&gt;&lt;/a&gt;空余空间的的合并方法
&lt;/h4&gt;&lt;p&gt;当恢复完镜像后，会发现实际可用空间小于硬盘分区大小，有空余的空间出现。只需要在进入 macOS 后，点启动台 &amp;gt; 其它 &amp;gt; 磁盘工具 &amp;gt; 分区，合并未使用磁盘。&lt;/p&gt;
&lt;p&gt;10.13.6 先点+号划分出大概 5G 左右空间，然后点应用进行分区，分好之后再点分区，点未分配的空间，然后点下面的减号，再应用即可成功合并。&lt;/p&gt;
&lt;h2 id="引导建立"&gt;&lt;a href="#%e5%bc%95%e5%af%bc%e5%bb%ba%e7%ab%8b" class="header-anchor"&gt;&lt;/a&gt;引导建立
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;打开 DiskGenius，在工具选项卡打开&lt;code&gt;设置 UEFI BIOS 启动项&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;添加引导项选中 &lt;code&gt;/EFI/BOOT/bootx64.efi&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;给引导项改个名字，然后点“保存当前启动项设置”&lt;/li&gt;
&lt;li&gt;点“上移”，将该引导项移到最上面即可&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="系统优化"&gt;&lt;a href="#%e7%b3%bb%e7%bb%9f%e4%bc%98%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;系统优化
&lt;/h2&gt;&lt;p&gt;在 macOS 打开终端执行 &lt;code&gt;sudo sh -c &amp;quot;$(curl -fsSL https://gitee.com/xiaoMGit/Y7000Series_Hackintosh_Fix/raw/master/Script/Optimize.sh)&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;开启休眠（hibernatemode 25）（适用 8 代、10 代处理器，9 代处理器不支持）：上述优化脚本执行命令 7 即可&lt;/p&gt;
&lt;p&gt;触控板带实体按钮的机型设置（主要针对 2018 款 Y7000 以及部分 2019 款 Y7000）：系统偏好设置 &amp;gt; 触控板 &amp;gt; 取消勾选&amp;quot;用力点按和触感反馈&amp;quot;&lt;/p&gt;
&lt;p&gt;小键盘相关设置（8代处理器的机器不需要执行）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开终端执行 &lt;code&gt;open /usr/local/bin/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;打开 系统偏好设置 &amp;gt; 安全性与隐私 &amp;gt; 隐私 &amp;gt; 辅助功能&lt;/li&gt;
&lt;li&gt;将 setleds 添加到辅助功能&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="去除多余-no_name-或-efi-引导项"&gt;&lt;a href="#%e5%8e%bb%e9%99%a4%e5%a4%9a%e4%bd%99-no_name-%e6%88%96-efi-%e5%bc%95%e5%af%bc%e9%a1%b9" class="header-anchor"&gt;&lt;/a&gt;去除多余 NO_NAME 或 EFI 引导项
&lt;/h2&gt;&lt;p&gt;这是 OpenCore 0.8.8 开始的新特性，解决方案是在 &lt;code&gt;/EFI/Boot&lt;/code&gt; 创建一个内含 &lt;code&gt;Disabled&lt;/code&gt; 字符的 &lt;code&gt;.contentVisibility&lt;/code&gt; 文件&lt;/p&gt;
&lt;h2 id="说明"&gt;&lt;a href="#%e8%af%b4%e6%98%8e" class="header-anchor"&gt;&lt;/a&gt;说明
&lt;/h2&gt;&lt;h3 id="正常工作的功能"&gt;&lt;a href="#%e6%ad%a3%e5%b8%b8%e5%b7%a5%e4%bd%9c%e7%9a%84%e5%8a%9f%e8%83%bd" class="header-anchor"&gt;&lt;/a&gt;正常工作的功能
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;UEFI 通过 Clover/OpenCore 启动&lt;/li&gt;
&lt;li&gt;支持任意版本系统 OTA 升级到该大版本最新系统&lt;/li&gt;
&lt;li&gt;内置键盘以及数字键盘&lt;/li&gt;
&lt;li&gt;原生 USB3.0/USB2.0&lt;/li&gt;
&lt;li&gt;AppleHDA 原生音频，包括耳机&lt;/li&gt;
&lt;li&gt;内置摄像头&lt;/li&gt;
&lt;li&gt;原生电源管理&lt;/li&gt;
&lt;li&gt;电池状态&lt;/li&gt;
&lt;li&gt;背光控制&lt;/li&gt;
&lt;li&gt;背光键盘&lt;/li&gt;
&lt;li&gt;核显驱动（独显已屏蔽）&lt;/li&gt;
&lt;li&gt;有线以太网卡&lt;/li&gt;
&lt;li&gt;App Store&lt;/li&gt;
&lt;li&gt;CPU 变频&lt;/li&gt;
&lt;li&gt;熄屏唤醒&lt;/li&gt;
&lt;li&gt;无线网络&lt;/li&gt;
&lt;li&gt;蓝牙&lt;/li&gt;
&lt;li&gt;触控板 （全系支持全手势）&lt;/li&gt;
&lt;li&gt;随航（有线/无线）&lt;/li&gt;
&lt;li&gt;4K 屏幕（&lt;a class="link" href="https://github.com/xiaoMGitHub/LEGION_Y7000Series_Hackintosh/tree/master/4K_Display_Config" target="_blank" rel="noopener"
&gt;教程&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;iMessage/FaceTime&lt;/li&gt;
&lt;li&gt;休眠唤醒（hibernatemode 25）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="不能正常使用的功能"&gt;&lt;a href="#%e4%b8%8d%e8%83%bd%e6%ad%a3%e5%b8%b8%e4%bd%bf%e7%94%a8%e7%9a%84%e5%8a%9f%e8%83%bd" class="header-anchor"&gt;&lt;/a&gt;不能正常使用的功能
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;睡眠唤醒（原作者说鼠标，键盘、电源键唤醒均正常，但实测我的型号不正常😭）&lt;/li&gt;
&lt;li&gt;HDMI，因为 HDMI 端口连接到已禁用的 Nvidia 卡&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;以上提及的所有工具或镜像网上都可以找到，非免费软件和镜像也可以找我要&lt;/p&gt;
&lt;p&gt;Enjoy~&lt;/p&gt;</description></item><item><title>我的 2023</title><link>https://www.xalaok.top/post/hello-2024/</link><pubDate>Tue, 23 Jan 2024 19:45:00 +0800</pubDate><guid>https://www.xalaok.top/post/hello-2024/</guid><description>&lt;img src="https://www.xalaok.top/post/hello-2024/cover.webp" alt="Featured image of post 我的 2023" /&gt;&lt;p&gt;2023 这一年，我使用过的平台有 10 个：&lt;a class="link" href="https://swb.cc" target="_blank" rel="noopener"
&gt;Freehost&lt;/a&gt;，&lt;a class="link" href="https://netlify.com" target="_blank" rel="noopener"
&gt;Netlify&lt;/a&gt;，&lt;a class="link" href="https://starxn.com" target="_blank" rel="noopener"
&gt;星辰云&lt;/a&gt;，&lt;a class="link" href="https://namesilo.com" target="_blank" rel="noopener"
&gt;NameSilo&lt;/a&gt;，&lt;a class="link" href="https://www.netlify.com" target="_blank" rel="noopener"
&gt;Netlify&lt;/a&gt;，&lt;a class="link" href="https://vercel.com" target="_blank" rel="noopener"
&gt;Vercel&lt;/a&gt;，&lt;a class="link" href="https://leancloud.app" target="_blank" rel="noopener"
&gt;LeanCloud&lt;/a&gt;，&lt;a class="link" href="https://replit.com" target="_blank" rel="noopener"
&gt;Replit&lt;/a&gt;，&lt;a class="link" href="https://db4free.net" target="_blank" rel="noopener"
&gt;DB4Free&lt;/a&gt;，&lt;a class="link" href="https://zeabur.com" target="_blank" rel="noopener"
&gt;Zeabur&lt;/a&gt;，&lt;a class="link" href="https://cloudcone.com" target="_blank" rel="noopener"
&gt;CloudCone&lt;/a&gt;；使用过的服务有 1 个：51la；部署过的自托管服务有 7 个：AList，&lt;a class="link" href="https://usememos.com" target="_blank" rel="noopener"
&gt;Memos&lt;/a&gt;，&lt;a class="link" href="https://uptime.kuma.pet" target="_blank" rel="noopener"
&gt;Uptime Kuma&lt;/a&gt;，&lt;a class="link" href="https://nextchat.dev" target="_blank" rel="noopener"
&gt;NextChat&lt;/a&gt;，&lt;a class="link" href="https://umami.is" target="_blank" rel="noopener"
&gt;Umami&lt;/a&gt;，&lt;a class="link" href="https://1panel.cn" target="_blank" rel="noopener"
&gt;1Panel&lt;/a&gt;，&lt;a class="link" href="https://waline.js.org" target="_blank" rel="noopener"
&gt;Waline&lt;/a&gt;；&lt;span class="blur"&gt;建站支出 123.26 元，魔法支出 21.16 元&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;下面我就以博客框架为线索回顾这一年折腾了些啥。&lt;/p&gt;
&lt;h3 id="wordpress202301"&gt;&lt;a href="#wordpress202301" class="header-anchor"&gt;&lt;/a&gt;WordPress（2023.01）
&lt;/h3&gt;&lt;p&gt;2023 年初，我找到了一个免费主机平台 &lt;a class="link" href="https://www.swb.cc" target="_blank" rel="noopener"
&gt;Freehost&lt;/a&gt;（当时域名还是 freehost.cc，前段时间换成了 swb.cc），于是我与我自己的数字花园的故事开始了。&lt;/p&gt;
&lt;p&gt;首先了解的博客系统自然是“市场份额”最高的 WordPress，但是通过官网、百度、谷歌等地方初步了解后，我觉得它太“庞大”。不是说它占用空间大，而是功能很多，上手困难。&lt;/p&gt;
&lt;p&gt;然后我又了解到了同样历史悠久（WordPress 2003，Typecho 2009）的 Typecho。正如开发团队所说，在使用博客程序的大部分时间里，我们只是发几段文字，贴几张图片，不需要高级复杂的系统，需要的是一个简单快速的博客平台。它相较 Wordpress 的确轻量很多。&lt;/p&gt;
&lt;p&gt;奈何在那时还只是个纯小白的我与 Typecho 无缘，在安装时到填数据库的那一步，因为 Freehost 的面板太难用导致没有找到数据库连接方式😭（后来我找到了数据库信息，不过那时已经准备弃用 WP 了）。Freehost 大概是特地给 WP 做过适配，安装的时候自动填写了数据库信息，无脑下一步就成功了。&lt;/p&gt;
&lt;p&gt;对这段时期的记忆就剩下了 Argon 主题，界面过于复杂导致自定义修改很繁琐，再加上最重要的一点，国外主机访问速度实在过于感人……&lt;/p&gt;
&lt;h3 id="gridea20230111-20230623"&gt;&lt;a href="#gridea20230111-20230623" class="header-anchor"&gt;&lt;/a&gt;Gridea（2023.01.11-2023.06.23）
&lt;/h3&gt;&lt;p&gt;在有了 WordPress 的这个经历之后，当我在 B 站上刷到了推荐 &lt;a class="link" href="https://open.gridea.dev" target="_blank" rel="noopener"
&gt;Gridea&lt;/a&gt; 的视频（BV15M411m7d9），我就立刻被易用的图形化界面电脑客户端和静态网站所具有的部署方便所吸引。&lt;/p&gt;
&lt;p&gt;然而使用 Gridea 的时间也不长，原因主要有二：其一，主题还太少，基本找不到心仪的主题，个别喜欢的又有各种问题，页面模板少。最后还是软件作者自己的一个付费主题（Rocky）勉强能用。幸运的是，本着能白嫖不付钱的原则，一番寻找后在 GitHub 上找到了有人基于此主题修改的版本。但是主题加载优化很烂，网页加载要二十秒左右。罪魁祸首可能是 jsDelivr 把整个霞骛文楷的字体都加载上去了。这个 Netlify 部署的站点现在还留着（https://xalaok.netlify.app/），有兴趣可以打开试试，有没有强迫症当场去世的感觉🤔。当然，如果用上霞鹜文楷的分片版字体后肯定大大改善（现在的站点就是），但是已经懒得再去部署看看效果了。我已经将我修改成分片版字体的主题放在 GitHub 上了（仓库地址：&lt;a class="link" href="https://github.com/Xalaok/Gridea-theme-Rocky-Mod" target="_blank" rel="noopener"
&gt;Xalaok/Gridea-theme-Rocky-Mod&lt;/a&gt;），在用 Gridea 的可以看看效果。&lt;/p&gt;
&lt;h3 id="typecho20230318-20230611"&gt;&lt;a href="#typecho20230318-20230611" class="header-anchor"&gt;&lt;/a&gt;Typecho（2023.03.18-2023.06.11）
&lt;/h3&gt;&lt;p&gt;这一次还是 B 站，看到了星辰云站长阿付的宣传视频。星辰云的价格确实很诱人（入门款￥2/月但仅限一个网站而且空间 128MB），而且香港虚拟主机免备案。正好三月的时候想给班级搭个网站记录每天的趣事，于是&lt;del&gt;一拍即合&lt;/del&gt;（影视飓风看多了属于是）。这次安装 Typecho 像之前安装 WordPress 一样无脑下一步就成功了，很神奇。关于主题，一开始用的是 Initial，后来找到了我更满意的 Matcha 主题。现在已经换成了和我博客一样的静态网站~&lt;/p&gt;
&lt;p&gt;又在星辰云买了个四块钱一个月的普通主机迁移了博客。其实也不能叫迁移，因为这段时间是 Typecho 博客和 Gridea 博客并存。&lt;/p&gt;
&lt;p&gt;在此特别说明，我不是在给星辰云打广告😅，星辰云的虚拟主机虽然价格便宜，但是稳定性欠佳，不适合生产环境使用。&lt;/p&gt;
&lt;h3 id="域名"&gt;&lt;a href="#%e5%9f%9f%e5%90%8d" class="header-anchor"&gt;&lt;/a&gt;域名
&lt;/h3&gt;&lt;p&gt;一开始博客用的一直是免费二级域名，Freehost 时的 .freeee.ml，Netlify 的 .netlify.app，星辰云的 .svvs.top .scxc.ink，都是平台专用的，也就是说我只要换一个平台，就得换一个域名，这样非常不利于读者找到（这话说的，根本就没什么人看嘛），更重要的是自己看着这么长的域名也糟心，而且不少博客都是要求友链不能是免费域名。如果要加入十年之约的话也不能是免费域名。&lt;/p&gt;
&lt;p&gt;域名当然直接用网名，但是我一直想不到一个自己满意的网名🙃，最后用我喜欢的动物考拉的英文单词倒序再在前面加上 X（似乎是更酷一点罢）于是就有了这个 &lt;code&gt;Xalaok&lt;/code&gt;。但是中文的网名还想不到好的😣&lt;/p&gt;
&lt;p&gt;到了域名注册环节，作为一个学生自然是选最便宜的顶级域名，com 自然是说再见了。腾讯云（我也不知道为什么不是阿里云）的新人优惠里面的顶级域名有 cn top fun xyz 等，其中 top 和 fun 都是首年一元，再看看续费价格最便宜的就是 top，但是国内注册商要实名啥的，我又没到备案年龄，于是就在国外域名注册商里找到了一个我能找到最便宜的 NameSilo 注册了。&lt;/p&gt;
&lt;p&gt;2023.04.30 我有了自己的域名。&lt;/p&gt;
&lt;h3 id="hugo20230611-present"&gt;&lt;a href="#hugo20230611-present" class="header-anchor"&gt;&lt;/a&gt;Hugo（2023.06.11-present）
&lt;/h3&gt;&lt;p&gt;同为静态网站生成工具，hexo 基于 npm，而 Hugo 有可执行程序。这对于没研究过 npm 的我来说更易上手。正如官网所说 &lt;code&gt;The world’s fastest framework for building websites&lt;/code&gt;，Hugo 生成网页速度确实很快，不到一秒就能完成目前我几十篇博文的输出。再搭配 05/04 开始使用 的 &lt;a class="link" href="https://vercel.com" target="_blank" rel="noopener"
&gt;Vercel&lt;/a&gt; 的自动部署和免费且自动续期 SSL 证书，整个过程的成本只有域名，非常舒服！从六月到今年一月不断的完善下，我把目前使用的 Stack 主题修改到基本符合我心意。而 Hugo 也将成为未来一段时间我的博客框架。&lt;/p&gt;
&lt;h3 id="vps20231217"&gt;&lt;a href="#vps20231217" class="header-anchor"&gt;&lt;/a&gt;VPS（2023.12.17）
&lt;/h3&gt;&lt;p&gt;这台 CloudCone 2C1G VPS 才用一个月，目前也就是接替了今年开始收费的 Replit 的任务，搭建了 AList 和 Memos，所以就不先写了。敬请期待 2024 年度总结吧。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;在&lt;a class="link" href="https://yinji.org" target="_blank" rel="noopener"
&gt;印记&lt;/a&gt;读到以下观点：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;存在时间比较长的博客一般都不会花里胡哨，他们在建博客的头两年已经花了大量时间，用于如何让自己的博客更加美观、漂亮，如何添加更多有趣的功能，这似乎是大多数博主会经历的一个环节。&lt;/p&gt;
&lt;p&gt;主题、插件、功能等折腾完之后，有的人会静下心来打磨内容，渐而对博客的皮肤变得不太关注，而是转向简约、朴素，当然也有的人继续沉迷为博客换衣服，追求新鲜亮丽。&lt;/p&gt;
&lt;p&gt;显然前者的博客会活得更久。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我觉得他说得很对。我博客的第一年结束了。希望我在之后的日子里，慢慢地少折腾，多写字。我在博客底部挂上虫洞和开往的穿梭链接很久了，但由于博客还没有满一年，并没有正式加入，准备近期加入。希望我的博客在十年后依然存在🤣！&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;为什么这篇年度总结在新的一年开始快一个月才发出呢？因为在 01/03 博客一周年的时候我才准备开始写🙂。更主要的原因是月初一模。&lt;/p&gt;
&lt;p&gt;感谢你看完了我两千字的流水账。&lt;/p&gt;
&lt;p&gt;二模加油！中考加油！&lt;/p&gt;</description></item><item><title>我的 Obsidian 同步方案</title><link>https://www.xalaok.top/post/obsidian-sync/</link><pubDate>Fri, 19 Jan 2024 15:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/obsidian-sync/</guid><description>&lt;img src="https://www.xalaok.top/post/obsidian-sync/cover.webp" alt="Featured image of post 我的 Obsidian 同步方案" /&gt;&lt;p&gt;Obsidian 作为一款本地优先的笔记软件有一个很致命的缺点，云同步。&lt;/p&gt;
&lt;p&gt;Obsidian 官方提供了云同步服务，有 AES‑256 端到端加密，每篇笔记保留一年的历史版本，不限设备数量，软件设置也会同步，空间 10GB。价格年付每月 8 美元，月付每月 10 美元。&lt;/p&gt;
&lt;p&gt;在网上阅读一番发现，官方同步的优点很明显。首先，比自建同步容易，自建同步要进行大量的配置+测试，官方同步只要付钱。其次，同步起来很省心，几乎不会遇到同步错误和数据丢失的情况，同步速度也还不错。第三，实时同步，无缝衔接很强大，特别是两台电脑之间。接下来是缺点。移动端的同步奇差（虽然用插件也没有一条龙同步移动端的），打开同步不能锁屏或者后台，要等着它慢慢完成一个一个上传下载的全部流程才能使用。最重要的一点，定价不菲。&lt;/p&gt;
&lt;p&gt;但我没有用官方的云同步，原因如下。首先我目前笔记量很少，图片大多放在图床，全是 md 文件占不了多大空间；使用 Obsidian 大多数时候在编辑博文，而博客文章是全部上传到 GitHub 的，并且大多数情况只有在一台电脑上写字，没有很高的同步需求，只要基本的网盘备份即可。其次，官方的价格对于我来说实在是有些高昂，每年七百块钱的年费都能买好几年的百度网盘会员呢。&lt;/p&gt;
&lt;p&gt;目前我使用的是 OneDrive，不仅免费而且无感，同时又满足了我备份和偶尔查看的需求。上一篇博文讲到我 E5 账号开通了一年左右。但是我其实一直只在使用 Office 软件的新外观。不谈别的开发用途，我根本没有用好 E5 账号比普通账号多的网盘空间（5G → 5T 是什么质的飞跃啊），毕竟这是唯一一个能在国内找到的免费空间与不限速下载的最佳平衡。以前重装系统后一般都是无脑卸载 OneDrive。最近我才真正开始使用 OneDrive。它与 Windows 文件资源管理器高度集成，只要放入 OneDrive 文件夹就会自动上传，文件变化也会自动检测到并同步到网盘，虽然上传必须要把文件移到其专属的文件夹，但是就把它当作另一个盘符不就好了。&lt;/p&gt;
&lt;p&gt;在此之前我的同步（备份）使用的方案是 WebDAV。国内貌似 WebDAV 网盘只听说过坚果云，但是坚果云免费用户每月只有上传 1G、下载 3G。虽然我用不了这么多流量，但是这个限制让我觉得不安，总让我觉得会强推会员或者限速之类的，而且听说同步的文件如果太多的话，就会出现故障坚果云的API限制一定时间内的请求很低所以还是选择了国外的 Infini-Cloud。虽然大陆速度慢了点，而且需要在 Obsidian 中的 remotely-save 插件中配置好信息，但是在此之后完全没它什么事了，它根本没有客户端，可以用 AList 来管理，仅备份的话还是比较方便的。下载一份到移动端的话可以使用 FolderSync，具体使用记录会另写一篇。&lt;/p&gt;
&lt;p&gt;至于其他的同步方式，类似 remotely-save 的插件等不再赘述，Git 的方式每次都要运行三个命令来推送到仓库，还要打开其他软件，没有前面的方法无感。&lt;/p&gt;</description></item><item><title>利用 GitHub Action 实现 Microsoft 365 E5 订阅自动续订</title><link>https://www.xalaok.top/post/auto-keep-e5-alive/</link><pubDate>Thu, 18 Jan 2024 11:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/auto-keep-e5-alive/</guid><description>&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/cover.webp" alt="Featured image of post 利用 GitHub Action 实现 Microsoft 365 E5 订阅自动续订" /&gt;&lt;p&gt;2021 年初买的电脑，附赠的是 2019 版的 Office。因为更喜欢 Microsoft 365 的新版界面，所以大概一年前申请了 Developer E5 账户。当时是在 B 站找的教程视频开的账号，续期教程没看，因为想着三个月有效期，到时候再看不迟，但没想到不知道是什么原因它自动续期了。不知道大家有没有遇到这种情况。直到去年 12/31 收到邮件提醒说没用于开发用途，账号要被删除了，于是赶紧百度续期教程，找到了利用 GitHub Actions 实现的自动调用 API 来续期 E5 账户的教程，成功以后便来记录一下，也方便后面自己或他人查阅。&lt;/p&gt;
&lt;p&gt;以下是提醒邮件内容：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/01.webp"
width="841"
height="1146"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="73"
data-flex-basis="176px"
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="新建个人访问令牌"&gt;&lt;a href="#%e6%96%b0%e5%bb%ba%e4%b8%aa%e4%ba%ba%e8%ae%bf%e9%97%ae%e4%bb%a4%e7%89%8c" class="header-anchor"&gt;&lt;/a&gt;新建个人访问令牌
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;a class="link" href="https://github.com/settings/tokens" target="_blank" rel="noopener"
&gt;https://github.com/settings/tokens&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;右上角新建个人访问令牌（经典）【注：我用的是油猴插件 &lt;a class="link" href="https://greasyfork.org/scripts/435208" target="_blank" rel="noopener"
&gt;GitHub 中文化&lt;/a&gt;】&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/02.webp"
width="403"
height="212"
loading="lazy" style="display:block;margin:0 auto;"
alt="新建个人访问令牌（经典）"
class="gallery-image"
data-flex-grow="190"
data-flex-basis="456px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Note&lt;/code&gt;（备注）：起个名字，随便填&lt;br&gt;
&lt;code&gt;Expiration&lt;/code&gt;（有效期）：我选的无限期（No expiration），按自己需求选择即可&lt;br&gt;
&lt;code&gt;Select scopes&lt;/code&gt;（选择作用域）：作用域定义了个人令牌的访问范围，勾选 &lt;code&gt;repo&lt;/code&gt; 和 &lt;code&gt;workflow&lt;/code&gt; 两项即可&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/03.webp"
width="990"
height="354"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="279"
data-flex-basis="671px"
&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;strong&gt;妥善及时保存&lt;/strong&gt;好新生成的 token，只会出现一次，过后不再可见&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="导入仓库"&gt;&lt;a href="#%e5%af%bc%e5%85%a5%e4%bb%93%e5%ba%93" class="header-anchor"&gt;&lt;/a&gt;导入仓库
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;GitHub 主页右上角加号选择导入仓库（&lt;code&gt;import repository&lt;/code&gt;）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/04.webp"
width="258"
height="340"
loading="lazy" style="display:block;margin:0 auto;"
alt="导入仓库"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="182px"
&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Your old repository&amp;rsquo;s clone URL 填写 &lt;code&gt;https://github.com/vcheckzen/KeepAliveE5.git&lt;/code&gt;，Privacy 建议选择 Private（私有）&lt;/li&gt;
&lt;li&gt;导入完成后打开导入后的仓库&lt;/li&gt;
&lt;li&gt;打开 Settings-Actions-General（&lt;code&gt;https://github.com/你的用户名/仓库名/settings/actions&lt;/code&gt;），将 &lt;code&gt;Actions permissions&lt;/code&gt; 设为 &lt;code&gt;Allow all actions add reusable workflows&lt;/code&gt;（第一项）即可看到 Actions 选项卡&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="设置-secrets"&gt;&lt;a href="#%e8%ae%be%e7%bd%ae-secrets" class="header-anchor"&gt;&lt;/a&gt;设置 Secrets
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开 Settings-Secrets-Actions（&lt;code&gt;https://github.com/你的用户名/仓库名/settings/secrets/actions&lt;/code&gt;），点击 New repository secret&lt;/li&gt;
&lt;li&gt;根据仓库作者 README 添加三项 Secret&lt;/li&gt;
&lt;/ol&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;PAT&lt;/td&gt;
&lt;td&gt;Github 个人访问密钥，需要具有 workflow 权限&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USER&lt;/td&gt;
&lt;td&gt;E5 管理员邮箱（支持多个，每行一个，不要填写子号）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PASSWD&lt;/td&gt;
&lt;td&gt;E5 管理员密码（支持多个，每行一个，顺序必须和邮箱一致）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/05.webp"
width="995"
height="578"
loading="lazy" style="display:block;margin:0 auto;"
alt="设置 Secrets"
class="gallery-image"
data-flex-grow="172"
data-flex-basis="413px"
&gt;&lt;/p&gt;
&lt;h3 id="禁用安全默认值"&gt;&lt;a href="#%e7%a6%81%e7%94%a8%e5%ae%89%e5%85%a8%e9%bb%98%e8%ae%a4%e5%80%bc" class="header-anchor"&gt;&lt;/a&gt;禁用安全默认值
&lt;/h3&gt;&lt;p&gt;根据&lt;a class="link" href="https://learn.microsoft.com/zh-cn/entra/fundamentals/security-defaults#disabling-security-defaults" target="_blank" rel="noopener"
&gt;微软官方教程&lt;/a&gt;禁用安全默认值，否则无法注册成功，进而无法调用 API&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/06.webp"
width="637"
height="340"
loading="lazy" style="display:block;margin:0 auto;"
alt="官方文档截图"
class="gallery-image"
data-flex-grow="187"
data-flex-basis="449px"
&gt;&lt;/p&gt;
&lt;h3 id="手动触发-actions"&gt;&lt;a href="#%e6%89%8b%e5%8a%a8%e8%a7%a6%e5%8f%91-actions" class="header-anchor"&gt;&lt;/a&gt;手动触发 Actions
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;转到 &lt;code&gt;Action&lt;/code&gt; 面板，在 &lt;code&gt;All workflows&lt;/code&gt; 下找到 &lt;code&gt;Register APP&lt;/code&gt;，手动触发它完成注册流程，2 分钟左右。如果确认一切操作正确仍然 &lt;code&gt;Register&lt;/code&gt; 失败，可等待 10-30min 后再操作，因为关闭安全默认值后，微软系统要过一段时间才会刷新。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/07.webp"
width="1128"
height="629"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="179"
data-flex-basis="430px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;再找到 &lt;code&gt;Invoke API&lt;/code&gt; 手动触发。如无错误，任务会定时执行，基本可保证续订成功。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/08.webp"
width="1053"
height="650"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="162"
data-flex-basis="388px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;01/04 收到微软邮件通知续期成功，邮件内容如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/auto-keep-e5-alive/09.webp"
width="856"
height="1029"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="83"
data-flex-basis="199px"
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;参考：&lt;a class="link" href="https://logi.im/script/permanently-keeping-an-office-e5-account.html" target="_blank" rel="noopener"
&gt;# Office 365 E5 账号申请及永久续期教程 - LOGI&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>工欲善其事，必先利其器</title><link>https://www.xalaok.top/post/my-software/</link><pubDate>Wed, 17 Jan 2024 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/my-software/</guid><description>&lt;img src="https://www.xalaok.top/post/my-software/cover.webp" alt="Featured image of post 工欲善其事，必先利其器" /&gt;&lt;p&gt;这个软件清单记录了软件的名称，下载地址和我主观的简短描述。把电脑使用的软件列出来，方便以后电脑重装后安装。这张清单会随着后续我电脑使用软件的情况进行更新。本文为跟风 L1nsn0w 🤣&lt;/p&gt;
&lt;h2 id="系统--驱动"&gt;&lt;a href="#%e7%b3%bb%e7%bb%9f--%e9%a9%b1%e5%8a%a8" class="header-anchor"&gt;&lt;/a&gt;系统 &amp;amp; 驱动
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Windows 11&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.microsoft.com/software-download/windows11" target="_blank" rel="noopener"
&gt;https://www.microsoft.com/software-download/windows11&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Windows 11 真的比 10 好看很多，颜值就是生产力&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Legion Y7000&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://newsupport.lenovo.com.cn/driveDownloads_index.html" target="_blank" rel="noopener"
&gt;https://newsupport.lenovo.com.cn/driveDownloads_index.html&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;官网驱动&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA Driver&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.nvidia.com/download/index.aspx" target="_blank" rel="noopener"
&gt;https://www.nvidia.com/download/index.aspx&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;N 卡驱动&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="上网冲浪"&gt;&lt;a href="#%e4%b8%8a%e7%bd%91%e5%86%b2%e6%b5%aa" class="header-anchor"&gt;&lt;/a&gt;上网冲浪
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google Chrome&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.google.com/intl/zh-CN/chrome/" target="_blank" rel="noopener"
&gt;https://www.google.com/intl/zh-CN/chrome/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;目前唯一使用的浏览器，比 Edge 更简洁，也更符合我的审美&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;哔哩哔哩&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://app.bilibili.com" target="_blank" rel="noopener"
&gt;https://app.bilibili.com&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;每天都刷的 B 站&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="学习软件"&gt;&lt;a href="#%e5%ad%a6%e4%b9%a0%e8%bd%af%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;学习软件
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;腾讯会议&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://meeting.tencent.com/download/" target="_blank" rel="noopener"
&gt;https://meeting.tencent.com/download/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;上网课&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClassIn&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.eeo.cn/cn/download" target="_blank" rel="noopener"
&gt;https://www.eeo.cn/cn/download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;上网课&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="社交软件"&gt;&lt;a href="#%e7%a4%be%e4%ba%a4%e8%bd%af%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;社交软件
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;微信&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://weixin.qq.com/" target="_blank" rel="noopener"
&gt;https://weixin.qq.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Qt 版小而美&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;钉钉&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.dingtalk.com/download" target="_blank" rel="noopener"
&gt;https://www.dingtalk.com/download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;收发学校消息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Telegram&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://telegram.org/" target="_blank" rel="noopener"
&gt;https://telegram.org/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;有很多博主交流频道&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="开发软件--环境"&gt;&lt;a href="#%e5%bc%80%e5%8f%91%e8%bd%af%e4%bb%b6--%e7%8e%af%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;开发软件 &amp;amp; 环境
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Docker Desktop&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.docker.com/products/docker-desktop/" target="_blank" rel="noopener"
&gt;https://www.docker.com/products/docker-desktop/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Windows 跑 Docker 容器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Desktop&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://desktop.github.com/" target="_blank" rel="noopener"
&gt;https://desktop.github.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Git 工具&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hugo&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://gohugo.io/" target="_blank" rel="noopener"
&gt;https://gohugo.io/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Hugo 静态网站生成器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Navicat Premium&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.navicat.com.cn/products" target="_blank" rel="noopener"
&gt;https://www.navicat.com.cn/products&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;数据库管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nodejs&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://nodejs.org/" target="_blank" rel="noopener"
&gt;https://nodejs.org/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Node.js 运行环境&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Putty&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank" rel="noopener"
&gt;https://www.chiark.greenend.org.uk/~sgtatham/putty/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;SSH 工具&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VS Code&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://code.visualstudio.com/" target="_blank" rel="noopener"
&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;日常编辑代码全靠它&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="实用软件"&gt;&lt;a href="#%e5%ae%9e%e7%94%a8%e8%bd%af%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;实用软件
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;7-zip&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://7-zip.org" target="_blank" rel="noopener"
&gt;https://7-zip.org&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;功能强大并且开源的解压缩软件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;百度网盘&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://pan.baidu.com/" target="_blank" rel="noopener"
&gt;https://pan.baidu.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;会员用户体验还是很不错的&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;网易邮箱大师&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://dashi.163.com/" target="_blank" rel="noopener"
&gt;https://dashi.163.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;用习惯了&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;网易云音乐&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://music.163.com/" target="_blank" rel="noopener"
&gt;https://music.163.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;学生会员国内最便宜，就是版权少了点&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caesium Image Compressor&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/Lymphatus/caesium-image-compressor" target="_blank" rel="noopener"
&gt;https://github.com/Lymphatus/caesium-image-compressor&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;超方便的本地图片压缩&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cherry Studio&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/CherryHQ/cherry-studio" target="_blank" rel="noopener"
&gt;https://github.com/CherryHQ/cherry-studio&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;集成多个 LLM 的开源桌面客户端&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Clash Verge&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/clash-verge-rev/clash-verge-rev" target="_blank" rel="noopener"
&gt;https://github.com/clash-verge-rev/clash-verge-rev&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Clash.Meta 内核，zzzgydi/clash-verge 的续作&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClassIn-Replay-Download&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/CarlGao4/ClassIn-Replay-Download" target="_blank" rel="noopener"
&gt;https://github.com/CarlGao4/ClassIn-Replay-Download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;下载 ClassIn 课程回放&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FileConverter&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/Tichau/FileConverter" target="_blank" rel="noopener"
&gt;https://github.com/Tichau/FileConverter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;超方便的本地格式转换，吊打格式工厂&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Folo&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/RSSNext/Folo" target="_blank" rel="noopener"
&gt;https://github.com/RSSNext/Folo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;最近爆火的 RSS 阅读客户端&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internet Download Manager&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://internetdownloadmanager.com/" target="_blank" rel="noopener"
&gt;https://internetdownloadmanager.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;多线程下载，速度起飞~&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lenovo Legion Toolkit&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/BartoszCichecki/LenovoLegionToolkit" target="_blank" rel="noopener"
&gt;https://github.com/BartoszCichecki/LenovoLegionToolkit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;拯救者用户必备的替代联想电脑管家直接控制硬件的开源软件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LocalSend&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/localsend/localsend" target="_blank" rel="noopener"
&gt;https://github.com/localsend/localsend&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;局域网传文件必备&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logi Options+&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.logitech.com.cn/zh-cn/software/logi-options-plus.html" target="_blank" rel="noopener"
&gt;https://www.logitech.com.cn/zh-cn/software/logi-options-plus.html&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;配置罗技产品&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Obsidian&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://obsidian.md/" target="_blank" rel="noopener"
&gt;https://obsidian.md/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;万能 md 编辑器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OBS Studio&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://obsproject.com/" target="_blank" rel="noopener"
&gt;https://obsproject.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;可以当完全免费的录屏软件用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PixPin&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://pixpinapp.com/" target="_blank" rel="noopener"
&gt;https://pixpinapp.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;功能强大的截图软件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PotPlayer&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.potplayer.cn/download/" target="_blank" rel="noopener"
&gt;https://www.potplayer.cn/download/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;最好用的播放器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QuickLook&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/QL-Win/QuickLook" target="_blank" rel="noopener"
&gt;https://github.com/QL-Win/QuickLook&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;像 macOS 一样用空格预览文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Salt Player for Windows&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://apps.microsoft.com/detail/9p42fq0wpqxk" target="_blank" rel="noopener"
&gt;https://apps.microsoft.com/detail/9p42fq0wpqxk&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;美观好用的本地音乐播放器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;uTools&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://u.tools/" target="_blank" rel="noopener"
&gt;https://u.tools/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;效率工具&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;vivo 办公套件&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://pc.vivo.com/" target="_blank" rel="noopener"
&gt;https://pc.vivo.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;vivo 手机投屏传文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WPS Office&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://platform.wps.cn/" target="_blank" rel="noopener"
&gt;https://platform.wps.cn/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;办公必备&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="归档"&gt;&lt;a href="#%e5%bd%92%e6%a1%a3" class="header-anchor"&gt;&lt;/a&gt;归档
&lt;/h2&gt;&lt;p&gt;目前不用，放在这以备以后查阅&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;下载&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Adobe GenP&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.cybermania.ws/apps/adobe-genp/" target="_blank" rel="noopener"
&gt;https://www.cybermania.ws/apps/adobe-genp/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;用于 Adobe 全家桶的激活&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FFmpeg Batch AV Converter&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/eibol/ffmpeg_batch" target="_blank" rel="noopener"
&gt;https://github.com/eibol/ffmpeg_batch&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;FFmepg GUI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HandBrake&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/HandBrake/HandBrake" target="_blank" rel="noopener"
&gt;https://github.com/HandBrake/HandBrake&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;强大的视频编码软件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HEU KMS Activator&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/zbezj/HEU_KMS_Activator" target="_blank" rel="noopener"
&gt;https://github.com/zbezj/HEU_KMS_Activator&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;KMS 激活 Windows 和 Office&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HMCL&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://hmcl.huangyuhui.net/" target="_blank" rel="noopener"
&gt;https://hmcl.huangyuhui.net/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;非常好用的 MC 启动器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Java JDK&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://www.oracle.com/java/technologies/downloads" target="_blank" rel="noopener"
&gt;https://www.oracle.com/java/technologies/downloads&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;放这是因为只在玩 MC 时用得着😅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PCL2&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://afdian.com/a/LTCat" target="_blank" rel="noopener"
&gt;https://afdian.com/a/LTCat&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;非常好用的 MC 启动器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RevokeMsgPatcher&lt;/td&gt;
&lt;td&gt;&lt;a class="link" href="https://github.com/huiyadanli/RevokeMsgPatcher" target="_blank" rel="noopener"
&gt;https://github.com/huiyadanli/RevokeMsgPatcher&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;微信/QQ 防撤回补丁&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>APK 的修改与精简</title><link>https://www.xalaok.top/post/mod-apk/</link><pubDate>Sun, 07 Jan 2024 17:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/mod-apk/</guid><description>&lt;img src="https://www.xalaok.top/post/mod-apk/cover.webp" alt="Featured image of post APK 的修改与精简" /&gt;&lt;h2 id="准备"&gt;&lt;a href="#%e5%87%86%e5%a4%87" class="header-anchor"&gt;&lt;/a&gt;准备
&lt;/h2&gt;&lt;p&gt;手机可以使用 MT 管理器&lt;/p&gt;
&lt;p&gt;电脑可以使用 &lt;a class="link" href="https://apktool.org/" target="_blank" rel="noopener"
&gt;ApkTool&lt;/a&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;安装 Java&lt;/li&gt;
&lt;li&gt;在 GitHub 仓库&lt;a class="link" href="https://github.com/iBotPeaches/Apktool/releases" target="_blank" rel="noopener"
&gt;下载最新版本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;下载&lt;a class="link" href="https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat" target="_blank" rel="noopener"
&gt;脚本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;将要解包的 apk 放在同一目录下&lt;/li&gt;
&lt;li&gt;运行 &lt;code&gt;apktool d 安装包文件名.apk -o 输出文件夹&lt;/code&gt; 解码 apk&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="apk-包结构"&gt;&lt;a href="#apk-%e5%8c%85%e7%bb%93%e6%9e%84" class="header-anchor"&gt;&lt;/a&gt;APK 包结构
&lt;/h2&gt;&lt;p&gt;在精简 apk 之前，首先要了解一下它的结构。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;【assets】&lt;br&gt;
这个文件夹主要放软件中的一些资源，比如图片，字体，一些其他的东西等，美化时可能会动它。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【lib】&lt;br&gt;
这个文件夹中放了软件运行所依赖的 so 库和一些其他的库。so 库文件分为不同的 CPU 架构，像 armeabi，armeabi-v7a， arm64-v8a，x86，x86_64，mips。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【META-INF】&lt;br&gt;
签名数据文件夹。我们在修改 apk 之后，要对 apk 进行重新签名才能安装。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【res】&lt;br&gt;
这就是精简 apk 的重点修改地方了。软件的布局信息几乎都在里面，包括一些软件的贴图、图标等&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【AndroidManifest.xml】&lt;br&gt;
这个文件放置了软件的主要信息，其中有包名，版本，Activity，权限等等。该文件使用 Android 的二进制 XML 格式。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【classes.dex(多个)】&lt;br&gt;
这个就是软件的代码，编译之后我们只能以 Smali 的形式进行编辑。当然，用 t 可以将它转化成不完整的 Java 代码供我们参考。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【resourses.arsc】&lt;br&gt;
这里面是一些二进制的资源引用，通过它可以查资源的十六进制的引用值，方便修改 DEX。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="精简-lib"&gt;&lt;a href="#%e7%b2%be%e7%ae%80-lib" class="header-anchor"&gt;&lt;/a&gt;精简 &lt;code&gt;lib&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;armeabi-v7a、arm64-v8a、armeabi、x86、x86_64 有什么区别？以下是 ChatGPT 给出的内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;armeabi-v7a：基于 ARMv7 指令集的 CPU 架构，适用于大多数现代的 ARM 处理器。&lt;/li&gt;
&lt;li&gt;arm64-v8a：基于 ARMv8 指令集的 64 位 CPU 架构，适用于支持 64 位指令集的 ARM 处理器。&lt;/li&gt;
&lt;li&gt;armeabi：基于 ARMv5 指令集的 CPU 架构，适用于一些旧的 ARM 处理器。&lt;/li&gt;
&lt;li&gt;x86：基于 x86 指令集的 CPU 架构，适用于支持 x86 架构的处理器，比如 Intel 和 AMD 的处理器。&lt;/li&gt;
&lt;li&gt;x86_64：基于 x86-64 指令集的 64 位 CPU 架构，适用于支持 64 位指令集的 x86 处理器。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;现在大部分手机都支持 arm64-v8a 吧，自己看着留。&lt;/p&gt;
&lt;h2 id="精简-res-asstes"&gt;&lt;a href="#%e7%b2%be%e7%ae%80-res-asstes" class="header-anchor"&gt;&lt;/a&gt;精简 &lt;code&gt;res&lt;/code&gt; &lt;code&gt;asstes&lt;/code&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;删除广告插件&lt;br&gt;
主要有 bdx 开头的压缩包（百度）和 gdt_ 开头的文件夹（腾讯）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;压缩图片、音频&lt;br&gt;
在压缩前要先看一下，不能预览的不要动&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;删除 &lt;code&gt;abc\_&lt;/code&gt; 开头的图片文件（这种一般都是自动生成的，开发者也不会调用）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="精简-classesdex-resourcesacrs"&gt;&lt;a href="#%e7%b2%be%e7%ae%80-classesdex-resourcesacrs" class="header-anchor"&gt;&lt;/a&gt;精简 &lt;code&gt;classes.dex&lt;/code&gt; &lt;code&gt;resources.acrs&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;剥离广告 sdk，用 proguard 工具啥的太高级了，还不会。听说有时候 arsc 越精简越大😅&lt;/p&gt;
&lt;h2 id="精简-androidmanifestxml"&gt;&lt;a href="#%e7%b2%be%e7%ae%80-androidmanifestxml" class="header-anchor"&gt;&lt;/a&gt;精简 &lt;code&gt;AndroidManifest.xml&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;删掉无用 activity service permission 啥的。&lt;/p&gt;
&lt;p&gt;常见的广告关键词：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qq.e（腾讯）&lt;/li&gt;
&lt;li&gt;ads.（通用）&lt;/li&gt;
&lt;li&gt;.ad.（大部分是应用内置）&lt;/li&gt;
&lt;li&gt;.mobad.（百度）&lt;/li&gt;
&lt;li&gt;.mobads.（百度）&lt;/li&gt;
&lt;li&gt;.bytedance.sdk.openadsdk.（穿山甲）&lt;/li&gt;
&lt;li&gt;sdk（带有 huawei，xiaomi，meizu，vivo，push 等字样的）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;sdk 要自行判断，比如微博的 sdk 删了会导致无法用微博登陆和分享，删淘宝可能会导致无法调用淘宝，删 alipay 可能导致无法调用支付宝支付，删带有手机型号的可能会导致无法使用手机运营商相关的服务等等&lt;/p&gt;
&lt;h2 id="构建修改好的-apk"&gt;&lt;a href="#%e6%9e%84%e5%bb%ba%e4%bf%ae%e6%94%b9%e5%a5%bd%e7%9a%84-apk" class="header-anchor"&gt;&lt;/a&gt;构建修改好的 apk
&lt;/h2&gt;&lt;p&gt;运行 &lt;code&gt;apktool b 文件夹 -o 新安装包文件名.apk&lt;/code&gt; 即可，注意，还要签名才能安装。&lt;/p&gt;</description></item><item><title>“二世同堂”——控制面板与设置并存</title><link>https://www.xalaok.top/post/controlpanelsettings/</link><pubDate>Tue, 24 Oct 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/controlpanelsettings/</guid><description>&lt;img src="https://www.xalaok.top/post/controlpanelsettings/cover.webp" alt="Featured image of post “二世同堂”——控制面板与设置并存" /&gt;&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;目前最新的 Windows 11 中依然有控制面板，和设置共存，这让使用体验非常割裂。微软为何不完全删除控制面板呢？&lt;/p&gt;
&lt;p&gt;首先，为何微软要重新做一套设置 UI？很显然是为了简化操作以及为移动端触屏考虑。原先控制面板的交互逻辑非常复杂而且只能用键鼠完成。
大家知道乔布斯评价过微软：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The only problem with Microsoft is they just have no taste. They have absolutely no taste. And I don&amp;rsquo;t mean that in a small way, I mean that in a big way, in the sense that they don&amp;rsquo;t think of original ideas, and they don&amp;rsquo;t bring much culture into their products.&lt;br&gt;
微软唯一的问题是完全没有品味。我不是指在小节上，而是大节上。他们没有自己的创新，也没有把他们自身的文化贯注入自己的产品中。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以微软从 Windows 8 开始制作了一个全新的设置 UI 并一直改进升级，延续到 Windows 11。其实这个设计更像是一种妥协。控制面板虽然用起来复杂但起码功能强大。&lt;/p&gt;
&lt;h2 id="控制面板为何不能被去除"&gt;&lt;a href="#%e6%8e%a7%e5%88%b6%e9%9d%a2%e6%9d%bf%e4%b8%ba%e4%bd%95%e4%b8%8d%e8%83%bd%e8%a2%ab%e5%8e%bb%e9%99%a4" class="header-anchor"&gt;&lt;/a&gt;控制面板为何不能被去除
&lt;/h2&gt;&lt;h3 id="设置的功能还不全"&gt;&lt;a href="#%e8%ae%be%e7%bd%ae%e7%9a%84%e5%8a%9f%e8%83%bd%e8%bf%98%e4%b8%8d%e5%85%a8" class="header-anchor"&gt;&lt;/a&gt;设置的功能还不全
&lt;/h3&gt;&lt;p&gt;比如修改 IP 还是需要到控制面板才能修改。那么为什么微软就不能一次把功能做全吗？这应该是微软的重视程度不够或者这项功能开发优先级不够。毕竟会搞这些设置的一般是高级用户，高级用户自己想办法找出控制面板也不是一件难事。除此之外新的设置 UI 也被很多人诟病，比如卡顿，还不能多开窗口……当然，不能多开显然是故意。毕竟限制越多，bug 也越少。但设置依然存在不少的问题。很多时候我知道这个功能在控制面板的位置我在设置里死活找不到，想必这类问题大家也遇到了不少。&lt;/p&gt;
&lt;h3 id="为了兼容老程序"&gt;&lt;a href="#%e4%b8%ba%e4%ba%86%e5%85%bc%e5%ae%b9%e8%80%81%e7%a8%8b%e5%ba%8f" class="header-anchor"&gt;&lt;/a&gt;为了兼容老程序
&lt;/h3&gt;&lt;p&gt;如果功能不完善那也许 Windows 12 会完善，会慢慢添加。而兼容融性问题才是最繁琐的。控制面板其实不单纯是一个用来设置页面，其为开发者提供了一大串的 API 接口。很多老程序都要依赖这些 API 接口。这些 API 是以 DLL 接口存在的。DLL 接口是不能随便删改的。哪怕少了一个接口，甚至接口的参数发生改变，程序直接无法运行。所以为了让老程序兼容，微软不得不保留这些接口。在 Windows 中有上千个 DLL 文件每个 DLL 文件中有几十甚至上百个接口。所以如果你是微软程序员，你敢随便删改吗？所以未来如果控制面板消失了，那大概率也只是隐身了，它的核心代码肯定是保留的。毕竟微软做不到苹果那么霸气，系统升级直接让老程序无法使用，开发者必须跟着系统升级而升级应用，否则就会被逐出 AppStore。微软则像一个中央空调，为了照顾所有开发者，新的旧的全部留下。还有，一些老程序的配置入口是嵌入在控制面板里，就是 CPL 后缀的文件，就是控制面板的加载项。如果去掉了控制面板可能会导致第三方程序的设置入口丢失。&lt;/p&gt;
&lt;h3 id="老用户抗拒"&gt;&lt;a href="#%e8%80%81%e7%94%a8%e6%88%b7%e6%8a%97%e6%8b%92" class="header-anchor"&gt;&lt;/a&gt;老用户抗拒
&lt;/h3&gt;&lt;p&gt;无论是国内的 B 站，还是知乎，还有国外的油管，提起控制面板不少人都讨厌新的设置页面，而微软让用户适应新的设置 UI 也是需要时间的。可能某一天控制面板真的会连入口都没有了，那么我相信也一定会出来一个叫做 Control Pannel All Back 的软件。&lt;/p&gt;</description></item><item><title>GitHub 开启 2FA</title><link>https://www.xalaok.top/post/github-2fa/</link><pubDate>Fri, 29 Sep 2023 15:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/github-2fa/</guid><description>&lt;img src="https://www.xalaok.top/post/github-2fa/cover.webp" alt="Featured image of post GitHub 开启 2FA" /&gt;&lt;p&gt;现在打开 GitHub 会要求有代码提交的用户开启两步验证，否则后面提交不了代码&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because of your contributions on GitHub, two-factor authentication will be required for your account starting Sep 28, 2023. Thank you for helping keep the ecosystem safe! &lt;a class="link" href="https://github.blog/2023-03-09-raising-the-bar-for-software-security-github-2fa-begins-march-13/" target="_blank" rel="noopener"
&gt;Learn more about our two-factor authentication initiative&lt;/a&gt;.&lt;br&gt;
Because of your contributions on GitHub, two-factor authentication will be required for your account starting Oct 6, 2023. Thank you for helping keep the ecosystem safe! &lt;a class="link" href="https://github.blog/2023-03-09-raising-the-bar-for-software-security-github-2fa-begins-march-13/" target="_blank" rel="noopener"
&gt;Learn more about our two-factor authentication initiative&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/github-2fa/2fa.webp"
width="1127"
height="686"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="164"
data-flex-basis="394px"
&gt;&lt;/p&gt;
&lt;p&gt;GitHub 提供了两种方式：身份验证器应用或手机短信验证&lt;/p&gt;
&lt;p&gt;但是从&lt;a class="link" href="https://docs.github.com/articles/countries-where-sms-authentication-is-supported#supported-countries-for-sms-authentication" target="_blank" rel="noopener"
&gt;官方文档&lt;/a&gt;可知，GitHub 手机短信验证不支持中国号码，所以没有国外号码的话只能考虑 TOTP 应用或浏览器扩展&lt;/p&gt;
&lt;h2 id="totp应用"&gt;&lt;a href="#totp%e5%ba%94%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;TOTP应用
&lt;/h2&gt;&lt;p&gt;以微软的 Authenticator 为例&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;GitHub 右上角选择【设置】，或者打开 &lt;a class="link" href="https://github.com/settings/security" target="_blank" rel="noopener"
&gt;https://github.com/settings/security&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;页面拉到底点击 &lt;code&gt;Enable two-factor authentication&lt;/code&gt; 打开的页面会显示一个二维码&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/github-2fa/totp.webp"
width="1744"
height="1571"
loading="lazy" style="display:block;margin:0 auto;"
alt="totp"
class="gallery-image"
data-flex-grow="111"
data-flex-basis="266px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 Authenticator 应用，从右上角的 + 号添加帐户，选择其他帐户，然后扫一扫二维码&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;扫描完成之后帐号就添加到 Authenticator 中了，下次打开切到 GitHub 即可展示动态验证码&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="浏览器扩展"&gt;&lt;a href="#%e6%b5%8f%e8%a7%88%e5%99%a8%e6%89%a9%e5%b1%95" class="header-anchor"&gt;&lt;/a&gt;浏览器扩展
&lt;/h2&gt;&lt;p&gt;以开源免费的 Authenticator: 2FA Client 为例&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GitHub 右上角选择【设置】，或者打开 &lt;a class="link" href="https://github.com/settings/security" target="_blank" rel="noopener"
&gt;https://github.com/settings/security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;页面拉到底点击 &lt;code&gt;Enable two-factor authentication&lt;/code&gt; 打开的页面会显示一个二维码&lt;/li&gt;
&lt;li&gt;点击扩展上的扫描按钮，用鼠标选中二维码，即可添加 GitHub帐号&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;开源地址：&lt;a class="link" href="https://github.com/Authenticator-Extension/Authenticator" target="_blank" rel="noopener"
&gt;https://github.com/Authenticator-Extension/Authenticator&lt;/a&gt;&lt;br&gt;
Edge扩展：&lt;a class="link" href="https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio" target="_blank" rel="noopener"
&gt;Authenticator: 2FA Client - Microsoft Edge Addons&lt;/a&gt;&lt;br&gt;
Chrome扩展：&lt;a class="link" href="https://chromewebstore.google.com/detail/%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%99%A8/bhghoamapcdpbohphigoooaddinpkbai" target="_blank" rel="noopener"
&gt;身份验证器 - Chrome 应用商店&lt;/a&gt;&lt;/p&gt;</description></item><item><title>军训日记</title><link>https://www.xalaok.top/post/military-training/</link><pubDate>Thu, 24 Aug 2023 16:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/military-training/</guid><description>&lt;img src="https://www.xalaok.top/post/military-training/cover.webp" alt="Featured image of post 军训日记" /&gt;&lt;p&gt;军训地：沪戎&lt;del&gt;监狱&lt;/del&gt;营地 总教官：朱 我们的教官：汪&lt;/p&gt;
&lt;h2 id="day-12023-08-20-sun"&gt;&lt;a href="#day-12023-08-20-sun" class="header-anchor"&gt;&lt;/a&gt;Day 1 2023-08-20 SUN
&lt;/h2&gt;&lt;p&gt;我想肯定会有一堆人偷渡手坤（毕竟体育委员 sc 昨天身先士卒“带”，而且我本来还是打算带手坤去看节课的）所以&lt;del&gt;勉为其难地&lt;/del&gt;毫不犹豫地偷渡了手坤&lt;/p&gt;
&lt;p&gt;8 点学校集合，让全年级一个一个一个地喊“流血流汗不流泪，掉皮掉肉不掉队”，我们班喊的最响（wls 说之前几届都是喊得最响的班级中考考的最好），总之 bb 了半小时才上车&lt;/p&gt;
&lt;p&gt;路上过了黄浦江，到浦星公路就是一直笔直走几十公里，快到的时候甚至下了大雨，然后我们到营地的时候，雨停了。&lt;/p&gt;
&lt;p&gt;领完了被套之类的东西，进了宿舍，同寝的另外 9 人：mxy，wyl，sjz，sc，fy，dqy，srh，ljn，yyq。本来想睡下铺的（因为小时候另一个活动我曾经在从上铺下来的时候摔下来把手摔肿了），但是呢，对，还是在上铺，而且 C 位一开门就能看到的那种，不过也有它的好处，可以成为空调大臣，灯具大臣（乐。&lt;/p&gt;
&lt;p&gt;然后出去开营式，神 tm 知道怎么回事我站着没多久就眼前发黑然后有点站不稳，面色发白，还好教官发现了，给我扶到后面坐着休息，到后面好家伙，已经有不少人了，而且 mxy 也在，后来 sc 喜欢的 &lt;del&gt;jsq&lt;/del&gt;xsq 也到后面来了，最后大概后边倒了快一个连。神奇的是我一坐下喝口水立马满血复活，不过全年级站着我们坐在后面休息感觉蛮好的（bushi&lt;/p&gt;
&lt;p&gt;分连队旗子我们班分到“尖刀一连”。wls：好兆头&lt;/p&gt;
&lt;p&gt;总教官叫各教官自我介绍后汪汪不知道我们认识了三年然后 cc 成为大冤种&lt;/p&gt;
&lt;p&gt;淦饭。一个圆桌 10 个人，面对桌子站着，先是等人齐，然后齐了还要安静下来才能坐下，然后有声音又要站起来，跟搞什么邪教仪式似的（P.S. 无意冒犯但是总教官站在我们当中真的没有半点身高优势）。u1s1，饭是比学校好，但是告示板上写审查结果是黄脸。&lt;/p&gt;
&lt;p&gt;吃完总教官教叠被子，他一下子就叠好了而且跟豆腐块一样。然后到我们叠的时候明显被子材质不一样，根本叠不出直角，而且教官说什么被子是记忆棉，要是真记忆棉怎么盖啊😅&lt;/p&gt;
&lt;p&gt;午休时间整理内务，一共俩小时，等全寝全弄完一个半小时就没了。不过我应该还算是快的（前三？）。全寝各种问题：床单比床垫短，被套比被子小，被套没拉链，套被套长宽搞反……&lt;/p&gt;
&lt;p&gt;靠门的床很晃，稍微动一下就嘎吱嘎吱响，而且居然没有梯子，去上铺居然要从旁边的床爬上去。这样一张破床顺理成章地留给了邪恶的晚来的 wyl 了😝。yyq 发现所有上铺的可以被全自动叫醒。&lt;/p&gt;
&lt;p&gt;下午三点开始训练，站得脚巨疼，这次四点多 wyl  来了，甚至没拿上手机。&lt;/p&gt;
&lt;p&gt;去吃饭之前教官说晚上有活动，只用动嘴，没想到是要我们唱军歌（&lt;a class="link" href="https://music.163.com/song?id=32166485" target="_blank" rel="noopener"
&gt;当那一天来临&lt;/a&gt;）。“这是一个晴 ↘ 朗 → 的早 ↘↗ 晨 →，预报，唱！”我发现军人唱歌大概全靠吼，二班教官领唱直接把主席台上总教官逗笑了（天哪他居然会笑）最后总教官检验成果，我们这么 nb 的班级肯定第一，但是喜提总教官评价：“声音最响，但是没几句在调上”后面的班级嘛，唱的拉了一点，然后惹怒了总教官：“教官跟你们无冤无仇，互相都不欠谁的……面子事互相给的，你们这副无所谓的样子，你们不尊重我，我也不把你们当回事”“我不骗小孩的啊。”结果拖了我们半小时洗澡时间，到八点半天黑到啥都看不清了&lt;/p&gt;
&lt;p&gt;下面就要来吐槽一下这个 b 浴室，一进门就是一摊黑水，然后进去更衣区挤的要命，而且又脏，跟市西的游泳馆有的一拼。好不容易到了洗澡的地方，根本没有各班，各位兄弟们全是坦诚相见，而且水量又特别迷，水大的时候特别烫，水温正常的时候水又很小，洗得很憋屈，而且在那个地方根本擦不干，身上还是湿的，只不过洗之前身上是脏水，洗之后是干净水罢了。下面就是尴尬时刻，更衣室柜子严重不足，于是我把外裤放在 sc 的柜子里，但是没跟他说，结果他走的时候直接把我裤子顺走了，可怜的我 tmd 穿了个短裤就灰溜溜地跑回寝室（裤子没丢真是万幸），还好是晚上伸手不见五指没人看见，不然我直接社死&lt;/p&gt;
&lt;p&gt;荧光枕头。闪红灯。21:30 熄灯，根本睡不着。21:35 wls 进来查寝。一人说一句骂一句。睡之前觉得 23°C 太热，不用盖被子，真睡的时候觉得还是挺凉的。门口那张床一直在嘎吱嘎吱。23:00 过了才睡着。3 点教官查寝发现只有 wyl 没盖被子，用手电强制怼醒。&lt;/p&gt;
&lt;p&gt;隔壁 512 “原神，启动！”仙贝：鸭子步，启动！&lt;/p&gt;
&lt;p&gt;4 点多不知道谁鼻子堵了一直吸然后直接给我干醒了后来就一直睡到 5:45 yyq 的闹钟响，那时还以为是起床铃响了，错过了 yyq 的闹钟。震惊的是这起床起得比家里快得多（）&lt;/p&gt;
&lt;h2 id="day-2-2023-08-21-mon"&gt;&lt;a href="#day-2-2023-08-21-mon" class="header-anchor"&gt;&lt;/a&gt;Day 2 2023-08-21 MON
&lt;/h2&gt;&lt;p&gt;晨练。教官怕低血糖所以免了跑步，所以为什么知道会低血糖还晨练&lt;/p&gt;
&lt;p&gt;总教官不戴帽子真的像田所浩二&lt;/p&gt;
&lt;p&gt;sc 穿爆了营地最大号码的裤子&lt;/p&gt;
&lt;p&gt;上午的训练。因为昨天晚上的“原神启动”事件，“原神启动”成为了口号。zzh 放水杯跟 fy 的放在一起还碰了一下（她不知道那是 fy 的）&lt;/p&gt;
&lt;p&gt;午饭变成盒饭了，导致加菜限制了。吃完中饭，我们男生的队伍走的太拉胯了，然后喜提饭后消食活动——鸭子步。我跟 fy 在汪总往后看的时候偷偷溜了好几步，sc 带着我们一转弯就跑&lt;/p&gt;
&lt;p&gt;午休，传教及唱歌时间，传教歌单见 &lt;a class="link" href="https://www.luogu.com.cn/blog/August-Light/Flower-1" target="_blank" rel="noopener"
&gt;mxy 的鲜花&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;yyq 因频繁开关灯和闪手电筒被寝室其他 9 个人团结一致地围殴，拿枕头打，拿迷彩服打，念圣经，拖下床，掐脖子，放战歌，摄像……&lt;/p&gt;
&lt;p&gt;轮流唱歌，冬之花，Never Gonna Give You Up（我录下来了），只因你太美，降智宝宝巴士……&lt;/p&gt;
&lt;p&gt;下午训练，立正，稍息，跨立，停止间转法，齐步走。syc 把裤子撑破了。很不能理解为什么女生齐步走那么整齐然后能直接坐下休息。&lt;/p&gt;
&lt;p&gt;一个一个一个地喊“报告”，汪总不满意就得一圈鸭子步&lt;/p&gt;
&lt;p&gt;激 ♂ 情 ♂ 节 ♂ 拍喜提 24.68s 全场最差。“我们是最棒的团队”“sc 喜欢xsc”&lt;/p&gt;
&lt;p&gt;两天训练成果检验，总司令说我们班最强。&lt;/p&gt;
&lt;p&gt;总教官宣布允许去小卖部；文艺汇演晚来了教官上去表演 wht：18:15 不来齐全给我到外面训练！&lt;/p&gt;
&lt;p&gt;sjz 要了冰红茶但是没了，差点“人财两空”&lt;/p&gt;
&lt;p&gt;文艺汇演。一开始几分钟好像所有人都认真看，没人吃东西，搞得我也不敢吃🤣。dqy 相声里说上铺的脚臭倒教官 srh：他诽谤我！总教官唱《海阔天空》&lt;/p&gt;
&lt;p&gt;又到了洗澡时间（今天没有拖半小时），本来不想去洗澡了，因为空调一吹就干了，然后换件衣服就行，但是有人还是要去洗，想想第二天可能没第一天人多也跟着去了。路上&lt;del&gt;闪了 zrr&lt;/del&gt; 每秒给 zrr 照亮一次前路。mxy 去洗澡忘记摘眼镜：“我说这夜路怎么走的这么顺畅呢”
yyq 开着黄灯，ljn 念圣经祝福全寝的人、门、房间&lt;/p&gt;
&lt;p&gt;gxy 把半瓶防晒霜当洗面奶抹脸上成为了 sjz&lt;/p&gt;
&lt;p&gt;wls 九点就来查寝，说她跟总教官暗示“我们是要拿第一的！”；一班的 ltl 从上铺掉下去了，tyk 拍蚊子把窗户打碎了然后去医院打破伤风了。&lt;/p&gt;
&lt;p&gt;wls 查完寝，yyq 又开始闪灯，sjz：交灯不杀，我喜提“灯具大臣”，开夜灯、保管 yyq 的手电筒。晚上三次引来教官。刚到 22:00 准备睡觉，yyq 该死的工作日睡觉闹铃响了，关好之后，mxy：不会 5 分钟后还响罢，结果真被他说中了。&lt;/p&gt;
&lt;p&gt;夜里醒的次数比第一天少，大概是 ljn 的功劳罢&lt;/p&gt;
&lt;h2 id="day-3-2023-08-22-tue-七夕"&gt;&lt;a href="#day-3-2023-08-22-tue-%e4%b8%83%e5%a4%95" class="header-anchor"&gt;&lt;/a&gt;Day 3 2023-08-22 TUE 七夕
&lt;/h2&gt;&lt;p&gt;一大早二班教官“眼镜哥”进来：“这事谁的手机”，sc 回来吓傻了，所幸没啥大逝&lt;/p&gt;
&lt;p&gt;汪汪进来，“祝亲爱的美丽的贤惠的旺旺仙贝早日脱单！”&lt;/p&gt;
&lt;p&gt;很神奇，居然没有晨练，sjz 直接战双启动。511 手机率 60%。&lt;/p&gt;
&lt;p&gt;早上俩小时时间就模拟了一次会操然后基本都在休息&lt;/p&gt;
&lt;p&gt;结营式会操第一！当时颁奖的时候第一个报的二班直接全班震惊&lt;/p&gt;
&lt;p&gt;hjc：把手机还给我，我&lt;del&gt;要&lt;/del&gt;玩&lt;del&gt;原&lt;/del&gt;神~&lt;/p&gt;
&lt;p&gt;拍集体照，“祝汪教官早日脱单，祝总教官七夕快乐”&lt;/p&gt;
&lt;p&gt;上车之前二十分钟左右就叫我们出来集合真不理解，然后总教官坐在音响旁边放一些奇奇怪怪的音乐&lt;/p&gt;
&lt;p&gt;总教官命令二班教官唱歌，“我不是在跟你商量，你懂我意思罢”。眼镜哥对着汪先辈唱情歌。四班教官唱《驿站》&lt;/p&gt;
&lt;p&gt;总教官：我告诉你们，他（wht）会跳舞&lt;/p&gt;
&lt;p&gt;yyq 拿了旺旺仙贝的手坤加了他自己并得知的他的本名&lt;/p&gt;
&lt;p&gt;两点多回到家就下雨了，下雨包夹了军训两天半，就 tm 挺逆天的&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;真不知道哪个大聪明设计的厕所，女生寝室门口直接能看到男生厕所&lt;/p&gt;
&lt;p&gt;回来看 wls 发在家长群的视频，女生的宿舍是真的大，差不多是我们男寝面积的两三倍，床跟床之间都有走廊，而且自带卫生间，不过想想蚊子数量估计也得翻倍（有女生手臂上被咬了八个包）。女生有个宿舍居然都不想回去了。&lt;/p&gt;
&lt;h2 id="同学的鲜花闲话"&gt;&lt;a href="#%e5%90%8c%e5%ad%a6%e7%9a%84%e9%b2%9c%e8%8a%b1%e9%97%b2%e8%af%9d" class="header-anchor"&gt;&lt;/a&gt;同学的鲜花（闲话）
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;FY &lt;a class="link" href="https://www.luogu.com.cn/blog/fy123333/xian-hua-1-3" target="_blank" rel="noopener"
&gt;https://www.luogu.com.cn/blog/fy123333/xian-hua-1-3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MXY &lt;a class="link" href="https://www.luogu.com.cn/blog/August-Light/Flower-1" target="_blank" rel="noopener"
&gt;https://www.luogu.com.cn/blog/August-Light/Flower-1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;WYL &lt;a class="link" href="https://www.luogu.com.cn/blog/KnownError/post-820-822-xian-hua" target="_blank" rel="noopener"
&gt;https://www.luogu.com.cn/blog/KnownError/post-820-822-xian-hua&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Vercel 部署 Umami 网站统计服务</title><link>https://www.xalaok.top/post/umami-on-vercel/</link><pubDate>Tue, 08 Aug 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/umami-on-vercel/</guid><description>&lt;img src="https://www.xalaok.top/post/umami-on-vercel/cover.webp" alt="Featured image of post Vercel 部署 Umami 网站统计服务" /&gt;&lt;p&gt;最近逛林木木的博客看到《前端调用 Umami API》这篇文章，了解到 Umami 这个开源的访问统计服务，Google 统计的替代品，支持 Serverless 自部署。折腾起来！&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/umami.webp"
width="1340"
height="1278"
loading="lazy" style="display:block;margin:0 auto;"
alt="Umami"
class="gallery-image"
data-flex-grow="104"
data-flex-basis="251px"
&gt;&lt;/p&gt;
&lt;h2 id="准备工作"&gt;&lt;a href="#%e5%87%86%e5%a4%87%e5%b7%a5%e4%bd%9c" class="header-anchor"&gt;&lt;/a&gt;准备工作
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Github 账号&lt;/li&gt;
&lt;li&gt;Vercel 账号&lt;/li&gt;
&lt;li&gt;数据库&lt;/li&gt;
&lt;li&gt;自己的域名（可选）&lt;br&gt;
部署完成之后默认会给你的项目分配一个 vercel.app 的三级域名，但是在 2021 年 vercel.app 域名被墙，大陆地区无法访问，因此强烈建议自己准备域名&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="开搞"&gt;&lt;a href="#%e5%bc%80%e6%90%9e" class="header-anchor"&gt;&lt;/a&gt;开搞
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fork 官方 GitHub 仓库&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/fork.webp"
width="1771"
height="996"
loading="lazy" style="display:block;margin:0 auto;"
alt="Fork"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;a class="link" href="https://vercel.com" target="_blank" rel="noopener"
&gt;Vercel&lt;/a&gt; 然后通过 GitHub 快捷登录&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/loginvercel.webp"
width="1650"
height="799"
loading="lazy" style="display:block;margin:0 auto;"
alt="通过 GitHub 快捷登录"
class="gallery-image"
data-flex-grow="206"
data-flex-basis="495px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 Storage 选项卡创建 PostgreSQL&lt;br&gt;
不一定要在此处创建，可以在 &lt;a class="link" href="https://supabase.com/" target="_blank" rel="noopener"
&gt;Supabase&lt;/a&gt; 或 &lt;a class="link" href="https://neon.tech/" target="_blank" rel="noopener"
&gt;Neon&lt;/a&gt;（Vercel PostgreSQL 服务供应商）等平台免费创建&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/storage.webp"
width="1680"
height="830"
loading="lazy" style="display:block;margin:0 auto;"
alt="Storage"
class="gallery-image"
data-flex-grow="202"
data-flex-basis="485px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 Dashboard，点击 Add new - Project&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/newproject.webp"
width="1732"
height="860"
loading="lazy" style="display:block;margin:0 auto;"
alt="New Project"
class="gallery-image"
data-flex-grow="201"
data-flex-basis="483px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Import Git Repository 选择 Continue With GitHub&lt;br&gt;
此时会跳转到 GitHub 批准 Vercel 访问，建议选择允许访问全部仓库，当然你也可以设置仅可访问部分仓库。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择你复刻的仓库&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;设置部署参数和环境变量：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;变量名：&lt;code&gt;HASH_SALT&lt;/code&gt; 值：自定义字符串&lt;/li&gt;
&lt;li&gt;变量名：&lt;code&gt;DATABASE_URL&lt;/code&gt; 值：数据库链接&lt;/li&gt;
&lt;li&gt;例：&lt;code&gt;postgresql://username:mypassword@localhost:5432/mydb&lt;/code&gt; &lt;code&gt;mysql://username:mypassword@localhost:3306/mydb&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;变量名：&lt;code&gt;TRACKER_SCRIPT_NAME&lt;/code&gt; 值：自定义统计脚本名&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最后点击 Deploy 部署&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/deploy.webp"
width="1577"
height="1360"
loading="lazy" style="display:block;margin:0 auto;"
alt="Deploy"
class="gallery-image"
data-flex-grow="115"
data-flex-basis="278px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;部署成功后会显示 Congratulation 页面（部署时长三分钟左右）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;添加自定义域名，Vercel 会自动生成 SSL 证书（开启 https）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 Umami，初次登录输入默认用户名 &lt;code&gt;admin&lt;/code&gt; 与默认密码 &lt;code&gt;umami&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/umami-on-vercel/loginumami.webp"
width="1715"
height="1019"
loading="lazy" style="display:block;margin:0 auto;"
alt="Login"
class="gallery-image"
data-flex-grow="168"
data-flex-basis="403px"
&gt;&lt;/p&gt;
&lt;p&gt;Enjoy~&lt;/p&gt;</description></item><item><title>Hi, WebP</title><link>https://www.xalaok.top/post/webp/</link><pubDate>Sat, 05 Aug 2023 20:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/webp/</guid><description>&lt;img src="https://cdn.xalaok.top/images/blog/2023/08/05/cover.webp" alt="Featured image of post Hi, WebP" /&gt;&lt;p&gt;之前在百度发现很多图片格式是 WebP 格式，那时候还觉得 Webp 不好，每次下载我还得用软件把它转成 PNG。&lt;br&gt;
但是最近几个月写博客兴趣大增，写博客免不了要插入图片，而我因为白嫖至上，文件直接扔 GitHub 仓库然后 Vercel 部署当 cdn 用，因此速度可想而知，每次打开加载都得十几二十秒。&lt;br&gt;
后来又用软件压缩 PNG，从几 M 压缩到 1 M 不到，情况稍微有些改善，但还是不舒服，前几天逛友链的博客发现他跟我用的主题一样，但是加载出奇的快，我就纳闷了，这图片怎么加载的那么快，一看他的图片是 WebP 格式的，于是我找了一张自己的图片，用软件转成 WebP 格式，真是把我惊呆了，1 M 左右的图片直接变成几十 K！替换了博客图片后访问效果立竿见影。&lt;/p&gt;
&lt;div class="notice notice-info" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#705943"&gt;&lt;path d="M256 8a248 248 0 100 496 248 248 0 000-496zm0 110a42 42 0 110 84 42 42 0 010-84zm56 254c0 7-5 12-12 12h-88c-7 0-12-5-12-12v-24c0-7 5-12 12-12h12v-64h-12c-7 0-12-5-12-12v-24c0-7 5-12 12-12h64c7 0 12 5 12 12v100h12c7 0 12 5 12 12v24z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;WebP&lt;/strong&gt; 是一种同时提供了有损压缩与无损压缩（可逆压缩）的图片文件格式，派生自影像编码格式 VP8，被认为是 WebM 多媒体格式的姊妹项目，是由 Google 在购买 On2 Technologies 后发展出来，以 BSD 授权条款发布。&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;百度一搜发现人家诞生的目标就是在达到和 JPEG 格式相同的图片质量的前提下减少文件大小，而且&lt;strong&gt;同时支持静态图片和动态图片&lt;/strong&gt;！大开眼界啊！&lt;/p&gt;</description></item><item><title>博客魔改美化（通用）</title><link>https://www.xalaok.top/post/blog-modify/</link><pubDate>Fri, 04 Aug 2023 20:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/blog-modify/</guid><description>&lt;img src="https://www.xalaok.top/post/blog-modify/cover.webp" alt="Featured image of post 博客魔改美化（通用）" /&gt;&lt;p&gt;昨天写过一篇 Stack 主题魔改，那篇仅适用于 Stack 主题，今天的这篇适用于所有 Hugo 博客（部分适用于所有网页），以后所有的添加也会在这篇文章里面&lt;/p&gt;
&lt;h2 id="博客运行时间"&gt;&lt;a href="#%e5%8d%9a%e5%ae%a2%e8%bf%90%e8%a1%8c%e6%97%b6%e9%97%b4" class="header-anchor"&gt;&lt;/a&gt;博客运行时间
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JavaScript" data-lang="JavaScript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;timeDate&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;载入天数&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/span&amp;gt;&amp;lt;span id=&amp;#34;times&amp;#34;&amp;gt;载入时分秒...&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt; &lt;span class="nx"&gt;language&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;javascript&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;createtime&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getTime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 当前时间
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;grt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;20xx/xx/xx 00:00:00&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//网站诞生时间
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;days&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;grt&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;dnum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;days&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;hours&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;grt&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dnum&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;hnum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;hnum&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="nx"&gt;hnum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;hnum&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;minutes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;grt&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dnum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;hnum&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;mnum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;minutes&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;mnum&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="nx"&gt;mnum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;mnum&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;seconds&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;grt&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dnum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;hnum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;mnum&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;snum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;seconds&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;snum&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="nx"&gt;snum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;snum&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;timeDate&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;本站已稳定运行&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;dnum&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; 天 &amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;times&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;hnum&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; 小时 &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;mnum&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; 分 &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;snum&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; 秒&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;createtime()&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/script&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="旅行者-1-号离地球距离"&gt;&lt;a href="#%e6%97%85%e8%a1%8c%e8%80%85-1-%e5%8f%b7%e7%a6%bb%e5%9c%b0%e7%90%83%e8%b7%9d%e7%a6%bb" class="header-anchor"&gt;&lt;/a&gt;旅行者 1 号离地球距离
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JavaScript" data-lang="JavaScript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;voyager&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;载入旅行者一号离地球距离信息&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/span&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt; &lt;span class="nx"&gt;language&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;javascript&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;createtime&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 当前时间
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getTime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;08/01/2022 00:00:00&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 旅行者1号开始计算的时间
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;dis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;trunc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;23400000000&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 距离=秒数*速度 记住转换毫秒
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;unit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dis&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;149600000&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 天文单位
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;voyager&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;旅行者 1 号当前距离地球 &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;dis&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; 千米，约为 &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;unit&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; 个天文单位 🚀&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;createtime()&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/script&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="已写完了哪本书"&gt;&lt;a href="#%e5%b7%b2%e5%86%99%e5%ae%8c%e4%ba%86%e5%93%aa%e6%9c%ac%e4%b9%a6" class="header-anchor"&gt;&lt;/a&gt;已写完了哪本书？
&lt;/h2&gt;&lt;p&gt;来自：&lt;a class="link" href="https://immmmm.com/what-book-i-write/" target="_blank" rel="noopener"
&gt;已写完了哪本书？ :: 木木木木木&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;将以下代码添加到 footer.html：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;$scratch&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nx"&gt;newScratch&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;range&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Site&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Pages&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Kind&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;page&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;$scratch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Add&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;total&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;WordCount&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;$totalWord&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nx"&gt;$scratch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;total&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;$totalWord&lt;/span&gt; &lt;span class="mi"&gt;10000&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;还在努力更新中..&amp;lt;/br&amp;gt;加油！加油啦！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本我国著名的&amp;lt;/br&amp;gt;四大名著了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 东野圭吾 的&amp;lt;/br&amp;gt;《白夜行》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;34&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 雨果 的&amp;lt;/br&amp;gt;《巴黎圣母院》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 艾米莉·勃朗特 的&amp;lt;/br&amp;gt;《呼啸山庄》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;31&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 阿来 的&amp;lt;/br&amp;gt;《尘埃落定》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 茅盾 的&amp;lt;/br&amp;gt;《子夜》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;28&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 张炜 的&amp;lt;/br&amp;gt;《古船》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 钱钟书 的&amp;lt;/br&amp;gt;《围城》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 简·奥斯汀 的&amp;lt;/br&amp;gt;《傲慢与偏见》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 莫泊桑 的&amp;lt;/br&amp;gt;《一生》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;21&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 东野圭吾 的&amp;lt;/br&amp;gt;《解忧杂货店》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 巴金 的&amp;lt;/br&amp;gt;《寒夜》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;19&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 亚米契斯 的&amp;lt;/br&amp;gt;《爱的教育》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 沈从文 的&amp;lt;/br&amp;gt;《边城》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 马克·吐温 的&amp;lt;/br&amp;gt;《汤姆·索亚历险记》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 曹禺 的&amp;lt;/br&amp;gt;《日出》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 伯内特 的&amp;lt;/br&amp;gt;《秘密花园》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 史铁生 的&amp;lt;/br&amp;gt;《宿命的写作》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 曹禺 的&amp;lt;/br&amp;gt;《雷雨》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 余华 的&amp;lt;/br&amp;gt;《活着》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 鲁迅 的&amp;lt;/br&amp;gt;《彷徨》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 马克·吐温 的&amp;lt;/br&amp;gt;《王子与乞丐》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 林海音 的&amp;lt;/br&amp;gt;《城南旧事》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 鲁迅 的&amp;lt;/br&amp;gt;《呐喊》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;ge&lt;/span&gt; &lt;span class="nx"&gt;$wowWord&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="p"&gt;}}{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;写完一本 埃克苏佩里 的&amp;lt;/br&amp;gt;《小王子》了！&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;共&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;$totalWord&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt; &lt;span class="nx"&gt;字&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;$wowBook&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nx"&gt;safeHTML&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="图片懒加载"&gt;&lt;a href="#%e5%9b%be%e7%89%87%e6%87%92%e5%8a%a0%e8%bd%bd" class="header-anchor"&gt;&lt;/a&gt;图片懒加载
&lt;/h2&gt;&lt;p&gt;注：Stack 主题默认有懒加载，不需要自行添加&lt;/p&gt;
&lt;p&gt;原理：使用 Hugo (v0.62+) 的渲染钩子对 markdown 文件内的链接和图像自定义渲染&lt;/p&gt;
&lt;p&gt;实现：&lt;code&gt;/layouts/_default/_markup&lt;/code&gt; 中新建 &lt;code&gt;render-image.html&lt;/code&gt; 然后丢入代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;md_image&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;loading&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;lazy&amp;#39;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Destination | safeURL }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Text }}&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;with&lt;/span&gt; &lt;span class="err"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Title&lt;/span&gt;&lt;span class="err"&gt;}}&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ . }}&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;end&lt;/span&gt; &lt;span class="err"&gt;}}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="博客产量"&gt;&lt;a href="#%e5%8d%9a%e5%ae%a2%e4%ba%a7%e9%87%8f" class="header-anchor"&gt;&lt;/a&gt;博客产量
&lt;/h2&gt;&lt;p&gt;来自：&lt;a class="link" href="https://blog.douchi.space/hugo-blog-heatmap/" target="_blank" rel="noopener"
&gt;如何给 Hugo 博客添加热力图 - 椒盐豆豉&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;任意位置加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;heatmap&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; max-width: 600px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; height: 180px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; padding: 2px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; text-align: center;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; margin: auto&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/echarts@5.3.0/dist/echarts.min.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;chartDom&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;heatmap&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;myChart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;echarts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chartDom&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onresize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;myChart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;resize&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;option&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// echart heatmap data seems to only support two elements tuple
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// it doesn&amp;#39;t render when each item has 3 value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// it also only pass first 2 elements when reading event param
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// so here we build a map to store additional metadata like link and title
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// map format {date: [{wordcount, link, title}]}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// for more information see https://blog.douchi.space/hugo-blog-heatmap
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;dataMap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Map&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;range&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Site&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;RegularPages&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Type&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;post&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Format&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2006-01-02&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;dataMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;wordCount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;WordCount&lt;/span&gt; &lt;span class="p"&gt;}};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;link&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;RelPermalink&lt;/span&gt;&lt;span class="p"&gt;}};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Title&lt;/span&gt; &lt;span class="p"&gt;}};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// multiple posts in same day
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;dataMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="nx"&gt;wordCount&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;}]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;wordCount&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// sum up the word count
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;dataMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;wordCount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;year_Mill&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setFullYear&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getFullYear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;year_Mill&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;dayTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3600&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;echarts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;formatTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;yyyy-MM-dd&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;echarts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;formatTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;yyyy-MM-dd&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// change date range according to months we want to render
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;heatmap_width&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;months&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;mill&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setMonth&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getMonth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;months&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;mill&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;echarts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;formatTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;yyyy-MM-dd&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;echarts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;formatTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;yyyy-MM-dd&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;showmonth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;showmonth&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;startDate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;endDate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;showmonth&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getRangeArr&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;windowWidth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerWidth&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;windowWidth&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;heatmap_width&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;windowWidth&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;heatmap_width&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;heatmap_width&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;option&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;center&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;博客废话产量&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;tooltip&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;hideDelay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enterable&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;formatter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;posts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;dataMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;posts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;br&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;link&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;wordCount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;wordCount&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="sb"&gt;`&amp;lt;a href=&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt; | &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;wordCount&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt; 千字&amp;lt;/a&amp;gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;visualMap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;min&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;max&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;piecewise&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;orient&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;horizontal&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;center&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;inRange&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// [floor color, ceiling color]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;#7aa8744c&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;#7AA874&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;splitNumber&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;千字&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;showLabel&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;itemGap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;calendar&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;cellSize&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;auto&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;range&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;getRangeArr&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;itemStyle&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;#F1F1F1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;borderWidth&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;borderColor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;#fff&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;yearLabel&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// the splitline between months. set to transparent for now.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;splitLine&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lineStyle&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rgba(0, 0, 0, 0.0)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// shadowColor: &amp;#39;rgba(0, 0, 0, 0.5)&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// shadowBlur: 5,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// width: 0.5,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// type: &amp;#39;dashed&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;series&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;heatmap&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;coordinateSystem&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;calendar&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;myChart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setOption&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;option&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;myChart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;on&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;click&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;componentType&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;series&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// open the first post on the day
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;post&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;dataMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;link&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;origin&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;_blank&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;focus&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="自定义字体"&gt;&lt;a href="#%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ad%97%e4%bd%93" class="header-anchor"&gt;&lt;/a&gt;自定义字体
&lt;/h2&gt;&lt;h3 id="使用谷歌字体"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8%e8%b0%b7%e6%ad%8c%e5%ad%97%e4%bd%93" class="header-anchor"&gt;&lt;/a&gt;使用谷歌字体
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;修改 &lt;code&gt;/layouts/partials/footer/components/custom-font.html&lt;/code&gt; 为以下代码：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;preconnect&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://fonts.googleapis.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;preconnect&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://fonts.gstatic.com&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;crossorigin&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;这里填入字体 CSS&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;在 &lt;a class="link" href="https://fonts.google.com/" target="_blank" rel="noopener"
&gt;Google Fonts&lt;/a&gt; 找一个你心仪的字体然后把字体 css 填入 &lt;code&gt;填入字体 CSS&lt;/code&gt; 处&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; 在以下代码中填入 &lt;code&gt;font-family&lt;/code&gt; 后填入 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中即可&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="其他字体"&gt;&lt;a href="#%e5%85%b6%e4%bb%96%e5%ad%97%e4%bd%93" class="header-anchor"&gt;&lt;/a&gt;其他字体
&lt;/h3&gt;&lt;h4 id="霞骛文楷"&gt;&lt;a href="#%e9%9c%9e%e9%aa%9b%e6%96%87%e6%a5%b7" class="header-anchor"&gt;&lt;/a&gt;霞骛文楷
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/layouts/partials/head/custom.html&lt;/code&gt; 中加入以下代码（选一个即可）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- LXGW WenKai GB Screen --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/lxgw-wenkai-screen-webfont@1.7.0/lxgwwenkaigbscreen.css&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- LXGW WenKai GB Screen R --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/lxgw-wenkai-screen-webfont@1.7.0/lxgwwenkaigbscreenr.css&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- LXGW WenKai Screen --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/lxgw-wenkai-screen-webfont@1.7.0/lxgwwenkaiscreen.css&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- LXGW WenKai Screen R --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/npm/lxgw-wenkai-screen-webfont@1.7.0/lxgwwenkaiscreenr.css&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 字体
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;LXGW WenKai Screen&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上面选择了 &lt;code&gt;lxgwwenkaiscreenr.css&lt;/code&gt; 或 &lt;code&gt;lxgwwenkaigbscreenr.css&lt;/code&gt; 需使用以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 字体
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;LXGW WenKai Screen R&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="harmonyos-sans"&gt;&lt;a href="#harmonyos-sans" class="header-anchor"&gt;&lt;/a&gt;HarmonyOS Sans
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/layouts/partials/head/custom.html&lt;/code&gt; 中加入以下代码（选一个即可）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- B 站 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 我的 GitHub 仓库 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.jsdelivr.net/gh/Xalaok/HarmonyOS-Sans-Webfont@main/regular.min.css&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 字体
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;HarmonyOS_Regular&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="misans"&gt;&lt;a href="#misans" class="header-anchor"&gt;&lt;/a&gt;MiSans
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/layouts/partials/head/custom.html&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://cdn.jsdelivr.net/npm/misans@3.1.1/lib/misans-400-regular.min.css&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 字体
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MiSans&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="鼠标样式"&gt;&lt;a href="#%e9%bc%a0%e6%a0%87%e6%a0%b7%e5%bc%8f" class="header-anchor"&gt;&lt;/a&gt;鼠标样式
&lt;/h2&gt;&lt;p&gt;来自：&lt;a class="link" href="https://blog.xecades.xyz/articles/cursor/" target="_blank" rel="noopener"
&gt;打造一款乖巧的鼠标指针特效 - Xecades&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cursor.css&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;cursor&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.25&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10086&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pointer-events&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="kc"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transition-property&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;hidden&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;active&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cursor.js&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;CURSOR&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lerp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;getStyle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getComputedStyle&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getComputedStyle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="nx"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;currentStyle&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Cursor&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;move&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;top&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;left&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;px`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;top&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;top&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;px`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;div&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cursor&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;el&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementsByTagName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;getStyle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cursor&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;pointer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;outerHTML&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;scr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;style&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;scr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`* {cursor: url(&amp;#34;data:image/svg+xml,&amp;lt;svg xmlns=&amp;#39;http://www.w3.org/2000/svg&amp;#39; viewBox=&amp;#39;0 0 8 8&amp;#39; width=&amp;#39;8px&amp;#39; height=&amp;#39;8px&amp;#39;&amp;gt;&amp;lt;circle cx=&amp;#39;4&amp;#39; cy=&amp;#39;4&amp;#39; r=&amp;#39;4&amp;#39; opacity=&amp;#39;.5&amp;#39;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#34;) 4 4, auto}`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 换颜色在opacity=&amp;#39;.5&amp;#39;后面加fill=&amp;#39;rgb(xxx, xxx, xxx)&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;refresh&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;scr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hover&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;active&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmouseover&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;outerHTML&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hover&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmouseout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;outerHTML&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hover&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmousemove&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;move&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientX&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientY&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientX&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientY&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmouseenter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmouseleave&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmousedown&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;active&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmouseup&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;active&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lerp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lerp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;move&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;curr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;requestAnimationFrame&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;CURSOR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Cursor&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 需要重新获取列表时，使用 CURSOR.refresh()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;效果见 &lt;a class="link" href="https://xecades.xyz" target="_blank" rel="noopener"
&gt;Xecades 主页&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hugo Stack 魔改美化</title><link>https://www.xalaok.top/post/stack-modify/</link><pubDate>Thu, 03 Aug 2023 21:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/stack-modify/</guid><description>&lt;img src="https://www.xalaok.top/post/stack-modify/stack.webp" alt="Featured image of post Hugo Stack 魔改美化" /&gt;&lt;h2 id="全局"&gt;&lt;a href="#%e5%85%a8%e5%b1%80" class="header-anchor"&gt;&lt;/a&gt;全局
&lt;/h2&gt;&lt;h3 id="零碎玩意"&gt;&lt;a href="#%e9%9b%b6%e7%a2%8e%e7%8e%a9%e6%84%8f" class="header-anchor"&gt;&lt;/a&gt;零碎玩意
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 页面基本配色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 全局顶部边距
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--main-top-padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 全局卡片圆角
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--card-border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 标签云卡片圆角
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--tag-border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 卡片间距
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--section-separation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 全局字体大小
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--article-font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.8&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 行内代码背景色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--code-background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f8f8f8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 行内代码前景色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--code-text-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#e96900&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 暗色模式下样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dark&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 行内代码背景色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--code-background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ff6d1b&lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 行内代码前景色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--code-text-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#e96900&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 修复引用块内容窄页面显示问题
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;word-break&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;break-all&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;code&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;word-break&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;break-all&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//---------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 文章内容图片圆角阴影
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-page&lt;/span&gt; &lt;span class="nc"&gt;.main-article&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;96&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 文章内容引用块样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;blockquote&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#358b9a&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;f&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#3a9743&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;f&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// ---------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 代码块基础样式修改
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.highlight&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;102&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;pre&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-padding&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.copyCodeButton&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;opacity&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// keep Codeblocks LTR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;rtl&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;direction&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;ltr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;pre&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;initial&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// light模式下的代码块样式调整
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="nc"&gt;.highlight&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff9f3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="nc"&gt;.chroma&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ff6f00&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff9f3&lt;/span&gt;&lt;span class="n"&gt;cc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//-------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 设置选中字体的区域背景颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//修改选中颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;::selection&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#34495e&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-decoration&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;accent-color-darker&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nc"&gt;.link&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#4288b9&lt;/span&gt;&lt;span class="n"&gt;ad&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-decoration&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;cursor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-decoration&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;underline&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//-------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//文章封面高度更改
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-list&lt;/span&gt; &lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="nc"&gt;.article-image&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;cover&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;305&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//---------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 全局页面布局间距调整
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.main-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;min-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;vh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex-start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;section-separation&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;main-top-padding&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;37&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//--------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//页面三栏宽度调整
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.left-sidebar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;order&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;left&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sidebar-max-width&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.right-sidebar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;order&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;right&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sidebar-max-width&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;/// Display right sidebar when min-width: lg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nc"&gt;.extended&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--left-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--right-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1280&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--left-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--right-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1453&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//1536px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--left-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--right-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nc"&gt;.compact&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--left-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;768&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--left-sidebar-max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1280&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//-------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//全局页面小图片样式微调
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-list--compact&lt;/span&gt; &lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="nc"&gt;.article-image&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;image&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;image&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;cover&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="菜单栏圆角"&gt;&lt;a href="#%e8%8f%9c%e5%8d%95%e6%a0%8f%e5%9c%86%e8%a7%92" class="header-anchor"&gt;&lt;/a&gt;菜单栏圆角
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 菜单栏样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 下拉菜单改圆角样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.menu&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;list-style&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex-direction&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow-x&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow-y&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;scroll&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex-grow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-background&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//改个阴影
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//改为0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//加个圆角
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.menu-bottom-section&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nc"&gt;.show&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex-end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;li&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;vertical-align&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;middle&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;svg&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;stroke-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.33&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;body-text-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;menu&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ni"&gt;icon&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;separation&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nc"&gt;.current&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="滚动条"&gt;&lt;a href="#%e6%bb%9a%e5%8a%a8%e6%9d%a1" class="header-anchor"&gt;&lt;/a&gt;滚动条
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//将滚动条修改为圆角样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//菜单滚动条美化
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.menu&lt;/span&gt;&lt;span class="nd"&gt;::-webkit-scrollbar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 全局滚动条美化
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nd"&gt;::-webkit-scrollbar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nd"&gt;::-webkit-scrollbar-track&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nd"&gt;::-webkit-scrollbar-thumb&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#d6dee1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;solid&lt;/span&gt; &lt;span class="ni"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-clip&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;content-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nd"&gt;::-webkit-scrollbar-thumb:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#a8bbbf&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="加载进度条"&gt;&lt;a href="#%e5%8a%a0%e8%bd%bd%e8%bf%9b%e5%ba%a6%e6%9d%a1" class="header-anchor"&gt;&lt;/a&gt;加载进度条
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/partials/footer/custom.html&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/nprogress@0.2.0/nprogress.js&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;crossorigin&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;anonymous&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://npm.elemecdn.com/nprogress@0.2.0/nprogress.css&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;crossorigin&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;anonymous&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;NProgress&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;readystatechange&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;readyState&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;interactive&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;NProgress&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;inc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;readyState&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;complete&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;NProgress&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;done&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="深色模式开关图标"&gt;&lt;a href="#%e6%b7%b1%e8%89%b2%e6%a8%a1%e5%bc%8f%e5%bc%80%e5%85%b3%e5%9b%be%e6%a0%87" class="header-anchor"&gt;&lt;/a&gt;深色模式开关图标
&lt;/h3&gt;&lt;p&gt;不太喜欢默认图标，默认图标不够直观，当然你可以不换&lt;br&gt;
我选取了 &lt;a class="link" href="https://tablericons.com/" target="_blank" rel="noopener"
&gt;Tabler Icons&lt;/a&gt; 中的 &lt;code&gt;sun-high&lt;/code&gt; 和 &lt;code&gt;moon-stars&lt;/code&gt; 这两个图标&lt;br&gt;
在 &lt;code&gt;/assets/scss/partials/sidebar.scss&lt;/code&gt; 第 154~180 行中将图标名进行修改，最终效果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/* .\assets\scss\partials\sidebar.scss Line 154*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dark&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nn"&gt;#dark-mode-toggle&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;700&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.icon-tabler-sun-high&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.icon-tabler-moon-stars&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;unset&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;#dark-mode-toggle&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;body-text-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;cursor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;menu&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ni"&gt;icon&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;separation&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.icon-tabler-moon-stars&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;/layouts/partials/sidebar/left.html&lt;/code&gt; 第 91~97 行中将图标名进行修改，最终效果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!---.\layouts\partials\sidebar\left.html Line 91---&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if (default false .Site.Params.colorScheme.toggle) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;dark-mode-toggle&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ partial &amp;#34;helper/icon&amp;#34; &amp;#34;sun-high&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ partial &amp;#34;helper/icon&amp;#34; &amp;#34;moon-stars&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ T &amp;#34;darkMode&amp;#34; }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="修改布局"&gt;&lt;a href="#%e4%bf%ae%e6%94%b9%e5%b8%83%e5%b1%80" class="header-anchor"&gt;&lt;/a&gt;修改布局
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/grid.scss&lt;/code&gt; 中修改 &lt;code&gt;left-sidebar&lt;/code&gt; 和 &lt;code&gt;right-sidebar&lt;/code&gt; 的描述：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.left-sidebar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;order&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// max-width: var(--left-sidebar-max-width);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.right-sidebar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;order&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// max-width: var(--right-sidebar-max-width);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;/// Display right sidebar when min-width: lg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;把正文的占比改到了 70%, 原来的只有 50% 左右&lt;/p&gt;
&lt;h2 id="页面"&gt;&lt;a href="#%e9%a1%b5%e9%9d%a2" class="header-anchor"&gt;&lt;/a&gt;页面
&lt;/h2&gt;&lt;h3 id="归档"&gt;&lt;a href="#%e5%bd%92%e6%a1%a3" class="header-anchor"&gt;&lt;/a&gt;归档
&lt;/h3&gt;&lt;h4 id="双栏"&gt;&lt;a href="#%e5%8f%8c%e6%a0%8f" class="header-anchor"&gt;&lt;/a&gt;双栏
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 归档页面两栏
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.article-list--compact&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;grid-template-columns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-background&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="卡片缩放动画"&gt;&lt;a href="#%e5%8d%a1%e7%89%87%e7%bc%a9%e6%94%be%e5%8a%a8%e7%94%bb" class="header-anchor"&gt;&lt;/a&gt;卡片缩放动画
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*-----------归档页面----------*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//归档页面卡片缩放
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-list--tile&lt;/span&gt; &lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-list--tile&lt;/span&gt; &lt;span class="nt"&gt;article&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.03&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.03&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="友链三栏"&gt;&lt;a href="#%e5%8f%8b%e9%93%be%e4%b8%89%e6%a0%8f" class="header-anchor"&gt;&lt;/a&gt;友链三栏
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 友情链接三栏
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.article-list--compact.links&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;grid-template-columns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-background&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-border-radius&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;odd&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="首页"&gt;&lt;a href="#%e9%a6%96%e9%a1%b5" class="header-anchor"&gt;&lt;/a&gt;首页
&lt;/h3&gt;&lt;h4 id="布局"&gt;&lt;a href="#%e5%b8%83%e5%b1%80" class="header-anchor"&gt;&lt;/a&gt;布局
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*主页布局间距调整*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.main-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//文章宽度
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;gap&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//中等屏幕时的文章宽度
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.related-contents&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow-x&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;visible&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//显示隐藏的图标
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="右侧导航栏动画"&gt;&lt;a href="#%e5%8f%b3%e4%be%a7%e5%af%bc%e8%88%aa%e6%a0%8f%e5%8a%a8%e7%94%bb" class="header-anchor"&gt;&lt;/a&gt;右侧导航栏动画
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*------------------右侧导航栏--------------*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 搜索菜单动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.search-form.widget&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.search-form.widget&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//归档小图标放大动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.widget.archives&lt;/span&gt; &lt;span class="nc"&gt;.widget-archive--list&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.widget.archives&lt;/span&gt; &lt;span class="nc"&gt;.widget-archive--list&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.05&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.05&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//右侧标签放大动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.tagCloud&lt;/span&gt; &lt;span class="nc"&gt;.tagCloud-tags&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.4&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.tagCloud&lt;/span&gt; &lt;span class="nc"&gt;.tagCloud-tags&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="细节"&gt;&lt;a href="#%e7%bb%86%e8%8a%82" class="header-anchor"&gt;&lt;/a&gt;细节
&lt;/h2&gt;&lt;h3 id="首页欢迎横幅"&gt;&lt;a href="#%e9%a6%96%e9%a1%b5%e6%ac%a2%e8%bf%8e%e6%a8%aa%e5%b9%85" class="header-anchor"&gt;&lt;/a&gt;首页欢迎横幅
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/index.html&lt;/code&gt; 的 &lt;code&gt;&amp;lt;section class=&amp;quot;article-list&amp;quot;&amp;gt;&lt;/code&gt; 前添加以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 首页欢迎字幅 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;welcome&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;font-size: 2rem; text-align: center; font-weight: bold&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;shake&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;👋&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt; Welcome&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; To &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text3&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Xa&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text4&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;l&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text5&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;a&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text6&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;o&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text7&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;k&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text8&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&amp;#39;s&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jump-text9&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;color:#e99312&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Blog&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 首页欢迎字幅 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//首页欢迎板块样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.welcome&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-text-color-main&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;card-background&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;shadow-l2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 👋emoji实现摆动效果
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.shake&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;shake&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-duration&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-timing-function&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-iteration-count&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-direction&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-fill-mode&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-play-state&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;running&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;shake&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-timeline&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-range-start&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-range-end&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@keyframes&lt;/span&gt; &lt;span class="nt"&gt;shake&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;0&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;25&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="kt"&gt;deg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;50&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;75&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="kt"&gt;deg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;100&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 实现字符跳动动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text2&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text3&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.2&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text4&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.3&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text5&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.4&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text6&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text7&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text8&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.7&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.jump-text9&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;jump&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;animation-delay&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.9&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@keyframes&lt;/span&gt; &lt;span class="nt"&gt;jump&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;0&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;50&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;100&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="代码块"&gt;&lt;a href="#%e4%bb%a3%e7%a0%81%e5%9d%97" class="header-anchor"&gt;&lt;/a&gt;代码块
&lt;/h3&gt;&lt;h4 id="macos-风格红绿灯图标"&gt;&lt;a href="#macos-%e9%a3%8e%e6%a0%bc%e7%ba%a2%e7%bb%bf%e7%81%af%e5%9b%be%e6%a0%87" class="header-anchor"&gt;&lt;/a&gt;macOS 风格红绿灯图标
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// macOS 风格代码块
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.highlight&lt;/span&gt;&lt;span class="nd"&gt;:before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sx"&gt;url(/code-header.svg)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;57&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-repeat&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;no-repeat&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;static&lt;/code&gt; 文件夹下新建 &lt;code&gt;code-header.svg&lt;/code&gt;，写入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// macOS 红绿灯图标
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;svg&lt;/span&gt; &lt;span class="na"&gt;xmlns=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://www.w3.org/2000/svg&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;version=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;1.1&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;0px&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;0px&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;450px&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;130px&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;ellipse&lt;/span&gt; &lt;span class="na"&gt;cx=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;65&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;cy=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;65&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;rx=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;50&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;ry=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;52&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;stroke=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rgb(220,60,54)&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;stroke-width=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;fill=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rgb(237,108,96)&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;ellipse&lt;/span&gt; &lt;span class="na"&gt;cx=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;225&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;cy=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;65&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;rx=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;50&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;ry=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;52&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;stroke=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rgb(218,151,33)&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;stroke-width=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;fill=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rgb(247,193,81)&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;ellipse&lt;/span&gt; &lt;span class="na"&gt;cx=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;385&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;cy=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;65&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;rx=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;50&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;ry=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;52&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;stroke=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rgb(27,161,37)&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;stroke-width=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;fill=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rgb(100,200,86)&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/svg&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="显示语言和复制按钮"&gt;&lt;a href="#%e6%98%be%e7%a4%ba%e8%af%ad%e8%a8%80%e5%92%8c%e5%a4%8d%e5%88%b6%e6%8c%89%e9%92%ae" class="header-anchor"&gt;&lt;/a&gt;显示语言和复制按钮
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;/assets/ts/custom.ts&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 显示语言和复制按钮
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;highlights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;.article-content div.highlight&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;copyText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`📄拷贝`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copiedText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`已拷贝!`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;highlights&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;highlight&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;copyButton&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;button&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copyButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;copyText&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copyButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;copyCodeButton&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;highlight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;copyButton&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;codeBlock&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;highlight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;code[data-lang]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 获取语言
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;lang&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;codeBlock&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;data-lang&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;codeBlock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copyButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;click&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clipboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;writeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;codeBlock&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copyButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;copiedText&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copyButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;copyText&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Something went wrong&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Add language code button
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;languageButton&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;button&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;languageButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toUpperCase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;languageButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;languageCodeButton&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;highlight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;languageButton&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;StackColorScheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;dark-mode-toggle&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码（可按需自行修改）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//代码复制按钮
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="nc"&gt;.copyCodeButton&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;opacity&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ffffff&lt;/span&gt;&lt;span class="n"&gt;ad&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="nc"&gt;.languageCodeButton&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;69&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;opacity&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ffffff&lt;/span&gt;&lt;span class="n"&gt;ad&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;lato&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="固定块的高度"&gt;&lt;a href="#%e5%9b%ba%e5%ae%9a%e5%9d%97%e7%9a%84%e9%ab%98%e5%ba%a6" class="header-anchor"&gt;&lt;/a&gt;固定块的高度
&lt;/h3&gt;&lt;p&gt;过长的内容影响观感，所以把 block 的高度限制在 20em，并隐藏滚动条&lt;br&gt;
在 &lt;code&gt;/assets/scss/partials/layout/article.scss&lt;/code&gt; 中进行如下修改（已隐藏无关片段）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.article-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// line 205
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.highlight&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// line 331
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="ni"&gt;pre&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nt"&gt;padding&lt;/span&gt;&lt;span class="nd"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;var&lt;/span&gt;&lt;span class="o"&gt;(--&lt;/span&gt;&lt;span class="nt"&gt;card-padding&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;pre&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// line 345
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;initial&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nt"&gt;max-height&lt;/span&gt;&lt;span class="nd"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;20em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nt"&gt;scrollbar-width&lt;/span&gt;&lt;span class="nd"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* Firefox */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;::-webkit-scrollbar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nt"&gt;display&lt;/span&gt;&lt;span class="nd"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* Chrome Safari */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使图床链接的图片居中"&gt;&lt;a href="#%e4%bd%bf%e5%9b%be%e5%ba%8a%e9%93%be%e6%8e%a5%e7%9a%84%e5%9b%be%e7%89%87%e5%b1%85%e4%b8%ad" class="header-anchor"&gt;&lt;/a&gt;使图床链接的图片居中
&lt;/h3&gt;&lt;p&gt;来自 &lt;a class="link" href="https://thirdshire.com/hugo-stack-renovation-part-three/#%E4%BD%BF%E5%9B%BE%E5%BA%8A%E9%93%BE%E6%8E%A5%E7%9A%84%E5%9B%BE%E7%89%87%E5%B1%85%E4%B8%AD" target="_blank" rel="noopener"
&gt;Hugo Stack 主题装修笔记 Part 3 | 第三夏尔&lt;/a&gt;&lt;br&gt;
目前 Stack 默认只支持本地引用的图片居中，而在使用 url 图片链接时没有居中格式。在 &lt;code&gt;/assets/scss/partials/layout/article.scss&lt;/code&gt; Line 256 处（同级任意位置）增加以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Center image from url source
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="键盘样式"&gt;&lt;a href="#%e9%94%ae%e7%9b%98%e6%a0%b7%e5%bc%8f" class="header-anchor"&gt;&lt;/a&gt;键盘样式
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 键盘样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kbd&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt; &lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;.8&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#242729&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#adb3b9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt; &lt;span class="ni"&gt;inset&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;white-space&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;nowrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;vertical-align&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;middle&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;monospace&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这样即可使用如下 Markdown 高级语法生成键盘样式：&lt;br&gt;
&lt;code&gt;&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;kbd&gt;CTRL&lt;/kbd&gt; + &lt;kbd&gt;C&lt;/kbd&gt;&lt;/p&gt;
&lt;h3 id="头像旋转"&gt;&lt;a href="#%e5%a4%b4%e5%83%8f%e6%97%8b%e8%bd%ac" class="header-anchor"&gt;&lt;/a&gt;头像旋转
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 头像旋转动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.sidebar&lt;/span&gt; &lt;span class="nt"&gt;header&lt;/span&gt; &lt;span class="nc"&gt;.site-avatar&lt;/span&gt; &lt;span class="nc"&gt;.site-logo&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.65&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 旋转时间
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.sidebar&lt;/span&gt; &lt;span class="nt"&gt;header&lt;/span&gt; &lt;span class="nc"&gt;.site-avatar&lt;/span&gt; &lt;span class="nc"&gt;.site-logo&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;360&lt;/span&gt;&lt;span class="kt"&gt;deg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 旋转角度为360度
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="鸣谢"&gt;&lt;a href="#%e9%b8%a3%e8%b0%a2" class="header-anchor"&gt;&lt;/a&gt;鸣谢
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;a class="link" href="https://stack.jimmycai.com/" target="_blank" rel="noopener"
&gt;Stack 主题文档&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://log.vaaat.com/posts/bloglab/hugo-stack/modify-hugo/" target="_blank" rel="noopener"
&gt;Stack 主题的自定义 | L1nSn0w&amp;rsquo;s Log&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://lovir.cn/p/changes-in-my-blog/" target="_blank" rel="noopener"
&gt;博客最近的一些变化 | 小骆同学&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://lovir.cn/p/build-with-hugo02/" target="_blank" rel="noopener"
&gt;基于 Hugo 的网站搭建日志 02 | 小骆同学&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://blog.echosec.top/p/custom-hugo-theme-styles/" target="_blank" rel="noopener"
&gt;『Hugo』Hugo Styles | Echosec&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://thirdshire.com/hugo-stack-renovation-part-three/" target="_blank" rel="noopener"
&gt;Hugo Stack 主题装修笔记 Part 3 | 第三夏尔&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Shields.io Badge 徽章使用方式记录</title><link>https://www.xalaok.top/post/shieldsio-badge/</link><pubDate>Wed, 02 Aug 2023 15:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/shieldsio-badge/</guid><description>&lt;img src="https://www.xalaok.top/post/shieldsio-badge/cover.webp" alt="Featured image of post Shields.io Badge 徽章使用方式记录" /&gt;&lt;p&gt;你肯定在一些开源仓库的 Readme 或者一些博客上看到过类似这样的徽章👇&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/shieldsio-badge/1.webp"
width="705"
height="81"
loading="lazy" style="display:block;margin:0 auto;"
alt="Shields.io Badge"
class="gallery-image"
data-flex-grow="870"
data-flex-basis="2088px"
&gt;&lt;/p&gt;
&lt;p&gt;这些都是用 Shields.io 的 API 做出来的，前段时间研究这玩意咋用研究了蛮长时间，今天来记录研究成果（目前只研究了最基本的使用，官网有其他玩法以后再说🤣）&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/shieldsio-badge/2.webp"
width="1772"
height="995"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="178"
data-flex-basis="427px"
&gt;&lt;/p&gt;
&lt;h2 id="基本"&gt;&lt;a href="#%e5%9f%ba%e6%9c%ac" class="header-anchor"&gt;&lt;/a&gt;基本
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;https://img.shields.io/badge/:badgeContent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;:badgeContent&lt;/code&gt; 的内容是 &lt;code&gt;label-message-color?Query Parameters&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;lablel&lt;/code&gt;：徽章左侧字符&lt;br&gt;
&lt;code&gt;message&lt;/code&gt;：徽章右侧字符（可选）&lt;br&gt;
&lt;code&gt;color&lt;/code&gt;：颜色（可填入 hex, rgb, rgba, hsl, hsla, css 颜色名）&lt;br&gt;
&lt;code&gt;Query Parameters&lt;/code&gt;：查询参数（可选，见下）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;示例：&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-red&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-red"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-message-red&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-message-red"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-message-fdfesf&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-message-fdfesf"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;/p&gt;
&lt;h2 id="进阶加查询参数"&gt;&lt;a href="#%e8%bf%9b%e9%98%b6%e5%8a%a0%e6%9f%a5%e8%af%a2%e5%8f%82%e6%95%b0" class="header-anchor"&gt;&lt;/a&gt;进阶（加查询参数）
&lt;/h2&gt;&lt;h3 id="color"&gt;&lt;a href="#color" class="header-anchor"&gt;&lt;/a&gt;color
&lt;/h3&gt;&lt;p&gt;类型：字符串&lt;br&gt;
内容：颜色值（支持 hex、rgb、rgba、hsl、hsla 和 css 颜色名）&lt;br&gt;
右侧部分的背景颜色&lt;br&gt;
在前面基础款徽章里面就有此项，因此此项并不必要，两处任意选一处即可。&lt;/p&gt;
&lt;h3 id="label"&gt;&lt;a href="#label" class="header-anchor"&gt;&lt;/a&gt;label
&lt;/h3&gt;&lt;p&gt;类型：字符串&lt;br&gt;
左侧文本（空格或特殊字符需要&lt;a class="link" href="https://developer.mozilla.org/zh-CN/docs/Glossary/percent-encoding" target="_blank" rel="noopener"
&gt;百分比编码&lt;/a&gt;）&lt;br&gt;
在前面基础款徽章里面就有此项，因此此项并不必要，两处任意选一处即可。&lt;/p&gt;
&lt;h3 id="labelcolor"&gt;&lt;a href="#labelcolor" class="header-anchor"&gt;&lt;/a&gt;labelColor
&lt;/h3&gt;&lt;p&gt;类型：字符串&lt;br&gt;
内容：颜色值（支持 hex、rgb、rgba、hsl、hsla 和 css 颜色名）&lt;br&gt;
左侧部分的背景颜色&lt;br&gt;
示例：&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-message-red?labelColor=green&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-message-red?labelColor=green"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;/p&gt;
&lt;h3 id="style"&gt;&lt;a href="#style" class="header-anchor"&gt;&lt;/a&gt;style
&lt;/h3&gt;&lt;p&gt;类型：字符串&lt;br&gt;
内容：&lt;code&gt;flat&lt;/code&gt;, &lt;code&gt;flat-square&lt;/code&gt;, &lt;code&gt;plastic&lt;/code&gt;, &lt;code&gt;for-the-badge&lt;/code&gt;, &lt;code&gt;social&lt;/code&gt;&lt;br&gt;
不添加该参数则默认为 &lt;code&gt;flat&lt;/code&gt; 样式&lt;br&gt;
示例：&lt;br&gt;
&lt;code&gt;flat&lt;/code&gt;：&lt;img src="https://img.shields.io/badge/label-message-red?style=flat"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;flat-square&lt;/code&gt;：&lt;img src="https://img.shields.io/badge/label-message-red?style=flat-square"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;plastic&lt;/code&gt;：&lt;img src="https://img.shields.io/badge/label-message-red?style=plastic"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;for-the-badge&lt;/code&gt;：&lt;img src="https://img.shields.io/badge/label-message-red?style=for-the-badge"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;social&lt;/code&gt;：&lt;img src="https://img.shields.io/badge/label-message-red?style=social"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;/p&gt;
&lt;h3 id="logo"&gt;&lt;a href="#logo" class="header-anchor"&gt;&lt;/a&gt;logo
&lt;/h3&gt;&lt;p&gt;类型：字符串&lt;br&gt;
内容：bitcoin、dependabot、gitlab、npm、paypal、serverfault、stackexchange、superuser、telegram、travis 或 &lt;a class="link" href="https://simpleicons.org/" target="_blank" rel="noopener"
&gt;Simple Icons&lt;/a&gt; 图标（单击图标标题来复制 slug）或 Base64 编码图片&lt;br&gt;
示例：&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-这里的图标是指定图标之一-red?logo=dependabot&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-%e8%bf%99%e9%87%8c%e7%9a%84%e5%9b%be%e6%a0%87%e6%98%af%e6%8c%87%e5%ae%9a%e5%9b%be%e6%a0%87%e4%b9%8b%e4%b8%80-red?logo=dependabot"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-这里的图标是simple%20icon图标-red?logo=creativecommons&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-%e8%bf%99%e9%87%8c%e7%9a%84%e5%9b%be%e6%a0%87%e6%98%afsimple%20icon%e5%9b%be%e6%a0%87-red?logo=creativecommons"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;/p&gt;
&lt;h3 id="logocolor"&gt;&lt;a href="#logocolor" class="header-anchor"&gt;&lt;/a&gt;logoColor
&lt;/h3&gt;&lt;p&gt;类型：字符串&lt;br&gt;
内容：颜色值（支持 hex、rgb、rgba、hsl、hsla 和 css 颜色名）&lt;br&gt;
支持 Simple-Icon 图标和 Shields 图标，但不支持自定义图标&lt;br&gt;
示例：&lt;br&gt;
&lt;code&gt;https://img.shields.io/badge/label-message-red?logo=dependabot&amp;amp;logoColor=blue&lt;/code&gt;
&lt;img src="https://img.shields.io/badge/label-message-red?logo=dependabot&amp;amp;logoColor=blue"
loading="lazy" style="display:block;margin:0 auto;"
&gt;&lt;/p&gt;</description></item><item><title>柯西不等式的证明</title><link>https://www.xalaok.top/post/cauchy-inequality/</link><pubDate>Tue, 01 Aug 2023 11:30:00 +0800</pubDate><guid>https://www.xalaok.top/post/cauchy-inequality/</guid><description>&lt;p&gt;柯西不等式：
&lt;/p&gt;
$$\sum_{i=1}^{n} a_{i}^{2} \sum_{i=1}^{n} b_{i}^{2} \ge (\sum_{i=1}^{n} a_{i} b_{i})^{2} $$&lt;p&gt;
&lt;/p&gt;
$$(a_{1}^{2} + a_{2}^{2} + \cdots + a_{n}^{2})(b_{1}^{2} + b_{2}^{2} + \cdots + b_{n}^{2}) \ge (a_{1}b_{1} + a_{2}b_{2} + \cdots + a_{n}b_{n})^2$$&lt;blockquote&gt;
&lt;p&gt;利用 $b^{2} - 4ac \ge 0$&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;证明：
构造系列函数：&lt;/p&gt;
$$f_{1}(x) = a_{1}^{2}x^{2} + 2a_{1}b_{1}x + b_{1}^{2} = (a_{1}x+b_{1})^{2} \ge 0$$&lt;p&gt;
&lt;/p&gt;
$$f_{2}(x) = a_{2}^{2}x^{2} + 2a_{2}b_{2}x + b_{2}^{2} = (a_{2}x+b_{2})^{2} \ge 0$$&lt;p&gt;
&lt;/p&gt;
$$\cdots \cdots$$&lt;p&gt;
&lt;/p&gt;
$$f_{n}(x) = a_{n}^{2}x^{2} + 2a_{n}b_{n}x + b_{n}^{2} = (a_{n}x+b_{n})^{2} \ge 0$$&lt;p&gt;
设：
&lt;/p&gt;
$$g(x) = f_{1}(x) + f_{2}(x) + \cdots + f_{n}(x)$$&lt;p&gt;
&lt;/p&gt;
$$\therefore g(x) = (a_{1}^{2}+a_{2}^{2}+\cdots+a_{n}^{2})x^{2}+2(a_{1}b_{1}+a_{2}b_{2}+\cdots+a_{n}b_{n}) \ge 0$$&lt;p&gt;
① 当 $a_{1}^{2}+a_{2}^{2}+\cdots+a_{n}^{2} = 0$ 即 $a_{1}=a_{2}=\cdots=a_{n}=0$ 时&lt;br&gt;
$(a_{1}^{2} + a_{2}^{2} + \cdots + a_{n}^{2})(b_{1}^{2} + b_{2}^{2} + \cdots + b_{n}^{2}) \ge (a_{1}b_{1} + a_{2}b_{2} + \cdots + a_{n}b_{n})^2$ 显然成立&lt;br&gt;
② 当 $a_{1}^{2}+a_{2}^{2}+\cdots+a_{n}^{2} ≠ 0$ 时&lt;br&gt;
&lt;/p&gt;
$$\Delta_{x} \le 0$$&lt;p&gt;
&lt;/p&gt;
$$\therefore 4(a_{1}b_{1} + a_{2}b_{2} + \cdots + a_{n}b_{n})^2 - 4(a_{1}^{2} + a_{2}^{2} + \cdots + a_{n}^{2})(b_{1}^{2} + b_{2}^{2} + \cdots + b_{n}^{2}) \le 0$$&lt;p&gt;
&lt;/p&gt;
$$\therefore (a_{1}^{2} + a_{2}^{2} + \cdots + a_{n}^{2})(b_{1}^{2} + b_{2}^{2} + \cdots + b_{n}^{2}) \ge (a_{1}b_{1} + a_{2}b_{2} + \cdots + a_{n}b_{n})^2$$&lt;p&gt;
当上式取等时，$\Delta = 0$，有 $x$ 使得 $g(x)=0$ 成立&lt;br&gt;
则 $x = - \frac {b_{1}} {a_{1}} = - \frac {b_{2}} {a_{2}} = \cdots = - \frac {b_{n}} {a_{n}}$&lt;br&gt;
即当且仅当 $\frac {b_{1}} {a_{1}} = \frac {b_{2}} {a_{2}} = \cdots = \frac {b_{n}} {a_{n}}$ 时等号成立&lt;/p&gt;
&lt;p&gt;综上，&lt;/p&gt;
$$(a_{1}^{2} + a_{2}^{2} + \cdots + a_{n}^{2})(b_{1}^{2} + b_{2}^{2} + \cdots + b_{n}^{2}) \ge (a_{1}b_{1} + a_{2}b_{2} + \cdots + a_{n}b_{n})^2$$&lt;p&gt;
当且仅当 $\frac {b_{1}} {a_{1}} = \frac {b_{2}} {a_{2}} = \cdots = \frac {b_{n}} {a_{n}}$ 时等号成立&lt;/p&gt;</description></item><item><title>解决 Hugo 默认时区问题</title><link>https://www.xalaok.top/post/hugo-timezone-problem/</link><pubDate>Fri, 28 Jul 2023 16:50:00 +0800</pubDate><guid>https://www.xalaok.top/post/hugo-timezone-problem/</guid><description>&lt;img src="https://www.xalaok.top/post/hugo-timezone-problem/cover.webp" alt="Featured image of post 解决 Hugo 默认时区问题" /&gt;&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;相信各位 Hugo 博主应该都有遇到一个问题，就是发布时间设置没问题，但文章没有被渲染，我遇到的时候第一时间就想到作为一个国外的博客框架，应该就是时区问题，然后查阅&lt;a class="link" href="https://gohugo.io/getting-started/usage/#draft-future-and-expired-content" target="_blank" rel="noopener"
&gt;官方文档&lt;/a&gt;后更证实了这个猜想。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hugo 在以下情况下不会发布内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;draft&lt;/code&gt; 值为&lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;date&lt;/code&gt; 在未来&lt;/li&gt;
&lt;li&gt;&lt;code&gt;publishDate&lt;/code&gt; 在未来&lt;/li&gt;
&lt;li&gt;&lt;code&gt;expiryDate&lt;/code&gt; 在过去&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;很显然我们遇到的问题不满足以上所有情况，那么肯定是时区问题，经过测试，只有在发布时间设置为当前北京时间八小时内的文章是不会被渲染的，因此 Hugo 的默认时区是世界标准时间（也不意外对吧），那么该怎么解决呢，经过一番 Google，我找到了以下两种解决办法&lt;/p&gt;
&lt;h2 id="解决方案-1在-front-matter-的-date-加上时区"&gt;&lt;a href="#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88-1%e5%9c%a8-front-matter-%e7%9a%84-date-%e5%8a%a0%e4%b8%8a%e6%97%b6%e5%8c%ba" class="header-anchor"&gt;&lt;/a&gt;解决方案 1：在 Front Matter 的 &lt;code&gt;date&lt;/code&gt; 加上时区
&lt;/h2&gt;&lt;p&gt;在 Front Matter 的 &lt;code&gt;date&lt;/code&gt; 原本内容上加上你所在的时区随对应要加或减的小时数，如北京时间（东八区区时）就在后面加上 &lt;code&gt;+0800&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;title:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;date: 2023-07-28 08:00:00+0800
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lastmod:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;slug:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;description:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;image:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;categories:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tags:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;draft:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="解决方案-2配置-hugo-使其输出将来的页面"&gt;&lt;a href="#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88-2%e9%85%8d%e7%bd%ae-hugo-%e4%bd%bf%e5%85%b6%e8%be%93%e5%87%ba%e5%b0%86%e6%9d%a5%e7%9a%84%e9%a1%b5%e9%9d%a2" class="header-anchor"&gt;&lt;/a&gt;解决方案 2：配置 Hugo 使其输出将来的页面
&lt;/h2&gt;&lt;h3 id="第一种方式编辑-hugoyaml"&gt;&lt;a href="#%e7%ac%ac%e4%b8%80%e7%a7%8d%e6%96%b9%e5%bc%8f%e7%bc%96%e8%be%91-hugoyaml" class="header-anchor"&gt;&lt;/a&gt;第一种方式：编辑 hugo.yaml
&lt;/h3&gt;&lt;p&gt;在根级加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;buildFuture&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="第二种方式在构建博客时加上--buildfuture"&gt;&lt;a href="#%e7%ac%ac%e4%ba%8c%e7%a7%8d%e6%96%b9%e5%bc%8f%e5%9c%a8%e6%9e%84%e5%bb%ba%e5%8d%9a%e5%ae%a2%e6%97%b6%e5%8a%a0%e4%b8%8a--buildfuture" class="header-anchor"&gt;&lt;/a&gt;第二种方式：在构建博客时加上 &lt;code&gt;--buildFuture&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;在构建博客时运行 &lt;code&gt;hugo --buildFuture&lt;/code&gt; 或 &lt;code&gt;hugo -F&lt;/code&gt; 而不是 &lt;code&gt;hugo&lt;/code&gt;&lt;/p&gt;</description></item><item><title>留言</title><link>https://www.xalaok.top/board/</link><pubDate>Mon, 24 Jul 2023 00:00:00 +0000</pubDate><guid>https://www.xalaok.top/board/</guid><description>&lt;p&gt;在这里，你可以：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;和博主闲聊&lt;/li&gt;
&lt;li&gt;告知博客问题（图片链接失效等）&lt;/li&gt;
&lt;li&gt;告知博主转载&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>在 Replit 部署 Memos</title><link>https://www.xalaok.top/post/memos-on-replit/</link><pubDate>Sat, 22 Jul 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/memos-on-replit/</guid><description>&lt;img src="https://cdn.xalaok.top/images/blog/2023/07/22/cover.webp" alt="Featured image of post 在 Replit 部署 Memos" /&gt;&lt;blockquote&gt;
&lt;p&gt;Replit 今年开始收费，此方法已失效😭&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;官方给了几种部署方式：Docker，Render，Fly，Zeabur，PikaPods
但是作为没有服务器不想绑信用卡的白嫖党来说，全部不可用，那么今天就来白嫖 &lt;a class="link" href="https://replit.com" target="_blank" rel="noopener"
&gt;Replit&lt;/a&gt; 不用服务器搭建 &lt;a class="link" href="https://github.com/usememos/memos" target="_blank" rel="noopener"
&gt;Memos&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;要用到的网站或仓库：&lt;br&gt;
&lt;a class="link" href="https://replit.com" target="_blank" rel="noopener"
&gt;https://replit.com&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://github.com/usememos/memos" target="_blank" rel="noopener"
&gt;https://github.com/usememos/memos&lt;/a&gt;&lt;br&gt;
&lt;a class="link" href="https://github.com/sixmillions/memos-replit" target="_blank" rel="noopener"
&gt;https://github.com/sixmillions/memos-replit&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/memos-on-replit/memos.webp"
width="1523"
height="842"
loading="lazy" style="display:block;margin:0 auto;"
alt="MEMOS"
class="gallery-image"
data-flex-grow="180"
data-flex-basis="434px"
&gt;&lt;/p&gt;
&lt;h2 id="部署"&gt;&lt;a href="#%e9%83%a8%e7%bd%b2" class="header-anchor"&gt;&lt;/a&gt;部署
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;打开 &lt;a class="link" href="https://replit.com" target="_blank" rel="noopener"
&gt;Replit 官网&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/memos-on-replit/1.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;点击中间“Start creating”跳转到登录页，有 Google 或 GitHub 账号的可以直接登录，没有的话可以通过邮箱注册，国内邮箱支不支持我不知道&lt;br&gt;
&lt;img src="https://www.xalaok.top/post/memos-on-replit/2.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="方式-1clone-github-仓库"&gt;&lt;a href="#%e6%96%b9%e5%bc%8f-1clone-github-%e4%bb%93%e5%ba%93" class="header-anchor"&gt;&lt;/a&gt;方式 1：Clone GitHub 仓库
&lt;/h3&gt;&lt;ol start="3"&gt;
&lt;li&gt;Clone &lt;a class="link" href="https://github.com/sixmillions/memos-replit" target="_blank" rel="noopener"
&gt;sixmillions/memos-replit&lt;/a&gt; 到 Replit，语言选择 Go&lt;/li&gt;
&lt;li&gt;检查 文件（点击 &lt;code&gt;Files&lt;/code&gt; 右上角三个点，选择 &lt;code&gt;Show hidden files&lt;/code&gt;，就能看到 &lt;code&gt;.replit&lt;/code&gt; 文件，检查该文件内容是否与仓库内的一致&lt;/li&gt;
&lt;li&gt;运行 &lt;code&gt;main.sh&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/memos-on-replit/3.webp"
width="912"
height="838"
loading="lazy" style="display:block;margin:0 auto;"
alt="创建repl"
class="gallery-image"
data-flex-grow="108"
data-flex-basis="261px"
&gt;
&lt;img src="https://www.xalaok.top/post/memos-on-replit/4.webp"
width="2550"
height="988"
loading="lazy" style="display:block;margin:0 auto;"
alt="run"
class="gallery-image"
data-flex-grow="258"
data-flex-basis="619px"
&gt;
&lt;img src="https://www.xalaok.top/post/memos-on-replit/5.webp"
width="2544"
height="1411"
loading="lazy" style="display:block;margin:0 auto;"
alt="success"
class="gallery-image"
data-flex-grow="180"
data-flex-basis="432px"
&gt;&lt;/p&gt;
&lt;h3 id="方式-2使用-replit-template"&gt;&lt;a href="#%e6%96%b9%e5%bc%8f-2%e4%bd%bf%e7%94%a8-replit-template" class="header-anchor"&gt;&lt;/a&gt;方式 2：使用 Replit Template
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开同样是这个作者创建的 &lt;a class="link" href="https://replit.com/@sixmillions/memos-replit" target="_blank" rel="noopener"
&gt;模板地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;点击右上角 &lt;code&gt;Use Template&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/memos-on-replit/6.webp"
width="1873"
height="860"
loading="lazy" style="display:block;margin:0 auto;"
alt="template"
class="gallery-image"
data-flex-grow="217"
data-flex-basis="522px"
&gt;&lt;/p&gt;
&lt;h3 id="方式-3自己构建"&gt;&lt;a href="#%e6%96%b9%e5%bc%8f-3%e8%87%aa%e5%b7%b1%e6%9e%84%e5%bb%ba" class="header-anchor"&gt;&lt;/a&gt;方式 3：自己构建
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;构建 Memos&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;构建思路：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Replit 中 Go 语言环境使用的是 &lt;strong&gt;ubuntu20.04&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;用&lt;strong&gt;同样的环境&lt;/strong&gt;构建出 memos&lt;/li&gt;
&lt;li&gt;把构建出来的可执行文件放到 Replit 上运行&lt;br&gt;
具体方式参考 &lt;a class="link" href="https://github.com/sixmillions/memos-replit/#%e5%85%b7%e4%bd%93%e6%ad%a5%e9%aa%a4" target="_blank" rel="noopener"
&gt;https://github.com/sixmillions/memos-replit/#具体步骤&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将 Memos 上传到 Replit&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;运行 &lt;code&gt;main.sh&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="自定义域名"&gt;&lt;a href="#%e8%87%aa%e5%ae%9a%e4%b9%89%e5%9f%9f%e5%90%8d" class="header-anchor"&gt;&lt;/a&gt;自定义域名
&lt;/h2&gt;&lt;p&gt;在 Webview 选项卡网址右侧的第一个图标点开自定义域名&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/memos-on-replit/7.webp"
width="674"
height="512"
loading="lazy" style="display:block;margin:0 auto;"
alt="replit-custom-domain"
class="gallery-image"
data-flex-grow="131"
data-flex-basis="315px"
&gt;&lt;/p&gt;
&lt;p&gt;然后到你的 DNS 解析服务商添加 &lt;code&gt;cname&lt;/code&gt; 和 &lt;code&gt;txt&lt;/code&gt; 解析&lt;/p&gt;
&lt;h2 id="版本升级"&gt;&lt;a href="#%e7%89%88%e6%9c%ac%e5%8d%87%e7%ba%a7" class="header-anchor"&gt;&lt;/a&gt;版本升级
&lt;/h2&gt;&lt;p&gt;注意备份数据！&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 先备份数据库然后下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;zip memeos-db.zip -qr db/*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 备份旧的memos&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mv memos memos.bk
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安装最新版（项目构建的最新版）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bash main.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或者指定版本（项目构建的某个版本）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bash main.sh v0.12.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="防止-replit-休眠"&gt;&lt;a href="#%e9%98%b2%e6%ad%a2-replit-%e4%bc%91%e7%9c%a0" class="header-anchor"&gt;&lt;/a&gt;防止 Replit 休眠
&lt;/h2&gt;&lt;p&gt;好像 Replit 超过五分钟不操作就会休眠，官方也提供了保持唤醒的方案，但是要付费，不得不说，这点难受了，好在有方式可以替代&lt;/p&gt;
&lt;h3 id="方式-1linux-系统-crontab"&gt;&lt;a href="#%e6%96%b9%e5%bc%8f-1linux-%e7%b3%bb%e7%bb%9f-crontab" class="header-anchor"&gt;&lt;/a&gt;方式 1：linux 系统 crontab
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;main.sh&lt;/code&gt; 中加入以下代码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl 你memos地址 &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="方式-2监控平台定时访问"&gt;&lt;a href="#%e6%96%b9%e5%bc%8f-2%e7%9b%91%e6%8e%a7%e5%b9%b3%e5%8f%b0%e5%ae%9a%e6%97%b6%e8%ae%bf%e9%97%ae" class="header-anchor"&gt;&lt;/a&gt;方式 2：监控平台定时访问
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;我目前知道的平台：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a class="link" href="https://uptime.betterstack.com/" target="_blank" rel="noopener"
&gt;Uptime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://cron-job.org" target="_blank" rel="noopener"
&gt;cron-job&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://uptime.kuma.pet/" target="_blank" rel="noopener"
&gt;Uptime Kuma&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;div class="notice notice-warning" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 576 512" fill="#704343"&gt;&lt;path d="M570 440c18 32-5 72-42 72H48c-37 0-60-40-42-72L246 24c19-32 65-32 84 0l240 416zm-282-86a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;Replit 的免费版本中所有项目都是公开的，所以任何人都可以看到你的文件，包括数据库，所以不要用来存重要数据或者隐私数据。&lt;/p&gt;&lt;/div&gt;</description></item><item><title>一些 Hugo 短代码</title><link>https://www.xalaok.top/post/hugo-shortcodes/</link><pubDate>Tue, 18 Jul 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/hugo-shortcodes/</guid><description>&lt;img src="https://www.xalaok.top/post/hugo-shortcodes/cover.webp" alt="Featured image of post 一些 Hugo 短代码" /&gt;
&lt;div class="notice notice-tip" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#437052"&gt;&lt;path d="M504 256a248 248 0 11-496 0 248 248 0 01496 0zM227 387l184-184c7-6 7-16 0-22l-22-23c-7-6-17-6-23 0L216 308l-70-70c-6-6-16-6-23 0l-22 23c-7 6-7 16 0 22l104 104c6 7 16 7 22 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;本文为了防止在代码块中的短代码被 Hugo 转译，在代码块中添加了 &lt;code&gt;\&lt;/code&gt;，请在使用时去除&lt;/p&gt;&lt;/div&gt;
&lt;h2 id="notice"&gt;&lt;a href="#notice" class="header-anchor"&gt;&lt;/a&gt;Notice
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;感谢：&lt;a class="link" href="https://github.com/martignoni/hugo-notice" target="_blank" rel="noopener"
&gt;martignoni&lt;/a&gt; &amp;amp; &lt;a class="link" href="https://guanqr.com/tech/website/hugo-shortcodes-customization/#notice" target="_blank" rel="noopener"
&gt;荷戟独彷徨&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="配置"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;notice.html&lt;/code&gt; 并填入以下代码：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $noticeType := .Get 0 -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $raw := (markdownify .Inner | chomp) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $block := findRE &amp;#34;(?is)^&lt;span class="err"&gt;&amp;lt;&lt;/span&gt;(?:address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h(?:1|2|3|4|5|6)|header|hgroup|hr|li|main|nav|noscript|ol|output|p|pre|section|table|tfoot|ul|video)\\b&amp;#34; $raw 1 -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $icon := (replace (index $.Site.Data.SVG $noticeType) &amp;#34;icon&amp;#34; &amp;#34;icon notice-icon&amp;#34;) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;notice {{ $noticeType }}&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;if&lt;/span&gt; &lt;span class="na"&gt;len&lt;/span&gt; &lt;span class="err"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Params&lt;/span&gt; &lt;span class="err"&gt;|&lt;/span&gt; &lt;span class="na"&gt;eq&lt;/span&gt; &lt;span class="na"&gt;2&lt;/span&gt; &lt;span class="err"&gt;}}&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Get 1 }}&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;end&lt;/span&gt; &lt;span class="err"&gt;}}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;notice-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $icon | safeHTML }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{- if or $block (not $raw) }}{{ $raw }}{{ else }}&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $raw }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中添加自定义 CSS 样式：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="nt"&gt;短代码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt; &lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;last&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;child&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-icon&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.2&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.2&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-warning&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-info&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-note&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-tip&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-theme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dark&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;&amp;amp;.notice-warning&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-info&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-note&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notice-tip&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsla&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.notice-title&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hsl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;在 &lt;code&gt;~/data/SVG.toml&lt;/code&gt; 中插入图标：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Notice Icon&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;notice-warning&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 576 512&amp;#34; fill=&amp;#34;#704343&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M570 440c18 32-5 72-42 72H48c-37 0-60-40-42-72L246 24c19-32 65-32 84 0l240 416zm-282-86a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;notice-info&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 512 512&amp;#34; fill=&amp;#34;#705943&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M256 8a248 248 0 100 496 248 248 0 000-496zm0 110a42 42 0 110 84 42 42 0 010-84zm56 254c0 7-5 12-12 12h-88c-7 0-12-5-12-12v-24c0-7 5-12 12-12h12v-64h-12c-7 0-12-5-12-12v-24c0-7 5-12 12-12h64c7 0 12 5 12 12v100h12c7 0 12 5 12 12v24z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;notice-note&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 512 512&amp;#34; fill=&amp;#34;#436170&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M504 256a248 248 0 11-496 0 248 248 0 01496 0zm-248 50a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;notice-tip&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 512 512&amp;#34; fill=&amp;#34;#437052&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M504 256a248 248 0 11-496 0 248 248 0 01496 0zM227 387l184-184c7-6 7-16 0-22l-22-23c-7-6-17-6-23 0L216 308l-70-70c-6-6-16-6-23 0l-22 23c-7 6-7 16 0 22l104 104c6 7 16 7 22 0z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;若为 &lt;code&gt;~/data/SVG.yaml&lt;/code&gt; 则填入：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Notice Icon&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;notice-warning &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 576 512&amp;#34; fill=&amp;#34;#704343&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M570 440c18 32-5 72-42 72H48c-37 0-60-40-42-72L246 24c19-32 65-32 84 0l240 416zm-282-86a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;notice-info &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 512 512&amp;#34; fill=&amp;#34;#705943&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M256 8a248 248 0 100 496 248 248 0 000-496zm0 110a42 42 0 110 84 42 42 0 010-84zm56 254c0 7-5 12-12 12h-88c-7 0-12-5-12-12v-24c0-7 5-12 12-12h12v-64h-12c-7 0-12-5-12-12v-24c0-7 5-12 12-12h64c7 0 12 5 12 12v100h12c7 0 12 5 12 12v24z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;notice-note &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 512 512&amp;#34; fill=&amp;#34;#436170&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M504 256a248 248 0 11-496 0 248 248 0 01496 0zm-248 50a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;notice-tip &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; class=&amp;#34;icon&amp;#34; viewBox=&amp;#34;0 0 512 512&amp;#34; fill=&amp;#34;#437052&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M504 256a248 248 0 11-496 0 248 248 0 01496 0zM227 387l184-184c7-6 7-16 0-22l-22-23c-7-6-17-6-23 0L216 308l-70-70c-6-6-16-6-23 0l-22 23c-7 6-7 16 0 22l104 104c6 7 16 7 22 0z&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="na"&gt;notice-warning&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;你好。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="na"&gt;notice-info&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;你好。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="na"&gt;notice-note&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;你好。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="na"&gt;notice-tip&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;你好。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;notice&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="notice notice-warning" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 576 512" fill="#704343"&gt;&lt;path d="M570 440c18 32-5 72-42 72H48c-37 0-60-40-42-72L246 24c19-32 65-32 84 0l240 416zm-282-86a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;你好。&lt;/p&gt;&lt;/div&gt;
&lt;div class="notice notice-info" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#705943"&gt;&lt;path d="M256 8a248 248 0 100 496 248 248 0 000-496zm0 110a42 42 0 110 84 42 42 0 010-84zm56 254c0 7-5 12-12 12h-88c-7 0-12-5-12-12v-24c0-7 5-12 12-12h12v-64h-12c-7 0-12-5-12-12v-24c0-7 5-12 12-12h64c7 0 12 5 12 12v100h12c7 0 12 5 12 12v24z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;你好。&lt;/p&gt;&lt;/div&gt;
&lt;div class="notice notice-note" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#436170"&gt;&lt;path d="M504 256a248 248 0 11-496 0 248 248 0 01496 0zm-248 50a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;你好。&lt;/p&gt;&lt;/div&gt;
&lt;div class="notice notice-tip" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#437052"&gt;&lt;path d="M504 256a248 248 0 11-496 0 248 248 0 01496 0zM227 387l184-184c7-6 7-16 0-22l-22-23c-7-6-17-6-23 0L216 308l-70-70c-6-6-16-6-23 0l-22 23c-7 6-7 16 0 22l104 104c6 7 16 7 22 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;你好。&lt;/p&gt;&lt;/div&gt;
&lt;h2 id="details"&gt;&lt;a href="#details" class="header-anchor"&gt;&lt;/a&gt;Details
&lt;/h2&gt;&lt;h3 id="配置-1"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-1" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;detail.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;details&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ (.Get 0) | markdownify }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Inner | markdownify }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;details&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-1"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-1" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;detail&lt;/span&gt; &lt;span class="err"&gt;&amp;#34;&lt;/span&gt;&lt;span class="na"&gt;点这里看隐藏内容&lt;/span&gt;&lt;span class="err"&gt;！&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;这里是隐藏内容！🥰
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;detail&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;details&gt;
&lt;summary&gt;点这里看隐藏内容！&lt;/summary&gt;
这里是隐藏内容！🥰
&lt;/details&gt;
&lt;h2 id="聊天气泡"&gt;&lt;a href="#%e8%81%8a%e5%a4%a9%e6%b0%94%e6%b3%a1" class="header-anchor"&gt;&lt;/a&gt;聊天气泡
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;感谢：&lt;a class="link" href="https://yelleis.top/p/61fdb627/" target="_blank" rel="noopener"
&gt;Yelle🦋&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="配置-2"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-2" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;chat.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if eq (.Get &amp;#34;position&amp;#34;) &amp;#34;left&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat --other&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat__inner&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat__meta&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .Get &amp;#34;name&amp;#34; }}&lt;span class="ni"&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;/span&gt;{{ .Get &amp;#34;timestamp&amp;#34; }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat__text&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Inner }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ else if eq (.Get &amp;#34;position&amp;#34;) &amp;#34;right&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat --self&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat__inner&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat__meta&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text-align: right;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .Get &amp;#34;timestamp&amp;#34; }}&lt;span class="ni"&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;/span&gt;{{ .Get &amp;#34;name&amp;#34; }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;chat__text&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Inner }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 添加相对定位，以便定位尖角箭头 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;transform&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 添加过渡效果，使放大平滑 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1.05&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--self&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ecf5ff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#000000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;fit-content&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 尖角箭头 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--self&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nd"&gt;before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;-18&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 调整箭头位置 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;-50&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="mh"&gt;#ecf5ff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 箭头颜色与对话框背景颜色一致 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 左边对话框样式 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--other&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ffecec&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#333&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;fit-content&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 左边对话框的尖角箭头 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--other&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nd"&gt;before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;-18&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;-50&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="mh"&gt;#ffecec&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 消息元数据样式（名称和时间戳） */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat__meta&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.67&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#707070&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 消息文本样式 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat__text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.9&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;word-break&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;break-all&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dark&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;.chat.--self&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fefefe&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#253958&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--self&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nd"&gt;before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="mh"&gt;#253958&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--other&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fefefe&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#1a1a1a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;--other&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nd"&gt;before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="mh"&gt;#1a1a1a&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt; &lt;span class="kc"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;chat__meta&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#b1b1b1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-2"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-2" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;chat&lt;/span&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;left&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;John Doe&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;timestamp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2023-09-12 14:30&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;这是左边的消息内容。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;chat&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;chat&lt;/span&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;right&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Alice&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;timestamp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2023-09-12 14:45&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;这是右边的消息内容，测试长长长长长长长长长长长长长长长长长长长长长长长长度。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;chat&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="chat --other"&gt;
&lt;div class="chat__inner"&gt;
&lt;div class="chat__meta"&gt;John Doe&amp;nbsp;&amp;nbsp;&amp;nbsp;2023-09-12 14:30&lt;/div&gt;
&lt;div class="chat__text"&gt;
这是左边的消息内容。
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.chat {
margin: 10px;
padding: 10px;
position: relative;
transition: transform 0.2s;
max-width: 80%;
min-width: 15%;
}
.chat:hover {
transform: scale(1.05);
}
.chat.--self {
text-align: left;
background-color: #ecf5ff;
color: #000000;
border-radius: 15px;
width: fit-content;
margin-left: auto;
}
.chat.--self::before {
content: "";
position: absolute;
right: -18px;
bottom: 5px;
transform: translateY(-50%);
border-width: 15px 0 0 20px;
border-style: solid;
border-color: transparent transparent transparent #ecf5ff;
}
.chat.--other {
text-align: left;
background-color: #ffecec;
color: #333;
border-radius: 15px;
position: relative;
width: fit-content;
}
.chat.--other::before {
content: "";
position: absolute;
left: -18px;
bottom: 5px;
transform: translateY(-50%);
border-width: 15px 20px 0 0;
border-style: solid;
border-color: transparent #ffecec transparent transparent;
}
.chat__meta {
font-weight: bold;
font-size: 0.67em;
color: #707070;
margin-bottom: 5px;
}
.chat__text {
font-size: 0.9em;
margin-left: 10px;
word-break: break-all;
}
[data-scheme="dark"] {
.chat.--self {
color: #fefefe;
background-color: #253958;
}
.chat.--self::before {
border-color: transparent transparent transparent #253958;
}
.chat.--other {
color: #fefefe;
background-color: #1a1a1a;
}
.chat.--other::before {
border-color: transparent #1a1a1a transparent transparent;
}
.chat__meta {
color: #b1b1b1;
}
}
&lt;/style&gt;
&lt;div class="chat --self"&gt;
&lt;div class="chat__inner"&gt;
&lt;div class="chat__meta" style="text-align: right;"&gt;2023-09-12 14:45&amp;nbsp;&amp;nbsp;&amp;nbsp;Alice&lt;/div&gt;
&lt;div class="chat__text"&gt;
这是右边的消息内容，测试长长长长长长长长长长长长长长长长长长长长长长长长度。
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.chat {
margin: 10px;
padding: 10px;
position: relative;
transition: transform 0.2s;
max-width: 80%;
min-width: 15%;
}
.chat:hover {
transform: scale(1.05);
}
.chat.--self {
text-align: left;
background-color: #ecf5ff;
color: #000000;
border-radius: 15px;
width: fit-content;
margin-left: auto;
}
.chat.--self::before {
content: "";
position: absolute;
right: -18px;
bottom: 5px;
transform: translateY(-50%);
border-width: 15px 0 0 20px;
border-style: solid;
border-color: transparent transparent transparent #ecf5ff;
}
.chat.--other {
text-align: left;
background-color: #ffecec;
color: #333;
border-radius: 15px;
position: relative;
width: fit-content;
}
.chat.--other::before {
content: "";
position: absolute;
left: -18px;
bottom: 5px;
transform: translateY(-50%);
border-width: 15px 20px 0 0;
border-style: solid;
border-color: transparent #ffecec transparent transparent;
}
.chat__meta {
font-weight: bold;
font-size: 0.67em;
color: #707070;
margin-bottom: 5px;
}
.chat__text {
font-size: 0.9em;
margin-left: 10px;
word-break: break-all;
}
[data-scheme="dark"] {
.chat.--self {
color: #fefefe;
background-color: #253958;
}
.chat.--self::before {
border-color: transparent transparent transparent #253958;
}
.chat.--other {
color: #fefefe;
background-color: #1a1a1a;
}
.chat.--other::before {
border-color: transparent #1a1a1a transparent transparent;
}
.chat__meta {
color: #b1b1b1;
}
}
&lt;/style&gt;
&lt;h2 id="时间轴"&gt;&lt;a href="#%e6%97%b6%e9%97%b4%e8%bd%b4" class="header-anchor"&gt;&lt;/a&gt;时间轴
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;感谢：&lt;a class="link" href="https://yelleis.top/p/61fdb627/" target="_blank" rel="noopener"
&gt;Yelle🦋&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="配置-3"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-3" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;timeline.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $date := .Get &amp;#34;date&amp;#34; -}} {{- $title := .Get &amp;#34;title&amp;#34; -}} {{- $description := .Get &amp;#34;description&amp;#34; -}} {{- $tags := .Get &amp;#34;tags&amp;#34; -}}{{- $url := .Get &amp;#34;url&amp;#34; -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__row&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__time&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__time&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $date }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__split-line&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__content&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__tags&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{- with split $tags &amp;#34;, &amp;#34; -}} {{- range . }}{{- if eq . &amp;#34;样式&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__tag timeline__tag-style&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ . }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; {{- else if eq . &amp;#34;文章&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__tag timeline__tag-article&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ . }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; {{- else if eq . &amp;#34;页面&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__tag timeline__tag-page&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ . }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; {{- else }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__tag&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ . }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; {{- end }} {{- end }} {{- end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $url }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $title }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- title 可点击，默认就是跳转时间轴所在页 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;timeline__description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $description }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__row&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;90&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__time&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;110&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#5d5d5d&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;text-transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;uppercase&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__time-text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__split-line&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;-20&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#84c4e2&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__split-line&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;-4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;-50&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#c9e5f2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#84c4e2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;-1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;4.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mf"&gt;1.2&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;family&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;teshu&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;fit-content&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;vertical-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;middle&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 垂直居中对齐 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__tags&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__tag&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;secondary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#84c4e2&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#84c4e2&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;999&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;white-space&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;nowrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.4&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;vertical-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;middle&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 垂直居中对齐 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__description&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#5d5d5d&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;overflow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;text-overflow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;ellipsis&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mf"&gt;0.4&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 添加 1.5rem 的左侧内边距 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 为类名为 &amp;#34;timeline__tag-style&amp;#34; 的标签定义颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__tag-style&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#c581da&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 替换为你希望的颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#c581da&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 与背景色相同或不同，根据需要自定义 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#FFFFFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 根据需要选择文本颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 为类名为 &amp;#34;timeline__tag-article&amp;#34; 的标签定义颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__tag-article&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#92d392&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 替换为你希望的颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#92d392&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 与背景色相同或不同，根据需要自定义 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#000000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 根据需要选择文本颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 为类名为 &amp;#34;timeline__tag-page&amp;#34; 的标签定义颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__tag-page&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#707070&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 替换为你希望的颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#707070&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 与背景色相同或不同，根据需要自定义 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#FFFFFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 根据需要选择文本颜色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;media&lt;/span&gt; &lt;span class="nt"&gt;screen&lt;/span&gt; &lt;span class="nt"&gt;and&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;768px&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__time&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 在小屏幕上使用较小的字体大小 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 在小屏幕上使用较小的字体大小 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;timeline__description&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* 在小屏幕上使用较小的字体大小 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-3"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-3" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;timeline&lt;/span&gt; &lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2023-10-01&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;国庆节&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;祖国生日快乐&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;节日&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="timeline__row"&gt;
&lt;div class="timeline__time"&gt;
&lt;div class="timeline__time"&gt;2023-10-01&lt;/div&gt;
&lt;div class="timeline__split-line"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="timeline__content"&gt;
&lt;div class="timeline__tags"&gt;
&lt;span class="timeline__tag"&gt;节日&lt;/span&gt;
&lt;/div&gt;
&lt;div class="timeline__title"&gt;国庆节&lt;/div&gt;
&lt;div class="timeline__description"&gt;
祖国生日快乐
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.timeline {
display: flex;
flex-direction: column;
}
.timeline__row {
display: flex;
padding-left: 4%;
height: 90px;
}
.timeline__time {
flex: 0 0 110px;
color: #5d5d5d;
font-size: 17px;
text-transform: uppercase;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0.5rem 0;
}
.timeline__time-text {
margin: 0;
}
.timeline__split-line {
position: absolute;
top: 0.5rem;
right: -20px;
height: 100%;
width: 2px;
background-color: #84c4e240;
z-index: 0;
}
.timeline__split-line:before {
content: "";
position: absolute;
top: 24%;
right: -4px;
transform: translateY(-50%);
width: 10px;
height: 10px;
background-color: #c9e5f2;
box-shadow: 0 0 0 4px var(--theme);
border-radius: 50%;
border: 0px solid #84c4e2;
z-index: -1;
}
.timeline__content {
flex: 1;
margin-left: 4.5rem;
padding: 0.5rem 0 1.2rem 0;
}
.timeline__title {
margin: 0;
margin-bottom: 2px;
padding-top: 3px;
margin-left: 0.5rem;
color: var(--content);
font-family: var(--font-family-teshu);
font-size: 19px;
font-weight: 600;
width: fit-content;
display: inline-block;
vertical-align: middle;
}
.timeline__tags {
display: inline-block;
padding: 0;
margin-left: 0.3rem;
align-items: center;
gap: 0.3rem;
}
.timeline__tag {
display: inline-block;
color: var(--secondary);
background-color: #84c4e230;
border: 1.5px solid #84c4e230;
border-radius: 999px;
padding: 0rem 0.5rem;
font-size: 12px;
white-space: nowrap;
line-height: 1.4rem;
opacity: 0.8;
vertical-align: middle;
}
.timeline__description {
font-size: 15px;
line-height: 1.6;
color: #5d5d5d;
overflow: hidden;
text-overflow: ellipsis;
margin: 0.5rem 0 0.4rem 1.5rem;
}
.timeline__tag-style {
background-color: #c581da;
border-color: #c581da;
color: #FFFFFF;
}
.timeline__tag-article {
background-color: #92d392;
border-color: #92d392;
color: #000000;
}
.timeline__tag-page {
background-color: #707070;
border-color: #707070;
color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.timeline__time {
font-size: 14px;
}
.timeline__title {
font-size: 16px;
}
.timeline__description {
font-size: 14px;
}
}
&lt;/style&gt;
&lt;h2 id="neodb"&gt;&lt;a href="#neodb" class="header-anchor"&gt;&lt;/a&gt;NeoDB
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;感谢：&lt;a class="link" href="https://immmmm.com/hi-neodb-api/" target="_blank" rel="noopener"
&gt;木木木木木&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="配置-4"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-4" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;neodb.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $dbUrl := .Get 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $dbApiUrl := &amp;#34;https://neodb.social/api/&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $dbType := &amp;#34;&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if ( findRE `^.*neodb\.social\/.*` $dbUrl ) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ $dbType = replaceRE `.*neodb.social\/(.*\/.*)` &amp;#34;$1&amp;#34; $dbUrl }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ else }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ $dbType = $dbUrl }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ $dbApiUrl = &amp;#34;https://neodb.social/api/catalog/fetch?url=&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $dbFetch := getJSON $dbApiUrl $dbType }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if $dbFetch }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ $itemRating := 0 }}{{ with $dbFetch.rating }}{{ $itemRating = . }}{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card-subject&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card-post&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;loading&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;decoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;async&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;referrerpolicy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no-referrer&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $dbFetch.cover_image_url }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card-content&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $dbUrl }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;cute&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;_blank&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;noreferrer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $dbFetch.title }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rating&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;allstardark&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;allstarlight&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;width:{{mul 10 $itemRating }}%&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rating_nums&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $itemRating }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card-abstract&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $dbFetch.brief }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;db-card-cate&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $dbFetch.category }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{else}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text-align: center;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;small&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;远程获取内容失败，请检查 API 有效性。&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;small&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{end}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cm"&gt;/*neodb*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#336699&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.25&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.25&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-subject&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex-start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;line-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;relative&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.dark-mode&lt;/span&gt; &lt;span class="nc"&gt;.db-card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#252627&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-post&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;96&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;flex&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-title&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-decoration&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;&lt;span class="k"&gt;!important&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-abstract&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-comment&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;max-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-cate&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f99b01&lt;/span&gt;&lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;small&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-style&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;italic&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;capitalize&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-post&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;96&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;96&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;-o-object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;cover&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;cover&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.rating&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;line-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-items&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.rating&lt;/span&gt; &lt;span class="nc"&gt;.allstardark&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f99b01&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-repeat&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-image&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sx"&gt;url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik05MDguMSAzNTMuMWwtMjUzLjktMzYuOUw1NDAuNyA4Ni4xYy0zLjEtNi4zLTguMi0xMS40LTE0LjUtMTQuNS0xNS44LTcuOC0zNS0xLjMtNDIuOSAxNC41TDM2OS44IDMxNi4ybC0yNTMuOSAzNi45Yy03IDEtMTMuNCA0LjMtMTguMyA5LjMtMTIuMyAxMi43LTEyLjEgMzIuOS42IDQ1LjNsMTgzLjcgMTc5LjEtNDMuNCAyNTIuOWMtMS4yIDYuOS0uMSAxNC4xIDMuMiAyMC4zIDguMiAxNS42IDI3LjYgMjEuNyA0My4yIDEzLjRMNTEyIDc1NGwyMjcuMSAxMTkuNGM2LjIgMy4zIDEzLjQgNC40IDIwLjMgMy4yIDE3LjQtMyAyOS4xLTE5LjUgMjYuMS0zNi45bC00My40LTI1Mi45IDE4My43LTE3OS4xYzUtNC45IDguMy0xMS4zIDkuMy0xOC4zIDIuNy0xNy41LTkuNS0zMy43LTI3LTM2LjN6TTY2NC44IDU2MS42bDM2LjEgMjEwLjNMNTEyIDY3Mi43IDMyMy4xIDc3MmwzNi4xLTIxMC4zLTE1Mi44LTE0OUw0MTcuNiAzODIgNTEyIDE5MC43IDYwNi40IDM4MmwyMTEuMiAzMC43LTE1Mi44IDE0OC45eiIgZmlsbD0iI2Y5OWIwMSIvPjwvc3ZnPg==)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.rating&lt;/span&gt; &lt;span class="nc"&gt;.allstarlight&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f99b01&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-repeat&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background-image&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sx"&gt;url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik05MDguMSAzNTMuMWwtMjUzLjktMzYuOUw1NDAuNyA4Ni4xYy0zLjEtNi4zLTguMi0xMS40LTE0LjUtMTQuNS0xNS44LTcuOC0zNS0xLjMtNDIuOSAxNC41TDM2OS44IDMxNi4ybC0yNTMuOSAzNi45Yy03IDEtMTMuNCA0LjMtMTguMyA5LjMtMTIuMyAxMi43LTEyLjEgMzIuOS42IDQ1LjNsMTgzLjcgMTc5LjEtNDMuNCAyNTIuOWMtMS4yIDYuOS0uMSAxNC4xIDMuMiAyMC4zIDguMiAxNS42IDI3LjYgMjEuNyA0My4yIDEzLjRMNTEyIDc1NGwyMjcuMSAxMTkuNGM2LjIgMy4zIDEzLjQgNC40IDIwLjMgMy4yIDE3LjQtMyAyOS4xLTE5LjUgMjYuMS0zNi45bC00My40LTI1Mi45IDE4My43LTE3OS4xYzUtNC45IDguMy0xMS4zIDkuMy0xOC4zIDIuNy0xNy41LTkuNS0zMy43LTI3LTM2LjN6IiBmaWxsPSIjZjk5YjAxIi8+PC9zdmc+)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@media&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;max-width&lt;/span&gt;&lt;span class="nd"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;550px&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;.8&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.db-card-comment&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;none&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-4"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-4" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;neodb&lt;/span&gt; &lt;span class="err"&gt;&amp;#34;&lt;/span&gt;&lt;span class="na"&gt;NeoDB&lt;/span&gt; &lt;span class="na"&gt;网址&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="na"&gt;豆瓣网址&lt;/span&gt;&lt;span class="err"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="友链"&gt;&lt;a href="#%e5%8f%8b%e9%93%be" class="header-anchor"&gt;&lt;/a&gt;友链
&lt;/h2&gt;&lt;h3 id="配置-5"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-5" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;friend.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $name := .Get &amp;#34;name&amp;#34; | default (.Get 0) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $url := .Get &amp;#34;url&amp;#34; | default (.Get 1) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $avatar := .Get &amp;#34;avatar&amp;#34; | default (.Get 2) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $bio := .Get &amp;#34;bio&amp;#34; | default (.Get 3) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{- $url -}}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{- $name -}}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-link&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;_blank&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-link-div&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-link-avatar&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;{{&lt;/span&gt; &lt;span class="err"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Get&lt;/span&gt; &lt;span class="err"&gt;&amp;#34;&lt;/span&gt;&lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="err"&gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;}}&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-avatar&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;loading&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Avatar&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-link-info&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;i&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;fa fa-link&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;aria-hidden&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;i&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;i&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $name }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;i&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;friend-bio&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $bio }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;/assets/scss/custom.scss&lt;/code&gt; 中用 &lt;code&gt;@import &amp;quot;partials/layout/links.scss&amp;quot;;&lt;/code&gt; 引入 scss&lt;br&gt;
在 &lt;code&gt;/assets/scss&lt;/code&gt; 创建 &lt;code&gt;links.scss&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 头像边框颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$avatar-border-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#566a82&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$avatar-border-color-dark&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#C0C0C0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// style-card 背景色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$friend-link-background-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#51a8ca&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$friend-link-background-color-dark&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#696971&lt;/span&gt;&lt;span class="mi"&gt;41&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 友链 name 原始色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$friend-link-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#11a1a2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$friend-link-color-dark&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ffffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 友链 name 气泡响应对比色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$friend-link-hover-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ea4e2f&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$friend-link-hover-color-dark&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;241&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;213&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;159&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// bio 简介上下文
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$context-color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#404040&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$context-color-dark&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#c0c0c0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 友链头像及头像边框的样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.friend-avatar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;56&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;56&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-left&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;inset&lt;/span&gt; &lt;span class="nv"&gt;$avatar-border-color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;dark&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="ni"&gt;inset&lt;/span&gt; &lt;span class="nv"&gt;$avatar-border-color-dark&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.friend-link-div&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 实现卡片双栏排列效果
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-inline-start&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;43&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;inline-block&lt;/span&gt; &lt;span class="k"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 控制上下连续排列的卡片之间的行距
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-bottom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 卡片圆角
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;border-radius&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 卡片阴影
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;-webkit-box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;231&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;224&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;224&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;-moz-box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.7&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="nf"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.16&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 卡片背景色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$friend-link-background-color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;dark&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$friend-link-background-color-dark&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 卡牌气泡响应动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;-webkit-transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.4&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;-moz-transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.4&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;-o-transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.4&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;transform&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="mf"&gt;.15&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="ni"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="mf"&gt;.03&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.friend-link-avatar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;92&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;float&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// name 特效样式， hover 气泡效果,友链 name 变色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.friend-link-info&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$friend-link-color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;dark&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$friend-link-color-dark&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$friend-link-hover-color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;dark&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$friend-link-hover-color-dark&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// name 文字样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.friend-name&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;ellipsis&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;white-space&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;nowrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-style&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Comic Sans MS&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;cursive&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// bio 文字样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;.friend-bio&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;text-overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;ellipsis&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;overflow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;white-space&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;nowrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-top&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// font: 12px/1 Tahoma,Helvetica,Arial,&amp;#34;\5b8b\4f53&amp;#34;,sans-serif;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Hiragino Sans GB&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Microsoft Yahei&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;微软雅黑&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$context-color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-scheme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;dark&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$context-color-dark&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 响应式页面，允许根据不同的尺寸调整样式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="ni"&gt;screen&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;720&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.friend-link-div&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;92&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin-right&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.friend-bio&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;align-content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;justify-content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.friend-link-avatar&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;84&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// .friend-link-info {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// height: 100%;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// margin: auto;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// display: flex;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// align-items: center;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// justify-content: left;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nc"&gt;.friend-name&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-style&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="ni"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Microsoft Yahei&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;微软雅黑&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="ni"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-5"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-5" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;friend&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;名称&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;网址&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;头像&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;bio&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;简介&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="块引用"&gt;&lt;a href="#%e5%9d%97%e5%bc%95%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;块引用
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;感谢：&lt;a class="link" href="https://stack.jimmycai.com/writing/shortcodes#quote" target="_blank" rel="noopener"
&gt;Jimmy&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="配置-6"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-6" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;quote.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;blockquote&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .Inner | markdownify }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{- if or (.Get &amp;#34;author&amp;#34;) (.Get &amp;#34;source&amp;#34;) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;cite&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;― &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        {{- if .Get &amp;#34;author&amp;#34; -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            {{- .Get &amp;#34;author&amp;#34; -}}{{- if .Get &amp;#34;source&amp;#34; -}}, {{ end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        {{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        {{- with .Get &amp;#34;url&amp;#34; -}}&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ . }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;cite&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .Get &amp;#34;source&amp;#34; }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;cite&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        {{- if .Get &amp;#34;url&amp;#34; -}}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;blockquote&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-6"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-6" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;quote&lt;/span&gt; &lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;作者/说话的人&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;书名/来源&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;链接（可选）&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;内容
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;quote&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;&lt;span class="cite"&gt;&lt;span&gt;― &lt;/span&gt;&lt;span&gt;A famous person, &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Book"&gt;&lt;cite&gt;The book he wrote&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;h2 id="哔哩哔哩"&gt;&lt;a href="#%e5%93%94%e5%93%a9%e5%93%94%e5%93%a9" class="header-anchor"&gt;&lt;/a&gt;哔哩哔哩
&lt;/h2&gt;&lt;h3 id="配置-7"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-7" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;bilibili.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $vid := (.Get 0) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $videopage := default 1 (.Get 1) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $basicQuery := querify &amp;#34;page&amp;#34; $videopage &amp;#34;high_quality&amp;#34; 1 &amp;#34;as_wide&amp;#34; 1 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $videoQuery := &amp;#34;&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if strings.HasPrefix (lower $vid) &amp;#34;av&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ $videoQuery = querify &amp;#34;aid&amp;#34; (strings.TrimPrefix &amp;#34;av&amp;#34; (lower $vid)) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ else if strings.HasPrefix (lower $vid) &amp;#34;bv&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    {{ $videoQuery = querify &amp;#34;bvid&amp;#34; $vid }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ else }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Bilibili 视频av号或BV号错误！请检查视频av号或BV号是否正确&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;当前视频av或BV号：{{ $vid }}，视频分P：{{ $videopage }}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;video-wrapper&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;iframe&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://player.bilibili.com/player.html?{{ $basicQuery | safeURL }}&amp;amp;{{ $videoQuery | safeURL }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;scrolling&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;frameborder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;framespacing&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;allowfullscreen&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;iframe&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-7"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-7" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;bilibili&lt;/span&gt; &lt;span class="na"&gt;VIDEO_ID&lt;/span&gt; &lt;span class="na"&gt;PART_NUMBER&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Video_ID&lt;/code&gt;: &lt;code&gt;AV&lt;/code&gt;或&lt;code&gt;BV&lt;/code&gt;
&lt;code&gt;PART_NUMBER&lt;/code&gt;（可选）：指定要播放的视频序号&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="腾讯视频"&gt;&lt;a href="#%e8%85%be%e8%ae%af%e8%a7%86%e9%a2%91" class="header-anchor"&gt;&lt;/a&gt;腾讯视频
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;感谢：&lt;a class="link" href="https://stack.jimmycai.com/writing/shortcodes#tencent-video" target="_blank" rel="noopener"
&gt;Jimmy&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="配置-8"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-8" class="header-anchor"&gt;&lt;/a&gt;配置
&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;/layouts/shortcodes&lt;/code&gt; 创建 &lt;code&gt;tencent.html&lt;/code&gt; 并填入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $vid := .Get 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;video-wrapper&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;iframe&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://v.qq.com/txp/iframe/player.html?vid={{ $vid }}&amp;amp;auto=0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;scrolling&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;frameborder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;framespacing&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="na"&gt;allowfullscreen&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;iframe&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使用-8"&gt;&lt;a href="#%e4%bd%bf%e7%94%a8-8" class="header-anchor"&gt;&lt;/a&gt;使用
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{\{&lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;tencent&lt;/span&gt; &lt;span class="na"&gt;VIDEO_ID&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;}\}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Vercel 部署 Typecho 博客</title><link>https://www.xalaok.top/post/typecho-vercel/</link><pubDate>Sun, 16 Jul 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/typecho-vercel/</guid><description>&lt;img src="https://www.xalaok.top/post/typecho-vercel/cover.webp" alt="Featured image of post Vercel 部署 Typecho 博客" /&gt;&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;相信很多人不知道 Vercel 可以部署 PHP，可以在 &lt;a class="link" href="https://vercel.com/docs/runtimes?query=php#advanced-usage/community-runtimes" target="_blank" rel="noopener"
&gt;Vercel 文档&lt;/a&gt; 中看到确实支持&lt;/p&gt;
&lt;h2 id="准备工作"&gt;&lt;a href="#%e5%87%86%e5%a4%87%e5%b7%a5%e4%bd%9c" class="header-anchor"&gt;&lt;/a&gt;准备工作
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Github 账号&lt;/li&gt;
&lt;li&gt;Vercel 账号&lt;/li&gt;
&lt;li&gt;Typecho 程序&lt;/li&gt;
&lt;li&gt;数据库&lt;/li&gt;
&lt;li&gt;自己的域名（可选，国内注册可以首年1元甚至免费）&lt;br&gt;
部署完成之后默认会给你的项目分配一个 vercel.app 的三级域名，但是在 2021 年 vercel.app 域名被墙，大陆地区无法访问，因此强烈建议自己准备域名&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="过程"&gt;&lt;a href="#%e8%bf%87%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;过程
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;创建 Github 仓库&lt;/li&gt;
&lt;li&gt;本地解压 Typecho 程序&lt;/li&gt;
&lt;li&gt;在根目录下新建 &lt;code&gt;vercel.json&lt;/code&gt; 并填入以下代码&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;functions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;api/index.php&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;runtime&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vercel-php@0.6.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;routes&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;src&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/(.*)&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;dest&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/api/index.php&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="4"&gt;
&lt;li&gt;在根目录下新建 &lt;code&gt;config.inc.php&lt;/code&gt; 并填入以下代码&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * Typecho Blog Platform
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; *
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * @copyright Copyright (c) 2008 Typecho team (http://www.typecho.org)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * @license GNU General Public License 2.0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * @version $Id$
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 开启https */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;__TYPECHO_SECURE__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 定义根目录 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;__TYPECHO_ROOT_DIR__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;dirname&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;__FILE__&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 定义插件目录(相对路径) */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;__TYPECHO_PLUGIN_DIR__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/usr/plugins&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 定义模板目录(相对路径) */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;__TYPECHO_THEME_DIR__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/usr/themes&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 后台路径(相对路径) */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;__TYPECHO_ADMIN_DIR__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/admin/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 设置包含路径 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;set_include_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;get_include_path&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;PATH_SEPARATOR&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;__TYPECHO_ROOT_DIR__&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/var&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;PATH_SEPARATOR&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;__TYPECHO_ROOT_DIR__&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;__TYPECHO_PLUGIN_DIR__&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 载入API支持 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Typecho/Common.php&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 程序初始化 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Typecho_Common&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/** 定义数据库参数 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Typecho_Db&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Pdo_Mysql&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;typecho_&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;addServer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;array&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;host&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;数据库地址&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;user&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;数据库用户名&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;password&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;数据库密码&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;charset&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;utf8mb4&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;port&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;3306&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;database&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;数据库名称&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;engine&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;MyISAM&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;Typecho_Db&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;READ&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nx"&gt;Typecho_Db&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;WRITE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Typecho_Db&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$db&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="5"&gt;
&lt;li&gt;在根目录下新建 &lt;code&gt;/api/index.php&lt;/code&gt; 并填入以下代码&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;__DIR__&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/..&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;$_SERVER&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;PHP_SELF&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;file_exists&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="no"&gt;__DIR__&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/../index.php&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#echo $_SERVER[&amp;#34;PHP_SELF&amp;#34;];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="4"&gt;
&lt;li&gt;
&lt;p&gt;下载一个自己心仪的主题解压放到 &lt;code&gt;/usr/themes/&lt;/code&gt; 目录下&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将所有文件上传到第一步创建好的 GitHub 仓库里&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;a class="link" href="https://vercel.com" target="_blank" rel="noopener"
&gt;Vercel&lt;/a&gt; 然后通过 GitHub 快捷登录&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/typecho-vercel/loginvercel.webp"
width="1650"
height="799"
loading="lazy" style="display:block;margin:0 auto;"
alt="Login"
class="gallery-image"
data-flex-grow="206"
data-flex-basis="495px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;登陆后会自动跳转 Dashboard，点击 Add new - Project&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/typecho-vercel/newproject.webp"
width="1732"
height="860"
loading="lazy" style="display:block;margin:0 auto;"
alt="New Project"
class="gallery-image"
data-flex-grow="201"
data-flex-basis="483px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Import Git Repository 选择 Continue With GitHub&lt;br&gt;
此时会跳转到 GitHub 批准 Vercel 访问，建议选择允许访问全部仓库，当然你也可以设置仅可访问部分仓库。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择你的仓库&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;即将开始部署，在这个界面你可以设置项目名称（可以随意设置），其他项全部保持默认即可，最后点击 Deploy 部署&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;部署成功后会显示 Congratulation 页面&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你有域名，直接从此界面右边“Add Domain”进入添加域名，Vercel 会自动生成 SSL 证书（开启 https）。没有的话直接右上角“Go to Dashboard”就可以看到 Vercel 为你准备的域名&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;code&gt;https://你的网址/install.php&lt;/code&gt; 初始化&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Enjoy~&lt;/p&gt;</description></item><item><title>shit，博大精深</title><link>https://www.xalaok.top/post/shit/</link><pubDate>Wed, 12 Jul 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/shit/</guid><description>&lt;img src="https://www.xalaok.top/post/shit/cover.webp" alt="Featured image of post shit，博大精深" /&gt;&lt;h2 id="shit-最常见的含义的确是负面的"&gt;&lt;a href="#shit-%e6%9c%80%e5%b8%b8%e8%a7%81%e7%9a%84%e5%90%ab%e4%b9%89%e7%9a%84%e7%a1%ae%e6%98%af%e8%b4%9f%e9%9d%a2%e7%9a%84" class="header-anchor"&gt;&lt;/a&gt;shit 最常见的含义的确是负面的
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;表示糟糕的人或物
&lt;ol&gt;
&lt;li&gt;作名词&lt;br&gt;
sth./sb. is a piece of shit 一个糟糕的人或物&lt;br&gt;
feel like shit 感到很糟糕&lt;br&gt;
beat the shit out of you 痛揍你一顿&lt;br&gt;
be in deep shit 处境很糟糕&lt;/li&gt;
&lt;li&gt;作形容词&lt;br&gt;
They are a shit team. 他们是个糟糕的队伍。&lt;br&gt;
That&amp;rsquo;s a shit car. 那是辆糟糕的汽车。&lt;br&gt;
This is a shit video. 这是个糟糕的视频。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;指代糟糕的话&lt;br&gt;
You&amp;rsquo;re full of shit 你满嘴胡言！&lt;br&gt;
Cut the shit. 少废话！&lt;br&gt;
Are you shitting me? = Are you kidding me?&lt;br&gt;
表示惊奇可以用 no shit 提问或跟对方确认&lt;br&gt;
talk shit about me 说我的坏话&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="shit-也可用于非负面语境"&gt;&lt;a href="#shit-%e4%b9%9f%e5%8f%af%e7%94%a8%e4%ba%8e%e9%9d%9e%e8%b4%9f%e9%9d%a2%e8%af%ad%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;shit 也可用于非负面语境
&lt;/h2&gt;&lt;p&gt;shoot the shit 和朋友闲聊&lt;br&gt;
I got shit to do. 我有事要做。&lt;br&gt;
Clean up your shit. 收拾好你的烂摊子。&lt;br&gt;
Get your shit together. 振作起来！&lt;br&gt;
You don&amp;rsquo;t know shit. 你啥都不知道！&lt;br&gt;
I don&amp;rsquo;t take shit from you. 我不想受你的气。&lt;br&gt;
I don&amp;rsquo;t wanna deal with your shit. 我不想管你的事。&lt;br&gt;
I don&amp;rsquo;t give a shit. 我不在乎。（give a shit 是在乎）&lt;/p&gt;
&lt;h2 id="shit-也可用于正面语境"&gt;&lt;a href="#shit-%e4%b9%9f%e5%8f%af%e7%94%a8%e4%ba%8e%e6%ad%a3%e9%9d%a2%e8%af%ad%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;shit 也可用于正面语境
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;某个东西很好可以用 &lt;code&gt;the shit&lt;/code&gt; 来指代&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That car is the shit. 那车真棒。&lt;br&gt;
He&amp;rsquo;s the shit. 他是大神。&lt;br&gt;
This video is the shit. 这个视频真不错。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;最后来一句：&lt;br&gt;
Shit happens. 天有不测风云。&lt;br&gt;
如果真发生了啥不测咱们也只能长叹一句——&lt;br&gt;
SSSHIT!!!!!&lt;/p&gt;</description></item><item><title>曾经骗过我们的未解之谜</title><link>https://www.xalaok.top/post/m2z3ptpzc/</link><pubDate>Fri, 07 Jul 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/m2z3ptpzc/</guid><description>&lt;h2 id="百慕大三角"&gt;&lt;a href="#%e7%99%be%e6%85%95%e5%a4%a7%e4%b8%89%e8%a7%92" class="header-anchor"&gt;&lt;/a&gt;百慕大三角
&lt;/h2&gt;&lt;p&gt;百慕大三角给人印象很深刻，什么经过的船飞机都掉下来，什么该区域有异常磁场，里面有外星人……
先来捋一下事情脉络：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;1945 年，5 架美国海军飞机执行训练任务时在百慕大三角上空消失，紧接着搜救他们的飞机也消失了。这被视为百慕大三角最著名的失踪案。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1950 年，一位小说家爱德华·琼斯写了一篇关于百慕大离奇失踪案的文章，在美国各大报纸陆续发表。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;人们错把这篇文章当成了报道，海军飞行事故从人祸被强行洗白成了天灾。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一系列该海域的事件，比如卡罗尔·迪林号，独眼巨人号……都被强行联系在了一起，关于百慕大的传闻也越来越玄幻。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;添加主观猜测的小说又被改编成小说成了更畅销的读物。60年代文章《死亡百慕大三角》以及70年代小说《百慕大三角》销量突破千万。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;现在信息不闭塞了，人们逐渐意识到存在船只飞机事故失踪的危险海域百慕大根本不算多么神秘。北大西洋阿拉斯加海域，甚至我们的南海，在一些时刻存在更恶劣的条件&lt;/p&gt;
&lt;h2 id="关于金字塔"&gt;&lt;a href="#%e5%85%b3%e4%ba%8e%e9%87%91%e5%ad%97%e5%a1%94" class="header-anchor"&gt;&lt;/a&gt;关于金字塔
&lt;/h2&gt;&lt;p&gt;你大概听说过，金字塔有可怕的诅咒：凡是盗掘法老坟墓的人都会死亡。这个传说来源于图坦卡蒙陵墓。真实情况是，根本没死多少人，死因也都有解释。而且这次挖掘的负责人霍华德·卡特很多年后才死，活的好好的。&lt;/p&gt;
&lt;p&gt;再说说金字塔所谓的“巧合数字”：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;胡夫金字塔原高 146.59 米，乘 $10^{10}$ 约等于地球到太阳距离；其总重量乘以 $10^{15}$ 刚好与地球的重量相同；内部的大厅为直角三角形；各个边的比例刚好等于勾股定理的 3:4:5……&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;其实这就是刻意寻找出来的巧合啊！我们每个人都可以找出一些，比如，爸爸的体重 80 千克刚好等于世界总人口 80 亿；我爸妈身高差 14 厘米刚好等于中国总人口 14 亿……多到足以穰你感叹：天呐！我是什么天选之子！&lt;/p&gt;
&lt;p&gt;所以我们关注的重点应该是赞叹古人的精妙技术：如何运输巨大石块；如何精确对准东南西北；木乃伊的防腐等。&lt;/p&gt;
&lt;h2 id="尼斯湖水怪"&gt;&lt;a href="#%e5%b0%bc%e6%96%af%e6%b9%96%e6%b0%b4%e6%80%aa" class="header-anchor"&gt;&lt;/a&gt;尼斯湖水怪
&lt;/h2&gt;&lt;p&gt;说起尼斯湖，你可能反应不上来，但是如果加上“水怪”两个字，那你可能就知道了。如果不是因为带个“水怪”标签，你可能一辈子都没听过这个湖。早在1500多年前，就开始流传尼斯湖中有巨大怪兽常常出来吞食人畜的故事。后来一位摄影师在尼斯湖拍到一张有着看起来像已经灭绝的蛇颈龙的“水怪”的照片。这张照片广为流传，但后来摄影师本人证实他拍的那个“水怪”实际上是一个由塑料袋填充而成的模型！&lt;/p&gt;
&lt;h2 id="玛雅人的预言"&gt;&lt;a href="#%e7%8e%9b%e9%9b%85%e4%ba%ba%e7%9a%84%e9%a2%84%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;玛雅人的预言
&lt;/h2&gt;&lt;p&gt;我们都听说过，玛雅人预测 2012 年 12 月 21 日是世界末日。现在都 3202 年了，不会还有人会信吧？那么真实情况是什么呢？玛雅人使用了一个复杂的日历系统，被称为“长计”，该日历系统包括了多个周期，其中最长的一个周期为 5125.36 年。而这个周期正好于 2012 年 12 月 21 日结束。所以玛雅人根本没有预测什么世界末日。&lt;/p&gt;
&lt;h2 id="ufo"&gt;&lt;a href="#ufo" class="header-anchor"&gt;&lt;/a&gt;UFO
&lt;/h2&gt;&lt;p&gt;有相关统计表示：仅美国本土自 1940 年代罗斯威尔事件至今就有几十万起“UFO 事件”。其中绝大多数都存在杜撰和造谣。经得住时间考验至今依旧存在疑点的首先当属 1947 年罗斯威尔事件。大概就是美国军方对外宣称坠落或为实验性高空监控气球的残骸，而许多民间 UFO 爱好者及阴谋论者则认为坠落物确为外星飞船，其乘员被捕获，整个事件被军方掩盖。虽然至今还存疑但是目前来说，我个人还是不太相信会有外星人，不知道大家怎么看&lt;/p&gt;</description></item><item><title>利用 Replit 平台免费搭建 AList 网盘</title><link>https://www.xalaok.top/post/alist-on-replit/</link><pubDate>Sun, 25 Jun 2023 10:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/alist-on-replit/</guid><description>&lt;img src="https://www.xalaok.top/post/alist-on-replit/cover.webp" alt="Featured image of post 利用 Replit 平台免费搭建 AList 网盘" /&gt;&lt;blockquote&gt;
&lt;p&gt;Replit 今年开始收费，此方法不再免费😭&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;相信大家之前应该有所耳闻著名的文件列表程序——AList，目前在 GitHub 上有 35.2k star。&lt;/p&gt;
&lt;p&gt;官方这边给了几个 PaaS 部署的平台，但是基本上都禁掉了官方仓库，无法导入，fork 成自己的仓库也一样可以检测到。&lt;/p&gt;
&lt;p&gt;官方文档说过，所有上传均使用服务器传输，会消耗服务器流量与对应存储的API通信（具体见&lt;a class="link" href="https://alist.nn.ci/zh/faq/why.html#%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E6%97%B6%E6%98%BE%E7%A4%BA-uploading-in-backend" target="_blank" rel="noopener"
&gt;这里&lt;/a&gt;），我猜测占服务器资源应该就是这些平台禁止部署 AList 的原因吧？&lt;/p&gt;
&lt;p&gt;我之前在网上也看过一些方法，但那些方法都失效了，前几天找到了一个新方法，尝试部署目前最新版 3.19.0 之后成功了，而且到今天已经稳定运行几天了，下面就来分享一下方法&lt;/p&gt;
&lt;h2 id="过程"&gt;&lt;a href="#%e8%bf%87%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;过程
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;首先到&lt;a class="link" href="https://github.com/alist-org/alist/releases/latest" target="_blank" rel="noopener"
&gt;官方仓库&lt;/a&gt;下载最新版本AList（注意是下载 Linux-amd64 版本）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/1.webp"
width="1092"
height="511"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="213"
data-flex-basis="512px"
&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;解压下载下来的压缩包，得到一个名为 alist 的无扩展名文件，将它改名为“Replit”（所有地方避免出现“AList”字样）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;a class="link" href="https://replit.com" target="_blank" rel="noopener"
&gt;Replit 官网&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/2.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;点击中间“Start creating”跳转到登录页，有 Google 或 GitHub 账号的可以直接登录，没有的话可以通过邮箱注册，国内邮箱支不支持我不知道&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/3.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="5"&gt;
&lt;li&gt;登录后点击左上角 Create Repl，创建 Bash 项目，名字随便起，比如 114514（不要起“AList”）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/4.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;
&lt;img src="https://www.xalaok.top/post/alist-on-replit/5.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="6"&gt;
&lt;li&gt;进入项目面板后，左侧上传第一步准备好的 replit 文件&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/6.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="7"&gt;
&lt;li&gt;中间可以看到编辑 main.sh 的窗口，删除里面的所有代码并粘贴以下代码：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Shell" data-lang="Shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; Hello World
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;REPL_SLUG&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;.&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;REPL_OWNER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;.repl.co
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; true&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; curl -s &lt;span class="s2"&gt;&amp;#34;https://&lt;/span&gt;&lt;span class="nv"&gt;$URL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +&lt;span class="s1"&gt;&amp;#39;%Y%m%d%H%M%S&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt; Keeping online …&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep 300&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod +x ./replit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nohup ./replit server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其中第 3 行是自动保活，每三分钟自动检测一次并输出“日期 + 时间 + Keeping online &amp;hellip;”&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/7.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="8"&gt;
&lt;li&gt;
&lt;p&gt;注册远程数据库&lt;br&gt;
官方说明：You may need to use another remote MySQL/Postgres database as local sqlite3 is public for everyone.&lt;br&gt;
使用私有数据库就不用担心账号泄露了，而且更新时不会丢失数据，我就随便挑了一个官方给的免费数据库平台，&lt;a class="link" href="https://db4free.net/" target="_blank" rel="noopener"
&gt;https://db4free.net/&lt;/a&gt;，界面就不放了，不用注册账号，只要一个邮箱直接可以创建数据库。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在 Replit 上添加环境变量&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/8.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;
&lt;img src="https://www.xalaok.top/post/alist-on-replit/9.webp"
width="642"
height="466"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="330px"
&gt;&lt;/p&gt;
&lt;p&gt;在左下角 Tools 中找到“Secret”，右侧会弹出面板，右上角 Edit as JSON，删掉里面原来的内容，填写以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JSON" data-lang="JSON"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_TYPE&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;mysql&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_HOST&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;db4free.net&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_PORT&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;3306&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_USER&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;lt;注册时填的用户名&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_PASS&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;lt;数据库密码&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_NAME&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;lt;注册时填的数据库名&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_TABLE_PREFIX&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;alist_&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;DB_SSL_MODE&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;PREFERRED&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后把这些在 &lt;code&gt;/data/config.json&lt;/code&gt; 也填一下，不然好像不能成功启用数据库&lt;/p&gt;
&lt;ol start="10"&gt;
&lt;li&gt;点击项目顶部“RUN”按钮，启动项目&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/10.webp"
width="154"
height="76"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="202"
data-flex-basis="486px"
&gt;&lt;/p&gt;
&lt;p&gt;启动后可能弹出 Repl 不可用，不用慌，不是被封了，过几分钟再打开看就好啦&lt;/p&gt;
&lt;ol start="11"&gt;
&lt;li&gt;右上角的 Webview 窗口就可以看到网页预览和 Replit 为你创建好的域名（项目名.用户名.repl.co），网址右侧第一个按钮点开就可以自定义域名&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/alist-on-replit/11.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;ol start="12"&gt;
&lt;li&gt;
&lt;p&gt;右下角点开日志的标签页可以看到 AList 创建的管理员账号初始密码&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;enjoy~&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>投入 Hugo 的怀抱！</title><link>https://www.xalaok.top/post/hugo-stack/</link><pubDate>Thu, 22 Jun 2023 09:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/hugo-stack/</guid><description>&lt;img src="https://www.xalaok.top/post/hugo-stack/stack.webp" alt="Featured image of post 投入 Hugo 的怀抱！" /&gt;&lt;blockquote&gt;
&lt;p&gt;我的环境参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 11 25H2&lt;/li&gt;
&lt;li&gt;Google Chrome 144&lt;/li&gt;
&lt;li&gt;Markdown 编辑器：Obsidian&lt;/li&gt;
&lt;li&gt;博客配置编辑器：VS Code&lt;/li&gt;
&lt;li&gt;命令行工具：Windows Terminal&lt;/li&gt;
&lt;li&gt;Git 工具：GitHub Desktop&lt;/li&gt;
&lt;li&gt;Hugo 版本：0.154.5_extended&lt;/li&gt;
&lt;li&gt;Hugo 主题：Stack 3.33.0&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id="hugo-环境搭建"&gt;&lt;a href="#hugo-%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba" class="header-anchor"&gt;&lt;/a&gt;Hugo 环境搭建
&lt;/h2&gt;&lt;h3 id="安装-vs-code"&gt;&lt;a href="#%e5%ae%89%e8%a3%85-vs-code" class="header-anchor"&gt;&lt;/a&gt;安装 VS Code
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;从&lt;a class="link" href="https://code.visualstudio.com/" target="_blank" rel="noopener"
&gt;官网&lt;/a&gt;获取 VS Code 安装包&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select Additional Tasks 中把下面列出的全部选项打勾&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Add &amp;ldquo;Open with Code&amp;rdquo; action to Windows Explorer file context menu&lt;/li&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Add &amp;ldquo;Open with Code&amp;rdquo; action to Windows Explorer directory context menu&lt;/li&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Register Code as an editor for supported file types&lt;/li&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Add to PATH (requires shell restart)&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="3"&gt;
&lt;li&gt;install 开始安装，等待安装完成后选择 Finish&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;至此，VS Code 就安装完成了，接下来安装 Git&lt;/p&gt;
&lt;h3 id="安装-git"&gt;&lt;a href="#%e5%ae%89%e8%a3%85-git" class="header-anchor"&gt;&lt;/a&gt;安装 Git
&lt;/h3&gt;&lt;p&gt;不想用命令行，所以装了 GitHub Desktop。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class="link" href="https://github.com/apps/desktop" target="_blank" rel="noopener"
&gt;官网&lt;/a&gt;下载安装包&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（可选）使用 &lt;a class="link" href="https://github.com/robotze/GithubDesktopZhTool" target="_blank" rel="noopener"
&gt;GithubDesktopZhTool&lt;/a&gt; 汉化&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="安装-hugo"&gt;&lt;a href="#%e5%ae%89%e8%a3%85-hugo" class="header-anchor"&gt;&lt;/a&gt;安装 Hugo
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在&lt;a class="link" href="https://github.com/gohugoio/hugo/releases/latest" target="_blank" rel="noopener"
&gt;官方 Github 仓库 Releases&lt;/a&gt; 下载 extended 版本&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;解压下载下来的压缩包，得到 &lt;code&gt;hugo.exe&lt;/code&gt; 并放到自己心仪的位置&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;设置环境变量，依次打开设置-系统-系统信息-高级系统设置-环境变量，在 PATH 添加 Hugo 主程序所在文件夹&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;检查 Hugo 是否安装成功，终端运行 &lt;code&gt;hugo version&lt;/code&gt;，如果输出版本信息则配置成功
如我这里输出：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Plain" data-lang="Plain"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo v0.154.5-a6f99cca223a29cad1d4cdaa6a1a90508ac1da71+extended windows/amd64 BuildDate=2026-01-11T20:53:23Z VendorInfo=gohugoio
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;恭喜！到这里，基本就都配置完毕了，现在可以开始博客的搭建了&lt;/p&gt;
&lt;h2 id="hugo博客搭建"&gt;&lt;a href="#hugo%e5%8d%9a%e5%ae%a2%e6%90%ad%e5%bb%ba" class="header-anchor"&gt;&lt;/a&gt;Hugo博客搭建
&lt;/h2&gt;&lt;h3 id="初始化博客"&gt;&lt;a href="#%e5%88%9d%e5%a7%8b%e5%8c%96%e5%8d%9a%e5%ae%a2" class="header-anchor"&gt;&lt;/a&gt;初始化博客
&lt;/h3&gt;&lt;p&gt;在任意位置右键，选择在终端打开，输入以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Plain" data-lang="Plain"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo new site &amp;lt;这里填上你想要的位置&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="stack-主题安装"&gt;&lt;a href="#stack-%e4%b8%bb%e9%a2%98%e5%ae%89%e8%a3%85" class="header-anchor"&gt;&lt;/a&gt;Stack 主题安装
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;获取主题文件&lt;br&gt;
在 Stack 主题 &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack/releases" target="_blank" rel="noopener"
&gt;GitHub 仓库 Releases&lt;/a&gt; 下载一个心仪的版本后解压&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;文件夹改名为 &lt;code&gt;hugo-theme-stack&lt;/code&gt; 后放入博客文件夹根目录 &lt;code&gt;\theme&lt;/code&gt; 中&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将获取到的主题中的 &lt;code&gt;exampleSite&lt;/code&gt; 文件夹中所有文件复制到博客文件夹根目录中&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;编辑 &lt;code&gt;config.yaml&lt;/code&gt;，根据自己需要进行配置，作者在配置文件里面写了基本注释（虽然都是英文的）&lt;br&gt;
官方配置文档: &lt;a class="link" href="https://stack.jimmycai.com/config/" target="_blank" rel="noopener"
&gt;https://stack.jimmycai.com/config/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="配置博客各个页面"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae%e5%8d%9a%e5%ae%a2%e5%90%84%e4%b8%aa%e9%a1%b5%e9%9d%a2" class="header-anchor"&gt;&lt;/a&gt;配置博客各个页面
&lt;/h3&gt;&lt;p&gt;如果添加的是自己博客的一个页面，可以在这个页面的 md 文件的 Front Matter 中添加以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-YAML" data-lang="YAML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;menu&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;main&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 名称&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="m"&gt;90&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 图标名称&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果不是博客的一个页面，那么在 config.yaml 中的 menu 部分下添加以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-YAML" data-lang="YAML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;menu&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;main&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;identifier&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;newTab&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;identifier&lt;/code&gt;: 项目名&lt;br&gt;
&lt;code&gt;name&lt;/code&gt;: 显示名称&lt;br&gt;
&lt;code&gt;url&lt;/code&gt;: 链接&lt;br&gt;
&lt;code&gt;weight&lt;/code&gt;: 优先级，数值越低优先级越大&lt;br&gt;
params:&lt;br&gt;
&lt;code&gt;icon&lt;/code&gt;: 自定义图标&lt;br&gt;
&lt;code&gt;newTab&lt;/code&gt;: 是否在新标签页打开&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;官方文档：&lt;a class="link" href="https://stack.jimmycai.com/config/menu" target="_blank" rel="noopener"
&gt;https://stack.jimmycai.com/config/menu&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="开始创作"&gt;&lt;a href="#%e5%bc%80%e5%a7%8b%e5%88%9b%e4%bd%9c" class="header-anchor"&gt;&lt;/a&gt;开始创作
&lt;/h3&gt;&lt;p&gt;博客文章都存放在 &lt;code&gt;\content&lt;/code&gt; 中，如果想要创建一篇文章，可以在博客文件夹根目录下打开终端输入以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Plain" data-lang="Plain"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo new posts/my-first-post.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再打开 &lt;code&gt;\content\posts&lt;/code&gt; 就可以找到一个 Hugo 为你创建好的一个名为 &lt;code&gt;my-first-post.md&lt;/code&gt; 的文件&lt;/p&gt;
&lt;p&gt;当然你也可以使用官方推荐的一篇文章一个文件夹的方式（官方文档：&lt;a class="link" href="https://stack.jimmycai.com/writing/markdown" target="_blank" rel="noopener"
&gt;https://stack.jimmycai.com/writing/markdown&lt;/a&gt;）&lt;/p&gt;
&lt;h3 id="预览博客"&gt;&lt;a href="#%e9%a2%84%e8%a7%88%e5%8d%9a%e5%ae%a2" class="header-anchor"&gt;&lt;/a&gt;预览博客
&lt;/h3&gt;&lt;p&gt;创作完成的你一定想要本地预览你的博客吧，博客根目录右键“在终端打开”，输入以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo server --navigateToChanged --disableFastRender --renderToMemory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;--navigateToChanged&lt;/code&gt;：在更改某个页面后自动跳转查看该页面&lt;br&gt;
&lt;code&gt;--disableFastRender&lt;/code&gt;：在更改时重新构建整个网站&lt;br&gt;
&lt;code&gt;--renderToMemory&lt;/code&gt;：不开启的话会直接在 &lt;code&gt;\public&lt;/code&gt; 输出网站静态文件&lt;/p&gt;
&lt;p&gt;根本不想每次输代码启动预览服务器的懒癌患者们，可以像我一样在博客根目录新建一个 &lt;code&gt;vbs&lt;/code&gt; 脚本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Dim ws
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Set ws = Wscript.CreateObject(&amp;#34;Wscript.Shell&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ws.run &amp;#34;hugo server --navigateToChanged --disableFastRender --renderToMemory&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Wscript.quit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以后要预览博客可以直接双击运行这个脚本会直接弹出终端界面并启动预览服务器，要停止服务器按 &lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;C&lt;/kbd&gt;，终端界面会自己消失&lt;/p&gt;
&lt;p&gt;另：我遇到过以下的报错：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This is most likely due to infinite recursion. If this is just a slow template, you can try to increase the &amp;#39;timeout&amp;#39; config setting.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不知道你会不会遇到，但如果遇到了，那恭喜你能节省很多时间：在 config.yml 根级加入以下代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-YAML" data-lang="YAML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;timeout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;10m&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>初中物理电学概念及公式汇总</title><link>https://www.xalaok.top/post/_lgbaqpnc/</link><pubDate>Sun, 04 Jun 2023 12:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/_lgbaqpnc/</guid><description>&lt;ol&gt;
&lt;li&gt;电荷量 $Q$：物体所带电荷的多少，单位：库伦（$C$）&lt;/li&gt;
&lt;li&gt;电流 $I$：每秒钟内通过导体横截面的电荷量，单位：安培（$A$） $I = \frac Q t$&lt;/li&gt;
&lt;li&gt;电压 $U$：是电荷定向移动形成电流，单位：伏特（$V$）&lt;/li&gt;
&lt;li&gt;电阻 $R$：反映导体对电流阻碍作用，单位：欧姆（$Ω$） $1Ω = 1 \frac V A$&lt;/li&gt;
&lt;li&gt;电阻率 $ρ$：表示各种物质电阻特性，单位：欧·米（$Ω·m$）&lt;/li&gt;
&lt;li&gt;欧姆定律：$I = \frac U R$&lt;/li&gt;
&lt;li&gt;电阻定律：$R = ρ \frac l S$&lt;/li&gt;
&lt;li&gt;串联电路（分压）：
&lt;ul&gt;
&lt;li&gt;$I = I_{1} = I_{2}$&lt;/li&gt;
&lt;li&gt;$U = U_{1} + U_{2}$&lt;/li&gt;
&lt;li&gt;$R = R_{1} + R_{2}$&lt;/li&gt;
&lt;li&gt;$\frac{U_{1}}{R_{1}} = \frac{U_{2}}{R_{2}} = \frac{U}{R}$（由欧姆定律）&lt;/li&gt;
&lt;li&gt;$\frac{U_{1}}{U_{2}} = \frac{R_{1}}{R_{2}}$（由欧姆定律）&lt;/li&gt;
&lt;li&gt;$U_{1} : U_{2} : U_{3} : \cdots : U_{n} : I = R_{1} : R_{2} : R_{3} : \cdots : R_{n} : R$ （推广）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;并联电路（分流）：
&lt;ul&gt;
&lt;li&gt;$I = I_{1} + I_{2}$&lt;/li&gt;
&lt;li&gt;$U = U_{1} = U_{2}$&lt;/li&gt;
&lt;li&gt;$\frac{1}{R} = \frac{1}{R_{1}} + \frac{1}{R_{2}}$&lt;/li&gt;
&lt;li&gt;$I_{1} : I_{2} : I_{3} : \cdots : I_{n} : I = \frac{1}{R_{1}} : \frac{1}{R_{2}} : \frac{1}{R_{3}} : \cdots : \frac{1}{R_{n}} : \frac{1}{R}$（推广）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;电功 $W$：电流所做的功，单位：焦耳（$J$ ） $W = UIt$&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;$W = QU$ （由 $I = \frac Q t$）&lt;/li&gt;
&lt;li&gt;纯电阻电路：$W = \frac {U^{2}} {R} t = I^{2} R t$ （由欧姆定律）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="11"&gt;
&lt;li&gt;电功率 $P$：单位时间内电流做的功，表示电流做功快慢，单位：瓦特（$W$），千瓦（$kW$） $W = \frac P t = UI$&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;纯电阻电路：$P = \frac {U^{2}} {R} = I^{2} R$ （由欧姆定律）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="12"&gt;
&lt;li&gt;额定电压：用电器正常工作时的电压。&lt;/li&gt;
&lt;li&gt;额定功率：用电器在额定电压下消耗的电功率&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>利用 Vercel 免费搭建镜像网站</title><link>https://www.xalaok.top/post/websiteproxy/</link><pubDate>Fri, 05 May 2023 22:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/websiteproxy/</guid><description>&lt;img src="https://www.xalaok.top/post/websiteproxy/cover.webp" alt="Featured image of post 利用 Vercel 免费搭建镜像网站" /&gt;
&lt;div class="notice notice-warning" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 576 512" fill="#704343"&gt;&lt;path d="M570 440c18 32-5 72-42 72H48c-37 0-60-40-42-72L246 24c19-32 65-32 84 0l240 416zm-282-86a46 46 0 100 92 46 46 0 000-92zm-44-165l8 136c0 6 5 11 12 11h48c7 0 12-5 12-11l8-136c0-7-5-13-12-13h-64c-7 0-12 6-12 13z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;本教程不能镜像某些网站（如资源文件域名与网页域名不同的网站）。也请勿使用此教程镜像非法网站在国内访问，否则后果（被请喝茶或域名被墙等）自负！&lt;/p&gt;&lt;/div&gt;
&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;有自己服务器的朋友可以使用 nginx 反代理。但是服务器不便宜，本文介绍的方法使用 GitHub + Vercel，部署非常简单&lt;/p&gt;
&lt;p&gt;你只需要：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GitHub 账号&lt;/li&gt;
&lt;li&gt;Vercel 账号&lt;/li&gt;
&lt;li&gt;自己的域名（可选，国内注册可以首年 1 元甚至免费）&lt;br&gt;
部署完成之后默认会给你的项目分配一个 vercel.app 的二级域名，但是在 2021 年 vercel.app 域名被墙，大陆地区无法访问，因此强烈建议自己准备域名&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="步骤"&gt;&lt;a href="#%e6%ad%a5%e9%aa%a4" class="header-anchor"&gt;&lt;/a&gt;步骤
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fork &lt;a class="link" href="https://github.com/gaowanlu/google" target="_blank" rel="noopener"
&gt;gaowanlu/google&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;编辑 api/proxy.js。第 4 行修改 &lt;code&gt;target =&lt;/code&gt; 后面的网址成你要镜像的网站&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/websiteproxy/proxy.webp"
width="1630"
height="870"
loading="lazy" style="display:block;margin:0 auto;"
alt="proxy.js"
class="gallery-image"
data-flex-grow="187"
data-flex-basis="449px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;a class="link" href="https://vercel.com" target="_blank" rel="noopener"
&gt;Vercel&lt;/a&gt; 然后通过 GitHub 快捷登录&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/websiteproxy/loginvercel.webp"
width="1650"
height="799"
loading="lazy" style="display:block;margin:0 auto;"
alt="Log in to Vercel"
class="gallery-image"
data-flex-grow="206"
data-flex-basis="495px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;登陆后会自动跳转 Dashboard，点击 Add new - Project&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/websiteproxy/newproject.webp"
width="1732"
height="860"
loading="lazy" style="display:block;margin:0 auto;"
alt="Add new project"
class="gallery-image"
data-flex-grow="201"
data-flex-basis="483px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Import Git Repository 选择 Continue With GitHub&lt;br&gt;
此时会跳转到 GitHub 批准 Vercel 访问，建议选择允许访问全部仓库，当然你也可以设置仅可访问部分仓库。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;即将开始部署，在这个界面你可以设置项目名称，其他项全部保持默认即可，最后点击 Deploy 部署&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/websiteproxy/deploy.webp"
width="1897"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
alt="Configure Project"
class="gallery-image"
data-flex-grow="212"
data-flex-basis="510px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;部署大概需要半分钟，完成后会显示 Congratulation 页面&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/websiteproxy/congratulations.webp"
width="1900"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
alt="Congratulations"
class="gallery-image"
data-flex-grow="213"
data-flex-basis="511px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你有域名，直接从此界面右边“Add Domain”进入添加域名，没有的话直接右上角“Go to Dashboard”就可以看到 Vercel 为你准备的域名&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/websiteproxy/domain.webp"
width="1920"
height="892"
loading="lazy" style="display:block;margin:0 auto;"
alt="Domain"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="516px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Enjoy~&lt;/p&gt;</description></item><item><title>《人类“留声”简史：蜡筒、磁带、CD、MP3……》笔记</title><link>https://www.xalaok.top/post/phonograph/</link><pubDate>Sat, 29 Apr 2023 17:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/phonograph/</guid><description>&lt;img src="https://www.xalaok.top/post/phonograph/phonograph.webp" alt="Featured image of post 《人类“留声”简史：蜡筒、磁带、CD、MP3……》笔记" /&gt;&lt;blockquote&gt;
&lt;p&gt;馒头说 &lt;a class="link" href="https://mp.weixin.qq.com/s/J-CB1E3Bn_j8hxon99W1Kw" target="_blank" rel="noopener"
&gt;第 508 篇文章&lt;/a&gt; 读书笔记&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="留声机"&gt;&lt;a href="#%e7%95%99%e5%a3%b0%e6%9c%ba" class="header-anchor"&gt;&lt;/a&gt;留声机
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1878 年，爱迪生发明了一个由大圆筒以及曲柄、膜板、金属管等物件组成的一个奇怪机器&lt;/li&gt;
&lt;li&gt;1888 年，一个德裔美国人埃米尔·玻里纳用扁圆形涂蜡锌版（“唱片”的最早雏形）作为播放和录音的介质。唱片比蜡筒在音质上逊色一些，但它可以制成母版复制&lt;/li&gt;
&lt;li&gt;1900s 初，爱迪生留声机公司团队研发出了“硬黑蜡筒”，实现量产的“铸模制造”，大大降低了生产成本&lt;/li&gt;
&lt;li&gt;1910s，整个录音市场只有爱迪生一家公司还在坚持用“蜡筒”作为介质&lt;/li&gt;
&lt;li&gt;1929 年，爱迪生关闭了留声机公司&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="磁带"&gt;&lt;a href="#%e7%a3%81%e5%b8%a6" class="header-anchor"&gt;&lt;/a&gt;磁带
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1888 年 9 月 8 日，奥伯林·史密斯在英国《电气世界》上发表利用电磁的原理对声音进行录制的想法——声音导致电流发生变化而产生磁场，而变化的磁场被记录在被磁化的钢丝上，保留声音&lt;/li&gt;
&lt;li&gt;1898 年，丹麦的科学家瓦尔德马·保尔森用钢琴弦作为“钢丝”的材料，实现了史密斯的设想&lt;/li&gt;
&lt;li&gt;1928 年，德国工程师弗里茨·普弗勒默通过在纸带上涂一层磁粉就能达到了同样效果，“磁带”的雏形出现&lt;/li&gt;
&lt;li&gt;1950s，“磁带”发展到只有一本书的大小&lt;/li&gt;
&lt;li&gt;1963 年，飞利浦公司的工程师劳德维克·奥登司率领团队研发出只有成年人的手掌大小的磁带&lt;/li&gt;
&lt;li&gt;1979 年，日本索尼公司推出“Walkman”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="唱片"&gt;&lt;a href="#%e5%94%b1%e7%89%87" class="header-anchor"&gt;&lt;/a&gt;唱片
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1931 年，美国无线电公司试制成功 LP 唱片，大大延长了收录音乐的时间。&lt;/li&gt;
&lt;li&gt;1982 年，黑胶唱片出现了一个决定性的分支：Compact Disk（CD）。飞利浦和索尼联合推出了 CD 的行业标准。第一张 CD 也随之问世。&lt;/li&gt;
&lt;li&gt;1984 年，索尼公司推出便携式 CD 播放机“D50”——取名为“Discman”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mp3"&gt;&lt;a href="#mp3" class="header-anchor"&gt;&lt;/a&gt;MP3
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1998 年，全世界第一台 MP3 播放器——MPMAN F10 诞生&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2001 年 10 月，乔布斯从裤兜里掏出了一个“小盒子”。&lt;br&gt;
iPod 横空出世。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;购买 iPod 的用户，可以通过苹果的 iTunes，花极少的钱（比如 99 美分），任意下载自己想听的正版音乐&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这同时为无数音乐制作人和唱片公司解决了最头痛的盗版问题&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2007 年 1 月 9 日，乔布斯又一次在众目睽睽之下从裤兜里掏出了一个小盒子。&lt;br&gt;
iPhone 横空出世。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2022 年 5 月 11 日，苹果方面宣布：iPod 产品线正式全线停更。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;“老兵不死，只会慢慢凋零”。&lt;br&gt;
科技的浪潮滚滚向前，之前泛起的一朵朵浪花，虽已消逝，但依旧值得铭记。&lt;/p&gt;</description></item><item><title>《川普，能成为下一个他吗？》笔记</title><link>https://www.xalaok.top/post/trumpreagan/</link><pubDate>Thu, 27 Apr 2023 15:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/trumpreagan/</guid><description>&lt;img src="https://www.xalaok.top/post/trumpreagan/trumpreagan.webp" alt="Featured image of post 《川普，能成为下一个他吗？》笔记" /&gt;&lt;blockquote&gt;
&lt;p&gt;馒头说 &lt;a class="link" href="https://mp.weixin.qq.com/s/XX_PL0mAbbIM69v1U6cWiw" target="_blank" rel="noopener"
&gt;第 103 篇文章&lt;/a&gt; 读书笔记&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="里根的身份"&gt;&lt;a href="#%e9%87%8c%e6%a0%b9%e7%9a%84%e8%ba%ab%e4%bb%bd" class="header-anchor"&gt;&lt;/a&gt;里根的身份
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;15~22 岁，先后救起过 77 名游泳溺水者（&lt;strong&gt;英雄主义&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;尤里卡学院学生，毕业时拿到的平均成绩“C”&lt;/li&gt;
&lt;li&gt;尤里卡学院很多俱乐部和社团，包括运动队伍的领袖（&lt;strong&gt;团队领袖&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;大学毕业后担任了一家体育电台的播音员，成为了美国中西部有名的体育新闻广播员（&lt;strong&gt;演讲能力&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;27 年的演员，拍了 51 部电影，但只是个二流演员甚至是三流演员&lt;/li&gt;
&lt;li&gt;1940s 开始，先后担任了电影演员工会主席和电影工业理事会董事&lt;/li&gt;
&lt;li&gt;早年参加过民主党，但在 1962 年改投共和党&lt;/li&gt;
&lt;li&gt;1966 年弃影从政，宣布参选加州州长并且获胜，在 1970 年获得连任（当时的里根直到竞选总统时，仍被很多美国公众认为是“政治的门外汉”）&lt;/li&gt;
&lt;li&gt;1981~1989 美国总统&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="为什么会把里根和特朗普两个人联系在一起"&gt;&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bc%9a%e6%8a%8a%e9%87%8c%e6%a0%b9%e5%92%8c%e7%89%b9%e6%9c%97%e6%99%ae%e4%b8%a4%e4%b8%aa%e4%ba%ba%e8%81%94%e7%b3%bb%e5%9c%a8%e4%b8%80%e8%b5%b7" class="header-anchor"&gt;&lt;/a&gt;为什么会把里根和特朗普两个人联系在一起？
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;上面说过，里根只是个二流演员甚至是三流演员，而特朗普也是一个著名的“龙套演员”（至少参演了至少 18 部电影和电视剧，一般除了饰演百万富翁，就是饰演千万富翁，有时候也会扮演亿万富翁……）&lt;/li&gt;
&lt;li&gt;从里根参选加州州长并且获胜直到竞选总统时，被很多美国公众认为是“政治的门外汉”，而现在，有了一个比他更“门外汉”的总统——完全没有从政经验的特朗普&lt;/li&gt;
&lt;li&gt;里根竞选总统时是 69 岁的年龄。这个“就职时年龄最大的美国总统”纪录，直到 2017 年，被 71 岁就职美国总统的特朗普打破&lt;/li&gt;
&lt;li&gt;里根是美国历史上第一位离过婚的总统，特朗普是第二位。&lt;/li&gt;
&lt;li&gt;特朗普提出的竞选口号：“Make America Great Again！”（让美国再次伟大）&lt;br&gt;
里根提出的竞选口号：“It&amp;rsquo;s morning again in America！”（美国又来到晨曦）&lt;/li&gt;
&lt;li&gt;都口无遮拦&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>《人类历史上最大海难：永不返航的“古斯特洛夫”号》笔记</title><link>https://www.xalaok.top/post/gustloff/</link><pubDate>Wed, 05 Apr 2023 15:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/gustloff/</guid><description>&lt;img src="https://www.xalaok.top/post/gustloff/gustloff.webp" alt="Featured image of post 《人类历史上最大海难：永不返航的“古斯特洛夫”号》笔记" /&gt;&lt;blockquote&gt;
&lt;p&gt;馒头说 &lt;a class="link" href="https://mp.weixin.qq.com/s/belZGdj9yHN5TyYPMuXGJQ" target="_blank" rel="noopener"
&gt;第 325 篇文章&lt;/a&gt; 读书笔记&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="背景"&gt;&lt;a href="#%e8%83%8c%e6%99%af" class="header-anchor"&gt;&lt;/a&gt;背景
&lt;/h2&gt;&lt;p&gt;威廉·古斯特洛夫是纳粹瑞士分部的领导人，1936 年被一名犹太学生暗杀。希特勒为了纪念自己的亲密战友，将当时德国最豪华的邮轮命名为“威廉·古斯特洛夫”号，并在 1937 年 5 月 5 日亲自主持了这艘船的下水仪式。&lt;/p&gt;
&lt;p&gt;在 1945 年的 1 月下旬，“古斯特洛夫”号得到了一个从格丁尼亚港到基尔港的运送命令&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;人员&lt;/th&gt;
&lt;th style="text-align: center"&gt;船员&lt;/th&gt;
&lt;th style="text-align: center"&gt;第二潜艇训练师的士官及士兵&lt;/th&gt;
&lt;th style="text-align: center"&gt;海军医护人员&lt;/th&gt;
&lt;th style="text-align: center"&gt;受重伤的士兵&lt;/th&gt;
&lt;th style="text-align: center"&gt;难民&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;人数&lt;/td&gt;
&lt;td style="text-align: center"&gt;173&lt;/td&gt;
&lt;td style="text-align: center"&gt;918&lt;/td&gt;
&lt;td style="text-align: center"&gt;373&lt;/td&gt;
&lt;td style="text-align: center"&gt;162&lt;/td&gt;
&lt;td style="text-align: center"&gt;8956&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;核定载客人数为 2000 人左右的“古斯特洛夫”号，最终一共装下了 10582 人。&lt;/p&gt;
&lt;p&gt;1945 年 1 月 30 日中午 12 点 30 分，“古斯特洛夫”号拉响了汽笛。&lt;/p&gt;
&lt;h2 id="失事原因"&gt;&lt;a href="#%e5%a4%b1%e4%ba%8b%e5%8e%9f%e5%9b%a0" class="header-anchor"&gt;&lt;/a&gt;失事原因
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;船上的救生设备不可能满足 1 万个人的需求，连救生艇加救生衣，大概可以装备一半的乘客。&lt;/li&gt;
&lt;li&gt;走了没有水雷，但可能会遭到苏联潜艇的攻击的路线&lt;/li&gt;
&lt;li&gt;但由于时间紧迫以及已陷入捉襟见肘的境地，“古斯特洛夫”号只有两艘鱼雷艇护航，其中一艘还因为出故障掉队&lt;/li&gt;
&lt;li&gt;航行中为了避免与正从正面方向驶来的一支德国的扫雷艇舰队相撞，打开了船上红绿两色的导航灯。&lt;/li&gt;
&lt;li&gt;守候已久的苏联潜艇的艇长马连尼斯科少校因为之前有一次醉酒误事将被惩罚，迫切地希望能够通过击沉对方的舰船来将功赎罪&lt;/li&gt;
&lt;li&gt;“为了祖国”（За Родину）、 “为了苏联人民”（За советский народ）、 “为了列宁格勒”三枚鱼雷全部命中（ “为了斯大林”（За Сталина）卡在发射管里了 😂）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="事发后各方反应"&gt;&lt;a href="#%e4%ba%8b%e5%8f%91%e5%90%8e%e5%90%84%e6%96%b9%e5%8f%8d%e5%ba%94" class="header-anchor"&gt;&lt;/a&gt;事发后各方反应
&lt;/h2&gt;&lt;h3 id="德国政府"&gt;&lt;a href="#%e5%be%b7%e5%9b%bd%e6%94%bf%e5%ba%9c" class="header-anchor"&gt;&lt;/a&gt;德国政府
&lt;/h3&gt;&lt;p&gt;在最初严密封锁了“古斯特洛夫”号被击沉的消息，报纸和广播一字不提，而幸存者也被训诫不能对外泄漏情况。&lt;/p&gt;
&lt;p&gt;而在二战结束后，德国人开始慢慢披露此事，并开始有声音谴责这是苏联对平民进行的一次大屠杀。&lt;/p&gt;
&lt;p&gt;直到东、西德统一后档案揭秘，人们才知道当时的“古斯特洛夫”号上并不都是平民，还配备防空炮和装载军队。&lt;/p&gt;
&lt;h3 id="苏联当局"&gt;&lt;a href="#%e8%8b%8f%e8%81%94%e5%bd%93%e5%b1%80" class="header-anchor"&gt;&lt;/a&gt;苏联当局
&lt;/h3&gt;&lt;p&gt;一开始也对这场“胜利”态度暧昧。
马连尼斯科虽然战绩显赫，但却没有获得他希望获得的“苏联英雄”称号，只是获得了“红旗勋章”。80 年代后期，一些苏联海员曾凑钱建了一座马连尼斯科的纪念碑，但他的名字也被人在夜间偷偷挖去。&lt;/p&gt;
&lt;p&gt;在苏联解体前的最后一个“胜利日”时，马连尼斯科终于被追认为“苏联英雄”。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;1 月 30 日其实是一个很巧合的日子：不仅仅是“古斯特洛夫”号沉没的日子，更是这艘船名字的本人，威廉·古斯特洛夫的生日，还是希特勒上台成为德国总理的日子。
当三枚来自苏联潜艇的鱼雷命中“古斯特洛夫”号的时候，船上的广播正在播送希特勒的纪念讲话。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="古斯特洛夫号的沉没是否属于海难"&gt;&lt;a href="#%e5%8f%a4%e6%96%af%e7%89%b9%e6%b4%9b%e5%a4%ab%e5%8f%b7%e7%9a%84%e6%b2%89%e6%b2%a1%e6%98%af%e5%90%a6%e5%b1%9e%e4%ba%8e%e6%b5%b7%e9%9a%be" class="header-anchor"&gt;&lt;/a&gt;“古斯特洛夫”号的沉没是否属于“海难”
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;“古斯特洛夫”号并非像“泰坦尼克”号那样是因为意外事故沉没的，而是被苏联潜艇击沉的。&lt;/li&gt;
&lt;li&gt;作为一艘拥有武器，运送部分军人的船只，“古斯特洛夫”号并非是没有武器的平民船只，而且它被击沉的海域也被德国人自己宣布处于战争状态。&lt;/li&gt;
&lt;li&gt;那沉入海底的近一万名难民尤其是数千名儿童的冤魂，却又无法让人心情平静，这毕竟是一艘装有大量平民的船只&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;那么，是不是谁都可以不负这个责任？&lt;br&gt;
当然不是。&lt;br&gt;
谁发动战争，谁就应该为此负责。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>《曾经有一个聊天工具，叫MSN》笔记</title><link>https://www.xalaok.top/post/msn/</link><pubDate>Sat, 18 Mar 2023 09:00:00 +0800</pubDate><guid>https://www.xalaok.top/post/msn/</guid><description>&lt;img src="https://www.xalaok.top/post/msn/cover.webp" alt="Featured image of post 《曾经有一个聊天工具，叫MSN》笔记" /&gt;&lt;blockquote&gt;
&lt;p&gt;馒头说 &lt;a class="link" href="https://mp.weixin.qq.com/s/KHJWtM-_3jHDBeRQRmDfzA" target="_blank" rel="noopener"
&gt;第 277 篇文章&lt;/a&gt; 读书笔记&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1997/12/31&lt;br&gt;
微软收购 Hotmail，并入 MSN&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/msn/hotmail.webp"
width="562"
height="267"
loading="lazy" style="display:block;margin:0 auto;"
alt="hotmail.webp"
class="gallery-image"
data-flex-grow="210"
data-flex-basis="505px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1998/06&lt;br&gt;
Mirabilis 被 AOL 收购。&lt;br&gt;
ICQ（一款即时通讯软件，由以色列公司 Mirabilis 于 1996 年 11 月 16 日推出）&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/msn/icq.webp"
width="626"
height="410"
loading="lazy" style="display:block;margin:0 auto;"
alt="icq.webp"
class="gallery-image"
data-flex-grow="152"
data-flex-basis="366px"
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1998/11/11&lt;br&gt;
腾讯成立&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1999/02&lt;br&gt;
腾讯“模仿”ICQ 做了一个中文版本，取名“OICQ”——“Opening ICQ”&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/msn/oicq.webp"
width="462"
height="350"
loading="lazy" style="display:block;margin:0 auto;"
alt="oicq.webp"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="316px"
&gt;&lt;/p&gt;
&lt;p&gt;花了整整 9 个月的时间，到 1999 年 11 月，注册用户数才达到 6 万&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1998/11/7 &amp;amp; 1999/01/26&lt;br&gt;
腾讯注册 OICQ.COM、OICQ.NET 域名&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1999/07/22&lt;br&gt;
微软（Microsoft）正式上线 MSN Messenger&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/msn/msn.webp"
width="484"
height="422"
loading="lazy" style="display:block;margin:0 auto;"
alt="msn.webp"
class="gallery-image"
data-flex-grow="114"
data-flex-basis="275px"
&gt;&lt;/p&gt;
&lt;p&gt;服务开通的前 6 天，就获得了 70 万注册用户&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1999/08 至 1999/09&lt;br&gt;
短短 10 天时间内，AOL 先后两次向腾讯发送措辞严厉的投诉信，指责腾讯侵犯 ICQ 的知识产权&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2001/03/16&lt;br&gt;
MSN Messenger 在全世界范围内拥有了 3000 万在线用户。&lt;br&gt;
在这 3000 万用户中，有相当一部分来自他们并未正式开展 MSN 业务的中国大陆。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2000/03/21&lt;br&gt;
腾讯公司败诉，让出“OICQ&amp;quot;的所有权利&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2001/04&lt;br&gt;
马化腾痛定思痛，将 OICQ 改名“QQ”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2005/03&lt;br&gt;
腾讯为了对抗 MSN 强大而成熟的 Hotmail 邮件系统，特地收购了 Foxmail 来加强 QQ 邮箱。（这笔收购后来可以说是影响了整个腾讯的命运——Foxmail 的开发者也加入了腾讯，他的名字叫张小龙）&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/msn/foxmail.webp"
width="598"
height="419"
loading="lazy" style="display:block;margin:0 auto;"
alt="foxmail.webp"
class="gallery-image"
data-flex-grow="142"
data-flex-basis="342px"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;在当时的中国，“MSN Messenger”有自己非常清晰的标签：“小孩才用 QQ，职场精英、白领人士都用 MSN。”&lt;br&gt;
在当时不少企业的招聘会上或面试中（尤其是外企或 500 强企业），如果应聘的大学生“联系邮箱”留的是“xxxxx@qq.com”，那有可能会在面试官眼中减一点分——“还是个孩子啊！”而如果你留的是“xxxxx@hotmail.com”，则多半会起到加分的作用。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2005 年 5 月 26 日微软宣布 MSN 正式进入中国&lt;br&gt;
MSN Messenger 在经过高速增长后，很快就陷入了最可怕，也是最致命的停滞——它对越来越多的细节问题视而不见，拒绝作出改变。&lt;br&gt;
当时 MSN Messenger 的几大缺点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;传输文件非常不方便
因为微软长期不肯把 MSN 的服务器放到中国。甚至有一次因为海底光缆断裂，造成了中国 MSN 用户的集体断网，使得用户体验大打折扣。&lt;/li&gt;
&lt;li&gt;“群”的功能非常弱。（而 QQ 在“建群”这件事上下了非常深的功夫，服务也做得非常好，成了黏住用户的一大法宝。）&lt;/li&gt;
&lt;li&gt;相当长一段时间里没有隐身功能，没有离线留言功能（这些在 QQ 上都是最基本的功能）&lt;/li&gt;
&lt;li&gt;每一个人的对话框只能显示在下面的状态栏，无法像 QQ 那样收缩进屏幕右下角的一个闪烁图标。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;微软：用户自适应&lt;br&gt;
其实 MSN 中国对很多细节改进打过各种报告，但一系列的邮件经过抄送和转发，层层审批，周游全球，最终要么被拒绝，要么等批下来时，黄花菜都凉了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2005/12&lt;br&gt;
微软发布 Live 战略，MSN 被整合到了 Windows Live 的平台下，而 MSN Messenger 从一个小巧独立的聊天工具，转变为一个大工具包&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2011/01/21&lt;br&gt;
腾讯推出微信&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2012&lt;br&gt;
MSN Messenger 在中国的用户数跌到了 4500 万&lt;br&gt;
QQ 的用户数超过了 6 亿&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2013/03/15&lt;br&gt;
微软正式宣布：关闭全球范围内 MSN，除了中国。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2014/08/28&lt;br&gt;
每一个中国 MSN Messenger 的用户收到了来自微软的一封邮件：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;中国的 MSN Messenger 将于 2014 年 10 月 31 日正式关闭，所有人可以转向早先微软收购的 Skype。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;就在 MSN Messenger 宣布正式关闭前的一周，微信已经拥有了惊人的 1 亿日活，6 亿注册用户。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;“眼看他起朱楼，眼看他宴宾客，眼看他楼塌了。”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;但是，从来就不会有莫名其妙的衰败，每幢楼倒塌的背后，都能找到原因。&lt;/p&gt;
&lt;p&gt;再大的巨无霸，说倒就倒，垮塌也就是一眨眼的事。&lt;/p&gt;
&lt;p&gt;在这个充满变化的时代，唯变不变。&lt;/p&gt;</description></item><item><title>2023春节前，上海的大雪</title><link>https://www.xalaok.top/post/2023-shanghai-snow/</link><pubDate>Sun, 15 Jan 2023 11:30:00 +0000</pubDate><guid>https://www.xalaok.top/post/2023-shanghai-snow/</guid><description>&lt;img src="https://www.xalaok.top/post/2023-shanghai-snow/1.webp" alt="Featured image of post 2023春节前，上海的大雪" /&gt;&lt;p&gt;&lt;video src="video.mp4" controls controlslist="nodownload" loading="lazy" style="display:block;margin:0 auto;width:80%"&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.xalaok.top/post/2023-shanghai-snow/1.webp"
width="1440"
height="1080"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/2023-shanghai-snow/2.webp"
width="1440"
height="1080"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
&gt;
&lt;img src="https://www.xalaok.top/post/2023-shanghai-snow/3.webp"
width="1080"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;
&lt;img src="https://www.xalaok.top/post/2023-shanghai-snow/4.webp"
width="1080"
height="1440"
loading="lazy" style="display:block;margin:0 auto;"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
&gt;&lt;/p&gt;</description></item><item><title>关于</title><link>https://www.xalaok.top/about/</link><pubDate>Tue, 03 Jan 2023 00:00:00 +0000</pubDate><guid>https://www.xalaok.top/about/</guid><description>&lt;h2 id="-关于本人"&gt;&lt;a href="#-%e5%85%b3%e4%ba%8e%e6%9c%ac%e4%ba%ba" class="header-anchor"&gt;&lt;/a&gt;👨‍💻 关于本人
&lt;/h2&gt;&lt;p&gt;鸽 有空再说&lt;/p&gt;
&lt;h2 id="-关于本站"&gt;&lt;a href="#-%e5%85%b3%e4%ba%8e%e6%9c%ac%e7%ab%99" class="header-anchor"&gt;&lt;/a&gt;🏠 关于本站
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;博客框架：&lt;a class="link" href="https://gohugo.io/" target="_blank" rel="noopener"
&gt;Hugo&lt;/a&gt; 0.154.5&lt;/li&gt;
&lt;li&gt;博客主题：&lt;a class="link" href="https://stack.jimmycai.com/" target="_blank" rel="noopener"
&gt;Stack&lt;/a&gt; 3.34.1&lt;/li&gt;
&lt;li&gt;托管部署：源码托管于 &lt;a class="link" href="https://github.com/" target="_blank" rel="noopener"
&gt;Github&lt;/a&gt; 网站部署于 &lt;a class="link" href="https://vercel.com/" target="_blank" rel="noopener"
&gt;Vercel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;评论系统：&lt;a class="link" href="https://twikoo.js.org/" target="_blank" rel="noopener"
&gt;Twikoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;访问统计：&lt;a class="link" href="https://umami.xalaok.top/share/2ndVFyWbLflp6As3/" target="_blank" rel="noopener"
&gt;Umami&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;版权声明：&lt;a class="link" href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank" rel="noopener"
&gt;CC BY-NC-SA 4.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="本站时间线"&gt;&lt;a href="#%e6%9c%ac%e7%ab%99%e6%97%b6%e9%97%b4%e7%ba%bf" class="header-anchor"&gt;&lt;/a&gt;⏳本站时间线
&lt;/h3&gt;&lt;p&gt;
&lt;div class="timeline__row"&gt;
&lt;div class="timeline__time"&gt;
&lt;div class="timeline__time"&gt;2023-01-03&lt;/div&gt;
&lt;div class="timeline__split-line"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="timeline__content"&gt;
&lt;div class="timeline__tags"&gt;
&lt;span class="timeline__tag"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="timeline__title"&gt;Hello World&lt;/div&gt;
&lt;div class="timeline__description"&gt;
Hello WordPress
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.timeline {
display: flex;
flex-direction: column;
}
.timeline__row {
display: flex;
padding-left: 4%;
height: 90px;
}
.timeline__time {
flex: 0 0 110px;
color: #5d5d5d;
font-size: 17px;
text-transform: uppercase;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0.5rem 0;
}
.timeline__time-text {
margin: 0;
}
.timeline__split-line {
position: absolute;
top: 0.5rem;
right: -20px;
height: 100%;
width: 2px;
background-color: #84c4e240;
z-index: 0;
}
.timeline__split-line:before {
content: "";
position: absolute;
top: 24%;
right: -4px;
transform: translateY(-50%);
width: 10px;
height: 10px;
background-color: #c9e5f2;
box-shadow: 0 0 0 4px var(--theme);
border-radius: 50%;
border: 0px solid #84c4e2;
z-index: -1;
}
.timeline__content {
flex: 1;
margin-left: 4.5rem;
padding: 0.5rem 0 1.2rem 0;
}
.timeline__title {
margin: 0;
margin-bottom: 2px;
padding-top: 3px;
margin-left: 0.5rem;
color: var(--content);
font-family: var(--font-family-teshu);
font-size: 19px;
font-weight: 600;
width: fit-content;
display: inline-block;
vertical-align: middle;
}
.timeline__tags {
display: inline-block;
padding: 0;
margin-left: 0.3rem;
align-items: center;
gap: 0.3rem;
}
.timeline__tag {
display: inline-block;
color: var(--secondary);
background-color: #84c4e230;
border: 1.5px solid #84c4e230;
border-radius: 999px;
padding: 0rem 0.5rem;
font-size: 12px;
white-space: nowrap;
line-height: 1.4rem;
opacity: 0.8;
vertical-align: middle;
}
.timeline__description {
font-size: 15px;
line-height: 1.6;
color: #5d5d5d;
overflow: hidden;
text-overflow: ellipsis;
margin: 0.5rem 0 0.4rem 1.5rem;
}
.timeline__tag-style {
background-color: #c581da;
border-color: #c581da;
color: #FFFFFF;
}
.timeline__tag-article {
background-color: #92d392;
border-color: #92d392;
color: #000000;
}
.timeline__tag-page {
background-color: #707070;
border-color: #707070;
color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.timeline__time {
font-size: 14px;
}
.timeline__title {
font-size: 16px;
}
.timeline__description {
font-size: 14px;
}
}
&lt;/style&gt;
&lt;div class="timeline__row"&gt;
&lt;div class="timeline__time"&gt;
&lt;div class="timeline__time"&gt;2023-01-11&lt;/div&gt;
&lt;div class="timeline__split-line"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="timeline__content"&gt;
&lt;div class="timeline__tags"&gt;
&lt;span class="timeline__tag"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="timeline__title"&gt;Hello Gridea&lt;/div&gt;
&lt;div class="timeline__description"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.timeline {
display: flex;
flex-direction: column;
}
.timeline__row {
display: flex;
padding-left: 4%;
height: 90px;
}
.timeline__time {
flex: 0 0 110px;
color: #5d5d5d;
font-size: 17px;
text-transform: uppercase;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0.5rem 0;
}
.timeline__time-text {
margin: 0;
}
.timeline__split-line {
position: absolute;
top: 0.5rem;
right: -20px;
height: 100%;
width: 2px;
background-color: #84c4e240;
z-index: 0;
}
.timeline__split-line:before {
content: "";
position: absolute;
top: 24%;
right: -4px;
transform: translateY(-50%);
width: 10px;
height: 10px;
background-color: #c9e5f2;
box-shadow: 0 0 0 4px var(--theme);
border-radius: 50%;
border: 0px solid #84c4e2;
z-index: -1;
}
.timeline__content {
flex: 1;
margin-left: 4.5rem;
padding: 0.5rem 0 1.2rem 0;
}
.timeline__title {
margin: 0;
margin-bottom: 2px;
padding-top: 3px;
margin-left: 0.5rem;
color: var(--content);
font-family: var(--font-family-teshu);
font-size: 19px;
font-weight: 600;
width: fit-content;
display: inline-block;
vertical-align: middle;
}
.timeline__tags {
display: inline-block;
padding: 0;
margin-left: 0.3rem;
align-items: center;
gap: 0.3rem;
}
.timeline__tag {
display: inline-block;
color: var(--secondary);
background-color: #84c4e230;
border: 1.5px solid #84c4e230;
border-radius: 999px;
padding: 0rem 0.5rem;
font-size: 12px;
white-space: nowrap;
line-height: 1.4rem;
opacity: 0.8;
vertical-align: middle;
}
.timeline__description {
font-size: 15px;
line-height: 1.6;
color: #5d5d5d;
overflow: hidden;
text-overflow: ellipsis;
margin: 0.5rem 0 0.4rem 1.5rem;
}
.timeline__tag-style {
background-color: #c581da;
border-color: #c581da;
color: #FFFFFF;
}
.timeline__tag-article {
background-color: #92d392;
border-color: #92d392;
color: #000000;
}
.timeline__tag-page {
background-color: #707070;
border-color: #707070;
color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.timeline__time {
font-size: 14px;
}
.timeline__title {
font-size: 16px;
}
.timeline__description {
font-size: 14px;
}
}
&lt;/style&gt;
&lt;div class="timeline__row"&gt;
&lt;div class="timeline__time"&gt;
&lt;div class="timeline__time"&gt;2023-03-18&lt;/div&gt;
&lt;div class="timeline__split-line"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="timeline__content"&gt;
&lt;div class="timeline__tags"&gt;
&lt;span class="timeline__tag"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="timeline__title"&gt;Hello Typecho&lt;/div&gt;
&lt;div class="timeline__description"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.timeline {
display: flex;
flex-direction: column;
}
.timeline__row {
display: flex;
padding-left: 4%;
height: 90px;
}
.timeline__time {
flex: 0 0 110px;
color: #5d5d5d;
font-size: 17px;
text-transform: uppercase;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0.5rem 0;
}
.timeline__time-text {
margin: 0;
}
.timeline__split-line {
position: absolute;
top: 0.5rem;
right: -20px;
height: 100%;
width: 2px;
background-color: #84c4e240;
z-index: 0;
}
.timeline__split-line:before {
content: "";
position: absolute;
top: 24%;
right: -4px;
transform: translateY(-50%);
width: 10px;
height: 10px;
background-color: #c9e5f2;
box-shadow: 0 0 0 4px var(--theme);
border-radius: 50%;
border: 0px solid #84c4e2;
z-index: -1;
}
.timeline__content {
flex: 1;
margin-left: 4.5rem;
padding: 0.5rem 0 1.2rem 0;
}
.timeline__title {
margin: 0;
margin-bottom: 2px;
padding-top: 3px;
margin-left: 0.5rem;
color: var(--content);
font-family: var(--font-family-teshu);
font-size: 19px;
font-weight: 600;
width: fit-content;
display: inline-block;
vertical-align: middle;
}
.timeline__tags {
display: inline-block;
padding: 0;
margin-left: 0.3rem;
align-items: center;
gap: 0.3rem;
}
.timeline__tag {
display: inline-block;
color: var(--secondary);
background-color: #84c4e230;
border: 1.5px solid #84c4e230;
border-radius: 999px;
padding: 0rem 0.5rem;
font-size: 12px;
white-space: nowrap;
line-height: 1.4rem;
opacity: 0.8;
vertical-align: middle;
}
.timeline__description {
font-size: 15px;
line-height: 1.6;
color: #5d5d5d;
overflow: hidden;
text-overflow: ellipsis;
margin: 0.5rem 0 0.4rem 1.5rem;
}
.timeline__tag-style {
background-color: #c581da;
border-color: #c581da;
color: #FFFFFF;
}
.timeline__tag-article {
background-color: #92d392;
border-color: #92d392;
color: #000000;
}
.timeline__tag-page {
background-color: #707070;
border-color: #707070;
color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.timeline__time {
font-size: 14px;
}
.timeline__title {
font-size: 16px;
}
.timeline__description {
font-size: 14px;
}
}
&lt;/style&gt;
&lt;div class="timeline__row"&gt;
&lt;div class="timeline__time"&gt;
&lt;div class="timeline__time"&gt;2023-06-11&lt;/div&gt;
&lt;div class="timeline__split-line"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="timeline__content"&gt;
&lt;div class="timeline__tags"&gt;
&lt;span class="timeline__tag"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="timeline__title"&gt;Hello Hugo&lt;/div&gt;
&lt;div class="timeline__description"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.timeline {
display: flex;
flex-direction: column;
}
.timeline__row {
display: flex;
padding-left: 4%;
height: 90px;
}
.timeline__time {
flex: 0 0 110px;
color: #5d5d5d;
font-size: 17px;
text-transform: uppercase;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0.5rem 0;
}
.timeline__time-text {
margin: 0;
}
.timeline__split-line {
position: absolute;
top: 0.5rem;
right: -20px;
height: 100%;
width: 2px;
background-color: #84c4e240;
z-index: 0;
}
.timeline__split-line:before {
content: "";
position: absolute;
top: 24%;
right: -4px;
transform: translateY(-50%);
width: 10px;
height: 10px;
background-color: #c9e5f2;
box-shadow: 0 0 0 4px var(--theme);
border-radius: 50%;
border: 0px solid #84c4e2;
z-index: -1;
}
.timeline__content {
flex: 1;
margin-left: 4.5rem;
padding: 0.5rem 0 1.2rem 0;
}
.timeline__title {
margin: 0;
margin-bottom: 2px;
padding-top: 3px;
margin-left: 0.5rem;
color: var(--content);
font-family: var(--font-family-teshu);
font-size: 19px;
font-weight: 600;
width: fit-content;
display: inline-block;
vertical-align: middle;
}
.timeline__tags {
display: inline-block;
padding: 0;
margin-left: 0.3rem;
align-items: center;
gap: 0.3rem;
}
.timeline__tag {
display: inline-block;
color: var(--secondary);
background-color: #84c4e230;
border: 1.5px solid #84c4e230;
border-radius: 999px;
padding: 0rem 0.5rem;
font-size: 12px;
white-space: nowrap;
line-height: 1.4rem;
opacity: 0.8;
vertical-align: middle;
}
.timeline__description {
font-size: 15px;
line-height: 1.6;
color: #5d5d5d;
overflow: hidden;
text-overflow: ellipsis;
margin: 0.5rem 0 0.4rem 1.5rem;
}
.timeline__tag-style {
background-color: #c581da;
border-color: #c581da;
color: #FFFFFF;
}
.timeline__tag-article {
background-color: #92d392;
border-color: #92d392;
color: #000000;
}
.timeline__tag-page {
background-color: #707070;
border-color: #707070;
color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.timeline__time {
font-size: 14px;
}
.timeline__title {
font-size: 16px;
}
.timeline__description {
font-size: 14px;
}
}
&lt;/style&gt;
&lt;div class="timeline__row"&gt;
&lt;div class="timeline__time"&gt;
&lt;div class="timeline__time"&gt;2024-01-03&lt;/div&gt;
&lt;div class="timeline__split-line"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="timeline__content"&gt;
&lt;div class="timeline__tags"&gt;
&lt;span class="timeline__tag"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="timeline__title"&gt;博客一周年🎉&lt;/div&gt;
&lt;div class="timeline__description"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.timeline {
display: flex;
flex-direction: column;
}
.timeline__row {
display: flex;
padding-left: 4%;
height: 90px;
}
.timeline__time {
flex: 0 0 110px;
color: #5d5d5d;
font-size: 17px;
text-transform: uppercase;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0.5rem 0;
}
.timeline__time-text {
margin: 0;
}
.timeline__split-line {
position: absolute;
top: 0.5rem;
right: -20px;
height: 100%;
width: 2px;
background-color: #84c4e240;
z-index: 0;
}
.timeline__split-line:before {
content: "";
position: absolute;
top: 24%;
right: -4px;
transform: translateY(-50%);
width: 10px;
height: 10px;
background-color: #c9e5f2;
box-shadow: 0 0 0 4px var(--theme);
border-radius: 50%;
border: 0px solid #84c4e2;
z-index: -1;
}
.timeline__content {
flex: 1;
margin-left: 4.5rem;
padding: 0.5rem 0 1.2rem 0;
}
.timeline__title {
margin: 0;
margin-bottom: 2px;
padding-top: 3px;
margin-left: 0.5rem;
color: var(--content);
font-family: var(--font-family-teshu);
font-size: 19px;
font-weight: 600;
width: fit-content;
display: inline-block;
vertical-align: middle;
}
.timeline__tags {
display: inline-block;
padding: 0;
margin-left: 0.3rem;
align-items: center;
gap: 0.3rem;
}
.timeline__tag {
display: inline-block;
color: var(--secondary);
background-color: #84c4e230;
border: 1.5px solid #84c4e230;
border-radius: 999px;
padding: 0rem 0.5rem;
font-size: 12px;
white-space: nowrap;
line-height: 1.4rem;
opacity: 0.8;
vertical-align: middle;
}
.timeline__description {
font-size: 15px;
line-height: 1.6;
color: #5d5d5d;
overflow: hidden;
text-overflow: ellipsis;
margin: 0.5rem 0 0.4rem 1.5rem;
}
.timeline__tag-style {
background-color: #c581da;
border-color: #c581da;
color: #FFFFFF;
}
.timeline__tag-article {
background-color: #92d392;
border-color: #92d392;
color: #000000;
}
.timeline__tag-page {
background-color: #707070;
border-color: #707070;
color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.timeline__time {
font-size: 14px;
}
.timeline__title {
font-size: 16px;
}
.timeline__description {
font-size: 14px;
}
}
&lt;/style&gt;&lt;/p&gt;
&lt;h2 id="-投喂作者"&gt;&lt;a href="#-%e6%8a%95%e5%96%82%e4%bd%9c%e8%80%85" class="header-anchor"&gt;&lt;/a&gt;👍 投喂作者
&lt;/h2&gt;
&lt;div class="notice notice-info" &gt;
&lt;div class="notice-title"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon notice-icon" viewBox="0 0 512 512" fill="#705943"&gt;&lt;path d="M256 8a248 248 0 100 496 248 248 0 000-496zm0 110a42 42 0 110 84 42 42 0 010-84zm56 254c0 7-5 12-12 12h-88c-7 0-12-5-12-12v-24c0-7 5-12 12-12h12v-64h-12c-7 0-12-5-12-12v-24c0-7 5-12 12-12h64c7 0 12 5 12 12v100h12c7 0 12 5 12 12v24z"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;于 2023-07-26 开启，由于网站建设与维护实属不易，如果您想支持我的网站，可以扫描下方二维码进行投喂（投喂时请备注自己的昵称，站长收到后将在下面展示），非常感谢您的支持~ 🐨🐨🐨&lt;br&gt;
&lt;img src=https://www.xalaok.top/wechat.jpg width=200 class="center"&gt;&lt;/p&gt;&lt;/div&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;小伙伴昵称😜&lt;/th&gt;
&lt;th style="text-align: center"&gt;投喂方式🌈&lt;/th&gt;
&lt;th style="text-align: center"&gt;投喂数目🍬&lt;/th&gt;
&lt;th style="text-align: center"&gt;投喂日期📆&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;Xalaok&lt;/td&gt;
&lt;td style="text-align: center"&gt;B787-9 空运&lt;/td&gt;
&lt;td style="text-align: center"&gt;114514&lt;/td&gt;
&lt;td style="text-align: center"&gt;2023-07-26&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="-联系我呀"&gt;&lt;a href="#-%e8%81%94%e7%b3%bb%e6%88%91%e5%91%80" class="header-anchor"&gt;&lt;/a&gt;📬 联系我呀
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;GitHub：&lt;a class="link" href="https://github.com/Xalaok" target="_blank" rel="noopener"
&gt;Xalaok&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email：2679779587#qq.com&lt;/li&gt;
&lt;li&gt;Bilibili：&lt;a class="link" href="https://space.bilibili.com/1668281348" target="_blank" rel="noopener"
&gt;钢芯镀镍&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Telegram：&lt;a class="link" href="https://t.me/Xalaok" target="_blank" rel="noopener"
&gt;Xalaok&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>归档</title><link>https://www.xalaok.top/archives/</link><pubDate>Tue, 03 Jan 2023 00:00:00 +0000</pubDate><guid>https://www.xalaok.top/archives/</guid><description/></item><item><title>搜索</title><link>https://www.xalaok.top/search/</link><pubDate>Tue, 03 Jan 2023 00:00:00 +0000</pubDate><guid>https://www.xalaok.top/search/</guid><description/></item><item><title>友链</title><link>https://www.xalaok.top/links/</link><pubDate>Tue, 03 Jan 2023 00:00:00 +0000</pubDate><guid>https://www.xalaok.top/links/</guid><description>&lt;h2 id="我的-blog-信息"&gt;&lt;a href="#%e6%88%91%e7%9a%84-blog-%e4%bf%a1%e6%81%af" class="header-anchor"&gt;&lt;/a&gt;我的 Blog 信息😛
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;🍔名称：Naive Koala 🐨&lt;/li&gt;
&lt;li&gt;🍟地址：&lt;code&gt;https://www.xalaok.top/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;🥗简介：像考拉一样无忧😉&lt;/li&gt;
&lt;li&gt;🍚头像：&lt;code&gt;https://cravatar.cn/avatar/44e7a197aa88dcad4764a1c0ea508d8c&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="友链交换须知"&gt;&lt;a href="#%e5%8f%8b%e9%93%be%e4%ba%a4%e6%8d%a2%e9%a1%bb%e7%9f%a5" class="header-anchor"&gt;&lt;/a&gt;友链交换须知😙
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;🎉先友后链，请不要在“认识”第一天就申请哦&lt;/li&gt;
&lt;li&gt;🧂原则上仅接受具有独立非免费域名和 SSL 证书的网站，免费域名视情况通过&lt;/li&gt;
&lt;li&gt;🍿站点至少正常运行半年&lt;/li&gt;
&lt;li&gt;😀不接入广告，没有影响体验的过度美化&lt;/li&gt;
&lt;li&gt;😅至少有 15 篇原创文章，原创率 ≥90%&lt;/li&gt;
&lt;li&gt;🍗我会抽空访问友链互动&lt;/li&gt;
&lt;li&gt;🧨本站不添加资源分享、纯搬运、论坛、导航等非个人博客类型的站点&lt;/li&gt;
&lt;li&gt;😎友链排序大体按照时间先后顺序，博主喜欢的优质站点有机会排在前列哦&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;认真阅读须知，将本站添加至友链后再在评论区留言哦！若申请时或日后有违反上述规定的站点，博主有权自行删除且不进行通知！&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>