<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>小十的个人博客</title><link>https://www.xiaoten.com/</link><description>小十的个人博客，一个记录生活见闻、学习工作思考与点滴的原创空间。这里也分享门槛较低、通俗易懂的技术知识与实用技巧。</description><language>zh-cn</language><lastBuildDate>Sat, 02 May 2026 00:14:07 +0800</lastBuildDate><atom:link href="https://www.xiaoten.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Proxmox VE (PVE) 内核误删/损坏修复过程记录</title><link>https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/</link><pubDate>Sat, 11 Apr 2026 02:44:00 +0800</pubDate><atom:updated>Sat, 02 May 2026 00:14:07 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/</guid><description>&lt;p&gt;不配头图了，这篇文章本不在计划内，开始写这个内容时已是凌晨 2 点 15 分。&lt;/p&gt;
&lt;p&gt;本来今天的计划是用我刚购置的 UPS，跟我的 PVE 服务器进行绑定，模拟下断电的关机效果，事情就结束了。&lt;/p&gt;
&lt;p&gt;就当我准备安装 UPS 需要的组件前，我擅自更新了 PVE 系统至 9.1.7 版本，更新完后，又擅自相信DeepSeek 给的命令，进行了“垃圾清理”，罪魁祸首如下：&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/images/PixPin_2026-04-11_02-18-19_hu_281a36adc8b0257f.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;DeepSeek 给出的命令&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="DeepSeek 给出的命令"
alt="DeepSeek 给出的命令"
src="https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/images/PixPin_2026-04-11_02-18-19_hu_e49e967312dc0465.jpeg"
width="1200"
height="874"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;DeepSeek 给出的命令&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;结果直接导致 PVE 重启后无法进入系统，报错如下：&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/images/IMG_5966_hu_91814e610f0f69f8.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;类似于 Win 系统的蓝屏&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="类似于 Win 系统的蓝屏"
alt="类似于 Win 系统的蓝屏"
src="https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/images/IMG_5966_hu_d94688d23364089a.jpeg"
width="1200"
height="900"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;类似于 Win 系统的蓝屏&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;整个人都懵了……要知道，这里面运行了飞牛 NAS、网站的各类服务等，虽有定时备份，但能救回多少，尚未可知，因为手机端没有安装 Gemini，就用元宝拍照问解决办法，结果还给了一些危言耸听、不讲逻辑的判断：&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/images/IMG_5967_hu_84b772a9e6874351.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;元宝说我的分区表和文件系统类型完全错误&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="元宝说我的分区表和文件系统类型完全错误"
alt="元宝说我的分区表和文件系统类型完全错误"
src="https://www.xiaoten.com/posts/2026/04/fix-pve-vfs-kernel-panic/images/IMG_5967_hu_2854cd4238399454.jpeg"
width="1200"
height="2602"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;元宝说我的分区表和文件系统类型完全错误&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;然后，后面给了一堆类似于要重装、要先备份等等一类的话，我当时又懵了，不过细细一想，我就删了垃圾，删个内核我认，怎么还把分区表给变了？&lt;/p&gt;
&lt;p&gt;于是立马转向 Gemini，手机拍照，通过隔空投送传至电脑，再一步一步操作，果然靠谱，有惊无险，顺利解决。&lt;/p&gt;
&lt;p&gt;DeepSeek 和元宝还有很长路要走啊！&lt;/p&gt;
&lt;p&gt;说回正题：&lt;/p&gt;
&lt;h2 id="事件过程"&gt;事件过程&lt;/h2&gt;
&lt;p&gt;我为了接入 UPS，顺手更新了最新版 PVE (Proxmox VE 9.1.7) 服务器时，顺手跑了一条批量清理旧内核的命令。&lt;br&gt;
结果，这条命令把系统里所有的实体内核文件全给扬了！ 重启机器后，就是报错：&lt;/p&gt;</description></item><item><title>郑州春日赏花纪行</title><link>https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/</link><pubDate>Sun, 29 Mar 2026 23:52:00 +0800</pubDate><atom:updated>Sun, 29 Mar 2026 23:55:50 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/</guid><description>&lt;p&gt;最近天气回暖，趁周末闲暇时间跑了不少地方。&lt;/p&gt;
&lt;p&gt;从家门前的绿道到比较知名的一些公园，像一名退休的老大爷，拍下了不少关于花的照片。一过中年，爱好也愈发老龄化了……&lt;/p&gt;
&lt;p&gt;不过，对照了家门口美人梅的花期，发现很多花是一天一个样，错过了可能就真得等上一年。&lt;/p&gt;
&lt;p&gt;本来希望像写博物馆的那种方式，每一种花都精准识别并进行介绍。但发现 AI 都搞不定这事，于是这篇文章只能简单罗列。&lt;/p&gt;
&lt;p&gt;按照时间顺序，先后去了美人梅步道、郑州市植物园、西流湖公园、千米海棠廊道、郑州市人民公园和碧沙岗公园这几个地方。&lt;/p&gt;
&lt;p&gt;当然在郑州赏花的地方远不止这些，例如树木园、绿博园、丰乐樱花园、月季公园、紫荆山公园等等……&lt;/p&gt;
&lt;p&gt;但时间、精力有限，无法再深度游览，而且距上一篇文章更新已近半月、距上一篇纯生活类的文章更新已一个多月，也确实到了水一篇的时候了。&lt;/p&gt;
&lt;h2 id="美人梅步道"&gt;美人梅步道&lt;/h2&gt;
&lt;p&gt;这个是家门口的一条专供骑行的绿地步道，平常总在阳台远远看着，一直没怎么去过。3月8日早晨，去那里跑步，偶然发现成片盛开的美人梅，觉得挺好看（当时还以为是樱花）。小红书上得知，去年此时都已成为网红打卡地（仅限于美人梅盛开期间），但我那天去的时候比较早，并没有见到什么人，后面抽空又去了两次，发现确实前来打卡的人确实挺多。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/images/DSC01292_hu_20cc8613a48c4d2a.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;美人梅步道&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-03-14 10:17:43&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/2500s · ISO200&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="美人梅步道"
alt="美人梅步道"
src="https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/images/DSC01292_hu_667c9f249b0be4ad.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;美人梅步道&lt;/span&gt;
&lt;span class="exif"&gt;26-3-14 · 85mm · f/1.4 · 1/2500s · ISO200 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/images/DSC01299_hu_59aa16c46f49ec84.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;美人梅&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-03-14 10:25:34&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/1600s · ISO200&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="美人梅"
alt="美人梅"
src="https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/images/DSC01299_hu_dd19bdeec93382e0.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;美人梅&lt;/span&gt;
&lt;span class="exif"&gt;26-3-14 · 85mm · f/1.4 · 1/1600s · ISO200 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/images/DSC01284_hu_1aca606082e50e50.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;骑车路过&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-03-14 10:14:17&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/1250s · ISO200&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="骑车路过"
alt="骑车路过"
src="https://www.xiaoten.com/posts/2026/03/zhengzhou-spring-flowers/images/DSC01284_hu_c386e22b76d82671.jpg"
width="900"
height="1350"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;骑车路过&lt;/span&gt;
&lt;span class="exif"&gt;26-3-14 · 85mm · f/1.4 · 1/1250s · ISO200 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;除了美人梅，还有其他一些植物，后来去的时候也附近逛了逛，还挺多露营的人。&lt;/p&gt;</description></item><item><title>足迹地图更新：区域高亮显示</title><link>https://www.xiaoten.com/posts/2026/03/footprintmap-global-highlight-update/</link><pubDate>Sun, 15 Mar 2026 19:42:00 +0800</pubDate><atom:updated>Sun, 15 Mar 2026 20:51:13 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2026/03/footprintmap-global-highlight-update/</guid><description>&lt;p&gt;距离我第一次发布
&lt;a href="https://www.xiaoten.com/posts/2025/11/amap-powered-footprintmap-shortcode/"
target="_blank" rel="noopener noreferrer"
&gt;
基于高德地图实现 Hugo 足迹地图短代码
&lt;/a&gt; 已经过去了一段时间，一直都没有进行更新。&lt;/p&gt;
&lt;p&gt;直到昨天 S 大佬提出了一个高品质需求，更新刻不容缓：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/PixPin_2026-03-15_19-46-54.png"
alt=""
loading="lazy"
decoding="async"width="1698" height="368"&gt;
&lt;/p&gt;
&lt;p&gt;当然最终还是大佬靠自己解决了😈……大家可围观大佬的足迹：
&lt;a href="https://synyan.cn/footprints/"
target="_blank" rel="noopener noreferrer"
&gt;
足迹 - 旅行漫记
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;但是觉得这个想法还是挺实用的，有一种逐渐点亮整个世界的感觉，成就满满！&lt;/p&gt;
&lt;p&gt;整个过程也很简单，借助 AI，很快实现了鼠标悬停时的高亮效果，后来又实现了已标记地点的自动保持高亮的效果，最后因这两种效果都想保持且希望实现随时转换，因此直接解耦成单独的 js 文件，实现插件化调用。&lt;/p&gt;
&lt;p&gt;演示效果可访问：
&lt;a href="https://www.xiaoten.com/pages/footprints/"
target="_blank" rel="noopener noreferrer"
&gt;
足迹 - 小十的个人博客
&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="一主要特性"&gt;一、主要特性&lt;/h2&gt;
&lt;h3 id="1-国家与国内省份高亮"&gt;1. 国家与国内省份高亮&lt;/h3&gt;
&lt;p&gt;不再局限于孤立的标记点，地图集成了边界解析引擎，国内精确到&lt;strong&gt;省级行政区&lt;/strong&gt;，国外精确到&lt;strong&gt;国家级&lt;/strong&gt;，并实现两者兼容展示。足迹落在哪里，哪里的版图就会被点亮。&lt;/p&gt;
&lt;h3 id="2-高亮功能插件化"&gt;2. 高亮功能插件化&lt;/h3&gt;
&lt;p&gt;不同的使用者可能对高亮的展示有不同的偏好，将高亮功能的实现拆分成了两个独立的插件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🌍 &lt;strong&gt;永久高亮模式 (&lt;code&gt;plugin-visited.js&lt;/code&gt;)&lt;/strong&gt;：只要你的足迹数据里包含该区域的坐标，该省份/国家就会被永久高亮（默认呈现清新的薄荷青配色）。&lt;/li&gt;
&lt;li&gt;🖱️ &lt;strong&gt;悬浮高亮模式 (&lt;code&gt;plugin-hover.js&lt;/code&gt;)&lt;/strong&gt;：默认地图保持纯净，只有当鼠标滑过标记点或地图空白区域时，该区域才会高亮。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-智能标签排除如计划行程"&gt;3. 智能标签排除（如“计划”行程）&lt;/h3&gt;
&lt;p&gt;有些地点我们可能只是打了个 &lt;code&gt;[&amp;quot;计划&amp;quot;]&lt;/code&gt; 的标签，人还没去过。现在，插件内置了&lt;strong&gt;标签过滤&lt;/strong&gt;，可以通过配置排除特定标签，未成行的足迹不会干扰到区域的点亮状态。&lt;/p&gt;
&lt;h2 id="二如何获取与处理边界数据"&gt;二、如何获取与处理边界数据&lt;/h2&gt;
&lt;p&gt;要实现区域高亮，最核心的基础就是 &lt;strong&gt;GeoJSON 边界数据&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="1-获取国内省份数据"&gt;1. 获取国内省份数据&lt;/h3&gt;
&lt;p&gt;国内的省级边界数据相对容易获取，强烈推荐使用
&lt;a href="https://datav.aliyun.com/portal/school/atlas/area_selector"
target="_blank" rel="noopener noreferrer"
&gt;
阿里云 DataV 数据可视化平台
&lt;/a&gt; 。&lt;/p&gt;
&lt;p&gt;直接下载 GeoJSON 即可，并将文件命名为 &lt;code&gt;provinces.geojson&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="2-获取全球国家数据"&gt;2. 获取全球国家数据&lt;/h3&gt;
&lt;p&gt;全球数据我使用的是 Natural Earth 提供的开源标准数据集：
&lt;a href="https://datahub.io/core/geo-countries"
target="_blank" rel="noopener noreferrer"
&gt;
Datahub - Geo Countries
&lt;/a&gt; 。&lt;/p&gt;
&lt;p&gt;在这个页面你可以下载到包含全球所有国家边界的 &lt;code&gt;countries.geojson&lt;/code&gt; 文件。&lt;/p&gt;</description></item><item><title>我用 AI 为 Hugo 打造了博客文章发布平台</title><link>https://www.xiaoten.com/posts/2026/03/ai-build-hugo-cms/</link><pubDate>Thu, 12 Mar 2026 23:19:00 +0800</pubDate><atom:updated>Sat, 14 Mar 2026 23:30:40 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2026/03/ai-build-hugo-cms/</guid><description>&lt;p&gt;自从去年 10 月将博客从 Typecho 迁移到 Hugo 之后，静态博客在访问速度、数据安全和服务器资源占用上的优势让我非常满意。&lt;/p&gt;
&lt;p&gt;但不得不面对静态博客最大的痛点：没有成熟的文章后台发布系统。我一直采用手动创建文件夹并新建 markdown 文件的方式来写博客，特别是我还用到了一些关于图片方面的 Shortcode……&lt;/p&gt;
&lt;p&gt;AI 这么成熟的今天，特别是龙虾🦞近期也是非常火爆。那我就把这个想法告诉了 Gemini，让其帮我实现：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;帮我写一个纯前端的“无头 CMS”，直接挂载在我的博客域名下，随时随地打开网页就能写&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我把我的需求、Markdown 模板以及复杂的文件树结构一股脑喂给了 AI，要求它以“高级产品经理 + 程序员”的身份帮我实现。下面把关键节点记录如下：&lt;/p&gt;
&lt;h2 id="第一阶段nodejs-方案"&gt;第一阶段：Node.js 方案&lt;/h2&gt;
&lt;p&gt;最开始，AI 给出了一个常规解法：用 Express 跑一个本地服务，前端写页面，后端直接操作本地文件系统。&lt;/p&gt;
&lt;p&gt;但这完全背离了我的初衷。我的博客代码托管在 GitHub 上，由 GitHub Actions 自动构建部署到云服务器。如果每次写文章还得在本地打开终端运行 &lt;code&gt;node server.js&lt;/code&gt;，这和在终端敲 &lt;code&gt;hugo new&lt;/code&gt; 没什么本质区别。&lt;/p&gt;
&lt;p&gt;于是立刻否决这个方案，向 AI 提出了进一步要求：&lt;strong&gt;我要纯前端实现，没有服务器，直接通过 GitHub API 读写仓库！&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;最终给我一份纯 html 的前端文档，满足要求。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/591; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/03/ai-build-hugo-cms/images/PixPin_2026-03-12_22-41-53_hu_b3b14733fc2bb2ef.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;效果图&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="效果图"
alt="效果图"
src="https://www.xiaoten.com/posts/2026/03/ai-build-hugo-cms/images/PixPin_2026-03-12_22-41-53_hu_caa17698f827718.jpeg"
width="1200"
height="591"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;效果图&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="第二阶段安全性与便捷性"&gt;第二阶段：安全性与便捷性&lt;/h2&gt;
&lt;p&gt;纯前端方案确立后，最大的难题是​&lt;strong&gt;鉴权&lt;/strong&gt;​。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;AI 给出了以下方案：&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;系统内置了一套基于 &lt;code&gt;crypto-js&lt;/code&gt; 的 AES-256 军事级加密引擎。首次使用时，我输入真实的 Token 和一个​&lt;strong&gt;自定义的短密码&lt;/strong&gt;​，系统将 Token 加密成一串绝对安全的乱码，这串乱码被硬编码在 HTML 文件里并推送到线上。&lt;/del&gt;&lt;/p&gt;</description></item><item><title>使用 1Panel 和内网穿透部署 WordPress 实例要点备忘</title><link>https://www.xiaoten.com/posts/2026/03/1panel-wordpress-frp-deploy-memo/</link><pubDate>Wed, 04 Mar 2026 22:23:00 +0800</pubDate><atom:updated>Thu, 12 Mar 2026 22:02:47 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2026/03/1panel-wordpress-frp-deploy-memo/</guid><description>&lt;p&gt;今天为了测试一个程序，需要同时搭建两个 WordPress 实例，特别是依赖于部分非缺省的 PHP 扩展，1Panel 应用商店里的 WordPress 对应的 PHP 环境相对固化，难以满足个性化需求，因此最终选择了手动创建网站实例，然后通过容器化方式单独挂载运行 PHP 和 MySQL。这样做的最大好处是自由度较高，可自由选择 PHP 或 MySQL 版本，如对 PHP 扩展有特定要求，也方便安装维护。&lt;/p&gt;
&lt;p&gt;我的服务器在内网，通过 FRP 内网穿透方式实现公网访问，且两个实例均使用了 Redis 缓存。&lt;/p&gt;
&lt;p&gt;今天在部署过程中踩了不少坑，为方便后续查阅，避免反复通过 AI 寻求解决办法，因此把几个核心要点记录下来。&lt;/p&gt;
&lt;h2 id="一frp-内网穿透下的端口暴露与-nginx-配置"&gt;一、frp 内网穿透下的端口暴露与 Nginx 配置&lt;/h2&gt;
&lt;p&gt;因为使用了 frp 进行内网穿透，外部流量经过穿透到达本地的 Nginx （具体为：OpenResty）时，会发生端口号暴露。例如访问 &lt;code&gt;domain.com/wp-admin&lt;/code&gt; （最后没有以 &lt;code&gt;/&lt;/code&gt; 结尾）时，会默认跳转为 &lt;code&gt;domain.com:8585/wp-admin/&lt;/code&gt; （出现的端口号 &lt;code&gt;8585&lt;/code&gt; 即本地搭建时网站实例的端口号），导致无法访问。&lt;/p&gt;
&lt;h3 id="1修改本地-1panel-的-nginx-配置"&gt;1、修改本地 1Panel 的 Nginx 配置&lt;/h3&gt;
&lt;p&gt;为解决这个问题，需修改本地网站的 Nginx 配置文件，关闭绝对重定向和端口重定向：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="10" data-collapsed-lines="5"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Nginx" data-lang="Nginx"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 在 Nginx 站点的 server 块中添加或修改以下配置（找个位置靠前些的）
&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 class="k"&gt;server&lt;/span&gt; &lt;span class="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="c1"&gt;# 避免 Nginx 在做目录重定向时带上非标准端口号
&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 class="kn"&gt;absolute_redirect&lt;/span&gt; &lt;span class="no"&gt;off&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# 会让 Nginx 直接返回相对路径的重定向指令，比如让浏览器直接跳到 /wp-admin/，从而完美避开域名和端口的拼接错误。
&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 class="kn"&gt;port_in_redirect&lt;/span&gt; &lt;span class="no"&gt;off&lt;/span&gt;&lt;span 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 class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 5 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="2检查反向代理的-header-头可选但推荐"&gt;2、检查反向代理的 Header 头（可选但推荐）&lt;/h3&gt;
&lt;p&gt;为了防止 WordPress 内部的其他链接也错误识别端口，需确保 frp 服务端在反向代理时，把真实情况传递给了内网。&lt;/p&gt;</description></item><item><title>佛山、广州春节五日纪行</title><link>https://www.xiaoten.com/posts/2026/02/five-days-in-foshan-guangzhou/</link><pubDate>Sat, 21 Feb 2026 22:00:28 +0800</pubDate><guid>https://www.xiaoten.com/posts/2026/02/five-days-in-foshan-guangzhou/</guid><description>&lt;h2 id="2月16日除夕"&gt;2月16日，除夕&lt;/h2&gt;
&lt;h3 id="郑州至佛山"&gt;郑州至佛山&lt;/h3&gt;
&lt;p&gt;上午乘坐 G419 从郑州东一路南下抵达广州南，随后换乘 C7610 城际列车前往佛山西。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/02/five-days-in-foshan-guangzhou/images/DSC09571_hu_51d7be61e0ea68e.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;除夕广州南站候车大厅&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-02-16 14:59:30&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;FE 20-70mm F4 G&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;21mm · f/4.0 · 1/80s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="除夕广州南站候车大厅"
alt="除夕广州南站候车大厅"
src="https://www.xiaoten.com/posts/2026/02/five-days-in-foshan-guangzhou/images/DSC09571_hu_d24e687e8715df63.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;除夕广州南站候车大厅&lt;/span&gt;
&lt;span class="exif"&gt;26-2-16 · 21mm · f/4.0 · 1/80s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;酒店在祖庙叠滘地铁站附近，后来才发现从广州南站可以直接坐地铁直达，无需多此一举换乘去佛山西站。去西站不仅多绕了路，还白白耽误了宝贵的休息时间。&lt;/p&gt;</description></item><item><title>河南博物院两小时纪行：下篇</title><link>https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-3/</link><pubDate>Fri, 23 Jan 2026 23:26:34 +0800</pubDate><guid>https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-3/</guid><description>&lt;p&gt;接《
&lt;a href="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2"
&gt;
河南博物院两小时纪行：中篇
&lt;/a&gt;》。&lt;/p&gt;
&lt;p&gt;前 10 个展厅为通史陈列，最后的 11-14 展厅属于专题陈列，这里不仅有明清时期的河南风貌，更藏着其他一些值得一看的文物，特别是那件让失蜡法历史提前了千年的云纹铜禁。&lt;/p&gt;
&lt;h2 id="第十一展厅-明清河南"&gt;第十一展厅 《明清河南》&lt;/h2&gt;
&lt;p&gt;明清两代，河南作为京畿南部门户，政治地位十分重要。明代分封诸王于河南，清代设直隶省。&lt;/p&gt;
&lt;p&gt;这一时期，虽受黄河频繁决溢的影响，但得益于京杭大运河和商业古镇的兴起，漕运与商业贸易依然繁荣。万里茶道贯通南北，会馆林立，沿河名镇古韵犹在。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-3/images/DSC08266_hu_6fdc57025297b70a.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;第十一展厅入口&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-01-14 14:03:38&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50F1.8S DF&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50mm · f/1.8 · 1/160s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="第十一展厅入口"
alt="第十一展厅入口"
src="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-3/images/DSC08266_hu_9f505f35d68f3b3e.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;第十一展厅入口&lt;/span&gt;
&lt;span class="exif"&gt;26-1-14 · 50mm · f/1.8 · 1/160s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="绿釉琉璃建筑构件"&gt;绿釉琉璃建筑构件&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;绿釉琉璃建筑构件&lt;/strong&gt;：明代，开封永宁郡王府遗址出土。&lt;/p&gt;</description></item><item><title>河南博物院两小时纪行：中篇</title><link>https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2/</link><pubDate>Tue, 20 Jan 2026 21:30:12 +0800</pubDate><guid>https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2/</guid><description>&lt;p&gt;接《
&lt;a href="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-1"
&gt;
河南博物院两小时纪行：上篇
&lt;/a&gt;》。&lt;/p&gt;
&lt;p&gt;在看过史前文明到春秋战国的青铜重器之后，我进入了第五展厅，迎面而来的是秦汉魏晋的大一统气象，随后便是隋唐的盛世繁华与宋代的文人雅趣。这一部分的展品色彩明显丰富了起来，从青铜的幽冷转向了陶俑的生动与瓷器的温润。&lt;/p&gt;
&lt;h2 id="第五六展厅-帝国霸业秦汉魏晋南北朝时期"&gt;第五、六展厅 帝国霸业——秦汉魏晋南北朝时期&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;公元前 221 年 ~ 公元 581 年&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;第五展厅&lt;/strong&gt;：公元前3世纪，秦统一六国，推行郡县制，河南独占7郡，成为大秦帝国的辅弼之地。汉代，刘邦封彭越为梁王，后梁孝王刘武经营睢阳（今商丘永城），留下了芒砀山梁王陵的惊世宝藏。&lt;/p&gt;
&lt;p&gt;东汉定都洛阳，随后的曹魏、西晋、北魏晚期均以此为都。洛阳、南阳（南都）、许昌（魏五都之一）作为当时的政治中心，见证了汉魏之际的风云变幻与民族融合。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第六展厅&lt;/strong&gt;：汉代庄园经济发达，手工业和科技（冶铁、造纸、纺织、制瓷、天文）领先世界。丝绸之路的开通让中原成为商贸中心。而到了魏晋南北朝，频繁的战争与迁徙促进了空前的民族大融合。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2/images/DSC07974_hu_bf931c83b71f9ca0.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;第五展厅入口&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-01-14 13:30:41&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50F1.8S DF&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50mm · f/1.8 · 1/50s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="第五展厅入口"
alt="第五展厅入口"
src="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2/images/DSC07974_hu_36668dc28439468b.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;第五展厅入口&lt;/span&gt;
&lt;span class="exif"&gt;26-1-14 · 50mm · f/1.8 · 1/50s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2/images/DSC08020_hu_b5fdc2db894dcfbf.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;第六展厅入口&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-01-14 13:36:28&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50F1.8S DF&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50mm · f/1.8 · 1/80s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="第六展厅入口"
alt="第六展厅入口"
src="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-2/images/DSC08020_hu_f75631dd58ce0f50.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;第六展厅入口&lt;/span&gt;
&lt;span class="exif"&gt;26-1-14 · 50mm · f/1.8 · 1/80s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;h3 id="-镇院之宝四神云气图壁画"&gt;🌟 镇院之宝——四神云气图壁画&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;四神云气图壁画&lt;/strong&gt;：西汉（公元前 206 - 公元 25 年），永城市保安山梁共王陵出土。&lt;/p&gt;</description></item><item><title>河南博物院两小时纪行：上篇</title><link>https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-1/</link><pubDate>Sat, 17 Jan 2026 17:29:07 +0800</pubDate><guid>https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-1/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;从 2017 年在郑州参加工作以来，这已是我第三次进入河南博物院。&lt;/p&gt;
&lt;p&gt;第一次是在 2018 年 1 月 10 日，那是刚入职不久，跟室友一同前往；第二次是在 2023 年 3 月 12 日，与刘子豪同行，可惜那次未曾留存影像。&lt;/p&gt;
&lt;p&gt;时间来到 2026 年 1 月 14 日，周三。突发奇想，决定独自再去一趟。理由有三：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;其一，&lt;/strong&gt; 这两年每到一个新城市，总习惯查阅当地博物馆信息，然而多次因节假日预约爆满而未能如愿参观。回过头想，河南博物院就在身边，却鲜少静下心来细看。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;其二，&lt;/strong&gt; 周末的省博游客多，体验欠佳。周内工作日虽没大块时间，但利用午休的空档，省去午饭，便能挤出两个多小时的完整时间。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;其三，&lt;/strong&gt; 前两次参观没有留存照片，脑海中留下的印象已经模糊，这次特意拍了一些展品。&lt;/p&gt;
&lt;p&gt;当天中午预约了 12 点后的场次。12 点整到门口时，出租车已排起长龙，院内停车场告罄。无奈绕行至对面停车场，恰逢周边学校午间放学，拥堵不堪，耽误许久才停好车。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 3/2; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-1/images/DSC07687_hu_a9d02f936c532275.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;博物院主楼：金字塔造型&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2026-01-14 12:22:04&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50F1.8S DF&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50mm · f/1.8 · 1/4000s · ISO64&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="博物院主楼：金字塔造型"
alt="博物院主楼：金字塔造型"
src="https://www.xiaoten.com/posts/2026/01/henan-museum-tour-part-1/images/DSC07687_hu_67ec82d38af8a09d.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;博物院主楼：金字塔造型&lt;/span&gt;
&lt;span class="exif"&gt;26-1-14 · 50mm · f/1.8 · 1/4000s · ISO64 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;说起这主展馆主题建筑的造型，是以登封元代古观星台为原型，艺术演绎成了“戴冠的金字塔”造型。冠部为方斗形，上扬下覆，取上承“甘露”、下纳“地气”之意，寓意中原为华夏之源，融汇四方。设计者东南大学建筑研究所齐康教授在《中原之气》一文中介绍，主体建筑蕴含了中国古文化中地处“天中地心”和“天圆地方”的概念，也有“会宇宙之气，聚天地之灵”的内涵。冠部四周分别镶嵌四神图案（即朱雀、玄武、青龙、白虎），表示古天文学中东西南北四个方位的天象星座。&lt;/p&gt;</description></item><item><title>n8n实现Misskey向Mastodon、GoToSocial及Memos的多端同步</title><link>https://www.xiaoten.com/posts/2026/01/n8n-misskey-sync-mastodon-memos-gts/</link><pubDate>Thu, 08 Jan 2026 18:58:10 +0800</pubDate><guid>https://www.xiaoten.com/posts/2026/01/n8n-misskey-sync-mastodon-memos-gts/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;25年下半年，我才第一次接触联邦宇宙的概念。&lt;/p&gt;
&lt;p&gt;以下摘自
&lt;a href="https://zh.wikipedia.org/wiki/%E8%81%94%E9%82%A6%E5%AE%87%E5%AE%99"
target="_blank" rel="noopener noreferrer"
&gt;
联邦宇宙 - 维基百科，自由的百科全书
&lt;/a&gt;：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;联邦宇宙（英语：Fediverse，简称Fedi）在英文中是“联邦”（Federation）和“宇宙”（Universe）的混成词。&lt;br&gt;
联邦宇宙由一系列自由软件组成，有一组互联的服务器（用户自建或第三方托管），一起提供网络发布（如社交媒体、微博、博客或者网站）或者文件托管功能。&lt;br&gt;
虽然各个服务器是独立运行的，且各个实例繁多，内容多样， 但服务器之间可以彼此互通。&lt;br&gt;
在不同的服务器（实例）上，用户可以创建不同帐号，因为服务器上运行的软件支持一种或多种遵循开放标准的通信协议，能够跨越实例边界而通信。&lt;br&gt;
与在单一服务器上运行的传统社交网络相比，联邦宇宙的运行方式更开放，其服务器的分散性，使联邦宇宙更安全可靠。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;从一开始接触，我就对此概念非常感兴趣，并尝试搭建自己的联邦宇宙服务器，12月底，从较为复杂的Mastodon（又称乳齿象、长毛象或万象）开始，到Misskey，再到最简单占用资源最小的GoToSocial，一个个都搭建体验了一遍，各有优缺点，还有于25年6月初就已搭建的memos 0.18.2服务，虽无联邦的功能，但同样属微博、说说类型，一时间竟无法确定最终使用哪个系统。&lt;/p&gt;
&lt;p&gt;刚好，同一时期接触到了n8n工具，就决定以系统占用量不如Mastodon大、功能比GoToSocial更丰富的Misskey作为发布端，利用自动化工作流工具n8n，实现多端同步功能。&lt;/p&gt;
&lt;p&gt;在这篇文章中，将分享如何通过 1Panel 部署 n8n，并记录一下同步工作流针对不同平台特性遇到的一些典型问题。&lt;/p&gt;
&lt;h2 id="一-n8n-的部署与关键配置"&gt;一、 n8n 的部署与关键配置&lt;/h2&gt;
&lt;p&gt;我的 n8n 是通过 &lt;strong&gt;1Panel&lt;/strong&gt; 应用商店安装的。虽然应用商店的一键部署很方便，但为了让 n8n 的 Webhook 能够被外部正确识别，以及优化系统资源，建议安装前自定义 &lt;code&gt;docker-compose.yml&lt;/code&gt; 文件。&lt;/p&gt;
&lt;h3 id="1-为什么需要自定义配置"&gt;1. 为什么需要自定义配置？&lt;/h3&gt;
&lt;p&gt;在默认安装下，n8n 的 Webhook 节点生成的 URL 往往是内网 IP 或 &lt;code&gt;localhost&lt;/code&gt;，会导致 Misskey 无法回调成功。因此，我们需要通过环境变量 &lt;code&gt;WEBHOOK_URL&lt;/code&gt; 明确告诉 n8n 的对外访问域名。&lt;/p&gt;
&lt;p&gt;同时，为了减少控制台不必要的报错日志并保护隐私，关闭了诊断数据上传。&lt;/p&gt;
&lt;h3 id="2-docker-compose-配置"&gt;2. docker-compose 配置&lt;/h3&gt;
&lt;p&gt;目前正在使用的配置片段，关注环境变量：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="28" data-collapsed-lines="5"&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;networks&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;1panel-network&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;external&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;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="nt"&gt;services&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;n8n&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;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${CONTAINER_NAME}&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;deploy&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;resources&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;limits&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;cpus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${CPUS}&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;memory&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${MEMORY_LIMIT}&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;environment&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="c"&gt;# 必须设置为 false，配合反代使用&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;N8N_SECURE_COOKIE&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;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 指定外部访问的域名，否则 Webhook 无法被正确触发&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;WEBHOOK_URL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://n8n.xiaoten.com/&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="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;N8N_DIAGNOSTICS_ENABLED&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;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;n8nio/n8n:2.2.2&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;labels&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;createdBy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Apps&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;networks&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="l"&gt;1panel-network&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;ports&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="l"&gt;${HOST_IP}:${PANEL_APP_PORT_HTTP}:5678&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;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;always&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;volumes&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="l"&gt;./data:/home/node/.n8n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 23 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;配置完成后，重启容器，会发现 Webhook 节点里生成的 URL 变成了自定义域名 &lt;code&gt;https://n8n.xiaoten.com/...&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>记一次曲折的手术陪护</title><link>https://www.xiaoten.com/posts/2025/12/tortuous-surgery-accompaniment/</link><pubDate>Tue, 30 Dec 2025 20:59:53 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/12/tortuous-surgery-accompaniment/</guid><description>&lt;p&gt;最近这段时间，博客断更了一阵。不是因为忙于代码或折腾服务器，而是家里发生了一些事。母亲在老家医院检查出甲状腺结节，为求心安，决定让她来郑州，到某三甲医院做进一步诊治。&lt;/p&gt;
&lt;p&gt;这一周的经历，像是一场在流水线与生死博弈间的拉锯战。手术虽然成功，但过程中的种种曲折，让我对现代大型医疗机构的运作模式，有了很多复杂的感触。&lt;/p&gt;
&lt;h2 id="一-看人下菜碟"&gt;一、 看人下菜碟&lt;/h2&gt;
&lt;p&gt;不放心老家医院的检查结果，我们找了一位知名的彩超专家重新检查。&lt;/p&gt;
&lt;p&gt;那天起得很早，母亲从老家赶来，我提前去医院挂彩超号。我对挂号流程不熟悉，在分诊台询问时，护士的态度非常差，还有些不耐烦的数落，但毕竟有求于人，我只能忍着。&lt;/p&gt;
&lt;p&gt;即便去得很早，做上彩超也已临近中午。期间发生了一个很讽刺的插曲：我姐正好在这家医院进修，起初她穿着便装陪我们在门口排队，咨询接诊护士问题时，对方依然是爱答不理，态度冷淡。&lt;/p&gt;
&lt;p&gt;后来我姐去换上这家医院的工作服，再次回到彩超室门口，同一个接诊护士，态度发生了180度的大转弯。语气变得温和客气，还极其详细地解释了怎么补挂号单、去哪里办理。&lt;/p&gt;
&lt;p&gt;那一刻才知道，在那身白大褂面前，我们才会被当作“自己人”；而脱下那层身份，作为普通患者，得到的只有冷漠。后来得知，那位接诊护士也是一名进修生。&lt;/p&gt;
&lt;p&gt;更令人难受的是，在彩超室里几位跟着学习的实习生或进修生，完全无视受检病人的紧张，看着屏幕上的影像，竟笑出了声，随口讨论着“这么多结节”。或许在他们眼里，这只是一个典型的“病例”。医者仁心，在这里显得如此稀薄。&lt;/p&gt;
&lt;h2 id="二-新院区的硬件与软件"&gt;二、 新院区的硬件与软件&lt;/h2&gt;
&lt;p&gt;确诊后，配合主刀大夫的安排，在医院的新院区办理了住院。&lt;/p&gt;
&lt;p&gt;新院区的硬件环境好，人少、安静，适合休养。但很快我们就发现，这里的软件配套——特别是实习护理人员和个别值班医生的水平，与本部存在明显的断层。但为了那位大夫的手术刀，我们别无选择。&lt;/p&gt;
&lt;p&gt;手术安排在住院第四天。早上8点进手术室，因为是全麻，加上医生做得细致，切除得很彻底，母亲出来时已经是下午1点多了，手术很成功。我们悬着的心刚放下，却没料到真正的考验在术后第二天。&lt;/p&gt;
&lt;h2 id="三-险些被送进-icu"&gt;三、 险些被送进 ICU&lt;/h2&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;
&lt;p&gt;当时非常清楚母亲的症状只需要&lt;strong&gt;激素消肿&lt;/strong&gt;、&lt;strong&gt;抗生素消炎&lt;/strong&gt;以及&lt;strong&gt;气道湿化&lt;/strong&gt;辅助排痰即可缓解。如果进了ICU：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;没有家属陪伴&lt;/strong&gt;：母亲本就恐慌，陌生的环境会加重她的心理负担。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;过度治疗&lt;/strong&gt;：ICU的常规操作是打镇静剂，如果还不行就插管。这对一个仅仅是痰液阻塞的清醒病人来说，是巨大的二次伤害。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;周期拉长&lt;/strong&gt;：一旦插管，拔管恢复的过程将非常漫长。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;然而，沟通异常艰难。值班医生拒绝开足量的激素及其他缓解该症状的药物。&lt;/p&gt;
&lt;h2 id="四-艰难的自救"&gt;四、 艰难的“自救”&lt;/h2&gt;
&lt;p&gt;如果不是我姐懂医，如果不是我们找人说情，那天晚上母亲一定会被送进ICU。&lt;/p&gt;
&lt;p&gt;最终想尽办法，在深夜请到了呼吸科的主任进行会诊。如果是走正常流程，会诊可能要拖到第二天，那样病情可能会恶化。&lt;/p&gt;
&lt;p&gt;呼吸科主任在晚上11点赶到病房，看完情况后，认可了我姐的判断，同意使用激素和抗生素。甚至连高血压的问题，也是后来请了高血压科会诊换了药才控制住——之前病房给上的降压泵，药都用错了。&lt;/p&gt;
&lt;p&gt;在用上对症的药后，母亲的病情迅速好转，最终按预期时间拔管，明天应该就能出院。&lt;/p&gt;
&lt;h2 id="五-后怕与反思"&gt;五、 后怕与反思&lt;/h2&gt;
&lt;p&gt;回想这几天的经历，我不禁后怕。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一，关于态度。&lt;/strong&gt; 我理解医护人员工作繁忙，但为何“尊重”需要靠“身份”来换取？作为年轻家属，我尚且能承受那些冷言冷语，但如果是独自就医的老人呢？那种被呵斥、被无视的感觉，本身就是一种伤害。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二，关于“标准流程”与“避责”。&lt;/strong&gt; 转ICU，从医院的管理角度看，也许是“合规”的——因为外科可能不懂呼吸科业务，转走最安全。但这套看似严谨的流程，病人可能要承受不必要的插管痛苦。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第三，关于医疗信息的鸿沟。&lt;/strong&gt; 这是我感触最深的一点。如果不是有懂医的人，作为普通老百姓，面对医生的“建议转ICU”，除了听从还能怎么办？我们可能会很感激医院的处理方式，却永远不知道，这本是一个普通病房就能解决的问题。&lt;/p&gt;
&lt;p&gt;这不仅是一次就医经历，更像是一次对现有医疗体系局部细节的微观切片。在大医院的光环下，依然有着由于人员素质参差、机制僵化带来的阴影。&lt;/p&gt;
&lt;p&gt;希望未来，我们不需要每个人都懂医，不需要每个人都得“托熟人”，也能在医院里获得一份从容和体面。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：该文基于自身经历使用AI进行了润色。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Hugo侧边目录实现：页面双列布局 + Sticky + ScrollSpy 高亮</title><link>https://www.xiaoten.com/posts/2025/12/hugo-toc-sidebar-scrollspy/</link><pubDate>Sat, 20 Dec 2025 17:05:13 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/12/hugo-toc-sidebar-scrollspy/</guid><description>&lt;p&gt;前段时间，写了篇
&lt;a href="https://www.xiaoten.com/posts/2025/12/2025-year-in-review"
&gt;
2025年终总结
&lt;/a&gt;，但整篇博客没有经过成熟的归纳、整理，导致最终内容过长，在没有成熟的索引目录加持下，阅读体验很不好。&lt;/p&gt;
&lt;p&gt;虽然在正文开头启用了目录功能，但只能实现一次性地快速定位，如需再定位另一标题，则需再返回顶部，重新点击目录中的标题。&lt;/p&gt;
&lt;p&gt;关于通过目录快速索引页面位置，特别是在电脑端下已非常普遍，而我之前的目录固定在顶部并没起到很好的索引作用，因此花费 2 天时间，对电脑端（宽度达到 1450px）访问下的目录样式进行重构。&lt;/p&gt;
&lt;p&gt;下面的内容完整复盘了我在 Hugo 博客里实现侧边目录的整个流程，从 &lt;strong&gt;页面布局改变&lt;/strong&gt; 到 &lt;strong&gt;CSS 的 Sticky 与样式美化&lt;/strong&gt;，再到 &lt;strong&gt;通过 JS 实现 ScrollSpy 跟随滚动高亮&lt;/strong&gt; 。&lt;/p&gt;
&lt;h2 id="实现效果"&gt;实现效果&lt;/h2&gt;
&lt;p&gt;可以概括为 5 点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;桌面端（宽屏）出现侧边目录&lt;/strong&gt;：目录位于正文右侧，不挤压正文宽度。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目录可粘性定位（sticky）&lt;/strong&gt;：滚动正文时目录一直在视窗内。&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;code&gt;code&lt;/code&gt; 等内联元素时，目录排版不乱。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ScrollSpy 高亮当前章节（仅侧边栏生效）&lt;/strong&gt;：随滚动自动高亮当前标题；高亮是“加粗 + 圆点颜色”。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;其中最后一点是“锦上添花”，但前四点是长期可用的基础。&lt;/p&gt;
&lt;p&gt;具体效果可通过电脑端访问本篇博客时看到。&lt;/p&gt;
&lt;h2 id="html-重构目录在页面中的结构"&gt;HTML: 重构目录在页面中的结构&lt;/h2&gt;
&lt;p&gt;确定目录在整个模版文件中的位置，是所有工作的前提。&lt;/p&gt;
&lt;p&gt;之前目录是统一放在了页面内容正文流里面，但这样的结构会给后期的进一步优化造成很多困难，所以在调整初期，从&lt;strong&gt;整页布局&lt;/strong&gt;上就把“正文”与“目录”作为两个明确区域进行构建。&lt;/p&gt;
&lt;h3 id="页面结构"&gt;页面结构&lt;/h3&gt;
&lt;p&gt;整体采用“左正文 + 右侧边栏“布局&lt;/p&gt;
&lt;p&gt;文章页的核心结构在 &lt;code&gt;themes/xiaoten/layouts/_default/single.html&lt;/code&gt;：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="11" data-collapsed-lines="5"&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;post-main-container&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;post-left-column&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;page-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; {{ .Content }}
&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;aside&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-right-column&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;toc.html&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;aside&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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 6 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这里我&lt;strong&gt;没有&lt;/strong&gt;把目录“塞进正文流的某个位置”，而是把它作为单独的 &lt;code&gt;aside&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>2025年终总结</title><link>https://www.xiaoten.com/posts/2025/12/2025-year-in-review/</link><pubDate>Tue, 16 Dec 2025 14:27:38 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/12/2025-year-in-review/</guid><description>&lt;p&gt;不单是年终总结，年轻时还习惯在 QQ 空间写日志甚至月志，那时候的表达欲非常强烈。今年 10 月，我尝试使用“QQ空间导出助手”把QQ空间的文章下载下来，但暂时没有成功。可能逐步会有更成熟、更便捷的工具出来，毕竟AI发展这么迅猛，什么都有可能。这篇总结是从12月8日晚就开始着手写了，内容也更多集中在网站本身和日常生活。&lt;/p&gt;
&lt;h2 id="一关于网站"&gt;一、关于网站&lt;/h2&gt;
&lt;p&gt;今年对于网站本身，经历了&lt;strong&gt;两次重大变革&lt;/strong&gt;：&lt;/p&gt;
&lt;h3 id="第一次变革本地化部署"&gt;第一次变革：本地化部署&lt;/h3&gt;
&lt;p&gt;4月29日，我将博客从
&lt;a href="https://www.xiaoten.com/posts/2025/04/finally-put-the-website-content-on-the-local-host/"
target="_blank" rel="noopener noreferrer"
&gt;
阿里云迁移回本地Mac Mini
&lt;/a&gt;，阿里云作为仅内网穿透服务端。今年新购入的Mac Mini（M4 Pro）性能强劲、功耗低且性价比高，但用来做服务器实在大材小用。最终，我将整站迁移到了NAS上，让Mac Mini回归修图和剪辑的主力职能。 折腾期间，我学习了PVE、从CentOS转向Debian，管理面板由宝塔换为1Panel，并深入体验了Docker容器化部署。如今，Cloudreve、兰空图床、Chereveto、Flarum、Memos等服务均通过Docker稳定运行，维护成本大幅降低。&lt;/p&gt;
&lt;h3 id="第二次变革博客迁移hugo"&gt;第二次变革：博客迁移Hugo&lt;/h3&gt;
&lt;p&gt;10月14日，我正式将博客
&lt;a href="https://www.xiaoten.com/posts/2025/10/the-preliminary-migration-of-the-typecho-to-hugo-completed/"
target="_blank" rel="noopener noreferrer"
&gt;
从Typecho迁移至Hugo
&lt;/a&gt;，并托管于GitHub，相比本地自托管，静态页面更加稳定可靠，且无需操心数据库维护。&lt;/p&gt;
&lt;p&gt;距离2016年的高频更新已过去9年，因工作繁忙，2024年更是彻底断更。相比CMS内容发布系统，我更倾向Markdown的纯文本记录方式，更换博客系统后，记录生活的热情也随之重燃。&lt;/p&gt;
&lt;p&gt;迁移Hugo后，基于
&lt;a href="https://themes.gohugo.io/themes/hugo-blog-awesome/"
target="_blank" rel="noopener noreferrer"
&gt;
Hugo blog awesome
&lt;/a&gt;主题，借助AI实现了一些定制化功能：&lt;/p&gt;
&lt;h4 id="集成-memos-微博系统"&gt;集成 Memos 微博系统&lt;/h4&gt;
&lt;p&gt;采用林木木老师
&lt;a href="https://immmmm.com/bbs/"
target="_blank" rel="noopener noreferrer"
&gt;
哔哔广场
&lt;/a&gt;的核心代码，完成了
&lt;a href="https://www.xiaoten.com/pages/talk/"
target="_blank" rel="noopener noreferrer"
&gt;
说说
&lt;/a&gt;页面，取消了发帖及其他站点展示的功能，仅保留数据聚合展示和评论功能。&lt;br&gt;
具体见：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/10/integrating-a-multi-user-memos-microblog-system-in-hugo/#"
target="_blank" rel="noopener noreferrer"
&gt;
在 Hugo 中集成 Memos 多用户微博系统
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/10/fix-user-avatar-errors-in-memos/"
target="_blank" rel="noopener noreferrer"
&gt;
解决林木木老师哔哔广场中同一Memos实例下多用户头像昵称显示错误问题
&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="shortcode-短代码开发"&gt;Shortcode 短代码开发&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;通过短代码实现bilibili播放器嵌入。&lt;br&gt;
具体见：
&lt;a href="https://www.xiaoten.com/posts/2025/11/using-shortcodes-to-embed-a-bilibili-video-player-plugin-in-hugo-blog/"
target="_blank" rel="noopener noreferrer"
&gt;
利用短代码在hugo博客中加入bilibili播放器插件
&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;通过短代码实现照片exif信息提取及照片排版，优化了单图和多图的展现方式，后续也经多次完善修改，达到目前的效果。&lt;br&gt;
具体见：
&lt;a href="https://www.xiaoten.com/posts/2025/11/display-images-and-their-exif-data-using-hugo-shortcodes/"
target="_blank" rel="noopener noreferrer"
&gt;
通过Hugo短代码功能实现图片及其EXIF信息展示
&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="自动化工作流"&gt;自动化工作流&lt;/h4&gt;
&lt;p&gt;利用Github Action，通过定时获取RSS源，实现朋友站点内容、动态的自动获取，制作了
&lt;a href="https://github.com/Jiosanity/xiaoten-rss"
target="_blank" rel="noopener noreferrer"
&gt;
轻量级的小十友圈RSS聚合工具
&lt;/a&gt;，按照 CSS 规则自动获取页面的友情链接，一般仅需维护友情链接即可实现rss的自动订阅。&lt;br&gt;
具体见：
&lt;a href="https://www.xiaoten.com/posts/2025/11/automating-friend-circle-updates-with-git-hub-actions-the-xiaoten-rss-aggregator/"
target="_blank" rel="noopener noreferrer"
&gt;
借助Github Action实现友圈动态自动获取——小十友圈RSS聚合工具
&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>郑州入冬后的第一场雪</title><link>https://www.xiaoten.com/posts/2025/12/the-first-snow-of-the-winter-in-zhengzhou/</link><pubDate>Sat, 13 Dec 2025 15:23:24 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/12/the-first-snow-of-the-winter-in-zhengzhou/</guid><description>&lt;p&gt;难得天气预报准确一次，这暴雪说来就来。&lt;/p&gt;
&lt;p&gt;截至昨天（周五）中午雪还没怎么下，露天跟着同事去了食堂路上连积雪的样子都没有，天倒是冷了不少，但那时候的氛围还不像是要下暴雪的样子。&lt;/p&gt;
&lt;p&gt;到下午 3 点以后，眼瞅着外面白茫茫一片，当时就知道下班的路不好走。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/the-first-snow-of-the-winter-in-zhengzhou/images/IMG_2789_hu_e955c24482fbf6a0.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;15时04分拍摄的窗外&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-12-12 15:04:29&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Apple iPhone 15 Pro&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;iPhone 15 Pro back triple camera 6.765mm f/1.78&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;48mm · f/1.8 · 1/121s · ISO50&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="15时04分拍摄的窗外"
alt="15时04分拍摄的窗外"
src="https://www.xiaoten.com/posts/2025/12/the-first-snow-of-the-winter-in-zhengzhou/images/IMG_2789_hu_784271c573c90f5f.jpeg"
width="900"
height="675"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;15时04分拍摄的窗外&lt;/span&gt;
&lt;span class="exif"&gt;25-12-12 · 7mm · f/1.8 · 1/121s · ISO50 · iPhone&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/the-first-snow-of-the-winter-in-zhengzhou/images/IMG_2792_hu_eecfb2c0e38c2073.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;16时49分拍摄的窗外&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-12-12 16:49:54&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Apple iPhone 15 Pro&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;iPhone 15 Pro back triple camera 6.765mm f/1.78&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;48mm · f/1.8 · 1/50s · ISO125&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="16时49分拍摄的窗外"
alt="16时49分拍摄的窗外"
src="https://www.xiaoten.com/posts/2025/12/the-first-snow-of-the-winter-in-zhengzhou/images/IMG_2792_hu_945daf90b002da72.jpeg"
width="900"
height="675"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;16时49分拍摄的窗外&lt;/span&gt;
&lt;span class="exif"&gt;25-12-12 · 7mm · f/1.8 · 1/50s · ISO125 · iPhone&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;果然，下班的时候，雪正大，17 点 30 分准时离开单位，刚出门单位门口的小路因没来得及清理，就滑的不行，全程龟速行驶，到大路后稍好一些，路上可见的各种事故现场，造成下班的路非常拥堵。接上媳妇后，全程不敢上高架，就在高架下面走着。原 1 个小时的路程，持续开了 2 小时 59 分钟。&lt;/p&gt;</description></item><item><title>Hugo 优化：为图片添加正在加载动画</title><link>https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/</link><pubDate>Sun, 07 Dec 2025 23:59:52 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/</guid><description>&lt;p&gt;一直以来都想在图片加载时添加一个加载动画，以增强用户体验。使用 Hugo 以来，关于图片的添加方式也进行了自定义。针对历史数据，没功夫一遍遍改了，就采用 Markdown 原生语法进行图片的插入，这样形成的图片就是一行一个简单进行罗列。后来为了让自己的照片显示 exif 信息，以及实现一行多图的方式，通过自定义短代码的方式实现，详细可见
&lt;a href="https://www.xiaoten.com/posts/2025/11/display-images-and-their-exif-data-using-hugo-shortcodes/"
target="_blank" rel="noopener noreferrer"
&gt;
通过Hugo短代码功能实现图片及其EXIF信息展示
&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;因此，本站加入图片的方式除了 Markdown 语法以外，还有 figure 和 figure-group 短代码的方式进行插入。此外，还有近期做的足迹地图里面的坐标卡片中，也有图片，当然已经在
&lt;a href="https://github.com/Jiosanity/XiaoTen-FootprintMap"
target="_blank" rel="noopener noreferrer"
&gt;
Github
&lt;/a&gt; 中实现了卡片内图片加载动画效果。在这次 Hugo 的优化中，也一并将对应的效果应用进来。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/images/1_hu_276f5593dedc81a6.png" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;文章图片加载动画&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="文章图片加载动画"
alt="文章图片加载动画"
src="https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/images/1_hu_6dc4545db3680676.png"
width="900"
height="529"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;文章图片加载动画&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/images/2_hu_c10c29865d034a4.png" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;文章图片放大加载动画&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="文章图片放大加载动画"
alt="文章图片放大加载动画"
src="https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/images/2_hu_bf88c96bbbda6d81.png"
width="900"
height="437"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;文章图片放大加载动画&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/images/3_hu_8372e007601a7b5b.png" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;足迹地图卡片加载动画&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="足迹地图卡片加载动画"
alt="足迹地图卡片加载动画"
src="https://www.xiaoten.com/posts/2025/12/hugo-image-loading-animation/images/3_hu_82e8c73cd485e93e.png"
width="900"
height="560"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;足迹地图卡片加载动画&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;h2 id="目标场景"&gt;目标场景&lt;/h2&gt;
&lt;p&gt;我的博客中有两种主要的图片展示场景：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;文章页面&lt;/strong&gt;：Markdown 图片、figure 短代码、figure-group 图片组&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;足迹地图&lt;/strong&gt;：地图卡片中的缩略图、点击缩略图后的全屏查看&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="实现方式"&gt;实现方式&lt;/h2&gt;
&lt;h3 id="1-html-层添加懒加载属性"&gt;1. HTML 层：添加懒加载属性&lt;/h3&gt;
&lt;p&gt;对于 Markdown 图片，使用 Hugo 的 Render Hook 自动添加 &lt;code&gt;loading=&amp;quot;lazy&amp;quot;&lt;/code&gt; 属性：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="8" data-collapsed-lines="5"&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;{{- $src := .Destination | safeURL -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $alt := .Text -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $title := .Title -}}
&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;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;{{ $src }}&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;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $alt }}&amp;#34;&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 class="na"&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 3 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;位置&lt;/strong&gt;：&lt;code&gt;layouts/_default/_markup/render-image.html&lt;/code&gt;&lt;/p&gt;</description></item><item><title>三刷只有河南·戏剧幻城</title><link>https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/</link><pubDate>Tue, 02 Dec 2025 12:39:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/</guid><description>&lt;p&gt;11月30日，我第三次来“只有河南·戏剧幻城”，前两次分别是2021年12月19日（跟我爸）、2023年1月26日（跟我爸妈和外甥），这次是跟我姐。这次发现园区内的部分硬件设施已明显老化。三大主剧保持原貌，小剧场则进行了部分更迭，例如此次观看的《苏轼的河南》《曹操的麦田》和《薛怀义》均为新剧目。热门剧目如《红庙学校》排队依然困难，这次仍未排上。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/1_hu_e801d6b9f9ed1347.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;只有河南·戏剧幻城（图源：百度百科）&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="只有河南·戏剧幻城（图源：百度百科）"
alt="只有河南·戏剧幻城（图源：百度百科）"
src="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/1_hu_255d1e4d82c75ec3.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;只有河南·戏剧幻城（图源：百度百科）&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/4_hu_35d242706314ee1e.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;示意图（图源：官方小程序）&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="示意图（图源：官方小程序）"
alt="示意图（图源：官方小程序）"
src="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/4_hu_3788156805e6f198.jpg"
width="900"
height="1493"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;示意图（图源：官方小程序）&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;总体来看，园区的三大主剧风格均比较严肃，《李家村》和《火车站》互动性较高，《幻城》舞美效果更好；而小剧场如《红庙学校》《唱吧跳吧》《薛怀义》等，氛围相对轻松，说教感较弱，更易被年轻观众接受。若是亲子游览，选择严肃类剧目对儿童相对更有教育意义。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/2_hu_f2a0036a708db33b.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;夜景图（图源：百度百科）&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="夜景图（图源：百度百科）"
alt="夜景图（图源：百度百科）"
src="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/2_hu_1abed9ad0abe0c60.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;夜景图（图源：百度百科）&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/3_hu_7e0ef34eea3aeca2.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;夜景图（图源：百度百科）&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="夜景图（图源：百度百科）"
alt="夜景图（图源：百度百科）"
src="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/3_hu_1bbd9ddad2a44b89.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;夜景图（图源：百度百科）&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;由于起床稍晚，接上我姐然后抵达园区已近中午11点半。虽然剧场外的公共区域非常出片，但为了尽可能多看剧目，没有怎么在外停留拍照，而且上两次来也没有带相机，确实比较遗憾。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/DSC06436_hu_fb155c5e970edd51.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;椅阵&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-30 11:31:17&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;FE 20-70mm F4 G&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;20mm · f/4.0 · 1/1250s · ISO250&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="椅阵"
alt="椅阵"
src="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/DSC06436_hu_3d378cc0e8774b8d.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;椅阵&lt;/span&gt;
&lt;span class="exif"&gt;25-11-30 · 20mm · f/4.0 · 1/1250s · ISO250 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/DSC06475_hu_d7b4547f0b6b13ad.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;路牌阵&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-30 12:56:38&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/1000s · ISO64&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="路牌阵"
alt="路牌阵"
src="https://www.xiaoten.com/posts/2025/12/third-visit-only-henan/images/DSC06475_hu_8de250cc89003a4f.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;路牌阵&lt;/span&gt;
&lt;span class="exif"&gt;25-11-30 · 85mm · f/1.4 · 1/1000s · ISO64 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;总共看了8个剧目，其中1个主剧、7个小剧。按照观看顺序如下：&lt;/p&gt;</description></item><item><title>为 Hugo 站点实现外部链接跳转访问</title><link>https://www.xiaoten.com/posts/2025/11/hugo-external-redirect/</link><pubDate>Fri, 28 Nov 2025 23:03:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/hugo-external-redirect/</guid><description>&lt;p&gt;最近，我为博客增加了一个新功能：&lt;strong&gt;外部链接跳转页&lt;/strong&gt;。现在，点击站外链接会先进入一个中转页，经用户确认点击 &lt;code&gt;继续访问&lt;/code&gt; 后才前往目标网站。当然这功能并不少见，多数网站都有此功能。&lt;/p&gt;
&lt;h2 id="为何需要跳转页"&gt;为何需要跳转页？&lt;/h2&gt;
&lt;ol&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;&lt;strong&gt;统一体验&lt;/strong&gt;：统一站外跳转的设计规范，并同步了主站的深浅色模式。&lt;/li&gt;
&lt;/ol&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/hugo-external-redirect/images/white_hu_74e3b4710c3a5762.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;日间模式&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="日间模式"
alt="日间模式"
src="https://www.xiaoten.com/posts/2025/11/hugo-external-redirect/images/white_hu_1d766733ab6b5072.jpeg"
width="900"
height="640"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;日间模式&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/hugo-external-redirect/images/dark_hu_fac5b78d183afc68.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;夜间模式&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="夜间模式"
alt="夜间模式"
src="https://www.xiaoten.com/posts/2025/11/hugo-external-redirect/images/dark_hu_77f6c011485e92da.jpeg"
width="900"
height="640"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;夜间模式&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;h2 id="实现方法"&gt;实现方法&lt;/h2&gt;
&lt;p&gt;该功能主要依赖 Hugo 的 &lt;strong&gt;Render Hook&lt;/strong&gt; 与 &lt;strong&gt;JavaScript&lt;/strong&gt; 协同工作：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服务端预处理 (Hugo)&lt;/strong&gt;：网站构建时，Hugo 通过 Link Render Hook 为所有外部链接添加 &lt;code&gt;target=&amp;quot;_blank&amp;quot;&lt;/code&gt; 等属性，确保其在新标签页打开，完成基础优化。此时链接的 &lt;code&gt;href&lt;/code&gt; 保持不变。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;客户端动态改写 (JavaScript)&lt;/strong&gt;：页面加载后，&lt;code&gt;external-links.js&lt;/code&gt; 脚本开始运行。它会遍历所有 &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; 标签，识别出未被排除的外部链接，并将其 &lt;code&gt;href&lt;/code&gt; 属性动态地重写，指向我们自定义的跳转页 (&lt;code&gt;/pages/redirect?target=[原始链接]&lt;/code&gt;)。脚本还能通过 &lt;code&gt;MutationObserver&lt;/code&gt; 监听动态内容（如评论区），确保所有外部链接都被处理。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;中转页等待用户确认&lt;/strong&gt;：用户点击链接后会访问 &lt;code&gt;redirect.html&lt;/code&gt; 页面。该页面的脚本会解析 URL 参数，并等待用户&lt;strong&gt;手动点击“继续访问”按钮&lt;/strong&gt;后，才会将用户重定向至目标网站。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;总之，通过&lt;strong&gt;服务端预处理、客户端动态修改&lt;/strong&gt;方式，将链接重写的逻辑完全放在浏览器端，避免了在 Hugo 构建时对 Markdown 内容的修改，实现方式更为灵活。&lt;/p&gt;
&lt;h2 id="如何使用"&gt;如何使用？&lt;/h2&gt;
&lt;p&gt;若想让特定链接“豁免”跳转，操作非常简单，有两种方式可选：&lt;/p&gt;
&lt;h3 id="方法一url-标记法-推荐"&gt;方法一：URL 标记法 (推荐)&lt;/h3&gt;
&lt;p&gt;在 Markdown 中，只需在链接 URL 的末尾加上 &lt;code&gt;#no-redirect&lt;/code&gt; 即可。&lt;/p&gt;</description></item><item><title>用 Wayback Machine 翻了翻博客的“黑历史”</title><link>https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/</link><pubDate>Tue, 25 Nov 2025 11:36:16 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/</guid><description>&lt;p&gt;最近心血来潮，上
&lt;a href="https://web.archive.org/"
target="_blank" rel="noopener noreferrer"
&gt;
Wayback Machine
&lt;/a&gt; 搜了一下自己的域名 &lt;code&gt;xiaoten.com&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;距离2011年2月2日，已经14.8个年头，虽然手里存着一些备份数据，但大多是后面几年的存档，前几年的存档因种种原因，没有留存下来。&lt;/p&gt;
&lt;p&gt;Wayback Machine 存下来的这些快照，就像是给网站打的 &lt;code&gt;git commit&lt;/code&gt; 记录，展示了这个站点的演变路径。&lt;/p&gt;
&lt;h3 id="1-追求形式感的折腾期"&gt;1. 追求“形式感”的折腾期&lt;/h3&gt;
&lt;p&gt;一开始，我似乎对“网站入口”这种东西非常着迷。&lt;/p&gt;
&lt;p&gt;快照里留存了好几个版本的“首页引导页”。比如蓝底白字的 &amp;ldquo;PLAIN FOAM&amp;rdquo; 页面，还有写着“十分之十的小十”的蓝色大屏入口。那时候觉得，在进入博客文章列表前，先来个极简的引导页显得很“酷”，很有设计感。&lt;/p&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/505; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2011-2-10_hu_af04ec1750a67201.png" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;最初版本入口&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="最初版本入口"
alt="最初版本入口"
src="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2011-2-10_hu_9d23c67809ec488b.png"
width="900"
height="505"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;最初版本入口&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/505; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2011-10_hu_275ec67877378a5c.png" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;第二版，具体时间不详&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="第二版，具体时间不详"
alt="第二版，具体时间不详"
src="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2011-10_hu_340c9b25439883ef.png"
width="900"
height="505"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;第二版，具体时间不详&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/505; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2011-12-1_hu_ba1e5a6abf797c06.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;2011年12月1日存档&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="2011年12月1日存档"
alt="2011年12月1日存档"
src="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2011-12-1_hu_903b8247b098f622.jpeg"
width="900"
height="505"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;2011年12月1日存档&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/505; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2014-8-20_hu_cdfe25a1333ddb95.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;2014年8月20日存档&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="2014年8月20日存档"
alt="2014年8月20日存档"
src="https://www.xiaoten.com/posts/2025/11/digging-up-blog-history/images/2014-8-20_hu_a5c975127f9d12ee.jpeg"
width="900"
height="505"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;2014年8月20日存档&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;h3 id="2-纯粹的技术笔记时期"&gt;2. 纯粹的“技术笔记”时期&lt;/h3&gt;
&lt;p&gt;翻看最早几年的快照，那时候博客的主要功能就是充当“云端笔记本”。&lt;/p&gt;
&lt;p&gt;看看那时候的文章标题：《SVN服务器的配置》、《IE版本注释用法》、《百度地图API》。那时候互联网开发环境还比较粗糙，我们要花大量时间去解决 IE 浏览器的兼容性问题，SVN 还是主流的版本控制工具，Git 还没像今天这样一统天下。&lt;/p&gt;
&lt;p&gt;那时候的排版非常密集，侧边栏塞满了各种功能：日历、访问统计、友情链接、甚至还有当时的“微博秀”。现在看来，那时候的页面恨不得把所有信息都塞进首屏，典型的 Web 1.0 向 Web 2.0 过渡时期的审美。&lt;/p&gt;</description></item><item><title>基于高德地图实现 Hugo 足迹地图短代码</title><link>https://www.xiaoten.com/posts/2025/11/amap-powered-footprintmap-shortcode/</link><pubDate>Tue, 18 Nov 2025 15:45:25 +0800</pubDate><atom:updated>Fri, 21 Nov 2025 22:00:00 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/11/amap-powered-footprintmap-shortcode/</guid><description>&lt;p&gt;依然是受
&lt;a href="https://wangdaodao.com/20251117/amap-track.html"
target="_blank" rel="noopener noreferrer"
&gt;
王叨叨：基于高德地图做足迹管理插件
&lt;/a&gt;文章启发，实在眼馋足迹功能，但苦于没有清晰的思路，看到叨叨大神发了这个插件，借助AI，终于抽空完成了这一功能，并融入了一些个人想法：&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;li&gt;标记点智能集群，缩小地图时自动合并附近位置；&lt;/li&gt;
&lt;li&gt;集群开关控制，可随时启用或关闭集群功能。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;其余部分则为常规足迹功能的实现。&lt;/p&gt;
&lt;p&gt;本文将简要介绍实现方式，完整的源码已在
&lt;a href="https://github.com/Jiosanity/XiaoTen-FootprintMap"
target="_blank" rel="noopener noreferrer"
&gt;
GitHub
&lt;/a&gt; 开源，包含所有 JS、CSS 和示例数据。具体样例在本站&amp;quot;关于&amp;quot;页面，如下所示：&lt;/p&gt;
&lt;div id="footprintmap-1778348551341383901" class="footprint-map" data-json="https://static.xiaoten.com/footprints.json" data-amap-key="4727334ebc13608dbe9ba75266c3d41a" style="height: 500px;"&gt;
&lt;div class="footprint-map__loading"&gt;正在加载足迹...&lt;/div&gt;&lt;/div&gt;
&lt;h2 id="主要功能"&gt;主要功能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;短代码嵌入&lt;/strong&gt;：&lt;code&gt;{{&amp;lt; footprintmap &amp;gt;}}&lt;/code&gt; 自动注入脚本与样式，按需加载数据。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JSON 数据支持&lt;/strong&gt;：所有足迹数据集中保存在 &lt;code&gt;footprints.json&lt;/code&gt; 文件中，便于在 Git 里维护与复用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动标签筛选&lt;/strong&gt;：脚本会扫描全部 &lt;code&gt;categories&lt;/code&gt; 字段，生成可点击的筛选按钮。&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;&lt;strong&gt;文章关联&lt;/strong&gt;：通过手动设置 &lt;code&gt;url&lt;/code&gt; 字段，可添加关联的文章。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;照片轻量查看器&lt;/strong&gt;：支持多张图的横向轮播，点击后用自定义 Viewer 放大，适配移动端手势。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;亮/暗主题联动&lt;/strong&gt;：跟随站点 &lt;code&gt;dark&lt;/code&gt; class 切换高德地图底图与 InfoWindow 样式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自定义 Marker 颜色&lt;/strong&gt;：通过 &lt;code&gt;markerColor&lt;/code&gt; 选择预设（&lt;code&gt;sunset&lt;/code&gt; / &lt;code&gt;ocean&lt;/code&gt; / &lt;code&gt;violet&lt;/code&gt; / &lt;code&gt;forest&lt;/code&gt; / &lt;code&gt;amber&lt;/code&gt; / &lt;code&gt;citrus&lt;/code&gt;），也支持直接写 &lt;code&gt;#RRGGBB&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;移动端优化&lt;/strong&gt;：信息卡宽度移动端自适应、字号/间距重排、点击空白区域自动收起 InfoWindow。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="json-数据格式"&gt;JSON 数据格式&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;footprints.json&lt;/code&gt; 中维护一个 &lt;code&gt;locations&lt;/code&gt; 数组，字段解释如下：&lt;/p&gt;</description></item><item><title>解决 Hugo 分页器返回空页面的诡异问题：.Paginate 不能被多次调用</title><link>https://www.xiaoten.com/posts/2025/11/fixing-hugo-pagination-paginate-called-multiple-times-issue/</link><pubDate>Sun, 16 Nov 2025 19:30:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/fixing-hugo-pagination-paginate-called-multiple-times-issue/</guid><description>&lt;h2 id="问题背景"&gt;问题背景&lt;/h2&gt;
&lt;p&gt;在将博客的文章列表从 JavaScript 分页迁移到 Hugo 官方分页时，遇到了一个非常诡异的问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ Hugo 构建成功，显示生成了 42 个分页页面&lt;/li&gt;
&lt;li&gt;✅ &lt;code&gt;.RegularPages&lt;/code&gt; 有 360 篇文章&lt;/li&gt;
&lt;li&gt;✅ 直接 &lt;code&gt;range .RegularPages&lt;/code&gt; 可以正常显示文章&lt;/li&gt;
&lt;li&gt;❌ 但是 &lt;code&gt;.Paginator.Pages&lt;/code&gt; 始终返回 0&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="8" data-collapsed-lines="5"&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;{{/* 这样可以看到 360 篇文章 */}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ range .RegularPages }}
&lt;/span&gt;&lt;/span&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;{{ 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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $paginator := .Paginator }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;分页器中的文章数: {{ len $paginator.Pages }} {{/* 输出：0 */}}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 3 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="排查过程"&gt;排查过程&lt;/h2&gt;
&lt;h3 id="第一步检查配置"&gt;第一步：检查配置&lt;/h3&gt;
&lt;p&gt;首先怀疑是配置问题。Hugo v0.128+ 的分页配置格式发生了变化：&lt;/p&gt;</description></item><item><title>徐州一日纪行</title><link>https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/</link><pubDate>Sun, 16 Nov 2025 17:54:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/</guid><description>&lt;p&gt;16日早上，从郑州出发，乘坐高铁约一个半小时到达徐州东站。由于交通便利，行程安排为当天往返。&lt;/p&gt;
&lt;p&gt;出行前参考了一些攻略，徐州的几个主要景点相对集中，因此整体行程比较紧凑。&lt;/p&gt;
&lt;p&gt;依然是流水帐的记录形式：&lt;/p&gt;
&lt;p&gt;上午10点02分到达徐州东站，搭乘地铁一号线，经9站到达民主北路站。出站后步行约十分钟，前往提前在大众点评上选定的一家评分较高的餐厅。午餐点了地锅鸡和乡村大席小炒。味道确实不错。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/images/DSC05306_hu_3113f3e76c9947ce.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;饭店后厨，据说不是预制菜&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-15 10:50:21&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/320s · ISO320&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="饭店后厨，据说不是预制菜"
alt="饭店后厨，据说不是预制菜"
src="https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/images/DSC05306_hu_7edb5055f06455a4.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;饭店后厨，据说不是预制菜&lt;/span&gt;
&lt;span class="exif"&gt;25-11-15 · 85mm · f/1.4 · 1/320s · ISO320 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/images/DSC05311_hu_3af596ffa13ed549.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;地锅鸡👍&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-15 11:00:06&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50F1.8S DF&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50mm · f/1.8 · 1/100s · ISO320&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="地锅鸡👍"
alt="地锅鸡👍"
src="https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/images/DSC05311_hu_d1ecc6700b22fc09.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;地锅鸡👍&lt;/span&gt;
&lt;span class="exif"&gt;25-11-15 · 50mm · f/1.8 · 1/100s · ISO320 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/images/DSC05315_hu_c8f761ef6407da6c.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;乡村大席小炒（要的免🌶，不然会更好吃）&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-15 11:03:22&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50F1.8S DF&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;50mm · f/1.8 · 1/60s · ISO320&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="乡村大席小炒（要的免🌶，不然会更好吃）"
alt="乡村大席小炒（要的免🌶，不然会更好吃）"
src="https://www.xiaoten.com/posts/2025/11/one-days-in-xuzhou/images/DSC05315_hu_75d9718d771bb9e3.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;乡村大席小炒（要的免🌶，不然会更好吃）&lt;/span&gt;
&lt;span class="exif"&gt;25-11-15 · 50mm · f/1.8 · 1/60s · ISO320 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;徐州为历史悠久的城市，古称彭城，是汉代文化的重要发源地之一，留有大量两汉时期遗迹。因此，徐州博物馆被列为行程之一。前几天因预约人数已满未能成功预约，当天上午九点左右，系统重新放出名额，顺利预约到12点以后的下午场。&lt;/p&gt;</description></item><item><title>借助Github Action实现友圈动态自动获取——小十友圈RSS聚合工具</title><link>https://www.xiaoten.com/posts/2025/11/automating-friend-circle-updates-with-git-hub-actions-the-xiaoten-rss-aggregator/</link><pubDate>Fri, 14 Nov 2025 23:23:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/automating-friend-circle-updates-with-git-hub-actions-the-xiaoten-rss-aggregator/</guid><description>&lt;p&gt;回归博客内容创作也有几月有余，这期间认识了很多独立博客站长，也重新联系上了一些老朋友。友链作为独立博客的宝贵财富，在快节奏的今天，能够保留这种传统意义上的网友社交形式，显得格外有意义。&lt;/p&gt;
&lt;p&gt;这次回归以来，我发现了很多友链展示的新形式，其中通过RSS自动获取并展示好友动态就是其中之一。市面上已有一些成熟的工具，最初我使用的是
&lt;a href="https://github.com/Rock-Candy-Tea/hexo-circle-of-friends"
target="_blank" rel="noopener noreferrer"
&gt;
Rock-Candy-Tea/hexo-circle-of-friends
&lt;/a&gt;这个开源项目。但该项目功能较为复杂，而我只需要核心的RSS聚合功能，通过定时更新data.json文件，再配合前端代码解析展示朋友动态。&lt;/p&gt;
&lt;p&gt;对我来说，需求其实很简单：通过友链页面上的网站链接以及自定义的一些链接，自动获取相关动态并生成到json文件中。因此，我开发了一个轻量级但功能完整的RSS聚合工具：&lt;strong&gt;小十友圈RSS聚合工具&lt;/strong&gt;，并利用GitHub Actions实现了全自动化运行，现已在GitHub上开源。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;项目地址&lt;/strong&gt;：
&lt;a href="https://github.com/Jiosanity/xiaoten-rss.git"
target="_blank" rel="noopener noreferrer"
&gt;
https://github.com/Jiosanity/xiaoten-rss.git
&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="概述"&gt;概述&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;小十友圈RSS聚合工具&lt;/strong&gt; 是一个轻量级但功能完整的RSS聚合工具，它能够自动从友链页面抓取友链信息，发现并验证RSS源，聚合最新文章，生成标准化的JSON数据文件。通过GitHub Actions，定时自动运行，确保数据的实时性。&lt;/p&gt;
&lt;h2 id="主要实现方式"&gt;主要实现方式&lt;/h2&gt;
&lt;h3 id="模块化设计"&gt;模块化设计&lt;/h3&gt;
&lt;p&gt;小十友圈RSS聚合工具采用高度模块化的设计，确保各组件职责单一且易于维护：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="7" data-collapsed-lines="5"&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;FriendRSSAggregator (主控制器)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── ConfigParser (配置解析器)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── SiteFilter (站点过滤器)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── LinkPageScraper (友链爬取器)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── RSSFetcher (RSS获取器)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── DataAggregator (数据聚合器)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── CacheManager (缓存管理器)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 2 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="数据处理流程"&gt;数据处理流程&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;配置加载&lt;/strong&gt; → 读取YAML配置文件&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;&lt;strong&gt;RSS探测&lt;/strong&gt; → 多级回退的Feed URL发现&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内容获取&lt;/strong&gt; → 解析RSS/Atom源&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据聚合&lt;/strong&gt; → 时间排序、去重、格式化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结果输出&lt;/strong&gt; → 生成标准JSON文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="核心技术实现"&gt;核心技术实现&lt;/h2&gt;
&lt;h3 id="1-友链获取方式"&gt;1. 友链获取方式&lt;/h3&gt;
&lt;p&gt;系统支持两种友链获取方式：&lt;/p&gt;</description></item><item><title>成都两日纪行</title><link>https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/</link><pubDate>Tue, 11 Nov 2025 22:38:36 +0800</pubDate><atom:updated>Wed, 12 Nov 2025 12:50:19 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/</guid><description>&lt;p&gt;10月20日，读研期间的导师在群里发布活动通知，计划于11月8日在成都望江宾馆举办“电力系统稳定与高压直流输电团队校友大家庭欢聚雅集”。自2017年毕业至今，虽然我曾两次到过成都——一次是因参加QC发布会，一次是假期来游玩——但都未能与导师见上一面。正好借此次活动，利用周末两天时间，与导师见面叙旧。&lt;/p&gt;
&lt;p&gt;购票后被周基佬告知，“天府机场”到哪儿都要两个小时（包括成都市区）。打开地图才意识到，上学时天府机场尚未启用，如今它已承接大部分航线，距离本次活动场地56公里，而双流机场仅19公里。往返路程漫长，不免有些无奈。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/yaoqinghan_hu_2e6fa6d8c0acec83.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;活动通知&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="活动通知"
alt="活动通知"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/yaoqinghan_hu_cab240b0c93a0046.jpg"
width="900"
height="1600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;活动通知&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/ditu_hu_ba94b3c5ea3dc378.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;天府机场距离市区非常远&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="天府机场距离市区非常远"
alt="天府机场距离市区非常远"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/ditu_hu_d3c4dd1847a43712.jpg"
width="900"
height="1600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;天府机场距离市区非常远&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;早晨5点起床，最终抵达成都市区已是中午。办理入住后，14点赶到会场，领取伴手礼、签名后入座。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/DSC05264_hu_3d4601411508b162.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;学院吉祥物（到家后补拍）&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-11 20:02:38&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/320s · ISO320&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="学院吉祥物（到家后补拍）"
alt="学院吉祥物（到家后补拍）"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/DSC05264_hu_2db4decda3922fa.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;学院吉祥物（到家后补拍）&lt;/span&gt;
&lt;span class="exif"&gt;25-11-11 · 85mm · f/1.4 · 1/320s · ISO320 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14339.JPG_hu_b6ace8c23d6d5185.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;签到墙&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-08 12:36:31&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Canon Canon EOS R6m2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;0mm · f/0.0 · 1/160s · ISO2000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="签到墙"
alt="签到墙"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14339.JPG_hu_9963c16cc4ea6bd0.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;签到墙&lt;/span&gt;
&lt;span class="exif"&gt;25-11-8 · 0mm · f/0.0 · 1/160s · ISO2000 · Canon EOS R6m2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14818.JPG_hu_1a096c446ecb0d6c.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;签到的我&amp;lt;/span&amp;gt;
"&gt;
&lt;img
title="签到的我"
alt="签到的我"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14818.JPG_hu_5cb1ad59e302e24e.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;签到的我&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14390.JPG_hu_eeb39f13e2a14e25.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;会场&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-08 12:57:22&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Canon Canon EOS R6m2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;EF17-40mm f/4L USM&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;22mm · f/4.0 · 1/160s · ISO1600&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="会场"
alt="会场"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14390.JPG_hu_4d66a6e1e59cacfc.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;会场&lt;/span&gt;
&lt;span class="exif"&gt;25-11-8 · 22mm · f/4.0 · 1/160s · ISO1600 · Canon EOS R6m2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14349.JPG_hu_8af67d2fbaafca4e.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;李老师的字画&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-08 12:38:09&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Canon Canon EOS R6m2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;EF24-105mm f/4L IS II USM&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;40mm · f/4.0 · 1/160s · ISO6400&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="李老师的字画"
alt="李老师的字画"
src="https://www.xiaoten.com/posts/2025/11/two-days-in-chengdu/images/BAI14349.JPG_hu_3ec9a015129e28af.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;李老师的字画&lt;/span&gt;
&lt;span class="exif"&gt;25-11-8 · 40mm · f/4.0 · 1/160s · ISO6400 · Canon EOS R6m2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;多数师兄师姐、师弟师妹都已八年未见，还有曹师兄十多年没见。不过，与我同级的同学在会场并未见到。&lt;/p&gt;</description></item><item><title>通过Hugo短代码功能实现图片及其EXIF信息展示</title><link>https://www.xiaoten.com/posts/2025/11/display-images-and-their-exif-data-using-hugo-shortcodes/</link><pubDate>Fri, 07 Nov 2025 13:24:15 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/display-images-and-their-exif-data-using-hugo-shortcodes/</guid><description>&lt;p&gt;我有一个习惯就是在网络上分享图片时不管是调整尺寸还是压缩，都习惯保留元数据，当然也希望在分析图片时能够展示元数据。本文介绍如何在 Hugo 静态博客中借助短代码实现图片展示功能，包括单张图片和图片组的短代码实现，以及自动获取并格式化显示图片 EXIF 信息的方法。&lt;/p&gt;
&lt;p&gt;具体效果如下图所示：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/detail.png"
alt="样例"
loading="lazy"
decoding="async"width="839" height="608"&gt;
&lt;/p&gt;
&lt;p&gt;也可见
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/"
&gt;
万圣节和亳都·新象的一些照片
&lt;/a&gt;和
&lt;a href="https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/"
&gt;
天津两日纪行
&lt;/a&gt;等文章。&lt;/p&gt;
&lt;h2 id="需实现的功能"&gt;需实现的功能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;支持单张图片和图片组两种展示方式&lt;/li&gt;
&lt;li&gt;自动从图片 EXIF 数据中提取拍摄信息&lt;/li&gt;
&lt;li&gt;格式化显示焦距、光圈、快门、ISO、相机品牌和镜头型号&lt;/li&gt;
&lt;li&gt;支持自定义标题和多种参数传递方式&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="短代码实现"&gt;短代码实现&lt;/h2&gt;
&lt;h3 id="1-单张图片短代码-figurehtml"&gt;1. 单张图片短代码 (figure.html)&lt;/h3&gt;
&lt;p&gt;创建 &lt;code&gt;layouts/shortcodes/figure.html&lt;/code&gt; 文件：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="162" data-collapsed-lines="5"&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/shortcodes/figure.html --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $page := .Page }}
&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;!-- 支持两种语法：位置参数和命名参数 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $imageParam := .Get 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $src := .Get &amp;#34;src&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $title := .Get &amp;#34;title&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $alt := .Get &amp;#34;alt&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $class := .Get &amp;#34;class&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;!-- 如果使用了位置参数（新语法） --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ if $imageParam }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $imagePath := $imageParam }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $customTitle := &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; &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; {{ if in $imageParam &amp;#34;:&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $parts := split $imageParam &amp;#34;:&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $imagePath = index $parts 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $customTitle = index $parts 1 }}
&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; {{ $src = $imagePath }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $title = $customTitle }}
&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;{{ $imageResource := $page.Resources.GetMatch $src }}
&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 $imageResource }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $exif := $imageResource.Exif }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $autoTitle := $title | default $exif.Tags.ImageDescription | default (humanize (path.Base $src | replaceRE &amp;#34;\\..*$&amp;#34; &amp;#34;&amp;#34; | replaceRE &amp;#34;-|_&amp;#34; &amp;#34; &amp;#34;)) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $autoAlt := $alt | default $autoTitle }}
&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;figure&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;{{ $class }}&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;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;{{ $imageResource.RelPermalink }}&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;no-a-style&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;data-fancybox&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;global-gallery&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;data-caption&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $autoTitle }}&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;{{ $autoTitle }}&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;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $autoAlt }}&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;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $imageResource.RelPermalink }}&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;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&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;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; {{ if or $autoTitle $exif }}
&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;figcaption&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 $autoTitle }}&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;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ $autoTitle }}&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 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with $exif }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $exifParts := slice }}
&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;!-- 1. 焦距 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Tags.FocalLength }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $focalLength := . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if findRE &amp;#34;^[0-9]+/[0-9]+$&amp;#34; $focalLength }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $parts := split $focalLength &amp;#34;/&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $numerator := float (index $parts 0) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $denominator := float (index $parts 1) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if gt $denominator 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $value := div $numerator $denominator }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if eq (mod $value 1) 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $focalLength = printf &amp;#34;%.0fmm&amp;#34; $value }}
&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; {{ $focalLength = printf &amp;#34;%.1fmm&amp;#34; $value }}
&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; {{ end }}
&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; {{ $focalLength = printf &amp;#34;%smm&amp;#34; $focalLength }}
&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; {{ $exifParts = $exifParts | append $focalLength }}
&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="c"&gt;&amp;lt;!-- 2. 光圈 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Tags.FNumber }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $fnumber := . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if findRE &amp;#34;^[0-9]+/[0-9]+$&amp;#34; $fnumber }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $parts := split $fnumber &amp;#34;/&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $numerator := float (index $parts 0) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $denominator := float (index $parts 1) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if gt $denominator 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $fnumber = printf &amp;#34;f/%.1f&amp;#34; (div $numerator $denominator) }}
&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; {{ else }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $fnumber = printf &amp;#34;f/%s&amp;#34; $fnumber }}
&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; {{ $exifParts = $exifParts | append $fnumber }}
&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="c"&gt;&amp;lt;!-- 3. 快门速度 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Tags.ExposureTime }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $exposureTime := . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if findRE &amp;#34;^[0-9]+/[0-9]+$&amp;#34; $exposureTime }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $parts := split $exposureTime &amp;#34;/&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $numerator := float (index $parts 0) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $denominator := float (index $parts 1) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if gt $denominator 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $value := div $numerator $denominator }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if ge $value 1 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $exposureTime = printf &amp;#34;%.0fs&amp;#34; $value }}
&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; {{ $exposureTime = printf &amp;#34;1/%.0fs&amp;#34; (div 1 $value) }}
&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; {{ end }}
&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; {{ $exposureTime = printf &amp;#34;%ss&amp;#34; $exposureTime }}
&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; {{ $exifParts = $exifParts | append $exposureTime }}
&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="c"&gt;&amp;lt;!-- 4. ISO - 尝试多个可能的标签 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $isoValue := &amp;#34;&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Tags.ISOSpeedRatings }}{{ $isoValue = . }}{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if not $isoValue }}{{ with .Tags.ISOSpeed }}{{ $isoValue = . }}{{ end }}{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if not $isoValue }}{{ with .Tags.ISO }}{{ $isoValue = . }}{{ end }}{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if not $isoValue }}{{ with .Tags.PhotographicSensitivity }}{{ $isoValue = . }}{{ end }}{{ 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; {{ with $isoValue }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $isoInt := int . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if gt $isoInt 0 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $exifParts = $exifParts | append (printf &amp;#34;ISO%d&amp;#34; $isoInt) }}
&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; {{ 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="c"&gt;&amp;lt;!-- 5. 相机品牌 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Tags.Model }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel := . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if findRE &amp;#34;iPhone&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;iPhone&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;iPad&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;iPad&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;Canon&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;Canon&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;Nikon&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;Nikon&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;Sony&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;Sony&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;ILCE-&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;Sony&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;FUJIFILM&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;Fujifilm&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else if findRE &amp;#34;X-T&amp;#34; $cameraModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $cameraModel = &amp;#34;Fujifilm&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; {{ $exifParts = $exifParts | append $cameraModel }}
&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="c"&gt;&amp;lt;!-- 6. 镜头型号（完整显示） --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Tags.LensModel }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $lensModel := . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $lensModel = trim $lensModel &amp;#34; &amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if and $lensModel (ne $lensModel &amp;#34;&amp;#34;) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $exifParts = $exifParts | append $lensModel }}
&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; {{ 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; {{ if gt (len $exifParts) 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;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;exif&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ delimit $exifParts &amp;#34; · &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; {{ end }}
&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;figcaption&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;figure&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; {{ errorf &amp;#34;图片未找到: %s&amp;#34; $src }}
&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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 157 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;使用方法：&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>万圣节和亳都·新象的一些照片</title><link>https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/</link><pubDate>Mon, 03 Nov 2025 22:08:51 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/</guid><description>&lt;p&gt;按照体感估算，感觉郑州已持续了两个月的阴雨天气，在这长时间恶劣天气之前还是实打实的夏季，就突然进入了冬天。&lt;/p&gt;
&lt;p&gt;本来以为阴雨已经结束，结果又来了持续一周的大雾天气，从早浓到晚的大雾，长久不见阳光，“豫犬吠日”实至名归。&lt;/p&gt;
&lt;p&gt;难得周六、周日太阳出现，刚好11月1日是万圣节，这天的前两天，临时起意想在这个周六去感受下年轻人的氛围，决定去看一下方特精怪夜活动。&lt;/p&gt;
&lt;p&gt;11月2日周日这天便去了开业不久的“亳都 · 新象”凑了凑热闹。&lt;/p&gt;
&lt;h2 id="万圣节那天"&gt;万圣节那天&lt;/h2&gt;
&lt;p&gt;结果人是真的多，带上才到手第二天的85 1.4镜头，也没有拍到几张满意的照片。&lt;/p&gt;
&lt;p&gt;难得第一次参与了万圣节，放出一些当日照片留个纪念。&lt;/p&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04557_hu_52de03c4fbb7adc2.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;到达方特门口时的落日&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 17:24:25&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/4000s · ISO160&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="到达方特门口时的落日"
alt="到达方特门口时的落日"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04557_hu_93e1a4dc937b56ab.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;到达方特门口时的落日&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/4000s · ISO160 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04569_hu_b79925137353511c.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;方特城堡&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 17:38:42&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/500s · ISO320&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="方特城堡"
alt="方特城堡"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04569_hu_94e6c0c3917258bf.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;方特城堡&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/500s · ISO320 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04563_hu_c1831f9fab847ded.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;盛装出游的小孩&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 17:31:30&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/250s · ISO500&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="盛装出游的小孩"
alt="盛装出游的小孩"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04563_hu_59bf7c68387d562b.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;盛装出游的小孩&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/250s · ISO500 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04578_hu_7121e42bd23876ca.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;树上的挂件&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:13:09&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/160s · ISO500&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="树上的挂件"
alt="树上的挂件"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04578_hu_6c03c59a41ec4f4d.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;树上的挂件&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/160s · ISO500 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04582_hu_757c09d71ef2595e.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;树上的挂件&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:16:13&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/250s · ISO500&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="树上的挂件"
alt="树上的挂件"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04582_hu_9982c5eb6c3ce346.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;树上的挂件&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/250s · ISO500 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04590_hu_d1714aff714f096b.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;被求合影的NPC&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:17:46&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/250s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="被求合影的NPC"
alt="被求合影的NPC"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04590_hu_b85546a6dffdd0ae.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;被求合影的NPC&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/250s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04600_hu_af3c8779a89e6d5f.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;被求合影的NPC&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:23:58&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/125s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="被求合影的NPC"
alt="被求合影的NPC"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04600_hu_f595cd861a86e1cd.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;被求合影的NPC&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/125s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04603_hu_5900cf555230ebc9.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;被求合影的NPC&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:24:17&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/50s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="被求合影的NPC"
alt="被求合影的NPC"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04603_hu_d347c89bde038bed.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;被求合影的NPC&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/50s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04610_hu_46b146a6f7c29047.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;丧尸禁地&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:26:48&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/320s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="丧尸禁地"
alt="丧尸禁地"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04610_hu_4932e78d5474e0a5.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;丧尸禁地&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/320s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04649_hu_dd53cbd6ec844626.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;争夺银票&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:37:57&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/320s · ISO1250&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="争夺银票"
alt="争夺银票"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04649_hu_c5280b0ca0fdc865.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;争夺银票&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/320s · ISO1250 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04652_hu_37b5c85bd333475b.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;快到手了&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:38:02&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/250s · ISO1250&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="快到手了"
alt="快到手了"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04652_hu_ac3d68c8f6b60f22.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;快到手了&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/250s · ISO1250 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04644_hu_890c15f3459caf0f.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;我喜欢这个显示器&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:36:24&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/80s · ISO800&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="我喜欢这个显示器"
alt="我喜欢这个显示器"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04644_hu_6ddf65a37eec7406.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;我喜欢这个显示器&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/80s · ISO800 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04655_hu_9d4931ca9217a37c.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;可爱的小女孩&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:38:33&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/200s · ISO1250&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="可爱的小女孩"
alt="可爱的小女孩"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04655_hu_2e4124b90c1f52da.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;可爱的小女孩&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/200s · ISO1250 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04751_hu_6d5c1580d4ad51b0.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;可爱的小男孩&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:59:12&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/160s · ISO1600&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="可爱的小男孩"
alt="可爱的小男孩"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04751_hu_762c62e3fbd7e7bf.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;可爱的小男孩&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/160s · ISO1600 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04675_hu_d7350ab90a2c0380.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;某种仪式&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 18:52:38&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/160s · ISO1250&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="某种仪式"
alt="某种仪式"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04675_hu_b34daec44db8421.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;某种仪式&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/160s · ISO1250 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04723_hu_d1bf4094a09f900d.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;NPC&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:52:16&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/160s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="NPC"
alt="NPC"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04723_hu_4676446af917cbe5.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;NPC&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/160s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04714_hu_5d3e32e71a8e846f.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;不想上班&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:17:46&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/400s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="不想上班"
alt="不想上班"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04714_hu_1e6c89618eeb3992.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;不想上班&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/400s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04725_hu_fdf2206cfa452cb7.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;冰糖葫芦&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:52:44&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/2000s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="冰糖葫芦"
alt="冰糖葫芦"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04725_hu_4e9c67922ae917ed.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;冰糖葫芦&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/2000s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure-group&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04719_hu_c825c8fbc68bc107.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;聊斋剧场1&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:38:44&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/60s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="聊斋剧场1"
alt="聊斋剧场1"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04719_hu_f2dc45b6a977202.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;聊斋剧场1&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/60s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04720_hu_785a22b5ca1648b7.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;聊斋剧场2&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:39:14&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;127mm · f/1.4 · 1/20s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="聊斋剧场2"
alt="聊斋剧场2"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04720_hu_c007215e9f466864.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;聊斋剧场2&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/20s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style="--image-ratio: 900/600; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04721_hu_a729bfec03382fbd.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;聊斋剧场3&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 19:42:37&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/30s · ISO1000&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="聊斋剧场3"
alt="聊斋剧场3"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04721_hu_deb9d650dcdb9a97.jpg"
width="900"
height="600"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;聊斋剧场3&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/30s · ISO1000 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;figure class=" has-custom-height" style="--image-ratio: 1200/800; --image-height: auto;"&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04764_hu_b8903fc4f1a0e17c.jpg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;旋转木马&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-11-01 20:11:20&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;SONY ILCE-7CM2&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm F1.4 DG DN | Art 020&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;85mm · f/1.4 · 1/500s · ISO1600&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="旋转木马"
alt="旋转木马"
src="https://www.xiaoten.com/posts/2025/11/some-photos-of-halloween-and-new-bodu/images/DSC04764_hu_ebd5a714889ebd36.jpg"
width="1200"
height="800"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;旋转木马&lt;/span&gt;
&lt;span class="exif"&gt;25-11-1 · 85mm · f/1.4 · 1/500s · ISO1600 · ILCE-7CM2&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="亳都--新象那天"&gt;亳都 · 新象那天&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;亳都 · 新象位于郑州市管城区，东临商代城垣遗址，西接郑州文庙，由15所主题院落组成，总建筑面积约4万平方米，是郑州市首个中原传统文化主题街区。项目占地面积46亩，包含3条主街、多条巷道及4个文化主题广场，融合传统街巷肌理与现代建筑技术，采用老砖、青石板与玻璃砖等材料，体现“城、街、巷、院、景”五维布局。院墙采用“四色混拼”施工方法搭配新旧青砖，屋面瓦片使用“压五露五”等传统工艺铺设。&lt;/p&gt;</description></item><item><title>利用短代码在hugo博客中加入bilibili播放器插件</title><link>https://www.xiaoten.com/posts/2025/11/using-shortcodes-to-embed-a-bilibili-video-player-plugin-in-hugo-blog/</link><pubDate>Sun, 02 Nov 2025 19:05:22 +0800</pubDate><atom:updated>Mon, 03 Nov 2025 00:48:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/11/using-shortcodes-to-embed-a-bilibili-video-player-plugin-in-hugo-blog/</guid><description>&lt;p&gt;王叨叨在
&lt;a href="https://wangdaodao.com/20251101/typecho-bilibili-player.html"
target="_blank" rel="noopener noreferrer"
&gt;
开源Bilibili播放器插件
&lt;/a&gt;一文中，分享了一个Typecho插件，用于将Bilibili默认播放器替换为HTML5移动端播放器，并提供更多自定义选项。&lt;/p&gt;
&lt;p&gt;基于他的源代码，考虑将其移植到Hugo中，并通过短代码来实现bilibili视频的调用。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;短代码是Hugo的一项强大功能，允许我们在Markdown中嵌入HTML片段，实现复杂的布局和功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;王叨叨的Typecho插件主要通过以下方式工作：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;通过正则表达式匹配和替换Bilibili播放器iframe&lt;/li&gt;
&lt;li&gt;提供丰富的配置选项（宽度、高度、自动播放、弹幕开关等）&lt;/li&gt;
&lt;li&gt;替换默认播放器为HTML5移动端播放器，提升用户体验&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在上述的基础上，借助AI实现了一定程度的高度自适应和自定义封面功能，为什么说是一定程度上的高度自适应，其实是新加入了&lt;code&gt;ratio&lt;/code&gt;参数，即明确了视频宽高比，再根据视频宽高比，使用 &lt;code&gt;padding-bottom&lt;/code&gt; 技巧实现真正的宽高比自适应。&lt;/p&gt;
&lt;h2 id="示例"&gt;示例&lt;/h2&gt;
&lt;style&gt;
.bilibili-player-wrapper {
position: relative;
width: 100%;
height: 0;
padding-bottom: 56.25%;
margin: 1rem 0;
border-radius: 8px;
overflow: hidden;
background-color: #f5f5f5;
}
.bilibili-player-wrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
border-radius: 8px;
}
.bilibili-custom-cover {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
z-index: 10;
transition: opacity 0.3s ease;
}
.bilibili-custom-cover:hover .bilibili-play-button {
transform: scale(1.1);
background-color: #00a1d6;
}
.bilibili-play-button {
width: 70px;
height: 70px;
background-color: rgba(0, 161, 214, 0.9);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 24px;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.bilibili-play-button::after {
content: "▶";
margin-left: 4px;
}
.bilibili-player-loading {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: rgba(0, 0, 0, 0.7);
color: white;
font-size: 16px;
z-index: 5;
border-radius: 8px;
}
.bilibili-player-loading.hidden {
display: none;
}
@media (max-width: 768px) {
.bilibili-play-button {
width: 60px;
height: 60px;
font-size: 20px;
}
}
&lt;/style&gt;&lt;div class="bilibili-player-wrapper" id="bilibili-player-37c6567ed519fc027caaf29911729775"&gt;&lt;div class="bilibili-custom-cover" style="background-image: url('images/v-cover.png');" onclick="loadBilibiliPlayer('bilibili-player-37c6567ed519fc027caaf29911729775')"&gt;
&lt;div class="bilibili-play-button"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="bilibili-player-loading hidden"&gt;视频加载中...&lt;/div&gt;&lt;iframe
data-src="//www.bilibili.com/blackboard/html5mobileplayer.html?bvid=BV1CG1LBbENh&amp;autoplay=1&amp;amp;danmaku=1&amp;amp;fjw=1&amp;amp;page=1"
scrolling="no"
frameborder="no"
framespacing="0"
allowfullscreen="true"
loading="lazy"
style="display:none;"&gt;
&lt;/iframe&gt;&lt;/div&gt;
&lt;script&gt;
function loadBilibiliPlayer(playerId) {
const playerWrapper = document.getElementById(playerId);
const cover = playerWrapper.querySelector('.bilibili-custom-cover');
const iframe = playerWrapper.querySelector('iframe');
const loading = playerWrapper.querySelector('.bilibili-player-loading');
if (iframe &amp;&amp; iframe.hasAttribute('data-src')) {
loading.classList.remove('hidden');
iframe.src = iframe.getAttribute('data-src');
iframe.style.display = 'block';
cover.style.opacity = '0';
iframe.onload = function() {
loading.classList.add('hidden');
setTimeout(function() {
cover.style.display = 'none';
}, 300);
};
}
}
document.addEventListener('DOMContentLoaded', function() {
const players = document.querySelectorAll('.bilibili-player-wrapper');
players.forEach(function(player) {
const cover = player.querySelector('.bilibili-custom-cover');
const iframe = player.querySelector('iframe');
if (!cover &amp;&amp; iframe &amp;&amp; iframe.hasAttribute('data-src')) {
iframe.src = iframe.getAttribute('data-src');
iframe.style.display = 'block';
}
});
});
&lt;/script&gt;
&lt;h2 id="具体实现"&gt;具体实现&lt;/h2&gt;
&lt;h3 id="创建短代码文件"&gt;创建短代码文件&lt;/h3&gt;
&lt;p&gt;在Hugo项目的 &lt;code&gt;layouts/shortcodes/&lt;/code&gt; 目录下创建 &lt;code&gt;bilibili.html&lt;/code&gt; 文件：&lt;/p&gt;</description></item><item><title>天津两日纪行</title><link>https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/</link><pubDate>Mon, 27 Oct 2025 16:50:35 +0800</pubDate><atom:updated>Tue, 28 Oct 2025 20:48:08 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/</guid><description>&lt;p&gt;10月25—26日，趁着周末两天，去了一趟天津。&lt;/p&gt;
&lt;h2 id="第一天"&gt;第一天&lt;/h2&gt;
&lt;p&gt;早上5点半起床，上午约10点30分，抵达天津西站。出站后，搭乘出租车前往位于滨江道步行街内的酒店。&lt;/p&gt;
&lt;p&gt;滨江道步行街是天津市最为繁华的商业街之一，其历史可追溯至20世纪初，汇集了众多商场与老字号品牌。午餐选择了“醉喜楼津菜馆”，尝试了特色菜八珍豆腐与皮皮虾陷的锅贴，菜品份量充足。&lt;/p&gt;
&lt;figure-group style=" --figure-group-ratio: 3/2; --figure-group-height: auto;"&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/images/1_hu_bca69df7271052ad.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;传统八珍豆腐&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-10-25 13:17:22&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Apple iPhone 15 Pro&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;iPhone 15 Pro back camera 9mm f/2.8&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;77mm · f/2.8 · 1/100s · ISO64&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="传统八珍豆腐"
alt="传统八珍豆腐"
src="https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/images/1_hu_72d025b442014359.jpeg"
width="900"
height="1200"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;传统八珍豆腐&lt;/span&gt;
&lt;span class="exif"&gt;25-10-25 · 9mm · f/2.8 · 1/100s · ISO64 · iPhone&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="has-custom-height" style=""&gt;
&lt;a href="https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/images/2_hu_6092a6a009fed264.jpeg" class="no-a-style" data-fancybox="global-gallery" data-caption="&amp;lt;span style=&amp;#39;display:block; text-align:center;&amp;#39;&amp;gt;皮皮虾扇贝锅贴&amp;lt;/span&amp;gt;
&amp;lt;small style=&amp;#39;color:#ccc; text-align:center; display:block; line-height:1.5; margin-top:4px;&amp;#39;&amp;gt;&amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;rect x=&amp;#34;3&amp;#34; y=&amp;#34;4&amp;#34; width=&amp;#34;18&amp;#34; height=&amp;#34;18&amp;#34; rx=&amp;#34;2&amp;#34; ry=&amp;#34;2&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;16&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;16&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;8&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;8&amp;#34; y2=&amp;#34;6&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;3&amp;#34; y1=&amp;#34;10&amp;#34; x2=&amp;#34;21&amp;#34; y2=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;2025-10-25 13:25:27&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;path d=&amp;#34;M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;13&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;Apple iPhone 15 Pro&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;10&amp;#34;/&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;2&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;4&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;12&amp;#34; y1=&amp;#34;20&amp;#34; x2=&amp;#34;12&amp;#34; y2=&amp;#34;22&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;2&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;4&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;line x1=&amp;#34;20&amp;#34; y1=&amp;#34;12&amp;#34; x2=&amp;#34;22&amp;#34; y2=&amp;#34;12&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;iPhone 15 Pro back camera 6.765mm f/1.78&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;margin:0 4px; opacity:0.5;&amp;#39;&amp;gt;·&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#39;white-space:nowrap;&amp;#39;&amp;gt;&amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; fill=&amp;#34;none&amp;#34; stroke=&amp;#34;currentColor&amp;#34; stroke-width=&amp;#34;2&amp;#34; stroke-linecap=&amp;#34;round&amp;#34; stroke-linejoin=&amp;#34;round&amp;#34; style=&amp;#34;width:12px; height:12px; vertical-align:middle; margin-right:4px; opacity:0.8;&amp;#34;&amp;gt;&amp;lt;circle cx=&amp;#34;12&amp;#34; cy=&amp;#34;12&amp;#34; r=&amp;#34;3&amp;#34;/&amp;gt;&amp;lt;path d=&amp;#34;M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83&amp;#34;/&amp;gt;&amp;lt;/svg&amp;gt;49mm · f/1.8 · 1/341s · ISO80&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;
"&gt;
&lt;img
title="皮皮虾扇贝锅贴"
alt="皮皮虾扇贝锅贴"
src="https://www.xiaoten.com/posts/2025/10/two-days-in-tianjin/images/2_hu_d0532bb9d6e7dd.jpeg"
width="900"
height="1200"
loading="lazy"
&gt;
&lt;/a&gt;
&lt;figcaption&gt;
&lt;span class="title"&gt;皮皮虾扇贝锅贴&lt;/span&gt;
&lt;span class="exif"&gt;25-10-25 · 50mm · f/1.8 · 1/341s · ISO80 · iPhone&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/figure-group&gt;
&lt;p&gt;午后，首先参观了西开教堂。其全称为天主教西开总堂，始建于1916年，是天津市规模最大的罗马风貌建筑群，建筑风格为罗曼式。&lt;/p&gt;</description></item><item><title>解决林木木老师哔哔广场中同一Memos实例下多用户头像昵称显示错误问题</title><link>https://www.xiaoten.com/posts/2025/10/fix-user-avatar-errors-in-memos/</link><pubDate>Thu, 23 Oct 2025 13:42:28 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/10/fix-user-avatar-errors-in-memos/</guid><description>&lt;h2 id="问题描述"&gt;问题描述&lt;/h2&gt;
&lt;p&gt;非常感谢
&lt;a href="https://immmmm.com/"
target="_blank" rel="noopener noreferrer"
&gt;
林木木
&lt;/a&gt;老师编写的
&lt;a href="https://memobbs.app/"
target="_blank" rel="noopener noreferrer"
&gt;
哔哔广场
&lt;/a&gt;，日常用于调取Memos网站的内容，并实现了同步订阅其他Memos用户及发表 memos 等功能。&lt;br&gt;
但是，我这里有一个较为小众的需求，就是在使用 Memos 广场功能时，如下图界面：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/memosbbs.png"
alt=""
loading="lazy"
decoding="async"width="1918" height="1376"&gt;
&lt;/p&gt;
&lt;p&gt;当多个用户来自同一个 Memos 实例时，其动态内容能够正常显示，但用户信息（头像和昵称）却全部显示为同一个用户的信息。&lt;/p&gt;
&lt;p&gt;例如，在我的订阅列表中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小十 (ID: 1, 头像: avatar.png)&lt;/li&gt;
&lt;li&gt;泥鳅胡子 (ID: 3, 头像: myh.jpg)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上述两个用户都使用同一个 Memos 实例 &lt;code&gt;https://memos.xiaoten.com&lt;/code&gt;，但在广场模式下，所有动态都显示为泥鳅胡子的头像和昵称，即使这些动态实际上是小十发布的。&lt;/p&gt;
&lt;h2 id="原因分析"&gt;原因分析&lt;/h2&gt;
&lt;h3 id="主要原因"&gt;主要原因&lt;/h3&gt;
&lt;p&gt;用户信息映射逻辑未覆盖这种特殊情况，在原始的代码实现中：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;获取用户动态时，代码使用了同一个 Memos 实例下的第一个用户信息来覆盖所有用户的动态信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最初使用 &lt;code&gt;creatorName&lt;/code&gt; 作为映射键，但当多个用户有相同的显示名时会导致冲突。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在合并用户信息和动态数据时，属性覆盖的顺序问题，会使用户信息被动态数据中的空值覆盖。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="技术细节"&gt;技术细节&lt;/h3&gt;
&lt;p&gt;在 Promise 内部处理动态数据时，原始代码使用了 &lt;code&gt;matchedMemo&lt;/code&gt; 而不是当前用户 &lt;code&gt;u&lt;/code&gt; 的信息：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="6" data-collapsed-lines="5"&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="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 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;key&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;matchedMemo&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;matchedMemo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;hasOwnProperty&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;item&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="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;matchedMemo&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="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 1 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这会使同一个 Memos 实例下的所有用户都使用了第一个匹配的用户信息。&lt;/p&gt;
&lt;h2 id="解决方式"&gt;解决方式&lt;/h2&gt;
&lt;h3 id="1-修改-promise-内部的用户信息赋值"&gt;1. 修改 Promise 内部的用户信息赋值&lt;/h3&gt;
&lt;p&gt;在获取每个用户的动态时，使用当前用户 &lt;code&gt;u&lt;/code&gt; 的信息而不是 &lt;code&gt;matchedMemo&lt;/code&gt;：&lt;/p&gt;</description></item><item><title>在 Hugo 中集成 Memos 多用户微博系统</title><link>https://www.xiaoten.com/posts/2025/10/integrating-a-multi-user-memos-microblog-system-in-hugo/</link><pubDate>Tue, 21 Oct 2025 23:28:08 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/10/integrating-a-multi-user-memos-microblog-system-in-hugo/</guid><description>&lt;h2 id="摘要"&gt;摘要&lt;/h2&gt;
&lt;p&gt;本文详细阐述在 Hugo 静态网站生成器中集成 Memos 0.18.2 多用户微博系统的完整技术方案。通过 RESTful API 调用、Twikoo 评论系统集成、图片资源处理等关键技术，实现了在静态网站中展示动态微博内容的功能。本文涵盖系统架构设计、核心代码实现、性能优化策略以及部署配置指南，为开发者提供完整的实施参考。样例请见本站
&lt;a href="https://www.xiaoten.com/pages/talk/"
target="_blank" rel="noopener noreferrer"
&gt;
说说页面
&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="1-主要流程"&gt;1. 主要流程&lt;/h2&gt;
&lt;h3 id="11-系统组成"&gt;1.1 系统组成&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;前端框架&lt;/strong&gt;: Hugo 静态网站生成器&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;微博服务&lt;/strong&gt;: Memos 0.18.2 RESTful API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评论系统&lt;/strong&gt;: Twikoo 评论服务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;图片处理&lt;/strong&gt;: ViewImage 灯箱 + Lozad 懒加载&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内容渲染&lt;/strong&gt;: Marked.js Markdown 解析器&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="12-数据流架构"&gt;1.2 数据流架构&lt;/h3&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;Memos API → 数据获取 → 内容处理 → 评论统计 → HTML 渲染 → 前端展示&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2-核心实现方案"&gt;2. 核心实现方案&lt;/h2&gt;
&lt;h3 id="21-多用户配置管理"&gt;2.1 多用户配置管理&lt;/h3&gt;
&lt;p&gt;在 Hugo 模板中定义用户配置数组：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="18" data-collapsed-lines="5"&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;memosMyList&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;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;creatorName&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;用户A&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="s2"&gt;&amp;#34;website&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://example.com&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="s2"&gt;&amp;#34;link&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://memos.example.com&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="s2"&gt;&amp;#34;creatorId&amp;#34;&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="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;avatar&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/avatars/user-a.png&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="s2"&gt;&amp;#34;twikoo&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://twikoo.example.com&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="s2"&gt;&amp;#34;creatorName&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;用户B&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="s2"&gt;&amp;#34;website&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://example.org&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="s2"&gt;&amp;#34;link&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://memos.example.com&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="s2"&gt;&amp;#34;creatorId&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2&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="s2"&gt;&amp;#34;avatar&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/avatars/user-b.png&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="s2"&gt;&amp;#34;twikoo&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://twikoo.example.com&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 13 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="22-api-集成与数据处理"&gt;2.2 API 集成与数据处理&lt;/h3&gt;
&lt;h4 id="221-并发数据获取"&gt;2.2.1 并发数据获取&lt;/h4&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="16" data-collapsed-lines="5"&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="kr"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getAllUsersMemos&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;userPromises&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;currentUsers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&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;getUserMemos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&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;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creatorId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creatorName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;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="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;allUserResults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;allSettled&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userPromises&lt;/span&gt;&lt;span class="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;successfulResults&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="nx"&gt;allUserResults&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;result&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="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;fulfilled&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isArray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&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="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;successfulResults&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;result&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&gt;&lt;/span&gt;&lt;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;return&lt;/span&gt; &lt;span class="nx"&gt;successfulResults&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 11 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id="222-数据验证与标准化"&gt;2.2.2 数据验证与标准化&lt;/h4&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="13" data-collapsed-lines="5"&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;function&lt;/span&gt; &lt;span class="nx"&gt;validateUserConfig&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;validUsers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;currentUsers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&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;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creatorId&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creatorName&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;validUsers&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;&amp;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="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;normalizeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;baseUrl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;path&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;normalizedBase&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;baseUrl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;endsWith&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="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;baseUrl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slice&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="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="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;baseUrl&lt;/span&gt;&lt;span class="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;normalizedPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;startsWith&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="o"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;path&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="nx"&gt;path&lt;/span&gt;&lt;span class="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;normalizedBase&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;normalizedPath&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 8 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="23-评论系统集成"&gt;2.3 评论系统集成&lt;/h3&gt;
&lt;h4 id="231-批量评论统计"&gt;2.3.1 批量评论统计&lt;/h4&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="49" data-collapsed-lines="5"&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="kr"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getMemoCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;memos&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;twikooGroups&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="c1"&gt;// 按 Twikoo 环境分组处理
&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 class="nx"&gt;memos&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;item&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="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;twikoo&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;envId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;twikoo&lt;/span&gt;&lt;span class="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;memoUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;normalizeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&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="sb"&gt;`/m/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&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&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;twikooGroups&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;envId&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;twikooGroups&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;envId&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&gt;&lt;/span&gt;&lt;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;twikooGroups&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;envId&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;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;memoUrl&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;const&lt;/span&gt; &lt;span class="nx"&gt;allTwikooCount&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;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;envId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nb"&gt;Object&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="nx"&gt;twikooGroups&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;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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;urls&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="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;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;twikoo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getCommentsCount&lt;/span&gt;&lt;span class="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;envId&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;envId&lt;/span&gt;&lt;span class="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;urls&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;urls&lt;/span&gt;&lt;span class="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;includeReply&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isArray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;res&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;allTwikooCount&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;res&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;error&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;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`Twikoo 环境 &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;envId&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 class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;// 关联评论数到对应 Memo
&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 class="nx"&gt;memos&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;item&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="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;twikoo&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;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&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;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 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;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;normalizeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&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="sb"&gt;`/m/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;countData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;allTwikooCount&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;o&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;o&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="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;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;countData&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&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="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;memos&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 44 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="24-内容渲染引擎"&gt;2.4 内容渲染引擎&lt;/h3&gt;
&lt;h4 id="241-markdown-内容处理"&gt;2.4.1 Markdown 内容处理&lt;/h4&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="12" data-collapsed-lines="5"&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;function&lt;/span&gt; &lt;span class="nx"&gt;processMemoContent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;content&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;TAG_REGEX&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/#([^#\s!.,;:?&amp;#34;&amp;#39;()]+)(?= )/g&lt;/span&gt;&lt;span class="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;IMAGE_REGEX&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/\!\[(.*?)\]\((.*?)\)/g&lt;/span&gt;&lt;span class="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_REGEX&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/(?&amp;lt;!!)\[(.*?)\]\((.*?)\)/g&lt;/span&gt;&lt;span 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;let&lt;/span&gt; &lt;span class="nx"&gt;processed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt;
&lt;/span&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;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;TAG_REGEX&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;IMAGE_REGEX&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;LINK_REGEX&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;a class=&amp;#34;primary&amp;#34; href=&amp;#34;$2&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;$1&amp;lt;/a&amp;gt;&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="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;marked&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;processed&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 7 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id="242-图片资源处理"&gt;2.4.2 图片资源处理&lt;/h4&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="32" data-collapsed-lines="5"&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;function&lt;/span&gt; &lt;span class="nx"&gt;processImageResources&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;memo&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;let&lt;/span&gt; &lt;span class="nx"&gt;imageHtml&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&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 class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;inlineImages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;IMAGE_REGEX&lt;/span&gt;&lt;span class="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;inlineImages&lt;/span&gt;&lt;span class="o"&gt;?&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;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&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;imageString&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;inlineImages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&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="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/,/g&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;imageHtml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;imageString&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;IMAGE_REGEX&lt;/span&gt;&lt;span class="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;&amp;lt;div class=&amp;#34;memo-resource width-100&amp;#34;&amp;gt;&amp;#39;&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="s1"&gt;&amp;#39;&amp;lt;img class=&amp;#34;lozad&amp;#34; data-src=&amp;#34;$2&amp;#34; alt=&amp;#34;$1&amp;#34;&amp;gt;&amp;#39;&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="s1"&gt;&amp;#39;&amp;lt;/div&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="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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 class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;resourceList&lt;/span&gt;&lt;span class="o"&gt;?&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;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&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;memo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;resourceList&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;resource&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="nx"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;startsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;image&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;imageUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;externalLink&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;normalizeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;memo&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="sb"&gt;`/o/r/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;uid&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&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="nx"&gt;imageHtml&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;div class=&amp;#34;memo-resource w-100&amp;#34;&amp;gt;&amp;#39;&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="s1"&gt;&amp;#39;&amp;lt;img class=&amp;#34;lozad&amp;#34; data-src=&amp;#34;${imageUrl}&amp;#34;&amp;gt;&amp;#39;&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="s1"&gt;&amp;#39;&amp;lt;/div&amp;gt;&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="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;return&lt;/span&gt; &lt;span class="nx"&gt;imageHtml&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="s1"&gt;&amp;#39;&amp;lt;div class=&amp;#34;resource-wrapper&amp;#34;&amp;gt;&amp;#39;&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="s1"&gt;&amp;#39;&amp;lt;div class=&amp;#34;images-wrapper my-2&amp;#34; view-image&amp;gt;&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;imageHtml&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&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="s1"&gt;&amp;#39;&amp;lt;/div&amp;gt;&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="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 27 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="3-性能优化策略"&gt;3. 性能优化策略&lt;/h2&gt;
&lt;h3 id="31-分页加载机制"&gt;3.1 分页加载机制&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="16" data-collapsed-lines="5"&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;function&lt;/span&gt; &lt;span class="nx"&gt;pagination&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="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;limit&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;startIndex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;page&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="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt;&lt;span class="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;endIndex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;startIndex&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt;&lt;span class="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;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;startIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;endIndex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;updateData&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="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;validData&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 class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;object&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;validData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sort&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="p"&gt;=&amp;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;createdTs&lt;/span&gt; &lt;span class="o"&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;createdTs&lt;/span&gt;&lt;span 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;pageData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;pagination&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;validData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;currentPage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;itemsPerPage&lt;/span&gt;&lt;span class="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;renderMemoList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pageData&lt;/span&gt;&lt;span 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;totalPages&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;ceil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;validData&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="nx"&gt;itemsPerPage&lt;/span&gt;&lt;span class="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;updatePaginationControls&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentPage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;totalPages&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 11 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="32-图片性能优化"&gt;3.2 图片性能优化&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="15" data-collapsed-lines="5"&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;function&lt;/span&gt; &lt;span class="nx"&gt;initializeImageOptimizations&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;// 图片懒加载
&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 class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;lozad&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;undefined&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;imageObserver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;lozad&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;.lozad&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="nx"&gt;rootMargin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;50px 0px&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;threshold&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;imageObserver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;observe&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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 class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;ViewImage&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;undefined&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="nx"&gt;ViewImage&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="s1"&gt;&amp;#39;.images-wrapper img&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="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 10 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="33-缓存策略"&gt;3.3 缓存策略&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="27" data-collapsed-lines="5"&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="kr"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;MemosCache&lt;/span&gt; &lt;span class="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;cacheKey&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;memos-data-cache&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;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cacheTimeout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&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;1000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 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;&lt;/span&gt; &lt;span 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;getCachedData&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;cached&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getItem&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;cacheKey&lt;/span&gt;&lt;span class="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;cached&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&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&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="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="nx"&gt;timestamp&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cached&lt;/span&gt;&lt;span class="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;Date&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="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;timestamp&lt;/span&gt; &lt;span class="o"&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;cacheTimeout&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;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;removeItem&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;cacheKey&lt;/span&gt;&lt;span class="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="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="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;return&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setCachedData&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="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;cacheObject&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;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="nx"&gt;timestamp&lt;/span&gt;&lt;span class="o"&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;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setItem&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;cacheKey&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cacheObject&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 22 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="4-错误处理与监控"&gt;4. 错误处理与监控&lt;/h2&gt;
&lt;h3 id="41-健壮性设计"&gt;4.1 健壮性设计&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="34" data-collapsed-lines="5"&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="kr"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getUserMemos&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;userId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;userName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;userAvatar&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;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="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 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;link&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;userId&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;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&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="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;normalizedLink&lt;/span&gt; &lt;span class="o"&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;endsWith&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="o"&gt;?&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;link&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;apiUrl&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;normalizedLink&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;api/v1/memo?creatorId=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;&amp;amp;rowStatus=NORMAL&amp;amp;limit=50`&lt;/span&gt;&lt;span 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;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;apiUrl&lt;/span&gt;&lt;span class="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;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ok&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;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`HTTP &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&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;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;statusText&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="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;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span 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="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isArray&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="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;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;API 返回数据格式错误&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&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;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;object&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;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&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="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="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;link&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;normalizedLink&lt;/span&gt;&lt;span class="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;avatar&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;userAvatar&lt;/span&gt;&lt;span class="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;creatorName&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;userName&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&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;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&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;userName&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 class="nx"&gt;error&lt;/span&gt;&lt;span class="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="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="c1"&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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 29 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="42-性能监控"&gt;4.2 性能监控&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="19" data-collapsed-lines="5"&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="kr"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;PerformanceMonitor&lt;/span&gt; &lt;span class="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;static&lt;/span&gt; &lt;span class="kr"&gt;async&lt;/span&gt; &lt;span class="nx"&gt;measureApiCall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;apiCall&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;startTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;performance&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&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;apiCall&lt;/span&gt;&lt;span class="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;duration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;performance&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="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;startTime&lt;/span&gt;&lt;span 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;duration&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;)&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="c1"&gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;warn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`API 调用耗时较长: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;duration&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;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;ms`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;return&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&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;error&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;duration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;performance&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="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;startTime&lt;/span&gt;&lt;span class="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;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`API 调用失败，耗时 &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;duration&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;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;ms:`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="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;throw&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 14 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="5-部署配置指南"&gt;5. 部署配置指南&lt;/h2&gt;
&lt;h3 id="51-文件结构规范"&gt;5.1 文件结构规范&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="15" data-collapsed-lines="5"&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-site/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── layouts/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── _default/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── memos.html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── static/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── memos/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── js/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ ├── memos-core.js
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ ├── twikoo.min.js
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ ├── marked.min.js
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ └── lozad.min.js
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── css/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── memos-styles.css
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── content/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── memos.md&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 10 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="52-hugo-模板配置"&gt;5.2 Hugo 模板配置&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="18" data-collapsed-lines="5"&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/_default/memos.html --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ define &amp;#34;main&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;memos-container&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;header&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;memos-header&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;h1&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;h1&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;header&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;memos-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;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;memo-list&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;memo-list-container&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;button&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;load-more&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;load-more-button&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;button&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 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;/memos/js/marked.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;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/memos/js/lozad.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;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/memos/js/twikoo.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;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/memos/js/memos-core.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;{{ end }}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 13 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="53-环境变量配置"&gt;5.3 环境变量配置&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="17" data-collapsed-lines="5"&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="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 class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MEMOS_CONFIG&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;apiEndpoints&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;memos&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;https://memos.example.com/api/v1&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;twikoo&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;https://twikoo.example.com&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;performance&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;cacheTimeout&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;300000&lt;/span&gt;&lt;span class="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;paginationSize&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;imageLazyLoad&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;features&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;multiUser&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;comments&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;imageZoom&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 12 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="6-安全考虑"&gt;6. 安全考虑&lt;/h2&gt;
&lt;h3 id="61-输入验证"&gt;6.1 输入验证&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="10" data-collapsed-lines="5"&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;function&lt;/span&gt; &lt;span class="nx"&gt;sanitizeUserInput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&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;typeof&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;string&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&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&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;input&lt;/span&gt;
&lt;/span&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;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&amp;lt;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;lt;&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;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&amp;gt;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;gt;&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;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&amp;#34;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;quot;&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;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&amp;#39;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;#x27;&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;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/\//g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;#x2F;&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 5 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="62-csp-配置建议"&gt;6.2 CSP 配置建议&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="6" data-collapsed-lines="5"&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;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Content-Security-Policy&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;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;default-src &amp;#39;self&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; script-src &amp;#39;self&amp;#39; https://memos.example.com https://twikoo.example.com;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; img-src &amp;#39;self&amp;#39; https: data:;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; style-src &amp;#39;self&amp;#39; &amp;#39;unsafe-inline&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; connect-src &amp;#39;self&amp;#39; https://memos.example.com https://twikoo.example.com&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="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 1 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="7-测试方案"&gt;7. 测试方案&lt;/h2&gt;
&lt;h3 id="71-单元测试示例"&gt;7.1 单元测试示例&lt;/h3&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="15" data-collapsed-lines="5"&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;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Memos Integration&amp;#39;&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="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;URL normalization&amp;#39;&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="nx"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;normalizeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://example.com/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/m/123&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;toBe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://example.com/m/123&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;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;normalizeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://example.com&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;m/123&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;toBe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://example.com/m/123&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Content processing&amp;#39;&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Hello [world](https://example.com)&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;processed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;processMemoContent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="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;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;processed&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;toContain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;href=&amp;#34;https://example.com&amp;#34;&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="p"&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 10 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="8-结论"&gt;8. 结论&lt;/h2&gt;
&lt;p&gt;本文提出的 Hugo 与 Memos 多用户微博系统集成方案，通过系统的架构设计和严谨的代码实现，成功在静态网站环境中引入了动态社交功能。关键技术贡献包括：&lt;/p&gt;</description></item><item><title>借助 GitHub Actions 自动化部署 Hugo 网站到自有服务器</title><link>https://www.xiaoten.com/posts/2025/10/automating-hugo-website-deployment-to-your-own-server-with-github-actions/</link><pubDate>Mon, 20 Oct 2025 13:22:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/10/automating-hugo-website-deployment-to-your-own-server-with-github-actions/</guid><description>&lt;h2 id="从手动部署到自动化的工作流演进"&gt;从手动部署到自动化的工作流演进&lt;/h2&gt;
&lt;p&gt;在网站开发的初期阶段，为了深入理解整个发布流程，我一直在本地环境中使用 Hugo 手动生成静态网站。这个过程包括：运行 &lt;code&gt;hugo&lt;/code&gt; 命令生成静态文件，手动打包 &lt;code&gt;public&lt;/code&gt; 目录，然后通过 SCP 或 FTP 上传到服务器，最后在服务器上解压并配置。虽然这种方法让我对网站部署的每个环节都有了清晰的认识，但随着内容的增多，这种重复性工作变得越来越耗时。&lt;/p&gt;
&lt;p&gt;虽然现在有 Vercel、Netlify 等优秀的静态网站托管平台，但由于我已经拥有一台国内的轻量级云服务器（主要用于 frp 内网穿透服务），我决定充分利用现有资源，直接在这台服务器上托管我的 Hugo 网站。&lt;/p&gt;
&lt;h2 id="自动化部署方案设计"&gt;自动化部署方案设计&lt;/h2&gt;
&lt;p&gt;最终实现的解决方案是：&lt;strong&gt;通过 GitHub 私有仓库存储 Hugo 源码，利用 GitHub Actions 实现自动化构建和部署，使用 rsync 将生成的静态文件同步到自己的服务器&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这种方案的优势在于：&lt;/p&gt;
&lt;ul&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;&lt;strong&gt;安全性&lt;/strong&gt;：私有仓库保护源代码，SSH 密钥保证传输安全&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;成本效益&lt;/strong&gt;：充分利用现有服务器资源&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="服务器端配置"&gt;服务器端配置&lt;/h2&gt;
&lt;h3 id="环境准备"&gt;环境准备&lt;/h3&gt;
&lt;p&gt;我使用 1Panel 面板管理服务器，网站目录为：&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;/opt/1panel/apps/openresty/openresty/www/sites/xiaoten.com/index&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="安装-rsync"&gt;安装 rsync&lt;/h3&gt;
&lt;p&gt;由于同步方案使用 rsync，需要在服务器上安装：&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;# CentOS/RHEL 系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo yum install -y rsync
&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;# Ubuntu/Debian 系统 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt-get install -y rsync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="安全配置ssh-密钥认证"&gt;安全配置：SSH 密钥认证&lt;/h2&gt;
&lt;p&gt;为了实现安全的自动化部署，需要配置 GitHub Actions 对服务器的访问权限。&lt;/p&gt;</description></item><item><title>终于初步完成了从Typecho到Hugo的网站迁移</title><link>https://www.xiaoten.com/posts/2025/10/the-preliminary-migration-of-the-typecho-to-hugo-completed/</link><pubDate>Thu, 16 Oct 2025 22:21:00 +0800</pubDate><atom:updated>Wed, 01 Apr 2026 20:16:32 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/10/the-preliminary-migration-of-the-typecho-to-hugo-completed/</guid><description>&lt;h2 id="整体历程"&gt;整体历程&lt;/h2&gt;
&lt;p&gt;2011年2月2日，本站启用并使用WordPress；&lt;/p&gt;
&lt;p&gt;2021年7月29日，从WordPress迁移至Typecho；&lt;/p&gt;
&lt;p&gt;2025年10月16日，终于正式把域名指向到了Hugo生成的静态页面。&lt;/p&gt;
&lt;h2 id="主要过程"&gt;主要过程&lt;/h2&gt;
&lt;p&gt;因为涉及到html转markdown，使用自动化的转换工具带了一些排版混乱、不合理的转义等等，本来想仿照有些博主，写个脚本自动优化，但随后又转念一想，还是都过一遍吧，于是在工作中见缝插针，以及下班后沉浸到半夜，持续两天枯燥的html转markdown的过程。&lt;/p&gt;
&lt;p&gt;虽然当时WordPress转Typecho时已进行了一些格式上的适配，但这次回过头看，问题特别多。&lt;/p&gt;
&lt;p&gt;因此还是启用了21年转Typecho时wordpress的备份，好在迁移到Typecho，并没有写过几篇文章，迁移到Typecho以后的文章手动添加就好了。&lt;/p&gt;
&lt;h3 id="静态博客生成工具的确定"&gt;静态博客生成工具的确定&lt;/h3&gt;
&lt;p&gt;决定采用静态博客的目的，还是想学习现在的博客主流模式，让更多的注意力在写作本身上面，摆脱臃肿的博客程序，虽说typecho已经非常轻量了，但可能是使用主题的问题，总会有遇到各种各样的使用问题，自身也没有精力去学着去写一个精简的主题，另外静态博客可以很方便的托管到一些GitHub等这样的一些开源平台上，不用再受制于服务器等这些问题。&lt;/p&gt;
&lt;p&gt;目前，整个的服务器都已迁移到家庭的nas里，通过购买阿里云的轻量云服务器仅用来内网穿透+反向代理使用，整体成本很低。&lt;/p&gt;
&lt;p&gt;除了个人博客这个站点以外的其他网站应用或服务应用还得依托于家里的服务器。&lt;/p&gt;
&lt;p&gt;经过浏览了多个业内大佬的网站之后，发现Hugo的覆盖率还挺高，另外Hugo官网的一些主题也都是偏简洁的风格，在B站看了Hugo的实现原理及教程，也很容易上手，因此确定了Hugo作为生成工具。&lt;/p&gt;
&lt;h3 id="hugo模板的确定"&gt;Hugo模板的确定&lt;/h3&gt;
&lt;p&gt;最终在官网上对比了几个比较主流的模板之后，最终目光还是集中在了一个比较简洁的一个主题：
&lt;a href="https://themes.gohugo.io/themes/hugo-blog-awesome/"
target="_blank" rel="noopener noreferrer"
&gt;
Hugo blog awesome
&lt;/a&gt; 。&lt;/p&gt;
&lt;p&gt;决定开始使用这个主题是在10月11日，截至写这篇文章已经调试使用了5天时间，目前整体使用起来没有大的问题，但还是有一些自己不满意且比较棘手的问题。不知道后续会不会再换模板，目前先这样用着。&lt;/p&gt;
&lt;h4 id="字体"&gt;字体&lt;/h4&gt;
&lt;p&gt;在原有模板的基础上应用了思源宋体，并通过
&lt;a href="https://github.com/KonghaYao/cn-font-split"
target="_blank" rel="noopener noreferrer"
&gt;
cn-font-split
&lt;/a&gt; 实现了字体切割，实现网页字体的快速加载。&lt;/p&gt;
&lt;h4 id="分页功能"&gt;分页功能&lt;/h4&gt;
&lt;p&gt;另外想通过hugo自带的分页功能实现文章列表的分页，但尝试很多种方法，并借助deepseek都没有办法实现。&lt;del&gt;因此最终通过了JavaScript脚本实现了分页功能，这个看后续有没有更好的解决办法。&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;已解决分页问题，详见文章：
&lt;a href="https://www.xiaoten.com/posts/2025/11/fixing-hugo-pagination-paginate-called-multiple-times-issue/"
target="_blank" rel="noopener noreferrer"
&gt;
解决 Hugo 分页器返回空页面的诡异问题：.Paginate 不能被多次调用
&lt;/a&gt;。&lt;/p&gt;
&lt;h4 id="全文搜索"&gt;全文搜索&lt;/h4&gt;
&lt;p&gt;静态博客如果想实现全文搜索，方法也比较多，我采用了比较成熟的工具：
&lt;a href="https://pagefind.app/"
target="_blank" rel="noopener noreferrer"
&gt;
Pagefind
&lt;/a&gt; 。&lt;/p&gt;
&lt;h4 id="代码高亮的自动转换"&gt;代码高亮的自动转换&lt;/h4&gt;
&lt;p&gt;默认hugo自带的代码高亮功能，一般只能设置一个样式，固定下来之后，不管主题是白色还是黑色，都是统一的一个代码高亮样式，为了实现白色/黑色主题切换时代码高亮主题也自动进行更换，通过脚本实现不同主题下不同的代码高亮方案。&lt;/p&gt;
&lt;h4 id="识别外部链接自动启用新窗口打开"&gt;识别外部链接自动启用新窗口打开&lt;/h4&gt;
&lt;p&gt;通过在&lt;code&gt;layouts/_default/_markup/&lt;/code&gt;目录下创建&lt;code&gt;render-link.html&lt;/code&gt;文件，并写入代码：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="8" data-collapsed-lines="5"&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;{{ $url := urls.Parse .Destination }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $isExternal := eq $url.Scheme &amp;#34;http&amp;#34; &amp;#34;https&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;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;{{ .Destination | 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="err"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;if&lt;/span&gt; &lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="na"&gt;isExternal&lt;/span&gt; &lt;span class="err"&gt;}}&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;noopener noreferrer&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&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; {{ .Text | safeHTML }}
&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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 3 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;实现自动识别非本站链接采用新窗口打开的功能。&lt;/p&gt;</description></item><item><title>PVE从8升级到9</title><link>https://www.xiaoten.com/posts/2025/08/pve-upgrade-from-8-to-9/</link><pubDate>Sun, 10 Aug 2025 18:07:20 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/08/pve-upgrade-from-8-to-9/</guid><description>&lt;p&gt;今天完成了Proxmox Virtual Environment 从8升级到9。&lt;/p&gt;
&lt;h3 id="升级前准备"&gt;升级前准备&lt;/h3&gt;
&lt;p&gt;确保您的所有节点都已升级到 Proxmox VE 8.4 的最新版本。&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;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt dist-upgrade
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pveversion&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="检查是否满足升级条件"&gt;检查是否满足升级条件&lt;/h3&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;pve8to9&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&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;pve8to9 --full&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;需要 ·SUMMARY· 里没有警错误才能执行升级&lt;/p&gt;
&lt;h3 id="备份-apt-软件源"&gt;备份 APT 软件源&lt;/h3&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;cp /etc/apt/sources.list /etc/apt/sources.list.pve-old
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.old&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="切换-apt-软件源"&gt;切换 APT 软件源&lt;/h3&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;sed -i &lt;span class="s1"&gt;&amp;#39;s/bookworm/trixie/g&amp;#39;&lt;/span&gt; /etc/apt/sources.list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sed -i &lt;span class="s1"&gt;&amp;#39;s/bookworm/trixie/g&amp;#39;&lt;/span&gt; /etc/apt/sources.list.d/pve-enterprise.list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="刷新软件包索引"&gt;刷新软件包索引&lt;/h3&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;apt update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="开始升级"&gt;开始升级&lt;/h3&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;apt dist-upgrade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&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;apt full-upgrade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如出现更新日志按 &lt;code&gt;q&lt;/code&gt; 键退出&lt;/p&gt;
&lt;p&gt;后续提示可以默认按 &lt;code&gt;回车&lt;/code&gt; 键继续&lt;/p&gt;
&lt;h3 id="查看系统版本"&gt;查看系统版本&lt;/h3&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;cat /etc/debian_version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>使用 libwebp 高效批量转换图片至 WebP 格式</title><link>https://www.xiaoten.com/posts/2025/05/how-to-batch-convert-images-to-webp-with-libwebp/</link><pubDate>Sat, 31 May 2025 15:11:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/05/how-to-batch-convert-images-to-webp-with-libwebp/</guid><description>&lt;p&gt;WebP 是一种现代图像格式，可为 Web 上的图像提供出色的无损和有损压缩。使用 WebP，网站管理员和 Web 开发人员可以创建尺寸更小、内容更丰富的图像，从而使 Web 更快。本文将指导您如何使用 Google 官方提供的 &lt;code&gt;libwebp&lt;/code&gt; 工具包批量将您现有的图片（如 JPG, PNG, BMP, GIF 等）转换为 WebP 格式。&lt;/p&gt;
&lt;h4 id="1下载libwebp"&gt;1、下载libwebp&lt;/h4&gt;
&lt;p&gt;打开https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html，划到底部找到最新版本，根据操作系统选择合适的版本。&lt;/p&gt;
&lt;p&gt;比如Windows选择
&lt;a href="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-windows-x64.zip"
target="_blank" rel="noopener noreferrer"
&gt;
libwebp-1.4.0-windows-x64.zip
&lt;/a&gt;,macOS X86选择
&lt;a href="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-rc1-mac-x86-64.tar.gz"
target="_blank" rel="noopener noreferrer"
&gt;
libwebp-1.4.0-rc1-mac-x86-64.tar.gz
&lt;/a&gt;,macOS ARM选择
&lt;a href="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-rc1-mac-arm64.tar.gz"
target="_blank" rel="noopener noreferrer"
&gt;
libwebp-1.4.0-rc1-mac-arm64.tar.gz
&lt;/a&gt;……根据你的实际情况来&lt;/p&gt;
&lt;h4 id="2准备脚本"&gt;2、准备脚本&lt;/h4&gt;
&lt;p&gt;将下载的文件解压，在解压出来的文件夹旁边再创建两个叫“input”和“output”的文件夹,然后&amp;raquo;&amp;gt;&lt;/p&gt;
&lt;h5 id="windows"&gt;Windows&lt;/h5&gt;
&lt;p&gt;创建一个名为c.bat的脚本文件，并用记事本写入：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="31" data-collapsed-lines="5"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;echo&lt;/span&gt; offss
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;setlocal&lt;/span&gt; enabledelayedexpansion
&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="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;set&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;input_folder_path=input&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="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;set&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;output_folder_path=output&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="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;if&lt;/span&gt; &lt;span class="k"&gt;not&lt;/span&gt; &lt;span class="k"&gt;exist&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%output_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;mkdir&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%output_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;&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="c1"&gt;: 设置cwebp工具的路径，如果cwebp在环境变量中，则不需要设置&lt;/span&gt;
&lt;/span&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="c1"&gt;: set &amp;#34;cwebp_path=C:\path\to\cwebp\cwebp.exe&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="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;for&lt;/span&gt; &lt;span class="se"&gt;%%&lt;/span&gt;i &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%input_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;\*.jpg&amp;#34;&lt;/span&gt;, &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%input_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;\*.jpeg&amp;#34;&lt;/span&gt;, &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%input_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;\*.png&amp;#34;&lt;/span&gt;, &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%input_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;\*.bmp&amp;#34;&lt;/span&gt;, &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;%input_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;\*.gif&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&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="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;set&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;output_file=&lt;/span&gt;&lt;span class="nv"&gt;%output_folder_path%&lt;/span&gt;&lt;span class="s2"&gt;\&lt;/span&gt;&lt;span class="se"&gt;%%&lt;/span&gt;&lt;span class="s2"&gt;~ni.webp&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="c1"&gt;: 使用cwebp转换图像文件&lt;/span&gt;
&lt;/span&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="c1"&gt;: 如果cwebp在环境变量中，直接使用cwebp，否则使用完整的路径&lt;/span&gt;
&lt;/span&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="c1"&gt;: 替换下面的cwebp为%cwebp_path%，如果你设置了cwebp工具的路径&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cwebp -q 80 &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="se"&gt;%%&lt;/span&gt;&lt;span class="s2"&gt;i&amp;#34;&lt;/span&gt; -o &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;!output_file!&lt;/span&gt;&lt;span class="s2"&gt;&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="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;echo&lt;/span&gt; Converted &lt;span class="se"&gt;%%&lt;/span&gt;i to &lt;span class="nv"&gt;!output_file!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;echo&lt;/span&gt; All images have been converted.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;endlocal&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 26 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h5 id="macoslinux"&gt;macOS/Linux&lt;/h5&gt;
&lt;p&gt;创建一个名为c.sh的脚本文件，并用纯文本编辑器写入：&lt;/p&gt;</description></item><item><title>从宝塔到1Panel：Typecho站点HTTPS混合内容问题排查与解决</title><link>https://www.xiaoten.com/posts/2025/05/from-baota-to-1panel-troubleshooting-typecho-https-mixed-content-issues/</link><pubDate>Sat, 24 May 2025 01:18:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/05/from-baota-to-1panel-troubleshooting-typecho-https-mixed-content-issues/</guid><description>&lt;p&gt;之前，我一直习惯使用外网服务器上的宝塔面板来实现网站的反向代理功能。然而，在尝试为网站设置防盗链等自定义Nginx配置时，我发现宝塔面板生成的配置文件直接编辑较为困难，且通过其自定义配置功能生成的代码也显得有些冗余和不够直观。&lt;/p&gt;
&lt;p&gt;恰好，我内网的服务器早已换上了1Panel面板，并且使用体验相当不错，感觉在灵活性和功能性上比宝塔面板更胜一筹。于是，我决定将外网服务器也进行系统重装，并部署了1Panel。随后，我在新的1Panel环境中安装了FRPS（FRP服务端）应用和OpenResty应用。&lt;/p&gt;
&lt;p&gt;通过FRPS的HTTP(S)内网穿透功能，结合OpenResty反向代理，将内网的网站服务暴露到公网，并利用1Panel自动SSL证书续签功能，实现了预期的HTTPS访问。整个配置过程非常直观。&lt;/p&gt;
&lt;p&gt;然而，在迁移完成后，一个意想不到的问题出现了：现在的这个网站（其他网站均正常）虽然可以通过HTTPS访问，但其CSS和JS等静态资源却无法正确加载。通过浏览器开发者工具查看，发现这些资源的URL仍然是HTTP协议，导致在HTTPS页面下因“混合内容（Mixed Content）”而被浏览器阻止加载。&lt;/p&gt;
&lt;p&gt;奇怪的是，这个问题在迁移前（使用宝塔面板时）并未发生。考虑到这个出问题的网站是基于Typecho博客程序搭建的，而其他网站并非如此，我推测问题可能出在Typecho本身与新环境的适配上。&lt;/p&gt;
&lt;p&gt;后来，找到了一个针对Typecho的简单解决方案。具体操作如下：&lt;/p&gt;
&lt;p&gt;打开Typecho网站的根目录，找到并编辑 &lt;code&gt;config.inc.php&lt;/code&gt; 文件，在其中添加以下一行代码：&lt;/p&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="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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这行代码的作用是显式告知Typecho当前站点已启用HTTPS。在此之前，我的配置文件中确实没有这行设置。&lt;/p&gt;
&lt;p&gt;保存修改后，再次访问网站，CSS和JS资源均已通过HTTPS正确加载，问题解决&lt;/p&gt;</description></item><item><title>记录我的 Chevereto V4 Docker 版升级过程</title><link>https://www.xiaoten.com/posts/2025/05/documenting-my-chevereto-v4-docker-upgrade-process/</link><pubDate>Sat, 24 May 2025 01:07:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/05/documenting-my-chevereto-v4-docker-upgrade-process/</guid><description>&lt;p&gt;自从我安装了 Chevereto 相册应用之后，就发现它的更新迭代还是挺频繁的。目前的大版本是 V4，而小版本几乎每一到两周就会有一次更新。&lt;/p&gt;
&lt;p&gt;我个人是采用 Docker 方式来部署 Chevereto 的，并且已经购买了 V4 大版本的永久授权。每次升级前，我都会先登录到 Chevereto 的官方后台，下载包含授权的最新程序文件，然后将它上传到我的服务器上。&lt;/p&gt;
&lt;p&gt;不过，我并不会直接使用压缩包里的程序文件来覆盖安装。相反，我更倾向于利用程序文件包里面提供的 &lt;code&gt;docker&lt;/code&gt; 文件夹。通过这个文件夹里的 &lt;code&gt;Makefile&lt;/code&gt;，我可以使用 &lt;code&gt;make&lt;/code&gt; 命令来编译和管理我的 Docker 镜像。&lt;/p&gt;
&lt;p&gt;具体的升级步骤，我主要参考了官方的 Docker 安装和部署指南，这里查看原文：
&lt;a href="https://v4-docs.chevereto.com/guides/docker/#deploying"
target="_blank" rel="noopener noreferrer"
&gt;
Install Chevereto on Docker | Chevereto V4 Docs
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下面是我根据官方文档整理的 Docker 升级步骤：&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="升级-upgrading"&gt;升级 (Upgrading)&lt;/h2&gt;
&lt;p&gt;要升级 Chevereto，您需要执行以下三个步骤：(1) 同步仓库，(2) 重新构建容器镜像，以及 (3) 更新 Chevereto 实例。&lt;/p&gt;
&lt;h3 id="步骤-1同步仓库-step-1-sync-repository"&gt;步骤 1：同步仓库 (Step 1: Sync repository)&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-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;make sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 如果官方发布了新的分支（例如，从 4.2 升级到 4.3 时，可能会有新的 &lt;code&gt;4.3&lt;/code&gt; 分支），您需要运行以下命令切换到新的分支：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git switch 4.3&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;(请将 &lt;code&gt;4.3&lt;/code&gt; 替换为实际的最新分支名)&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="步骤-2重新构建容器镜像-step-2-re-build-the-container-image"&gt;步骤 2：重新构建容器镜像 (Step 2: Re-build the container image)&lt;/h3&gt;
&lt;p&gt;构建一个新的容器镜像，以包含最新发布的版本内容。&lt;/p&gt;</description></item><item><title>免费引入商用黑体字体系列整理及 CSS 字体引入亲妈式教程</title><link>https://www.xiaoten.com/posts/2025/05/free-commercial-sans-serifs-font-collection-your-ultimate-css-import-guide/</link><pubDate>Wed, 21 May 2025 23:12:59 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/05/free-commercial-sans-serifs-font-collection-your-ultimate-css-import-guide/</guid><description>&lt;p&gt;&lt;strong&gt;声明&lt;/strong&gt;：本文转载并基于
&lt;a href="https://www.thyuu.com/62610/"
target="_blank" rel="noopener noreferrer"
&gt;
免费引入商用黑体字体系列整理及 CSS 字体引入亲妈式教程（20240915更新） – 风记星辰
&lt;/a&gt; 进行修改和完善。以下为正文内容：&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;在现代网页设计中，字体的选择对于用户体验和视觉效果至关重要。鉴于系统默认的微软雅黑字体在某些设计场景下略显陈旧，许多开发者和设计师倾向于引入更现代的无衬线字体，如苹果的苹方（PingFang SC）。这样做不仅能优化在 macOS 设备上的显示，也可能（在用户已安装相应字体的前提下）改善 Windows 系统上的视觉呈现。&lt;/p&gt;
&lt;p&gt;本文将整理一系列免费可商用的黑体（无衬线）字体资源，并提供详尽的 CSS 字体引入教程。&lt;/p&gt;
&lt;h2 id="1-免费可商用字体列表及引用资源"&gt;1. 免费可商用字体列表及引用资源&lt;/h2&gt;
&lt;h3 id="11-字体提供方站点"&gt;1.1 字体提供方站点&lt;/h3&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;Google Fonts&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://fonts.google.com/"
target="_blank" rel="noopener noreferrer"
&gt;
https://fonts.google.com
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;国内访问可能需代理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Adobe Fonts&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://fonts.adobe.com/"
target="_blank" rel="noopener noreferrer"
&gt;
https://fonts.adobe.com
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;通常需 Creative Cloud 订阅授权&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;阿里巴巴普惠体&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://fonts.alibabagroup.com/"
target="_blank" rel="noopener noreferrer"
&gt;
https://fonts.alibabagroup.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 href="https://page.dingtalk.com/wow/dingtalk/default/dingtalk/y-W5aF3_ZJwzulU0nceIl"
target="_blank" rel="noopener noreferrer"
&gt;
https://page.dingtalk.com/wow/dingtalk/default/dingtalk/y-W5aF3_ZJwzulU0nceIl
&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 href="https://www.douyu.com/topic/douyuZGT"
target="_blank" rel="noopener noreferrer"
&gt;
https://www.douyu.com/topic/douyuZGT
&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 href="https://www.kuaikanmanhua.com/webs/fontPromotion"
target="_blank" rel="noopener noreferrer"
&gt;
https://www.kuaikanmanhua.com/webs/fontPromotion
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;免费商用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mi Sans (小米)&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://hyperos.mi.com/font/zh/"
target="_blank" rel="noopener noreferrer"
&gt;
https://hyperos.mi.com/font/zh/
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;免费商用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HarmonyOS Sans (华为)&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://developer.huawei.com/consumer/cn/design/resource-V1"
target="_blank" rel="noopener noreferrer"
&gt;
https://developer.huawei.com/consumer/cn/design/resource-V1
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;免费商用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OPPO Sans&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://open.oppomobile.com/new/developmentDoc/info?id=13223"
target="_blank" rel="noopener noreferrer"
&gt;
https://open.oppomobile.com/new/developmentDoc/info?id=13223
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;免费商用&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="12-网页-cdn-引入"&gt;1.2 网页 CDN 引入&lt;/h3&gt;
&lt;p&gt;部分字体提供了 CDN 链接，方便直接在网页中引入：&lt;/p&gt;</description></item><item><title>PVE 系统小版本升级实录：从 8.4.1 到最新稳定版</title><link>https://www.xiaoten.com/posts/2025/05/proxmox-ve-system-upgrade-a-step-by-step-guide/</link><pubDate>Tue, 20 May 2025 21:33:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2025/05/proxmox-ve-system-upgrade-a-step-by-step-guide/</guid><description>&lt;p&gt;今天分享下我的 Proxmox VE (PVE) 系统小版本升级过程。我的 N150 小主机自从 5 月 8 日安装了 PVE 8.4.1 版本后，一直稳定运行，默默奉献。不知不觉已经过去一段时间，本着“尝鲜”和“保持系统健康”的原则，今天决定检查一下是否有可用的更新，并进行一次系统升级。&lt;/p&gt;
&lt;h3 id="1-检查当前-pve-版本"&gt;1. 检查当前 PVE 版本&lt;/h3&gt;
&lt;p&gt;首先，自然是 SSH 登录到 PVE 主机，查看一下当前的系统版本。通过 &lt;code&gt;pveversion -v&lt;/code&gt; 命令（或者直接 &lt;code&gt;pveversion&lt;/code&gt; 也能看到主要版本），我得到了以下信息：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="55" data-collapsed-lines="5"&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;root@xiaoten:~# pveversion -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-manager/8.4.1/2a5fa54a8503f96d &lt;span class="o"&gt;(&lt;/span&gt;running kernel: 6.8.12-10-pve&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-kernel-6.8.12-10-pve: 6.8.12-10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-kernel-6.8: 6.8.12-10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-kernel-6.5: 6.5.13-5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-kernel-6.5.13-5-pve-signed: 6.5.13-5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ceph-fuse: 17.2.7-pve3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;corosync: 3.1.7-pve3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;criu: 3.17.1-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;glusterfs-client: 10.3-5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ifupdown2: 3.2.0-1+pmx8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ksm-control-daemon: 1.4-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libjs-extjs: 7.0.0-4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libknet1: 1.28-pve1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libproxmox-acme-perl: 1.5.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libproxmox-backup-qemu0: 1.4.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libproxmox-rs-perl: 0.3.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-access-control: 8.1.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-apiclient-perl: 3.3.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-common-perl: 8.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-guest-common-perl: 5.1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-http-server-perl: 5.1.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-network-perl: 0.9.9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-rs-perl: 0.8.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-storage-perl: 8.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libpve-user-cfg0: 1.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;libspice-server1: 0.15.1-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lvm2: 2.03.16-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lxc-pve: 5.0.2-4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lxcfs: 5.0.3-pve4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;novnc-pve: 1.4.0-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-backup-client: 3.2.2-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-backup-file-restore: 3.2.2-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-kernel-helper: 8.1.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-mail-forward: 0.2.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-mini-journalreader: 1.4.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-offline-mirror-helper: 0.6.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;proxmox-widget-toolkit: 4.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-cluster: 8.0.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-container: 5.1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-docs: 8.2.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-edk2-firmware: 4.2023.08-4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-firewall: 5.0.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-firmware: 3.10-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-ha-manager: 4.0.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-i18n: 3.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-qemu-kvm: 8.1.5-6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pve-xtermjs: 5.3.0-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qemu-server: 8.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;smartmontools: 7.3-pve1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;spiceterm: 3.3.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;swtpm: 0.8.0+pve1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vncterm: 1.8.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;zfsutils-linux: 2.2.4-pve1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root@xiaoten:~#&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 50 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;可以看到，当前 PVE Manager 版本为 &lt;code&gt;8.4.1&lt;/code&gt;，运行的内核是 &lt;code&gt;6.8.12-10-pve&lt;/code&gt;。确认无误，准备开始更新。&lt;/p&gt;</description></item><item><title>解决软路由 OpenClash 环境下 Docker 镜像拉取不稳定的问题</title><link>https://www.xiaoten.com/posts/2025/05/olving-unstable-docker-image-pulls-with-openclash-on-a-soft-router/</link><pubDate>Mon, 12 May 2025 23:06:00 +0800</pubDate><atom:updated>Tue, 13 May 2025 15:07:35 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/05/olving-unstable-docker-image-pulls-with-openclash-on-a-soft-router/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;近期，在将网络环境迁移至软路由平台（具体为 iStoreOS）并配置 OpenClash 后，我遇到了一个相当棘手的问题：部署在该软路由下的设备，包括群晖 NAS、另一台 NAS 以及用于托管网站的 Debian/CentOS 服务器，在尝试拉取 Docker 镜像时表现极不稳定，经常遭遇连接超时或下载失败。这个问题困扰了我好几天，在经过多次排查与反复试验后，终于找到了一套能够稳定运行的配置方案。在此，我将解决问题的关键步骤总结为以下三个核心原则，希望能为遇到类似困境的朋友提供参考。&lt;/p&gt;
&lt;h2 id="原则一在软路由系统层面禁用-ipv6"&gt;原则一：在软路由系统层面禁用 IPv6&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;问题分析:&lt;/strong&gt; 在我的实践中，软路由操作系统（iStoreOS）层面启用的 IPv6 功能似乎与 OpenClash 的代理机制存在一定的冲突或兼容性问题，这成为了导致网络异常，特别是影响 Docker 镜像这类需要通过代理访问外部资源操作稳定性的潜在因素之一。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解决方案:&lt;/strong&gt; 最直接有效的办法是在软路由的管理界面中，找到网络接口或系统相关设置，彻底禁用 IPv6 协议。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配置理由:&lt;/strong&gt; 我的主要需求是利用软路由为特定的内网设备（NAS、服务器等）提供稳定、高效的代理网络访问，以应对特殊的网络环境。在这些应用场景下，IPv6 并非强制性要求。禁用 IPv6 可以简化软路由的网络处理逻辑，排除因双栈（IPv4/IPv6 并存）或 IPv6 路由策略引发的潜在冲突，从而显著提升 OpenClash 在处理代理流量时的稳定性和可靠性。请注意，此操作通常针对软路由本身，而非上游的主路由器。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="原则二优化-dns-服务器配置"&gt;原则二：优化 DNS 服务器配置&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;排查过程:&lt;/strong&gt; 最初，我尝试过将 DNS 指向主路由网关地址，也尝试了国内主流的公共 DNS 服务，如阿里云 DNS (223.5.5.5 / 223.6.6.6) 和腾讯云 DNS (119.29.29.29)。然而，这些尝试均未能有效改善 Docker 镜像拉取的稳定性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最终方案:&lt;/strong&gt; 经过对比测试，效果最佳的配置是将 DNS 服务器指定为 Google DNS (&lt;code&gt;8.8.8.8&lt;/code&gt;) 和 114 DNS (&lt;code&gt;114.114.114.114&lt;/code&gt;) 的组合。这可以在软路由的 DHCP 服务设置中分配给客户端，或者直接在 OpenClash 的 DNS 配置部分进行指定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配置理由:&lt;/strong&gt; &lt;code&gt;8.8.8.8&lt;/code&gt; 作为全球广泛使用的 DNS 服务，对于解析 Docker Hub 等国际资源域名通常具有更好的效果和抗干扰能力。而 &lt;code&gt;114.114.114.114&lt;/code&gt; 作为国内老牌的公共 DNS，可以为国内资源的解析提供稳定性和速度保障。实践证明，在需要代理的环境下，这种国内外 DNS 结合的策略，相较于单一使用国内 DNS，更能有效规避潜在的 DNS 污染或解析错误，确保需要代理的服务（如 Docker）能够正确、稳定地建立连接。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="原则三合理配置-openclash-运行模式与内核"&gt;原则三：合理配置 OpenClash 运行模式与内核&lt;/h2&gt;
&lt;h3 id="关键配置"&gt;关键配置&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;运行模式 (Mode):&lt;/strong&gt; 建议设置为 &lt;strong&gt;&lt;code&gt;增强模式 (Enhance Mode)&lt;/code&gt;&lt;/strong&gt; 或 &lt;strong&gt;&lt;code&gt;Fake-IP 模式&lt;/code&gt;&lt;/strong&gt; (具体名称请根据您使用的 OpenClash 版本界面为准)。这类高级模式通常能提供更广泛的兼容性，更好地处理复杂的网络流量。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代理模式 (Proxy Mode):&lt;/strong&gt; 选择 &lt;strong&gt;&lt;code&gt;规则模式 (Rule Mode)&lt;/code&gt;&lt;/strong&gt;。这与大多数桌面 Clash 客户端的常用策略一致，允许 OpenClash 根据预定义的规则智能判断哪些流量需要通过代理，哪些直连，实现精细化控制，提高网络效率。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内核更新:&lt;/strong&gt; 务必确保 OpenClash 所使用的 &lt;strong&gt;Clash 核心 (Kernel) 程序为最新稳定版&lt;/strong&gt;。开发者会持续在新版本中修复 Bug、优化性能并增加新特性，使用最新内核是保障稳定运行的基础。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="配置理由"&gt;配置理由&lt;/h3&gt;
&lt;p&gt;合理的运行模式和代理模式组合，配合最新的内核，能够最大限度地发挥 OpenClash 的性能和稳定性，确保其正确处理 Docker 等应用发起的网络请求。&lt;/p&gt;</description></item><item><title>Debian 12默认官方源/清华源/中科大源/腾讯云源/阿里云源/Linode源sources.list</title><link>https://www.xiaoten.com/posts/2025/05/sources_list/</link><pubDate>Thu, 08 May 2025 14:32:00 +0800</pubDate><atom:updated>Thu, 08 May 2025 14:33:07 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/05/sources_list/</guid><description>&lt;h2 id="一备份现有apt源配置"&gt;一、备份现有apt源配置&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;mv /etc/apt/sources.list /etc/apt/sources.list.old&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="二替换为其他apt源"&gt;二、替换为其他apt源&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1、替换为默认官方源&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这是一条命令，全部复制后，直接粘贴然后一起执行。&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="13" data-collapsed-lines="5"&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;cat &amp;gt; /etc/apt/sources.list &amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb-src https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
&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;deb https://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb-src https://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
&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;deb https://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb-src https://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware
&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;deb https://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb-src https://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 8 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2、替换为清华源&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>终于将网站内容放入本地主机了</title><link>https://www.xiaoten.com/posts/2025/04/finally-put-the-website-content-on-the-local-host/</link><pubDate>Wed, 30 Apr 2025 00:06:00 +0800</pubDate><atom:updated>Wed, 30 Apr 2025 00:33:44 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2025/04/finally-put-the-website-content-on-the-local-host/</guid><description>&lt;p&gt;随着xiaoten.com网站迁入mac mini主机，目前所有网站服务都已迁入到本地了。&lt;br&gt;
阿里云服务器目前仅作为提供frp内网穿透、反向代理功能。&lt;br&gt;
期待有独立ip的那一天。&lt;/p&gt;</description></item><item><title>画廊</title><link>https://www.xiaoten.com/pages/gallery/</link><pubDate>Fri, 08 Mar 2024 10:00:00 +0800</pubDate><guid>https://www.xiaoten.com/pages/gallery/</guid><description/></item><item><title>如愿~</title><link>https://www.xiaoten.com/posts/2023/09/as-you-like-it/</link><pubDate>Wed, 27 Sep 2023 20:03:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2023/09/as-you-like-it/</guid><description>&lt;p&gt;如题&lt;/p&gt;</description></item><item><title>疫情应该终于画句号了</title><link>https://www.xiaoten.com/posts/2022/12/the-epidemic-should-finally-be-over/</link><pubDate>Sun, 04 Dec 2022 23:55:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2022/12/the-epidemic-should-finally-be-over/</guid><description>&lt;p&gt;
&lt;a href="https://mp.weixin.qq.com/s/G2mHZk1uSNnmNRHyXwyAOA"
target="_blank" rel="noopener noreferrer"
&gt;
关于优化调整新冠肺炎疫情社会防控措施的通告
&lt;/a&gt;该通告发出来，应该意味着郑州终于告别了这几年的疫情~&lt;/p&gt;</description></item><item><title>今天生日，生日快乐～</title><link>https://www.xiaoten.com/posts/2022/09/birthday/</link><pubDate>Sat, 17 Sep 2022 19:16:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2022/09/birthday/</guid><description>&lt;p&gt;今天32岁生日啦，祝自己生日快乐！&lt;/p&gt;</description></item><item><title>使用群晖nas搭建独立局域网ip的docker版centos</title><link>https://www.xiaoten.com/posts/2021/08/use-synology-nas-to-build-a-docker-version-of-independent-weekend-ip/</link><pubDate>Sat, 14 Aug 2021 16:32:00 +0800</pubDate><atom:updated>Sat, 14 Aug 2021 16:47:34 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2021/08/use-synology-nas-to-build-a-docker-version-of-independent-weekend-ip/</guid><description>&lt;p&gt;群晖系统里面的docker套件非常好用，但是群晖默认情况下，没有桥接到局域网的网络配置，因此要想建立的docker拥有独立的局域网ip，而不是通过端口转发，或者占用nas的端口的方式，就需要对网络进行一定的配置。&lt;br&gt;
本篇就记录了从新建docker网络配置到最后建立独立局域网ip的docker版centos系统的过程。&lt;/p&gt;
&lt;h2 id="一创建桥接网卡"&gt;一、创建桥接网卡&lt;/h2&gt;
&lt;h3 id="1启用open-switch"&gt;1、启用open switch&lt;/h3&gt;
&lt;p&gt;控制面板-网络-网络界面-管理-open switch设置，勾选启用，确定。&lt;br&gt;
（如果安装了VMM套件，此功能默认开启）&lt;/p&gt;
&lt;p&gt;&lt;img src="419380610.png"
alt="0.1.png"
loading="lazy"
decoding="async"width="1485" height="933"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="2157630057.png"
alt="0.2.png"
loading="lazy"
decoding="async"width="1021" height="403"&gt;
&lt;/p&gt;
&lt;h3 id="2docker创建桥接网卡"&gt;2、Docker创建桥接网卡&lt;/h3&gt;
&lt;p&gt;这一步不可少，群晖Docker默认是没有桥接网卡的，需要手动创建。&lt;br&gt;
首先控制面板-终端机和SNMP，启用SSH功能。&lt;br&gt;
通过ssh软件连入群晖后台&lt;br&gt;
&lt;code&gt;sudo -i&lt;/code&gt;&lt;br&gt;
回车输入密码&lt;br&gt;
输入命令&lt;br&gt;
&lt;code&gt;ip addr&lt;/code&gt;&lt;br&gt;
返回的值中，找到对应你的群晖IP地址那条，上面就是物理网卡名称，网卡名称是ovs_eth0&lt;/p&gt;
&lt;p&gt;&lt;img src="259042791.png"
alt="0.4.png"
loading="lazy"
decoding="async"width="1397" height="385"&gt;
&lt;/p&gt;
&lt;p&gt;输入命令创建桥接网卡&lt;br&gt;
&lt;img src="3862867311.png"
alt="0.5.png"
loading="lazy"
decoding="async"width="1887" height="83"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;docker network create -d macvlan --subnet=192.168.31.0/24 --gateway=192.168.31.1 -o parent=ovs_eth0 bridge-host&lt;/code&gt;&lt;br&gt;
命令说明：192.168.31.0为你的内网地址段，192.168.31.1为你的网关地址,ovs_eth0是你的物理网卡名称&lt;br&gt;
创建好之后，docker的网络里会多出一个bridge-host网卡&lt;br&gt;
&lt;img src="4192081713.png"
alt="0.3.png"
loading="lazy"
decoding="async"width="1677" height="1461"&gt;
&lt;/p&gt;
&lt;h2 id="二创建centos7系统"&gt;二、创建centos7系统&lt;/h2&gt;
&lt;h3 id="1下载镜像"&gt;1、下载镜像&lt;/h3&gt;
&lt;p&gt;在注册表中下载centos的镜像，我选择了centos7.6版本。&lt;br&gt;
或者使用命令获取：&lt;code&gt;docker pull centos&lt;/code&gt;&lt;br&gt;
在ssh下，输入&lt;code&gt;docker images&lt;/code&gt;查看镜像列表。&lt;br&gt;
&lt;img src="2323227965.png"
alt="1.png"
loading="lazy"
decoding="async"width="1201" height="343"&gt;
&lt;/p&gt;
&lt;h3 id="2启动镜像"&gt;2、启动镜像&lt;/h3&gt;
&lt;p&gt;通过镜像启动docker实例，并在启动实例的过程中，配置好相关参数。&lt;br&gt;
&lt;img src="871131033.png"
alt="2.png"
loading="lazy"
decoding="async"width="1917" height="75"&gt;
&lt;/p&gt;
&lt;p&gt;命令如下：&lt;br&gt;
&lt;code&gt;docker run --privileged -itd --name centos7 --network bridge-host --ip=192.168.31.111 f1cb7c7d58b7 /usr/sbin/init&lt;/code&gt;&lt;br&gt;
&amp;mdash;-privileged 启动后让docker容器具备超级特权。&lt;br&gt;
-itd 交互式、终端、后台运行&lt;br&gt;
&amp;ndash;name 给启动的容器命名，方便后续操作&lt;br&gt;
&amp;ndash;network 配置docker使用的网卡&lt;br&gt;
&amp;ndash;ip 设置dokcer的ip&lt;br&gt;
f1cb7c7d58b7 就是IMAGE ID&lt;br&gt;
注：&amp;ndash;privileged 和/usr/sbin/init是必须的，否则会报错。&lt;br&gt;
Failed to get D-Bus connection: Operation not permitted&lt;/p&gt;</description></item><item><title>更换了博客的主程序</title><link>https://www.xiaoten.com/posts/2021/07/changed-the-main-program-of-blog/</link><pubDate>Thu, 29 Jul 2021 15:38:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2021/07/changed-the-main-program-of-blog/</guid><description>&lt;p&gt;从2011年2月2日第一次申请了顶级com域名后，这个博客就开始使用了，最开始就使用了wordpress程序，在第一次使用顶级域名之前，还使用过zblog程序等等，那时候的网站备份随着机械移动硬盘的损坏，再也没有办法恢复了。&lt;br&gt;
最近工作上挺忙，因为赶上了安全学习和郑州7·20灾害，在工作之余，偶尔看了下网站的运行状态，发现wordpress更新非常频繁，使用的主题也已经无法满足部分兼容需求。新版本的博客程序也越来越臃肿，实在没有办法，就想到重新装一下服务器的操作系统，重新配置下服务器环境。&lt;br&gt;
将旧网站（chyfh.com,i.xiaoten.com,demo.xiaoten.com,work.xiaoten.com,backup.xiaoten.com,hua.xiaoten.com,note.xiaoten.com,jiaohuiming.cn……）完全转移到自己的本地环境，而真正留下外网服务器运行的就是，博客、论坛和相册这三个了。&lt;br&gt;
今天先把博客更换为typecho程序，因为这程序非常简单，更新也不频繁，也刚好有一个比较易用的主题，可以使用，主题本身功能很强大，但没有认真去研究。&lt;br&gt;
重点还是先把内容恢复了。&lt;br&gt;
不知道用这个程序能不能用的惯，已经遇到很多问题，慢慢解决。。&lt;/p&gt;</description></item><item><title>30岁了</title><link>https://www.xiaoten.com/posts/2020/10/30-years-old/</link><pubDate>Thu, 08 Oct 2020 00:42:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2020/10/30-years-old/</guid><description>&lt;p&gt;等待30岁的这个过程很漫长，在迈向30岁这道门槛之前，无论是周围环境还是自身，都遇到了很多问题。&lt;/p&gt;
&lt;p&gt;上篇博文是关于一些电脑上的小技巧，而上上篇博文在发表的时候，还没有疫情这回事情。&lt;/p&gt;
&lt;p&gt;怎么也没想到，会有这么大影响的一件事，也没有想到，会在发生这件事之后，10月份还有幸陪父亲去他的部队看看，去之前没有去过的广东省走一遭，也见了一下真正的海景房，感受一下他人靠自己拼搏出来的成果，而对于我自己，这一年平平无奇，本以为的变化也没有发生，网站服务器经常卡顿得要死，之前以为自己这个年纪应该会很轻松承担一笔更贵的服务器费用，而现实却是连运维都没有怎么进行。&lt;/p&gt;
&lt;p&gt;今年在疫情期间又重新学了C4D，又因为工作，荒废了学C4D的进展。自己在工作上感觉比以前更辛苦，也更没有收获，整个今年就笼罩在一个奇怪的氛围里面。房子已经交付，但没有心思装修，有了自己的一辆车，也没有觉得生活变化了什么。已经很久没有去买到自己喜欢的物件，也该为自己考虑一下，让自己开心一下。&lt;/p&gt;
&lt;p&gt;也想过30岁的第一天会是什么样，可到了跟前其实还是差不了太多，过惯了这种平常没有波折的日子，也没有一些让自己感到开心的事情。开心是可以制造出来的，我应该会有往下努力的方向了吧。&lt;/p&gt;</description></item><item><title>删除WPS云文档的各种手段</title><link>https://www.xiaoten.com/posts/2020/07/%E5%88%A0%E9%99%A4wps%E4%BA%91%E6%96%87%E6%A1%A3%E7%9A%84%E5%90%84%E7%A7%8D%E6%89%8B%E6%AE%B5/</link><pubDate>Fri, 03 Jul 2020 01:26:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2020/07/%E5%88%A0%E9%99%A4wps%E4%BA%91%E6%96%87%E6%A1%A3%E7%9A%84%E5%90%84%E7%A7%8D%E6%89%8B%E6%AE%B5/</guid><description>&lt;h2 id="删除电脑左侧栏-wps-云文档"&gt;删除电脑左侧栏 WPS 云文档&lt;/h2&gt;
&lt;p&gt;安装完 Adobe 的 Photoshop、After Effects 等软件后，资源管理器导航栏会出现让人讨厌的 Creative Cloud Files 目录，稍微修改注册表即可删除。&lt;/p&gt;
&lt;h3 id="操作步骤"&gt;操作步骤：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;快捷键 &lt;code&gt;Windows + R&lt;/code&gt; 输入 &lt;code&gt;regedit&lt;/code&gt; 打开注册表编辑器&lt;/li&gt;
&lt;li&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;HKEY_USERS\S-1-5-21-2145665870-3214923404-114890976-1001\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：&lt;code&gt;S-1-5-……-1001&lt;/code&gt; 这一串，只要首尾一样即可，不同电脑这个地方不完全一样&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;code&gt;NameSpace&lt;/code&gt; 目录下有两个目录，一个是 &lt;code&gt;Onedrive&lt;/code&gt; 一个就是 &lt;code&gt;Creative Cloud Files&lt;/code&gt;，删除即可&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="删除我的电脑中的-wps-云文档"&gt;删除&amp;quot;我的电脑&amp;quot;中的 WPS 云文档&lt;/h2&gt;
&lt;h3 id="操作步骤-1"&gt;操作步骤：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Win + R&lt;/code&gt; 输入 &lt;code&gt;regedit&lt;/code&gt; 打开注册表&lt;/li&gt;
&lt;li&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;\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;点击浏览里面的项目，你就会找到有 WPS 云文档的子项，删除即可&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="删除上传到-wps-云文档右键菜单"&gt;删除&amp;quot;上传到 WPS 云文档&amp;quot;右键菜单&lt;/h2&gt;
&lt;p&gt;打开注册表编辑器 &lt;code&gt;regedit&lt;/code&gt;，然后在注册表里查找 &lt;code&gt;qingshellext&lt;/code&gt; 这个键值，把找到的都删除就可以了。（火绒也是）&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="windows-7-原版镜像安装跳过输入用户名"&gt;Windows 7 原版镜像安装跳过输入用户名&lt;/h2&gt;
&lt;h3 id="操作步骤-2"&gt;操作步骤：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;安装到需要输入用户名的时候按 &lt;code&gt;Shift + F10&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;输入 &lt;code&gt;lusrmgr.msc&lt;/code&gt; 回车&lt;/li&gt;
&lt;li&gt;用户开启 &lt;code&gt;administrator&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;开启管理员账户后输入 &lt;code&gt;taskmgr&lt;/code&gt; 回车&lt;/li&gt;
&lt;li&gt;资源管理器中结束 &lt;code&gt;MSOOBE&lt;/code&gt; 进程&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="删除上传到百度网盘右键菜单"&gt;删除&amp;quot;上传到百度网盘&amp;quot;右键菜单&lt;/h2&gt;
&lt;h3 id="操作步骤-3"&gt;操作步骤：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;打开 Windows 10 的注册表编辑器窗口&lt;/p&gt;</description></item><item><title>2019-12-31</title><link>https://www.xiaoten.com/posts/2019/12/2019-12-31/</link><pubDate>Tue, 31 Dec 2019 18:17:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/12/2019-12-31/</guid><description>&lt;p&gt;时间过得还是挺快的。19年的最后一天。侥幸得到了一天的休息。取了房子合同，领了超市的东西，然后就等着这一天结束。&lt;/p&gt;
&lt;p&gt;最近进行了一下人事调整，距离最远，责任也更重。年后去新的运维班。&lt;/p&gt;
&lt;p&gt;这也是上班以来的第一次变动。下一次的变动是什么时候，往哪个方向发展，还不能预知。&lt;/p&gt;</description></item><item><title>记录一个论坛的小bug……</title><link>https://www.xiaoten.com/posts/2019/10/record-a-bug-from-chyfh/</link><pubDate>Mon, 07 Oct 2019 00:51:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/10/record-a-bug-from-chyfh/</guid><description>&lt;p&gt;
&lt;a href="https://q.chyfh.com"
target="_blank" rel="noopener noreferrer"
&gt;
https://q.chyfh.com
&lt;/a&gt; 网站今天无意中发现一个问题。&lt;/p&gt;
&lt;p&gt;就是使用手机设备进行视频文件的上传时，上传成功后，但无法进行预览。&lt;/p&gt;
&lt;p&gt;但是PC端是没有问题的。&lt;/p&gt;
&lt;p&gt;后来使用浏览器的开发者工具又进行了一次测试，发现报出了以下错误：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Access to video at 'https://cdn.chyfh.com/user_files/1/publish/video/video_1570380255.mp4' from origin 'https://q.chyfh.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;也就是因为是跨域的问题，那么这就应该比较好解决了，目前的疑问是为什么PC端没有这个问题。&lt;/p&gt;</description></item><item><title>国庆快乐~</title><link>https://www.xiaoten.com/posts/2019/10/happy-national-day/</link><pubDate>Tue, 01 Oct 2019 21:59:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/10/happy-national-day/</guid><description>&lt;p&gt;今天是70周年，也是我国庆值班的一天，秋检秋查工作如火如荼地进行中，于是顶着太阳去了子站进行排查，还有捉老鼠~&lt;/p&gt;
&lt;p&gt;一看网站的更新日期，已经有一个多月没有更新了。9月8日，郑州这边举行11届少数民族运动会，安排在了工区保电值班，本来以为值班期间能好好的把网站整一整，可是太天真了，根本没有时间，而且工区那里没有一个快速的外网，都是用自己的手机流量。&lt;/p&gt;
&lt;p&gt;9月16日闭幕式结束之后，以为可以休息一下，但是赶上了市县一体化，又需要加班。终于到国庆前把这个事情告一段落，终于回到了站上，就开始了国庆的值班和秋检秋查工作。&lt;/p&gt;
&lt;p&gt;今天把茶余饭后的论坛升级了一下，还在试着开展下其他的工作……&lt;/p&gt;</description></item><item><title>Adobe Mac注册机更新：Adobe Zii 2019 v4.4.1</title><link>https://www.xiaoten.com/posts/2019/08/adobe-mac-registration-machine-update-adobe-zii-2019-v4-4-1/</link><pubDate>Tue, 06 Aug 2019 12:26:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/08/adobe-mac-registration-machine-update-adobe-zii-2019-v4-4-1/</guid><description>&lt;p&gt;Adobe CC 2019 Mac 通用授权补丁目前更新到 Adobe Zii 4.3.3TNT目前支持Ae-Ai-Au-Ch-Dn-Ic-Id-Pl-Pr-Ps的授权！ Adobe Zii 4.3.4 TNT 是针对苹果系统所使用的 Adobe CC 2019 Mac 通用授权补丁，Adobe Zii 是国外知名的TNT团队制作的补丁，TNT团队是国外的一个有组织有技术的团队！&lt;/p&gt;
&lt;p&gt;Adobe Zii 2019 v4.3.3TNT支持大版本新版本的Adobe CC 2019！&lt;/p&gt;
&lt;p&gt;注册机留言获取。&lt;/p&gt;
&lt;p&gt;Adobe 软件安装：&lt;/p&gt;
&lt;p&gt;Adobe CC 全家桶，在官网均可以免费下载，下载地址为：https://helpx.adobe.com/cn/download-install/kb/creative-cloud-apps-download.html&lt;/p&gt;
&lt;p&gt;如果没有确定的目标，比如说你就只是想装一个Photoshop，其他都不要，那就单独下载，否则，请安装Creative Cloud，安装过程中会让你注册一个Adobe的账号，随便找个邮箱注册即可，免费的。&lt;/p&gt;
&lt;p&gt;Adobe Creative Cloud安装完毕后，打开，用你之前免费注册的账号登陆，进入Apps这页，就可以看到Adobe全家桶了，选择你的喜欢的程序，尽情的安装吧，注意，在设置页面切换到中文。&lt;/p&gt;</description></item><item><title>万物皆可PDF</title><link>https://www.xiaoten.com/posts/2019/07/everything-is-pdf/</link><pubDate>Sun, 28 Jul 2019 23:50:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/07/everything-is-pdf/</guid><description>&lt;p&gt;这是一个超级浅显易懂的文章，最近太忙，无法雕琢文字，我已经尽力使用转载相关专业网站内容等方式来使得这个分享显得高大上了。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/pic.jpg"
alt=""
loading="lazy"
decoding="async"width="1414" height="433"&gt;
&lt;/p&gt;
&lt;p&gt;PDF真是个强大的东西，转自维基百科的一段介绍：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;PDF文件格式是在1990年代初开发，用于分享包括文本格式和内置影像的文档，能跨平台操作，即使计算机平台完全不同，收件者亦无需适配相关或合用的应用软件接口。当时与PDF一起竞逐跨平台文件格式的，还包括 DjVu（仍在开发中）、Envoy、Common Ground Digital Paper、Farallon Replica 及 Adobe 自己本身的 PostScript（.ps）格式。在万维网及HTML文本尚未兴起的当时，PDF在桌面出版工作流技术当中很受欢迎。PDF最早是Adobe所控制的专有格式，直到2008年7月1日才被官方以开放标准发行，并由国际标准化组织以 ISO 32000-1:2008 发布。此后，标准的控制权便移转到了产业专家志愿者所组的ISO委员会底下。2008年，Adobe在 ISO 32000-1 发布了公共专利许可，对于制做、使用、销售及发布PDF兼容的应用所需的专利，皆赋予买断式授权。&lt;br&gt;
PDF 1.7 含有一些Adobe所定义的专有技术，如Adobe XML表单结构（XFA）和JavaScript中对Acrobat的扩展。这些技术被 ISO 32000-1 引用为对于该规范之完整实现不可或缺且规范性的，但是它们并没有被标准化，其规格也只有发布在Adobe的网站上。这些技术大部分也没有被热门的PDF第三方实现所支持。&lt;br&gt;
2017年7月28日，发布了 ISO 32000-2:2017（PDF 2.0）。ISO 32000-2 不将任何专有技术当作是规范性引用文件。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;简介很长，简单来说，就是跨平台。&lt;br&gt;
另外，在此多一句嘴，今天才学习到AI的发布时间（1987年）要比PS的发布时间（1988年）还要早一年，已30余年，我岁数都快赶上了- -。&lt;br&gt;
因为跨平台用于很多场合，最常见的就是存储为PDF的文档防止更换设备时格式混乱，不管是在PC还是在移动设备上都能达到一样的效果，当然，也存在着部分字体因为种种原因无法嵌入PDF文件而切换至默认字体显示的情况出现。但是总归，还是一种很受大家喜欢的一个中转格式。&lt;/p&gt;
&lt;p&gt;而最近在工作中，我经常运用的场景还有，将CAD图纸转换为PDF，再用AI软件打开，可以进行编辑，编辑后的结果可以粘贴至PowerPoint软件中，再PowerPoint软件（后续简称PPT）中可以对这部分矢量内容进行转换，转换为形状，这样可以做的事情就多了很多，比如再PPT中更改颜色，更改线条粗细……&lt;br&gt;
为啥要多次一举？因为部分工作需要在PPT中完成，而且这部分工作并不是为了展示用，借助于PPT本身的母版概念，我可以实现很多PS、AI等软件难以实现，或实现起来不是很便捷的功能。这是后话了，那关键的部分来了。&lt;br&gt;
我用PPT做出来的东西并不用于屏幕展示，而是用于打印，那PPT的清晰度远远不够。&lt;br&gt;
目前最常见的解决办法就是借助插件导出大尺寸的图片。当然这个方法在我这里使用了一年半的时间，前几天被我自己否定了，两个原因，一个是颜色模式，还有一个清晰度。&lt;/p&gt;
&lt;p&gt;1、颜色模式&lt;br&gt;
通过插件导出来的图片颜色模式还是RGB，正常打印存在比较严重的色差。目前无解。&lt;br&gt;
2、清晰度&lt;br&gt;
对于平常的一个展示尺寸来说，例如标牌、画册，甚至在一些比较大的版面上来展示，生成的高清图片已经满足需求了。但是如果需要放在数米长的展板上面，生成的高清图片已经不能满足正常需要了。&lt;/p&gt;
&lt;p&gt;之前考虑过为啥PPT可以生成任意尺寸的图片，还可以保持高清。后来，在使用布尔运算的时候，才发觉，其实PPT的布尔运算很像AI软件的路径查找器面板。那是不是也可以想AI一样实现矢量的效果。那么矢量图的载体其实有很多种，CorelDRAW、AI都是很知名的矢量图制作工具，然而在文件存储方面，矢量图的文件载体除了cdr、ai、svg等等以外，我一直忽略了pdf。&lt;br&gt;
尝试使用ppt生成PDF，就会发现，可以将ppt里面的形状、文字等矢量元素转换为矢量对象进行存储，而文件里面本身的位图，就只能借助存储pdf时所设置的分辨率来决定了，也就是形状、文字这些矢量元素是不受分辨率影响的。&lt;br&gt;
在颜色模式方面，同样也通过这种方式可以解决，在存储pdf的过程中，可以更改目标文件的色彩模式。&lt;br&gt;
还有一个好处，就是由于矢量元素的存储空间要小很多，这样存储出来的文件尺寸往往很小。导出PDF的步骤我是使用的acrobat软件制作的。&lt;/p&gt;
&lt;p&gt;最后，我写东西一般没有结束语。&lt;/p&gt;</description></item><item><title>[2019 V2] COREL ALL PRODUCTS UNIVERSAL KEYGENS BY X-FORCE</title><link>https://www.xiaoten.com/posts/2019/07/2019-v2-corel-all-products-universal-keygens-by-x-force/</link><pubDate>Sun, 14 Jul 2019 00:50:00 +0800</pubDate><atom:updated>Mon, 14 Oct 2019 04:02:08 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/07/2019-v2-corel-all-products-universal-keygens-by-x-force/</guid><description>&lt;p&gt;&lt;img src="images/Corel-All-Products-Universal-Keygens-by-X-Force-1.jpg"
alt=""
loading="lazy"
decoding="async"width="666" height="275"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.google.com/search?q=Corel%20All%20Products%20Universal%20Keygens%20by%20X-Force&amp;#43;AppNee"
target="_blank" rel="noopener noreferrer"
&gt;
Corel Products Keygen
&lt;/a&gt; is a universal keygen (supports dozens of Corel Corporation products) made by &lt;strong&gt;X-Force Crack Team&lt;/strong&gt;. It is mainly used to generate the Serial Number and Activation Code for CorelDRAW Graphics Suite, Corel Painter, Corel VideoStudio, Corel PaintShop Pro, Corel WordPerfect Office series, … on both Windows 32-bit and 64-bit platforms.&lt;/p&gt;
&lt;h3 id="-supported-corel-products-"&gt;// Supported Corel Products //&lt;/h3&gt;
&lt;p&gt;支持的Corel产品列表：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Corel DESIGNER Technical Suite X5&lt;/p&gt;
&lt;p&gt;CorelDRAW Graphics Suite X6&lt;/p&gt;</description></item><item><title>好像戒掉了一个缺点？</title><link>https://www.xiaoten.com/posts/2019/06/seems-to-quit-a-shortcoming/</link><pubDate>Sun, 30 Jun 2019 01:03:26 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/06/seems-to-quit-a-shortcoming/</guid><description>&lt;p&gt;之前有一个毛病，就是喜欢不同的场合使用不同的账号，以邮箱为例，我会把比较重要严肃的场合用163邮箱，国外的网站用gmail邮箱，然后一般类型的注册用qq邮箱，然后有垃圾广告风险的场合的话就用我自己网站的后缀邮箱……&lt;/p&gt;
&lt;p&gt;其实这邮箱这样也倒没什么。&lt;/p&gt;
&lt;p&gt;但是还有一个问题，是我在玩游戏的时候，玩英雄联盟，我使用我专用来打游戏的QQ号，所谓的专门用来打游戏的qq，也算是从小就跟着我的，但是只会在游戏客户端上登陆，比如QQ游戏大厅、英雄联盟、QQ飞车等等……结果到现在，这个号已经丢了，找不回来了，可能是因为长时间不登录被收回了吧，毕竟已经很久都不怎么打游戏了。&lt;/p&gt;
&lt;p&gt;为什么想到这个事，因为在最近看来，这对我来说是一个缺点。&lt;/p&gt;
&lt;p&gt;我总是习惯性的把事情都做到一个我可控的一个程度，但我这种可控，是牺牲了我大量的维护经历，就比如说最近服务器搬迁，这两年网站都没啥进展，辗转的服务器可不少。也是瞎折腾。把不同的站点放在不同的服务器、不同的运营商，包括云存储也是，不过也通过这个也算是大概了解了各个服务器、运营商、云存储的优劣。&lt;/p&gt;
&lt;p&gt;还有一个问题，就是OFFICE授权~，我今天把我之前用于授权的账号给停了，之前不知道怎么想的，专门用一个邮箱是用来开office授权的，然后再有一个邮箱是专门用来同步设置的，包括windows本身的登录账号，也是用的这个，至于我当时为啥没把授权买到这个账号下，不知道当时怎么想的，就造成，我每次在安装完office之后，就需要登录一个授权的账号去激活，然后呢，还需要登录我的windows本身的微软账号去同步设置，也就是office软件下有两个账号。&lt;/p&gt;
&lt;p&gt;今天我停了那个号的订阅，开在了一个号里面。&lt;/p&gt;
&lt;p&gt;同样的，我停了vultr服务器 ，当然是前段时间的事情了。&lt;/p&gt;
&lt;p&gt;另外，为了保证统一性，也终于用上了坚果云，买了坚果云的专业版，但是这个是个坑，如果到期不续费的话，坚果云上存储的文件就都会给你粉碎掉。买坚果云是为了同步eagle软件上的资源库，保证台式机和笔记本的资源库都是一致的。另外今天才发现到eagle管理字体的强大之处，这个软件也已经买了好几个月了，一直没有好好研究，因为要同步字体，所以研究了eagle，因为不想天天考虑到两个电脑的同步问题，所以用了坚果云，就是这么个过程。&lt;/p&gt;
&lt;p&gt;其实OneDrive也是可以实现同步的，而且空间有1T的大小。虽然坚果云只有几十G，但是坚果云的同步速度还是挺厉害的~&lt;/p&gt;
&lt;p&gt;那逐渐的，越来越觉得统一的重要性，这样感觉才真正对这些文件有了一个更大的可控性。&lt;/p&gt;
&lt;p&gt;加一张今天很喜欢的一个字体~&lt;/p&gt;
&lt;p&gt;&lt;img src="images/111.jpg"
alt=""
loading="lazy"
decoding="async"width="1890" height="406"&gt;
&lt;/p&gt;</description></item><item><title>wordpress开启cdn加速后，替换URL</title><link>https://www.xiaoten.com/posts/2019/06/after-wordpress-turns-on-cdn-acceleration-replace-url/</link><pubDate>Sun, 23 Jun 2019 12:50:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/06/after-wordpress-turns-on-cdn-acceleration-replace-url/</guid><description>&lt;p&gt;因为近期换了新的主题，该主题强大之处在于很多功能都写在了主题本身的文件中了，不需要依靠插件来完成，同样的，我就卸载了WPJAM Basic插件。那么关于CDN加速这个功能就需要修改function.php文件来实现了。&lt;/p&gt;
&lt;p&gt;首先，基于《
&lt;a href="https://www.xiaoten.com/posts/2017/01/integrated-wordpress-with-seven-cattle-cloud-storage-cdn-acceleration-services/"
target="_blank" rel="noopener noreferrer"
&gt;
整合 WordPress 与七牛云存储 CDN 加速服务
&lt;/a&gt;》这篇文章，实现了上传的附件，自动同步存储在七牛云存储。除此之外，还需要一个步骤就是替换URL，同样也是依靠代码实现：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="9" data-collapsed-lines="5"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;CDN_HOST&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;http://你的CDN链接&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="n"&gt;add_filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;the_content&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;z_cdn_content&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="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;z_cdn_content&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;return&lt;/span&gt; &lt;span class="n"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;home_url&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;/wp-content/uploads&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CDN_HOST&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/wp-content/uploads&amp;#39;&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="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;add_filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;wp_get_attachment_url&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;z_get_attachment_url&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&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="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;z_get_attachment_url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;post_id&lt;/span&gt;&lt;span class="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="n"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;home_url&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;CDN_HOST&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;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;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 4 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;加入上面的代码之后，你插入文章内的图片和其他附件以及特色图片都会被替换为cdn的url了，这样也就达到了加速的效果。 如果你想要将主题的css、图片以及js等静态资源替换为CDN 的url进行加速，那么可以使用以下代码：&lt;/p&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="10" data-collapsed-lines="5"&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;define(&amp;#39;CDN_HOST&amp;#39;,&amp;#39;http://你的CDN链接&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;add_filter(&amp;#39;stylesheet_directory_uri&amp;#39;,&amp;#39;z_cdn_stylesheet_directory_uri&amp;#39;,10,3);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;function z_cdn_stylesheet_directory_uri($stylesheet_dir_uri, $stylesheet, $theme_root_uri) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;return str_replace(home_url(), CDN_HOST, $stylesheet_dir_uri);
&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;add_filter(&amp;#39;template_directory_uri&amp;#39;,&amp;#39;z_cdn_template_directory_uri&amp;#39;,10,3);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;function z_cdn_template_directory_uri($template_dir_uri, $template, $theme_root_uri)
&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;return str_replace(home_url(), CDN_HOST, $template_dir_uri);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 5 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;另外，如果不想使用代码实现，也可推荐另外一个CDN加速插件：Attachment CDN。&lt;/p&gt;</description></item><item><title>wordpress html5 video备忘</title><link>https://www.xiaoten.com/posts/2019/06/wordpress-html5-video-note/</link><pubDate>Sun, 16 Jun 2019 10:11:00 +0800</pubDate><atom:updated>Mon, 17 Jun 2019 21:26:17 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/06/wordpress-html5-video-note/</guid><description>&lt;p&gt;真是够折腾，为了能够在博客里面放视频，最开始尝试的方法就是使用html5自带的&lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;标签，因为wordpress自带了MediaElementjs，所以按理说是没啥问题的，结果我应用了存放在七牛云存储上的视频后（使用http协议存放，因为加SSL的贵），然后提示：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Media&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;supported&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Download&lt;/span&gt; &lt;span class="ne"&gt;File&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xiaoten&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;PPT&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;mp4&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我当时尝试了好几次还是不行，我以为是wordpress程序的问题，我上网搜了一些html5播放器的插件，首先我尝试了video.js插件，这个插件存在一个很大的问题，就是微信内置浏览器不识别，无法打开。因此用了两天后就尝试新的插件，此时我已经沉浸在各种html5 video的插件中了，尝试过dplayer（带弹幕的一个播放器，是一个大学生的毕设做出来的），还有fvplayer、plyr（这个刚用的时候非常开心，用手机打开后就崩了……）、Smartideo 2（这个只支持视频平台上的视频，例如优酷、youtube这些）、Flowplayer Video Player（自带一个令人难受的水印）、Html5 Video Player（这个是需要后台添加视频）、Easy Video Player（同样有水印）……&lt;/p&gt;
&lt;p&gt;尝试了这么多，最后唯一能适合我需求的是dplayer，但是在手机上多了一个页面内全屏这样的鸡肋功能，而且在pc端多了一个显示/隐藏字幕功能，但是很赞的是有变速功能，但是对于我来说这些功能暂时都用不到。&lt;/p&gt;
&lt;p&gt;后面转机来了，在我使用dplayer加了视频之后，我又尝试了一下&lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;标签，发现竟然能用了，而且手机和PC端都可以，还可以设置自适应页面宽度，毕竟是原生的一个播放器。当时非常开心，已经凌晨四点钟打算睡觉了，激发得一点困意都没有，然后，就把dplayer标签删去，发现又出现了本文最开始的那个错误提示。也就是，只有当这个视频被其他插件正常加载了，这里才能够正常显示，这是为啥？&lt;/p&gt;
&lt;p&gt;直到我看到这个页面：
&lt;a href="https://forums.tumult.com/t/embedding-video-in-a-wordpress-site-http-within-an-https-page/12992/2"
target="_blank" rel="noopener noreferrer"
&gt;
https://forums.tumult.com/t/embedding-video-in-a-wordpress-site-http-within-an-https-page/12992/2
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;来看下看到这个页面时的时间：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/times.png"
alt=""
loading="lazy"
decoding="async"width="947" height="537"&gt;
&lt;/p&gt;
&lt;p&gt;已经接近早上6点，天都要亮了，终于发现了原因，SSL和非SSL，在当时本站使用了SSL协议，而七牛云存储那边没有使用，因此出现了这样的问题。 最终把本站的ssl协议关掉后，正常访问。&lt;/p&gt;</description></item><item><title>H264和H265</title><link>https://www.xiaoten.com/posts/2019/06/h264-and-h265/</link><pubDate>Sun, 16 Jun 2019 00:21:00 +0800</pubDate><atom:updated>Sun, 16 Jun 2019 16:08:48 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/06/h264-and-h265/</guid><description>&lt;p&gt;最近在视频压缩方面，发现了一些问题，现记录一下。&lt;/p&gt;
&lt;p&gt;目前我的视频主要是放在七牛云存储上面，为啥不上传到视频网站，一是审核，虽然没有什么审核不通过的内容，但就是需要等待；另外是画质，因为我电脑屏幕分辨率的原因，视频主要是教程方面的，然后工具栏啥的字体就很小，如果放在视频网站，会进行默认画质的筛选，虽然可以调节到原画画质，但是有些视频网站的原画画质需要开会员，这点的话，B站就很良心，但是还是为了保证视频效果，不想让视频以其他画质播放，因此自己去管理视频文件要可控性更大些。&lt;/p&gt;
&lt;p&gt;那么问题来了，就是怎么尽可能地在保证原画质的基础上对视频进行压缩，一是节省访问者流量，二是节省云存储的储存成本。目前的解决方案是使用一个我最近才知道的神器FFmpeg，因为之前确实没有这方面的需求，所以对文件尺寸啥的，没啥要求，但是用了这个工具后，原大小400多M的2K视频，压缩后可以压缩到60多M，视频时长20分钟，而且400M的2K已经是经过Media Encode进行了压缩了。抱着试一试的心理去尝试继续压缩，得到了出乎意料的效果。&lt;/p&gt;
&lt;p&gt;在这期间，也遇到了一些问题，就比如这个题目所说的：h265和h264。把维基百科中关于这两个格式的概念进行一个摘录：&lt;/p&gt;
&lt;h3 id="h264"&gt;H.264&lt;/h3&gt;
&lt;p&gt;H.264，又称为MPEG-4第10部分，高级视频编码（英语：MPEG-4 Part 10, Advanced Video Coding，缩写为MPEG-4 AVC）是一种面向块，基于运动补偿的视频编码标准 。到2014年，它已经成为高精度视频录制、压缩和发布的最常用格式之一。第一版标准的最终草案于2003年5月完成。&lt;/p&gt;
&lt;p&gt;H.264/AVC项目的目的是为了创建一个更佳的视频压缩标准，在更低的比特率的情况下依然能够提供良好视频质量的标准（如，一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 ）。同时，还要不会太大的增加设计的复杂性。H.264的另外一个目标是提供足够的灵活性，以允许该标准能够应用于各种各样的网络和系统的各应用上，包括低和高比特率，低和高分辨率视频，广播，DVD存储，RTP / IP分组网络和ITU-T多媒体电话系统。H.264标准可以被视为由多个不同的应用框架 / 配置文件（profiles）组成的“标准系列”。&lt;/p&gt;
&lt;p&gt;H.264/MPEG-4 AVC是一种面向块的基于运动补偿的编解码器标准。由ITU-T视频编码专家组与ISO/IEC联合工作组——即动态图像专家组（MPEG）——联合组成的联合视频组（JVT，Joint Video Team）开发。因ITU-T H.264标准和ISO/IEC MPEG-4 AVC标准（正式名称是ISO/IEC 14496-10—MPEG-4第十部分，高级视频编码）有相同的技术内容，故被共同管理。&lt;/p&gt;
&lt;p&gt;H.264因其是蓝光盘的其中一种编解码标准而著名，所有蓝光盘播放器都必须能解码H.264。它也被广泛用于网络流媒体数据如Vimeo、YouTube、以及iTunes Store，网络软件如Adobe Flash Player和Microsoft Silverlight，以及各种高清晰度电视地面电视（ATSC、ISDB-T、DVB-T或DVB-T2）、线缆（DVB-C）以及卫星（DVB-S和DVB-S2）。&lt;/p&gt;
&lt;h3 id="h265"&gt;H.265&lt;/h3&gt;
&lt;p&gt;高效率视频编码（High Efficiency Video Coding，简称HEVC），又称为H.265和MPEG-H第2部分，是一种视频压缩标准，被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group（MPEG）和ITU-T Video Coding Experts Group（VCEG）作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定&lt;code&gt;[1][2][3][4][5]&lt;/code&gt;。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟（ITU-T）的正式标准&lt;code&gt;[1][2][6]&lt;/code&gt;。HEVC被认为不仅提升影像质量，同时也能达到H.264/MPEG-4 AVC两倍之压缩率（等同于同样画面质量下比特率减少到了50%），可支持4K清晰度甚至到超高清电视（UHDTV），最高清晰度可达到8192×4320（8K清晰度）。&lt;/p&gt;
&lt;p&gt;数个基于HEVC延伸的编码标准正在进行中，包含range extensions（支持高级的影帧式）、可调式编码和3D视频编码标准。&lt;/p&gt;
&lt;p&gt;这是上面关于这两种标准的一个概念性的解读，那么总结来说主要有以下几点：&lt;/p&gt;
&lt;p&gt;1、H.265是新的编码协议，也即是H.264的升级版。H.265标准保留H.264原来的某些技术，同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系，达到最优化设置。&lt;/p&gt;
&lt;p&gt;2、H.265相比H.264最主要的改变是采用了块的四叉树划分结构，采用了从64x64~8x8像素的自适应块划分，并基于这种块划分结构采用一系列自适应的预测和变换等编码技术。&lt;/p&gt;
&lt;p&gt;3、H264由于算法优化，可以低于1Mbps的速度实现标清数字图像传送；H265则可以实现利用1~2Mbps的传输速度传送720P（分辨率1280*720）普通高清音视频传送。&lt;/p&gt;
&lt;p&gt;4、同样的画质和同样的码率，H.265比H2.64 占用的存储空间要少理论50%。&lt;/p&gt;
&lt;p&gt;5、比起H.264/AVC，H.265/HEVC提供了更多不同的工具来降低码率，以编码单位来说，H.264中每个宏块（macroblock/MB）大小都是固定的16x16像素，而H.265的编码单位可以选择从最小的8x8到最大的64x64。&lt;/p&gt;
&lt;p&gt;6、在相同的图象质量下，相比于H.264，通过H.265编码的视频大小将减少大约39-44%。&lt;/p&gt;
&lt;p&gt;这样看来用H.265更划算，性价比更高。但是存在一个问题，我放在七牛云的视频，如果是H.265的标准，视频无法显示画面，只能听到声音。同样的情况还发生在做PPT插入视频时的情况，但是这种情况往往发生在Win7电脑，没有装任何第三方视频播放器的前提下。因为目前主流的视频播放器都自带了h.265的解码器，而PowerPoint软件的老版本是借助于系统上的一些解码器来对视频进行解码的，为什么要考虑没有装任何第三方视频播放器的这种情况，因为我们公司的电脑大多内网电脑是不会安装视频播放器的。为了保证所做的课件在其他电脑上的兼容性，所以不得不使用了兼容性更为稳定可靠的H.264协议。&lt;/p&gt;
&lt;p&gt;但是虽然H.265占用存储空间更为节省，但是按照一定的压缩配置压缩出来的H.264标准的视频尺寸也已经让我很满意了。压缩参数配置：&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;x264 --crf 24 --preset 8 -r 6 -b 6 -I infinite -i 1 --scenecut 60 -f 1:1 --qcomp 0.5 --psy-rd 0.3:0 --aq-mode 2 --aq-strength 0.8 --vf resize:768,432,,,,lanczos -o &amp;#34;%~dpn1_v.mp4&amp;#34; &amp;#34;%~1&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【 翻译 】x264参数介绍</title><link>https://www.xiaoten.com/posts/2019/06/introduction-to-x264-parameters/</link><pubDate>Sat, 15 Jun 2019 02:13:00 +0800</pubDate><atom:updated>Sun, 16 Jun 2019 02:00:12 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/06/introduction-to-x264-parameters/</guid><description>&lt;h2 id="输入"&gt;输入&lt;/h2&gt;
&lt;p&gt;用1个绝对路径定义输入文件（或者2个，rawYUV文件）。如下例：&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;x264.exe -o NUL C:&lt;span class="se"&gt;\i&lt;/span&gt;nput.avs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;x264 -o /dev/null ~/input.y4m&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果输入文件是rawYUV格式的，还要把分辨率一并输入。如果开启了比特率控制，还需要输入帧率。如下例：&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;x264.exe -o NUL –fps &lt;span class="m"&gt;25&lt;/span&gt; D:&lt;span class="se"&gt;\i&lt;/span&gt;nput.yuv 1280×720
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;x264 -o /dev/null –fps 30000/1001 ~/input.yuv 640×480&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="预设值"&gt;预设值&lt;/h2&gt;
&lt;p&gt;预设值是x264在r1177版本增加的一个方便的命令行选项。可以用&lt;code&gt;x264.exe –fullhelp&lt;/code&gt;查看所有的命令行帮助。&lt;/p&gt;
&lt;h3 id="profile"&gt;profile&lt;/h3&gt;
&lt;p&gt;默认：无&lt;br&gt;
说明：限制输出文件的profile。这个参数将覆盖其它所有值，此选项能保证输出profile兼容的视频流。如果使用了这个选项，将不能进行无损压缩（qp 0 or crf 0）。&lt;br&gt;
可选：baseline，main，high&lt;br&gt;
建议：不设置。除非解码环境只支持main或者baseline profile的解码。&lt;/p&gt;
&lt;h3 id="preset"&gt;preset&lt;/h3&gt;
&lt;p&gt;默认：medium&lt;br&gt;
一些在压缩效率和运算时间中平衡的预设值。如果指定了一个预设值，它会在其它选项生效前生效。&lt;br&gt;
可选：ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow and placebo.&lt;br&gt;
建议：可接受的最慢的值&lt;/p&gt;
&lt;h3 id="tune"&gt;tune&lt;/h3&gt;
&lt;p&gt;默认：无&lt;br&gt;
说明：在上一个选项基础上进一步优化输入。如果定义了一个tune值，它将在preset之后，其它选项之前生效。&lt;br&gt;
可选：film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency and touhou.&lt;br&gt;
建议：根据输入选择。如果没有合适的就不要指定。&lt;/p&gt;
&lt;h3 id="slow-firstpass"&gt;slow-firstpass&lt;/h3&gt;
&lt;p&gt;默认：无&lt;br&gt;
说明：随着预设值机制在r1177版本的出现，使用–pass 1会在解析命令行时增加以下设置：&lt;br&gt;
* ref 1&lt;br&gt;
* no-8x8dct&lt;br&gt;
* partitions i4x4 (if originally enabled, else none)&lt;br&gt;
* me dia&lt;br&gt;
* subme MIN( 2, subme )&lt;br&gt;
* trellis 0&lt;br&gt;
如果设置preset=placebo则自动关闭此特性。如果想显式关闭此特性，使用slow-firstpass。&lt;/p&gt;</description></item><item><title>PPT速成课程的辅助视频</title><link>https://www.xiaoten.com/posts/2019/06/video/</link><pubDate>Fri, 14 Jun 2019 00:54:00 +0800</pubDate><atom:updated>Wed, 26 Jun 2019 13:35:05 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/06/video/</guid><description>&lt;p&gt;该视频合集主要针对该课程比较重点的部分进行一个录屏讲解。&lt;/p&gt;
&lt;p&gt;1、如何在PowerPoint上创建幻灯片母版（面向零基础） - 使用台式机录制 注意：该视频将消耗流量65.43MB。&lt;/p&gt;
&lt;div class="video-container" style="margin: 20px 0; "&gt;
&lt;video
controls
poster="images/hdpmb-1.jpg"
style="width: 100%; height: auto; border-radius: 8px; display: block;"
preload="metadata"
&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-1.mp4" type="video/mp4"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-1.mp4" type="video/webm"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-1.mp4" type="video/ogg"&gt;
您的浏览器不支持 HTML5 视频标签。
&lt;p&gt;请&lt;a href="https://cdn.xiaoten.com/videos/PPT-1.mp4"&gt;下载此视频&lt;/a&gt;以便观看。&lt;/p&gt;
&lt;/video&gt;
&lt;/div&gt;
&lt;p&gt;2、布尔运算的基本应用（面向零基础） - 值夜班中使用笔记本录制 注意：该视频将消耗流量23.71MB。&lt;/p&gt;
&lt;div class="video-container" style="margin: 20px 0; "&gt;
&lt;video
controls
poster="images/beys-1.jpg"
style="width: 100%; height: auto; border-radius: 8px; display: block;"
preload="metadata"
&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-2.mp4" type="video/mp4"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-2.mp4" type="video/webm"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-2.mp4" type="video/ogg"&gt;
您的浏览器不支持 HTML5 视频标签。
&lt;p&gt;请&lt;a href="https://cdn.xiaoten.com/videos/PPT-2.mp4"&gt;下载此视频&lt;/a&gt;以便观看。&lt;/p&gt;
&lt;/video&gt;
&lt;/div&gt;
&lt;p&gt;3、SmartArt工具基本讲解（面向零基础） - 使用台式机录制 注意：该视频将消耗流量32.25MB。&lt;/p&gt;
&lt;div class="video-container" style="margin: 20px 0; "&gt;
&lt;video
controls
poster="images/ppt-3.jpg"
style="width: 100%; height: auto; border-radius: 8px; display: block;"
preload="metadata"
&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-3.mp4" type="video/mp4"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-3.mp4" type="video/webm"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-3.mp4" type="video/ogg"&gt;
您的浏览器不支持 HTML5 视频标签。
&lt;p&gt;请&lt;a href="https://cdn.xiaoten.com/videos/PPT-3.mp4"&gt;下载此视频&lt;/a&gt;以便观看。&lt;/p&gt;
&lt;/video&gt;
&lt;/div&gt;
&lt;p&gt;4、对齐工具基本讲解（面向零基础） - 使用台式机录制 注意：该视频将消耗流量10.53MB。&lt;/p&gt;
&lt;div class="video-container" style="margin: 20px 0; "&gt;
&lt;video
controls
poster="images/PPT-4.jpg"
style="width: 100%; height: auto; border-radius: 8px; display: block;"
preload="metadata"
&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-4.mp4" type="video/mp4"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-4.mp4" type="video/webm"&gt;
&lt;source src="https://cdn.xiaoten.com/videos/PPT-4.mp4" type="video/ogg"&gt;
您的浏览器不支持 HTML5 视频标签。
&lt;p&gt;请&lt;a href="https://cdn.xiaoten.com/videos/PPT-4.mp4"&gt;下载此视频&lt;/a&gt;以便观看。&lt;/p&gt;</description></item><item><title>AutoCAD 2014破解过程示意</title><link>https://www.xiaoten.com/posts/2019/06/illustration-of-autocad-2014-cracking-process/</link><pubDate>Sun, 02 Jun 2019 21:46:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/06/illustration-of-autocad-2014-cracking-process/</guid><description>&lt;p&gt;该文章主要是为了方便同事使用查阅，专门转载一篇别人写的一个破解过程的文章，转载自https://www.hack520.com/66.html&lt;/p&gt;
&lt;p&gt;1、安装 Autodesk AutoCAD 2014，安装过程中提示输入产品信息，序列号用：&lt;strong&gt;666-69696969&lt;/strong&gt;，产品密钥用：&lt;strong&gt;001F1&lt;/strong&gt;，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1559483197-1585-2016.jpg"
alt=""
loading="lazy"
decoding="async"width="871" height="677"&gt;
&lt;/p&gt;
&lt;p&gt;2、 完成之后，我们启动 AutoCAD，提示请激活您的产品，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1559483197-1373-2016.jpg"
alt=""
loading="lazy"
decoding="async"width="776" height="703"&gt;
&lt;/p&gt;
&lt;p&gt;如果只是短暂用一下，可以点左下角的“试用”，有30天试用期；如果打算长期使用，必须激活破解，点右下角的“激活”。在激活界面中选择“我拥有一个Autodesk激活码”。我们在激活页面能看到一个“申请号”，这个是可以选择复制的，我们把它复制一下。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1559483197-2958-2016.jpg"
alt=""
loading="lazy"
decoding="async"width="550" height="304"&gt;
&lt;/p&gt;
&lt;p&gt;3、打开小站提供的注册机压缩包，找到对应版本的注册机，在 Request 一栏填入刚才复制的申请号，点 Generate 生成 Activation，然后点 Patch，此时弹出窗口提示成功！&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1559483197-2607-2016.jpg"
alt=""
loading="lazy"
decoding="async"width="796" height="728"&gt;
&lt;/p&gt;
&lt;p&gt;4、最后，复制 Activation 栏目里的代码，粘贴到 AutoCAD 注册界面的“我具有 Autodesk 提供的激活码”那一栏。点击下一步，激活成功！如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1559483197-6518-2016.jpg"
alt=""
loading="lazy"
decoding="async"width="796" height="728"&gt;
&lt;/p&gt;
&lt;p&gt;完美注册，运行没有任何问题。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1559483197-5362-2016.png"
alt=""
loading="lazy"
decoding="async"width="1020" height="720"&gt;
&lt;/p&gt;</description></item><item><title>说说茶余饭后那些事</title><link>https://www.xiaoten.com/posts/2019/05/talk-about-chyfh-happened/</link><pubDate>Sun, 05 May 2019 23:50:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2019/05/talk-about-chyfh-happened/</guid><description>&lt;p&gt;在年轻的时候，总想着多运营几个网站，练练手，年纪大了，当初的激情已经散的差不多了。赶上最近不忙，终于可以整理整理我这些散落在各个服务器的站了。&lt;br&gt;
目前还有三个服务器/虚拟主机，一个美国洛杉矶、一个香港、一个大陆，大陆毋庸置疑只能上备案的站点，经过上次手机号事件，备案吊销后，重新备案的仅剩三个域名，一个本站，一个不怎么用的，还有一个就是茶余饭后了。&lt;br&gt;
但是茶余饭后我是不太敢搬到国内的，因为中间一次有一个管理员，因为密码太过于简单的缘故，被破解，运用他的管理权限，篡改了网站一大半的帖子，可悲的是，没有对网站及时备份。发现的不及时，因此，就这么消沉下去了。&lt;br&gt;
也因为这个事，当时位于阿里云的茶余饭后网站最后被封禁。&lt;br&gt;
不舍得关站，于是把站点放在了vultr的云服务器上，就那么运行着，今天想起来进去看看，逛了逛后台，看到如下界面： &lt;img src="%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2019-05-05-%E4%B8%8B%E5%8D%8811.20.05.png"
alt=""
loading="lazy"
decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;看看到这上面的终止时间，2020年，这不马上就到的一个年份么。&lt;/p&gt;
&lt;p&gt;当时发布这些公告的时候，其实默认就是想设置永久展示的，那时候的永久就习惯性地统一设置成了2020年，当时本以为2020年是个久远的年份。&lt;/p&gt;
&lt;p&gt;目前来看，并不是很久远，但是这么几年的时间，已经让我对这个网站的热情消磨的只剩下非常非常偶然的情况下回去看看的地步，甚至连这个站能不能坚持到这个公告所设置的终止时间我都不能确定。&lt;/p&gt;
&lt;p&gt;当时在这个网站上花费的不仅仅是域名和服务器的费用，基于discuz这个论坛程序，也在模版、插件上花费了不少钱，与它同时，还建了一个家乡的网站，但因为长期不在老家，无法运营，最后关闭了，当时也是投入了很大成本在网站的一些付费插件上面。现在去看看那些插件，竟然还有些我当初购买的还在维护，不过如果要升级要付一笔不菲的升级费用。想想当时这些插件商宣称的永久免费升级，不知道他们如果知道现在这种情形还会那样宣传不。&lt;/p&gt;
&lt;p&gt;不过哪有永久免费升级的这么好的事情，逐渐的，很多软件都是只支持大版本内的小版本无限升级，大版本间付费升级的策略，或者说采用订阅制。永久免费就像我所发的公告一样，当时想着永久，其实都默默地设置了一个期限。并且这个期限还受着各种不可抗拒因素制约。&lt;/p&gt;
&lt;p&gt;还好，我的第一个顶级域名网站，也就是这个博客，目前还存活着，看着关于页面一条条更新的网站动态，虽然更新的内容大多只是程序版本的更新。&lt;/p&gt;
&lt;p&gt;互联网也关停了很多，像Google Reader、Inbox、Google+、网易博客、百度空间、blogbus、qq宠物、熊猫直播……&lt;/p&gt;
&lt;p&gt;珍惜我们现在能够接触到的网站和应用，在这样的一个环境下，可能还有很多都是昙花一现。&lt;/p&gt;</description></item><item><title>解决wordpress博客前台无法显示图片srcset/sizes属性问题</title><link>https://www.xiaoten.com/posts/2019/05/solve-the-problem-that-the-front-desk-of-wordpress-blog-cant-display-srcset-sizes-attributes-of-pictures/</link><pubDate>Fri, 03 May 2019 09:48:00 +0800</pubDate><atom:updated>Sun, 05 May 2019 21:05:55 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/05/solve-the-problem-that-the-front-desk-of-wordpress-blog-cant-display-srcset-sizes-attributes-of-pictures/</guid><description>&lt;p&gt;适用CDN加速后，发现前台内容页的图片无法正常显示，关闭CDN加速后正常，查看后台发现，因为wordpress程序自动在img标签中生成了&lt;code&gt;srcset/sizes&lt;/code&gt;属性导致的，把这段属性删掉就恢复正常显示，因此在&lt;code&gt;functions.php&lt;/code&gt;中加入如下代码即可：&lt;/p&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="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 class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;disable_srcset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;$sources&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="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="nx"&gt;add_filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;wp_calculate_image_srcset&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;disable_srcset&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;/p&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="c1"&gt;//禁止WordPress响应式图片加载属性srcset和sizes（webcart.top）
&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;add_filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;max_srcset_image_width&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;create_function&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;return 1;&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>pic.yt图床！！</title><link>https://www.xiaoten.com/posts/2019/05/pic-yt-picture-bed/</link><pubDate>Thu, 02 May 2019 20:20:00 +0800</pubDate><atom:updated>Sun, 05 May 2019 21:02:20 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/05/pic-yt-picture-bed/</guid><description>&lt;p&gt;由于我的all.yt域名落入黑手，无法逆转，因此我又重新注册了pic.yt域名，建了一个图床网站。&lt;/p&gt;
&lt;p&gt;为了保证图床的稳定性，图床使用pic.xiaoten.com二级备案域名在阿里云服务器上，为了优化图片的访问速度(服务器仅1M带宽)，使用又拍云存储作为图片存储空间。pic.yt由于目前无法备案，所以使用vultr的海外服务器用301重定向到pic.xiaoten.com。&lt;/p&gt;
&lt;p&gt;图床使用了chevereto的收费授权版本（单域名授权45美元一个），使用收费版本是为了使用外部存储功能，如果没有外部存储功能需求，免费版本已经可以满足需求。&lt;/p&gt;
&lt;p&gt;目前图床主要用于照片存档，之前的照片放在LOFTER，但是因为需要登陆以及图片上传的过程不是很简单(类似博客的发布方式)，作为照片存档并不是很方便，其他相册服务因为不是自己运营，不是很放心。&lt;/p&gt;
&lt;p&gt;另外搭建过程分别使用了亚马逊、阿里云、又拍云和七牛云的云存储功能，并进行了比较，虽然官方新加入了阿里云OSS接口，但是因为域名解析在腾讯云，无法直接在阿里云申请SSL证书，所以就没有继续使用，但是因为chevereto官方直接加入了这个接口，这也是唯一的一个国内服务接口，所以使用是肯定没问题的，亚马逊也是官方加入的接口，但是担心亚马逊云存储的访问速度问题，尝试了一下就没继续使用，七牛云无法与这个平台对接，需要对程序二次开发，所以最后尝试了又拍云，又拍云提供了ftp上传的方式，所以很容易就配置成功了。&lt;/p&gt;
&lt;p&gt;图床访问地址：
&lt;a href="http://pic.yt"
target="_blank" rel="noopener noreferrer"
&gt;
http://pic.yt
&lt;/a&gt;&lt;/p&gt;</description></item><item><title>更换服务器+主题</title><link>https://www.xiaoten.com/posts/2019/05/replacement-of-server-theme/</link><pubDate>Wed, 01 May 2019 15:00:00 +0800</pubDate><atom:updated>Tue, 07 May 2019 19:07:25 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2019/05/replacement-of-server-theme/</guid><description>&lt;p&gt;在Vultr服务器上的稳定性还是不行，因为备案重新审核的缘故，使得七牛云的CDN加速无法正常使用，使得整个博客的样式还有图片都失去链接了。&lt;br&gt;
工作太忙一直搁置到最近才把备案重新备案成功。&lt;br&gt;
因为河南这边的备案新出了一个规定，是短信核验，但是成都的号码不再使用，重新备案的话，使用之前的备案主体无法通过短信核验这一个环节。&lt;br&gt;
只能够注销网站备案和注销备案主体。&lt;br&gt;
赶上过年等……一直耗到年后，备案主体才注销完成，才可以重新备案。&lt;br&gt;
备案成功之后，又把网站放在阿里云的服务器上了，国内的服务器还是要稳定很多。&lt;br&gt;
主题一直都想换，特别是更新了wordpress版本还有php版本之后，之前的主题存在了一些问题，但没时间花费大量时间去重新修改一个国外的主题了，于是就用了国人做的一个主题，主题相关的作者在页面底部有显示。&lt;br&gt;
这个主题还存在着很多小问题。先保证能打开网站，然后再去慢慢修改~&lt;/p&gt;
&lt;p&gt;最让我痛心的是！all.yt因忘记续费而丢掉了！因为不是在大的域名商那购置的，没有续费的短信提醒，使我非常难受！&lt;/p&gt;</description></item><item><title>哈哈，我（博客）肥来了。</title><link>https://www.xiaoten.com/posts/2018/11/haha-the-blog-is-back/</link><pubDate>Wed, 07 Nov 2018 12:10:00 +0800</pubDate><atom:updated>Wed, 01 May 2019 13:51:37 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2018/11/haha-the-blog-is-back/</guid><description>&lt;p&gt;这应该是这个博客最长时间不在不正常运营状态的一次了吧。真是委屈了。。&lt;/p&gt;
&lt;p&gt;自从脱离了阿里云，我就把这个博客放在了一个香港的虚拟主机上，本以为香港的反应速度毕竟会快一些，结果，莫名其妙的网站文件丢失，幸好那段时间没有添加新的东西，倒也没多大损失。具体是哪家的虚拟主机我也不说了。&lt;/p&gt;
&lt;p&gt;总之，最后又把这个网站放在了vultr的国外服务器上了，只是因为备案号因为我手机号变更迟迟不进行更改而被注销的凄惨遭遇，使我这个网站没有了回头路，只能放在国外服务器上面进行流放。&lt;/p&gt;
&lt;p&gt;这上次更新都是5月份了，而且这个网站恢复的是6月7号高考那一天的备份，那天备份的原因是我在某个变电站进行高考保电，实在无聊，就想着把网站备份一下，结果这就派上用场。&lt;/p&gt;
&lt;p&gt;高考保电后，工作上投了一个新站，参加了青创赛，然后就是漫长地济南培训，在济南培训期间参与学管会宣传部的工作，本以为混个学生干部，日子好过一些，结果忙的要死，两个月结束后，就回单位开始上一休二的工作，很废柴的一个状态下工作到现在，终于狠了狠心抽出了休息时间来把这个网站给恢复了。。&lt;/p&gt;
&lt;p&gt;古德堡编辑器是这次升级完感觉wordpress变化最大的了，不过我还是赶紧切回了经典编辑器状态。&lt;/p&gt;
&lt;p&gt;运行速度还不错。网速也挺快，最起码是自己配的服务器，文件终于不会平白无故消失了吧。。。。&lt;/p&gt;</description></item><item><title>哈哈哈哈哈哈哈</title><link>https://www.xiaoten.com/posts/2018/05/%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88/</link><pubDate>Tue, 22 May 2018 20:54:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2018/05/%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88/</guid><description>&lt;p&gt;今天我师傅给我做了一个很牛很牛的内网优盘！！&lt;/p&gt;</description></item><item><title>又重装系统了~</title><link>https://www.xiaoten.com/posts/2018/04/reload-the-system-again/</link><pubDate>Fri, 06 Apr 2018 23:04:58 +0800</pubDate><atom:updated>Fri, 03 May 2019 01:47:21 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2018/04/reload-the-system-again/</guid><description>&lt;p&gt;上次重装系统是上一年了，自己在读研的时候，买了一个组装笔记本，很便宜，2000多块钱，15年到现在也有3年时间了，竟然没有一点问题。这个本子当时因为读研期间项目编程要用到VS，MAC系统不方便，而且不喜欢用虚拟机，于是有了这个本子的来历。&lt;/p&gt;
&lt;p&gt;趁着office软件崩溃，想着干脆系统重做一下好了，于是就下载了最新的win10，然后安装了上。win10的版本与版本之间的差距还是挺明显的。刚好office订阅还有一台电脑可以用，刚好用在这个本上。硬件在win10下运行了一天也没什么问题~因为又怕遇到什么软件崩溃了什么的，所以也搜了下如何备份系统，最终采用了dism++工具备份系统。软件安装到现在，基本也就装齐了。&lt;/p&gt;</description></item><item><title>最短的春节假期</title><link>https://www.xiaoten.com/posts/2018/02/the-shortest-of-the-chinese-new-year-holidays/</link><pubDate>Tue, 20 Feb 2018 17:58:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2018/02/the-shortest-of-the-chinese-new-year-holidays/</guid><description>&lt;p&gt;作为工作之后第一个春节假期，果然不出意料短的要命。&lt;/p&gt;
&lt;p&gt;赶在放假前我由白班转为运行班，所谓白班即周一到周五，双休，正常节假日。所谓运行班，不论周末或节假日，均上一休二。所以，春节的七天长假对于我来说，已经泡汤了。&lt;/p&gt;</description></item><item><title>火星旅行~~</title><link>https://www.xiaoten.com/posts/2017/10/mars-travel/</link><pubDate>Tue, 24 Oct 2017 14:32:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/10/mars-travel/</guid><description>&lt;p&gt;工作逐渐进入正轨，刚入职到了市公司的人资部，后来分了工区就转战工区机关，再后来又被工区机关下放到运维班组。在运维班组也是待了两周多了~一级一级的放下来，也意味着离这几年的工作常态越来越接近。生活逐渐也平淡下来，但是还是不愿意接受一成不变的生活状态，想学一些新的东西，充实下自己。&lt;/p&gt;</description></item><item><title>AUTOCAD 安全系统软件锁许可管理器不起作用或未正确安装?解决办法在这里</title><link>https://www.xiaoten.com/posts/2017/10/autocad-security-system-software-lock-licensing-manager-does-not-work-or-is-not-properly-installed/</link><pubDate>Mon, 02 Oct 2017 22:41:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/10/autocad-security-system-software-lock-licensing-manager-does-not-work-or-is-not-properly-installed/</guid><description>&lt;p&gt;&lt;img src="images/1.png"
alt=""
loading="lazy"
decoding="async"width="265" height="178"&gt;
&lt;/p&gt;
&lt;p&gt;如上图！安全系统（软件锁许可管理器）不起作用或未正确安装&lt;br&gt;
1，打开任务管理器灭掉LUM.EXE进程；&lt;br&gt;
2，删除 C:\ProgramData\FLEXnet 下的所有文件&lt;br&gt;
3，启动服务管理，找到FlexNet Licensing Service 如果有X64也一起 启用！！&lt;br&gt;
4，重新启动CAD并重新授权，这个时候已经OK了&lt;/p&gt;</description></item><item><title>工作狂魔</title><link>https://www.xiaoten.com/posts/2017/09/work-spree/</link><pubDate>Sun, 10 Sep 2017 13:31:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/09/work-spree/</guid><description>&lt;p&gt;这周的周一到周五，是省公司组织的新员工培训，而上上周的周二到周四三天是市公司组织的新员工培训，也就是这两周都处在一个培训的过程中，也逐渐进入了工作状态。&lt;/p&gt;
&lt;p&gt;自从7月14日正式入职以来也算是经历丰富，在供电服务指挥中心的客服岗干了一个月，接过各种各样的电话，对业务也有了一些了解，后来又去人资档案室帮忙，跟其他新入职的小伙伴都逐个见了面，熟悉了下。&lt;/p&gt;
&lt;p&gt;市公司组织的培训有去看变电站，有正常讲课，也有去营销去参观，还有素质拓展，短时间的军训，还有可怕的按规考试……&lt;/p&gt;</description></item><item><title>毕业季</title><link>https://www.xiaoten.com/posts/2017/06/senior-year/</link><pubDate>Wed, 07 Jun 2017 15:09:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/06/senior-year/</guid><description>&lt;p&gt;每年在毕业季的时候，都会跟导师和实验室的师兄师姐师弟师妹们一起合影留念，今年终于轮到我们穿着闷得要死的学位服去顶着太阳去当主角拍照了。&lt;/p&gt;
&lt;p&gt;前天的时候学位认定结果下来，昨天去拍照，晚上聚餐吃喝玩。&lt;/p&gt;
&lt;p&gt;最近网站关闭了评论，是因为备案的手机号有变更，因此做了变更备案的处理，所以，在5月22日的时候变更了备案手机号，也就是重新走了一遍备案流程，由于评论功能不符合个人网站要求，因此关了一段时间，今天确定了备案信息变更成功。因此今天把博客评论功能开启。&lt;/p&gt;</description></item><item><title>最近，附多图慎入[54P]~</title><link>https://www.xiaoten.com/posts/2017/04/recently/</link><pubDate>Wed, 26 Apr 2017 19:47:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/04/recently/</guid><description>&lt;p&gt;最近事情还算很多。因为论文不幸被抽到盲审，因此整个这段时间有一段便沉浸在苦逼该论文的过程中，也就刚刚送出外审，结果还未知，庆幸的是论文通过了查重，虽然不知道具体重复率为多少。&lt;br&gt;
另外毕业中要填写的实践报告、学术交流报告、开题报告、中期报告等等信息也是烦的要命，还好一件件做完。&lt;br&gt;
又赶上本科室友结婚，回去参加了下婚礼，又跟父母一起来，去了九寨沟和重庆，前前后后也有差不多两周的时间，也算是玩的透彻。&lt;br&gt;
论文交出后的第二天，就召开了西南院的项目会，项目的最后阶段的重担也落到了我的身上，由于已经一年没有接触，还有重新拾起旧知识，在极其有限的时间内完成这项对我来说不可能完成的任务，还不知道能不能混到毕业结束。&lt;br&gt;
文章也算是交了加急费能够赶在毕业前见刊，计划五月份上见刊，前段时间刚校正完稿件，希望能够顺利出刊。&lt;/p&gt;</description></item><item><title>工作确定，保佑我毕业。。。</title><link>https://www.xiaoten.com/posts/2017/03/work-ok-bless-me-graduation/</link><pubDate>Thu, 09 Mar 2017 15:26:00 +0800</pubDate><atom:updated>Wed, 26 Apr 2017 18:33:34 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2017/03/work-ok-bless-me-graduation/</guid><description>&lt;p&gt;今天让同一学校的另外一个同学帮我取了三方，盖上了甲方的章，工作就这么定下了。看来真的要从事电力行业。工作地点跟我读研之前工作的地点一样，也算是比较熟悉的城市了。但是很多本科同学也都在那里，心里还是比较安稳。工作应该是稳定下来的工作，至少十年左右应该不会再换了。但是房价是一个很大的问题。从上一年下半年开始到现在，每平方已经涨了5000左右。&lt;/p&gt;
&lt;p&gt;目前最大的问题就是毕业论文， 论文初稿的重复率很高，为了降重，不得不使出自己小学的语文水平重新组织语言。希望最后不要抽到盲审……&lt;/p&gt;
&lt;p&gt;&lt;img src="images/12.png"
alt=""
loading="lazy"
decoding="async"width="1153" height="650"&gt;
&lt;/p&gt;</description></item><item><title>Excel记录</title><link>https://www.xiaoten.com/posts/2017/01/excel-notes/</link><pubDate>Fri, 27 Jan 2017 17:09:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/01/excel-notes/</guid><description>&lt;p&gt;放假在家并没有时间写毕业论文，需要给妈妈整理卫生室方面的资料，为了能够更快速和智能地整理资料，把期间遇到的问题及解决方式记录下来。&lt;/p&gt;</description></item><item><title>整合 WordPress 与七牛云存储 CDN 加速服务</title><link>https://www.xiaoten.com/posts/2017/01/integrated-wordpress-with-seven-cattle-cloud-storage-cdn-acceleration-services/</link><pubDate>Fri, 13 Jan 2017 13:09:00 +0800</pubDate><atom:updated>Sun, 23 Jun 2019 12:44:33 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2017/01/integrated-wordpress-with-seven-cattle-cloud-storage-cdn-acceleration-services/</guid><description>&lt;p&gt;想对博客的图片进行加速，使用七牛云的镜像加速功能，只需下面几步即可实现要求：&lt;/p&gt;
&lt;p&gt;第一步：创建七牛公开空间&lt;/p&gt;
&lt;p&gt;&lt;img src="images/2.png"
alt=""
loading="lazy"
decoding="async"width="1033" height="593"&gt;
&lt;/p&gt;</description></item><item><title>新年好~</title><link>https://www.xiaoten.com/posts/2017/01/happy-new-year-2/</link><pubDate>Wed, 04 Jan 2017 14:56:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2017/01/happy-new-year-2/</guid><description>&lt;p&gt;现在来说新年好已经比较晚了，昨天本来想写篇年志的，写完想了想还是就放在日记里面好了&lt;del&gt;人老了之后就会逐渐变得不太公开自己生活中的事情&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;今天本来想给博客换个主题的，看重了一款免费主题，但是由于友情链接的位置还没想好放在新主题的哪个位置，于是就搁置了。&lt;/p&gt;
&lt;p&gt;博客开头的那句“Welcome To XiaoTen.Com 5th Anniversary Long Live!”，由于今年的2月2日就是6周年了，因此今天就干脆把数字改成了6。这样算来，博客走过了6个年头，也是不容易。&lt;/p&gt;
&lt;p&gt;不过2016年应该是记录自己生活中事情最少的一年吧。倒是很多学习方面的问题，因为才加了网易云课堂的一个微专业，就有一些作业需要在博客中完成，因此博客的访问量在2016年的下半年由于学员互评作业的缘故，增加了一波访问量。&lt;/p&gt;
&lt;p&gt;上年的这个时候应该还在关注访问量吧，因为当时想着要换域名，唯一的担忧就是搜索引擎的权重问题，不过后来也算是想通了，也不顾那么多就把域名换到了顶级域名下面，倒也挺顺利。不过blog.xiaoten.com域名下的页面在百度的收录量也真是奇高。通过百度统计工具也看到这个域名下面有更多的来自搜索引擎的访客。&lt;/p&gt;
&lt;p&gt;新的一年希望自己能给顺利工作，工作满意，也应该是转折的一年，真正离开校园生活的一年了。&lt;/p&gt;</description></item><item><title>解决macOS系统下matlab无法访问中文路径及中文乱码问题</title><link>https://www.xiaoten.com/posts/2016/12/to-solve-the-macos-system-under-the-matlab-cannot-access-the-chinese-path-and-chinese-garbled/</link><pubDate>Thu, 29 Dec 2016 18:16:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/12/to-solve-the-macos-system-under-the-matlab-cannot-access-the-chinese-path-and-chinese-garbled/</guid><description>&lt;p&gt;博主使用的matlab为2016a版本，首先通过&lt;code&gt;feature('locale')&lt;/code&gt;命令，查看当前系统所用语言，如下图所示：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1-1024x491.png"
alt=""
loading="lazy"
decoding="async"width="1024" height="491"&gt;
&lt;/p&gt;</description></item><item><title>实验室hadoop集群注意事项</title><link>https://www.xiaoten.com/posts/2016/11/laboratory-hadoop-cluster-note/</link><pubDate>Thu, 17 Nov 2016 17:32:00 +0800</pubDate><atom:updated>Fri, 30 Dec 2016 14:30:37 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/11/laboratory-hadoop-cluster-note/</guid><description>&lt;h2 id="一如果是将备份的虚拟机文件重新添加到virtualbox时需要注意以下几个要点"&gt;一、如果是将备份的虚拟机文件重新添加到virtualbox时，需要注意以下几个要点：&lt;/h2&gt;
&lt;p&gt;1、添加新的虚拟机，选择已有虚拟机文件，导入成功后，进入设置界面，网络选择桥接网络，并记录当前虚拟机的MAC地址。&lt;br&gt;
2、由于重新导入时网卡相当于新的网卡，因此需要删除旧网卡信息。&lt;br&gt;
输入命令：&lt;code&gt;sudo vim /etc/udev/rules.d/70-persistent-net.rules&lt;/code&gt; 即网卡的信息，保留最新的网卡信息，其余网卡信息删除。&lt;br&gt;
3、配置当前网卡信息。&lt;br&gt;
输入命令：&lt;code&gt;sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0&lt;/code&gt; 修改对应的&lt;code&gt;HWADDR&lt;/code&gt;属性，即更改为当前虚拟机的MAC地址。&lt;br&gt;
4、上述操作完成，输入reboot命令，重启虚拟机即可。并可通过&lt;code&gt;ifconfig&lt;/code&gt;命令验证网络是否已经连接成功。&lt;/p&gt;</description></item><item><title>《HBase协处理器实战》学习笔记</title><link>https://www.xiaoten.com/posts/2016/11/big-data-notes-6/</link><pubDate>Mon, 14 Nov 2016 01:00:00 +0800</pubDate><atom:updated>Tue, 15 Nov 2016 09:18:41 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/11/big-data-notes-6/</guid><description>&lt;h2 id="一hbase协处理器实战"&gt;一、HBase协处理器实战&lt;/h2&gt;
&lt;p&gt;大纲：&lt;/p&gt;
&lt;p&gt;协处理器介绍&lt;/p&gt;
&lt;p&gt;协处理器的分类&lt;/p&gt;
&lt;p&gt;演示endpoint对表中某个列进行计数服务端编写&lt;/p&gt;</description></item><item><title>《搭建企业Hbase》学习笔记</title><link>https://www.xiaoten.com/posts/2016/11/big-data-notes-5/</link><pubDate>Sat, 05 Nov 2016 23:08:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/11/big-data-notes-5/</guid><description>&lt;p&gt;大纲：&lt;/p&gt;
&lt;p&gt;实验环境讲解&lt;/p&gt;
&lt;p&gt;演示搭建HBase步骤并讲解&lt;/p&gt;</description></item><item><title>找工作~</title><link>https://www.xiaoten.com/posts/2016/10/find-work/</link><pubDate>Sun, 30 Oct 2016 22:21:38 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/10/find-work/</guid><description>&lt;p&gt;已经研三几个月了，先前的考博打算也随着周围实验室的同门逐渐找到工作而逐渐瓦解破灭了。也是直到上上周，微信公众号“电网头条”的一则消息，彻底让我坚定了去找工作的念头，就是河南电网有校招了，整整一周的时间，都是在准备简历和看专业课知识中度过。之前虽然也准备了简历，但都是草草了事，有的没的地路过哪家单位的校招就投了简历过去，也没有多上心，有些面试通知也是看到当没看到，更别说像别人一样，过着手中已拿到了若干offer的人生。&lt;/p&gt;</description></item><item><title>《搭建hadoop2 HA》学习笔记</title><link>https://www.xiaoten.com/posts/2016/10/big-data-notes-4/</link><pubDate>Sat, 29 Oct 2016 14:46:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/10/big-data-notes-4/</guid><description>&lt;h2 id="一hadoop-ha介绍"&gt;一、hadoop HA介绍&lt;/h2&gt;
&lt;p&gt;大纲：&lt;/p&gt;
&lt;p&gt;NameNode高可用整体架构&lt;/p&gt;
&lt;p&gt;NameNode的主备切换&lt;/p&gt;
&lt;p&gt;NameNode的共享存储&lt;/p&gt;</description></item><item><title>《大数据开发进阶》学习笔记</title><link>https://www.xiaoten.com/posts/2016/09/big-data-notes-3/</link><pubDate>Mon, 26 Sep 2016 12:39:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/09/big-data-notes-3/</guid><description>&lt;h2 id="九hbase开发实例下"&gt;九、HBase开发实例下&lt;/h2&gt;
&lt;h3 id="大纲"&gt;大纲：&lt;/h3&gt;
&lt;p&gt;演示HBase的java代码编写&lt;/p&gt;</description></item><item><title>《大数据开发基础下》学习笔记</title><link>https://www.xiaoten.com/posts/2016/09/big-data-notes-2/</link><pubDate>Tue, 20 Sep 2016 12:16:00 +0800</pubDate><atom:updated>Mon, 26 Sep 2016 12:39:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/09/big-data-notes-2/</guid><description>&lt;h2 id="六hbase原理介绍"&gt;六、HBASE原理介绍&lt;/h2&gt;
&lt;h3 id="大纲"&gt;大纲：&lt;/h3&gt;
&lt;p&gt;认识HBase&lt;/p&gt;
&lt;p&gt;HBase架构&lt;/p&gt;
&lt;p&gt;HBase读写流程&lt;/p&gt;
&lt;p&gt;HBase使用场景&lt;/p&gt;
&lt;p&gt;HBase的MapReduce&lt;/p&gt;</description></item><item><title>《大数据开发基础上》学习笔记</title><link>https://www.xiaoten.com/posts/2016/09/big-data-notes-1/</link><pubDate>Mon, 19 Sep 2016 23:58:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/09/big-data-notes-1/</guid><description>&lt;h2 id="一hdfs简介"&gt;一、HDFS简介&lt;/h2&gt;
&lt;h3 id="本节大纲"&gt;本节大纲：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Hadoop2介绍&lt;/li&gt;
&lt;li&gt;HDFS概述&lt;/li&gt;
&lt;li&gt;HDFS读写流程&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>小米路由器加入四川大学锐捷认证</title><link>https://www.xiaoten.com/posts/2016/09/millet-router-automatically-log-sichuan-university-ruijie-client/</link><pubDate>Mon, 05 Sep 2016 12:17:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/09/millet-router-automatically-log-sichuan-university-ruijie-client/</guid><description>&lt;p&gt;这次暑假回家换掉了家里的小米路由器mini，为了合理利用，我带到了学校。想着在宿舍可以利用学校的校园网发出无线，而学校运用了锐捷认证，正常情况下需在电脑端登录，而且默认情况下不能共享无线，即不允许多网卡存在。虽然电脑端可以通过猎豹wifi等工具绕过无线共享的限制，但是每次开了电脑再共享wifi太繁琐。而且由于有多网卡的限制，当电脑在使用虚拟机的时候，会自动断开。&lt;/p&gt;
&lt;p&gt;由于在macOS操作系统当中，可以利用华中科大开发的mentohust工具突破多网卡和wifi共享等限制（本博客的《
&lt;a href="https://www.xiaoten.com/posts/2015/09/mac-use-ruijie-client/"
target="_blank" rel="noopener noreferrer"
&gt;
mac下使用锐捷客户端解决了多网卡问题
&lt;/a&gt;》中有详细介绍），而且该工具可以用于linux操作系统中。&lt;/p&gt;</description></item><item><title>开发新视界</title><link>https://www.xiaoten.com/posts/2016/08/development-of-new-horizons/</link><pubDate>Fri, 12 Aug 2016 18:06:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/08/development-of-new-horizons/</guid><description>&lt;p&gt;原谅我是乡下来的，在我为了买alfred焦头烂额地到处找visa卡的时候，竟然忽略了PayPal的支付方式，也竟然忽略了PayPal可以绑定银联卡这一点。也深切体会到英镑贬值有多厉害了。&lt;/p&gt;
&lt;p&gt;今天导师给我说了一条毕业论文的思路出来，感觉终于像是在学电气了，不过开学就研三了。- -&lt;/p&gt;
&lt;p&gt;不知道能不能按照预期的方向做下去。只能尽量……&lt;/p&gt;</description></item><item><title>稿件已投，祈求多福。</title><link>https://www.xiaoten.com/posts/2016/08/the-manuscript-has-been-cast-pray-for-happiness/</link><pubDate>Wed, 10 Aug 2016 22:28:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/08/the-manuscript-has-been-cast-pray-for-happiness/</guid><description>&lt;p&gt;今天导师把修改意见给我啦，所幸在实验室苏苏大神的指导后导师对稿件的改动并不多，由于时间比较紧，按照导师意见改完之后，今晚就匆匆投了出去。也没有算个黄道吉时啥的。不管了，就这么拼出去了。&lt;/p&gt;
&lt;p&gt;今天导师走的时候，被问到毕业论文写什么方向的问题，当时就蒙圈了。实在是难以抉择，不过大致方向有了，回家前要交出一份大纲，还有6天在校时间。哎，只能抓抓紧了。&lt;/p&gt;</description></item><item><title>神奇的8月</title><link>https://www.xiaoten.com/posts/2016/08/magic-august/</link><pubDate>Wed, 03 Aug 2016 12:28:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/08/magic-august/</guid><description>&lt;p&gt;又是八月份。每到七月份和八月份，就感觉是拉快了进度条一样。时间过得很快。&lt;/p&gt;
&lt;p&gt;我又对八月有一种特殊的印象，每到八月就会想起2008的8月8日。刚好的是，也是奥运会的日子。不过这次的奥运会并没有怎么去关注，可能因为是时差的原因，而且现在的生活脱离了电视机，也就没有办法接受电视台的强制宣传。&lt;/p&gt;
&lt;p&gt;七月份过得很快，在实验室的时间也越来越多了起来，想到开学就是找工作和毕业论文。压力就很大。另外还有一个没有结束的项目压在头上。&lt;/p&gt;
&lt;p&gt;八月份又好像一开始就已经结束，因为要回家，申请的是8月16日回去，还不知道到时候回家的条件是否成熟，总之，八月份总要有半个月是荒废掉的，在即将荒废之前，要处理的事情还有很多。不知道荒废期能否心安度过。&lt;/p&gt;
&lt;p&gt;时间安排上还是相当的不合理，做任何事情都坚持不了多久，感到了深深的担忧。&lt;/p&gt;
&lt;p&gt;祝好。&lt;/p&gt;</description></item><item><title>悲剧……</title><link>https://www.xiaoten.com/posts/2016/07/tragedy/</link><pubDate>Fri, 08 Jul 2016 19:33:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/07/tragedy/</guid><description>&lt;p&gt;今天目睹了一场悲剧的发生。&lt;/p&gt;
&lt;p&gt;那就是一直以来最担心发生的情况，到最后还是到来了。而且所说的这些事情发生到我的身上。&lt;/p&gt;</description></item><item><title>matlab R2016a建立m文件关联</title><link>https://www.xiaoten.com/posts/2016/06/r2016a-m-to-establish-matlab-file-association/</link><pubDate>Wed, 01 Jun 2016 13:45:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/06/r2016a-m-to-establish-matlab-file-association/</guid><description>&lt;p&gt;Matlab r2016a在二月份就出来了，到现在才下载试用了下。顺便附一下matlab r2016a的下载地址。里面附带你需要的工具^_^。&lt;/p&gt;
&lt;p&gt;链接：http://pan.baidu.com/s/1miMZeIW 密码：ut1k&lt;/p&gt;
&lt;p&gt;安装完毕发现没有与m文件关联起来，每次打开m文件都需要启动matlab之后，手动打开，很麻烦。&lt;/p&gt;
&lt;p&gt;建立m文件的关联很简单，只需要下载下方辅助工具：&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://pan.baidu.com/s/1hs78lrm"
target="_blank" rel="noopener noreferrer"
&gt;
http://pan.baidu.com/s/1hs78lrm
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;解压，打开matlab，然后运行里面的m文件，会在与m文件的同一文件夹下产生一个reg后缀的注册表文件。&lt;/p&gt;
&lt;p&gt;直接双击运行该注册表文件即可。&lt;/p&gt;</description></item><item><title>libsvm工具箱在64位matlab下的安装说明</title><link>https://www.xiaoten.com/posts/2016/05/libsvm-toolbox-in-the-64-bit-matlab-under-the-installation-instructions/</link><pubDate>Thu, 26 May 2016 13:39:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/05/libsvm-toolbox-in-the-64-bit-matlab-under-the-installation-instructions/</guid><description>&lt;p&gt;LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包，他不但提供了编译好的可在Windows系列系统的执行文件，还提供了源代码，方便改进、修改以及在其它操作系统上应用；该软件对SVM所涉及的参数调节相对比较少，提供了很多的默认参数，利用这些默认参数可以解决很多问题；并提供了交互检验(Cross Validation)的功能。&lt;/p&gt;
&lt;p&gt;官方网站：
&lt;a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm/"
target="_blank" rel="noopener noreferrer"
&gt;
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最近版本可以在上述官方网站中下载，也可以去他们的官方
&lt;a href="https://github.com/cjlin1/libsvm"
target="_blank" rel="noopener noreferrer"
&gt;
Github项目页
&lt;/a&gt;去下载。如果网络不畅通，我也上传了3.21版本到百度云，自行下载（链接：
&lt;a href="http://pan.baidu.com/s/1cLrsFO"
target="_blank" rel="noopener noreferrer"
&gt;
http://pan.baidu.com/s/1cLrsFO
&lt;/a&gt; 密码：h9zx）。&lt;/p&gt;</description></item><item><title>五一快乐</title><link>https://www.xiaoten.com/posts/2016/05/%E4%BA%94%E4%B8%80%E5%BF%AB%E4%B9%90/</link><pubDate>Tue, 03 May 2016 15:18:45 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/05/%E4%BA%94%E4%B8%80%E5%BF%AB%E4%B9%90/</guid><description>&lt;p&gt;成都－新郑－郑东新区－郑州北三环－焦作市温县－平顶山市－叶县五一假期就这么度过了。&lt;/p&gt;
&lt;p&gt;五点起床，结果打到了一个不靠谱司机的滴滴，就差5分钟就不能值机。惊险之至。从新郑到目的地的途中，经过了郑东新区，以前工作的地方，靠着那几所学校和路标才认出来这就是以前经常走的那段路，细细算了下，已经离开两年多了。那时候走在路上，周围都是正在施工的高楼。&lt;/p&gt;
&lt;p&gt;北三环是我去郑州第一个月待得地方，施工了十多年的高架桥终于完工了，北三环看起来高大上了很多，城中村也逐渐被取缔了，但是只是路上匆匆的走过，并没有停下来好好看看。&lt;/p&gt;
&lt;p&gt;司机比我小四岁，跟我们一样很喜欢玩英雄联盟，然后我们见面的第一天晚上我们三个人去网吧开黑。这边的网吧真是便宜太多，我坑他们坑到了4点多，但实际上我们白天还要赶往温县，这个小伙伴带我们，我们就订了闹钟9点起。到酒店是5点钟，我是8点就醒了。睡了三个小时不到。然后9点出发，想在车上睡，但他们买了黑卡，喝了就没睡意了。&lt;/p&gt;
&lt;p&gt;温县是我第一次去，感觉是一个标准化的县城，一直觉得县城的格局都是一个样的，然后谈完相关的事情之后，就结束了这些工作上的事情。剩下的就是回家看父母的时间了。&lt;/p&gt;
&lt;p&gt;二月份开始到现在，一直在忙着自己从未尝试过的领域，但努力把最难的日子挺过去。&lt;/p&gt;</description></item><item><title>Hadoop三节点集群备忘</title><link>https://www.xiaoten.com/posts/2016/04/hadoop-three-node-cluster-memo/</link><pubDate>Tue, 26 Apr 2016 21:56:00 +0800</pubDate><atom:updated>Wed, 27 Apr 2016 19:43:36 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/04/hadoop-three-node-cluster-memo/</guid><description>&lt;p&gt;说明：本博文为博主自己的安装笔记，配置中的问题欢迎各位留言指出。转载请注明出处。&lt;/p&gt;
&lt;h2 id="基本配置信息"&gt;基本配置信息&lt;/h2&gt;
&lt;h3 id="集群信息所有节点"&gt;集群信息（所有节点）&lt;/h3&gt;
&lt;p&gt;基于virtualbox安装三台虚拟机，使用centos6.7操作系统，&lt;/p&gt;
&lt;p&gt;主机名分别为：&lt;em&gt;master&lt;/em&gt;、&lt;em&gt;slave1&lt;/em&gt;、&lt;em&gt;slave2&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;对应的ip分别为：&lt;em&gt;192.168.1.201&lt;/em&gt;、&lt;em&gt;192.168.1.202&lt;/em&gt;、&lt;em&gt;192.168.1.203&lt;/em&gt;。&lt;/p&gt;</description></item><item><title>青岛</title><link>https://www.xiaoten.com/posts/2016/04/%E9%9D%92%E5%B2%9B/</link><pubDate>Mon, 18 Apr 2016 01:15:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/04/%E9%9D%92%E5%B2%9B/</guid><description>&lt;p&gt;这是第二次来青岛，第一次来青岛的时候是初中二年级，坐大巴车，第一次坐跨省的长途大巴，去到的地方是一个反正写这个博文的时候还没有去过的地方，都是国外的建筑，因为是我人生第一次出省，所以印象深刻，当时的印象是高楼很多、街道很干净、行人控制的红绿灯，成百对的新婚夫妻的集体婚礼、教堂、游轮上的婚礼、日出、小渔村、吃不惯的海鲜、海水浴场、第一次下海被水呛到、海洋馆……以及当时拿着现在感觉很低端的数码相机拍的海洋馆里面的照片，结果只能看到人，周围黑乎乎的一片，如今知道数码相片基本原理的我终于解开了当时困扰我很久的照片问题，我不喜欢拍照，那张是我唯一觉得自然，而又保留很久的照片。那次的经历跟父母一起，虽然也被带去买了假珍珠、珍珠粉等标准的游客纪念品，但还是很开心。&lt;/p&gt;</description></item><item><title>文章被拒了啊啊啊啊啊</title><link>https://www.xiaoten.com/posts/2016/04/the-article-has-been-rejected/</link><pubDate>Thu, 07 Apr 2016 15:27:00 +0800</pubDate><atom:updated>Fri, 08 Jul 2016 16:39:55 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/04/the-article-has-been-rejected/</guid><description>&lt;p&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;两个外审专家，第一个外审专家语气平和，给出的意见也是一些表述方面的，但是另外一个就不行了呀，他一定是给我返回了一个退稿的意见哇哇哇哇……&lt;/p&gt;
&lt;p&gt;最后，为啥这么晚才拒我！！！&lt;/p&gt;</description></item><item><title>追求起文具的我……</title><link>https://www.xiaoten.com/posts/2016/04/i-pursue-stationery/</link><pubDate>Sun, 03 Apr 2016 22:35:00 +0800</pubDate><atom:updated>Thu, 07 Apr 2016 15:21:37 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/04/i-pursue-stationery/</guid><description>&lt;p&gt;有一天突发奇想，好像自己很久没有自己的笔袋了。马上去京东上面搜（可以第二天就送货），结果搜出来的不是丑就是娘。于是去淘宝，依然没有什么结果。于是笔袋的购买欲望就如此搁置着了。&lt;/p&gt;
&lt;p&gt;后来，又学到了做手账的方式，虽然我是不会去做这种事情，但还是又突发奇想，自己的本子太大太沉，携带不便，于是又开始在网上搜有没有合适的本子。这下有了。&lt;/p&gt;
&lt;p&gt;不过完全是网上和实物是两个样子，不过又激活了一波买文具的想法，满意的还是无印良品的几款，如图（并没有本子）。&lt;/p&gt;</description></item><item><title>在Hadoop 2.6环境下使用Mahout 0.9</title><link>https://www.xiaoten.com/posts/2016/03/use-mahout-0-9-in-hadoop-2-6-environmen/</link><pubDate>Thu, 31 Mar 2016 17:13:00 +0800</pubDate><atom:updated>Fri, 13 Mar 2026 20:46:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/use-mahout-0-9-in-hadoop-2-6-environmen/</guid><description>&lt;p&gt;因为师妹毕设需要，实验室的集群原先的Mahout 0.11.1跟教程上关于随机森林算法有些出入，由于急于使用，因此想换回低版本。在Cloudera公司的CDN 5.3下用的就是Mahout 0.9版本，为了能够实验室的Hadoop 2.6集群环境下使用Mahout 0.9，需要对Mahout 0.9进行编译，因为Mahout 0.9官方提供的版本上只能兼容hadoop 1.x系列，因此需要使用源代码重新进行编译（参考：mahout,
&lt;a href="https://mahout.apache.org/developers/buildingmahout.html"
target="_blank" rel="noopener noreferrer"
&gt;
https://mahout.apache.org/developers/buildingmahout.html
&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;为了方便大家，特将编译之后可用于Hadoop 2.x版本的Mahout提供下载：
&lt;a href="http://pan.baidu.com/s/1eRRBP2U"
target="_blank" rel="noopener noreferrer"
&gt;
http://pan.baidu.com/s/1eRRBP2U
&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Mahout随机森林算法源码分析</title><link>https://www.xiaoten.com/posts/2016/03/mahout-random-forest-algorithm-source-code-analysis/</link><pubDate>Wed, 30 Mar 2016 17:19:00 +0800</pubDate><atom:updated>Thu, 31 Mar 2016 17:29:01 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/mahout-random-forest-algorithm-source-code-analysis/</guid><description>&lt;p&gt;Mahout版本：0.7，hadoop版本：1.0.4，jdk：1.7.0_25 64bit。&lt;/p&gt;
&lt;p&gt;Mahout中实现决策树算法的有两个（quick start），分别是
&lt;a href="https://cwiki.apache.org/confluence/display/MAHOUT/Partial&amp;#43;Implementation"
target="_blank" rel="noopener noreferrer"
&gt;
Partial Implementation
&lt;/a&gt;和
&lt;a href="https://cwiki.apache.org/confluence/display/MAHOUT/Breiman&amp;#43;Example"
target="_blank" rel="noopener noreferrer"
&gt;
Breiman Example
&lt;/a&gt;，可以点击链接到相应的网页查看其官方实例。其中Breiman Example是单机版的，而Partial Implementation是可以使用map-reduce模式的。&lt;/p&gt;
&lt;p&gt;Partial Implementation可以分为三步：Describe、BuildForest、TestForest，共称为决策树三部曲。以前有写过相关的内容，今次重新写这个算法的分析，应该会有一些更加深入的认知。本篇介绍三部曲之一Describe。&lt;/p&gt;
&lt;p&gt;Describe在mahout-examples-0.7-job.jar包中的\org\apache\mahout\classifier\df\tools 路径下，在myeclipse中打开此文件，可以看到该类的源码。直接运行该类（含有main函数，可以直接运行），可以看到该类的使用指南：&lt;/p&gt;</description></item><item><title>Python 2.7.x 和 3.x 版本的重要区别</title><link>https://www.xiaoten.com/posts/2016/03/the-difference-of-python2-and-python3/</link><pubDate>Tue, 29 Mar 2016 12:44:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/the-difference-of-python2-and-python3/</guid><description>&lt;p&gt;本文转载自：http://www.techug.com/the-difference-of-python2-and-python3&lt;/p&gt;
&lt;p&gt;许多Python初学者都会问：我应该学习哪个版本的Python。对于这个问题，我的回答通常是“先选择一个最适合你的Python教程，教程中使用哪个版本的Python，你就用那个版本。等学得差不多了，再来研究不同版本之间的差别”。&lt;/p&gt;
&lt;p&gt;但如果想要用Python开发一个新项目，那么该如何选择Python版本呢？我可以负责任的说，大部分Python库都同时支持Python 2.7.x和3.x版本的，所以不论选择哪个版本都是可以的。但为了在使用Python时避开某些版本中一些常见的陷阱，或需要移植某个Python项目时，依然有必要了解一下Python两个常见版本之间的主要区别。&lt;/p&gt;</description></item><item><title>iOS9.3来了……</title><link>https://www.xiaoten.com/posts/2016/03/ios9-3/</link><pubDate>Tue, 22 Mar 2016 16:43:00 +0800</pubDate><atom:updated>Fri, 13 Mar 2026 20:46:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/ios9-3/</guid><description>&lt;p&gt;这次发布会的硬件产品没有什么亮点，所以就用软件的代号做标题了，虽然软件也没有什么让人激动的变化，但是它解决了我一个萦绕我半年的大问题，值得尊重！&lt;/p&gt;
&lt;p&gt;昨晚没有熬夜去看苹果发布会，为了达成我的早起+吃早饭的成就。早饭呵呵掉了。&lt;/p&gt;
&lt;p&gt;iOS自从升级到9.0就发现一个问题，中文乱码，体现在使用机器自带的PDF阅读器或者是某些第三方PDF阅读器软件的时候，文本格式的PDF无法正常显示文字。刚开始以为是个别现象，后来在知乎找到类似的问题，才发现这个是系统升级所致。（具体详见知乎：https://www.zhihu.com/question/35752447）&lt;/p&gt;
&lt;p&gt;于是，以后的大小更新，我都会关注升级所解决的问题，然而没有一个提到这个乱码问题的，包括这次的更新也一样没有在更新日志中提到。&lt;/p&gt;
&lt;p&gt;但是，我还是每次的更新都第一时间去升级，终于到这个版本（9.3）解决了这一困扰我很久的问题，终于不用专门下载福昕PDF阅读器去看文献了~然而苹果公司没有在更新日志中提到，可能他们自己也没有意识到出现过这个问题以及无意中解决了这个问题了。。&lt;/p&gt;
&lt;p&gt;至于问题的根源是因为ios9版本推出了新的字体，然而删除了一些中文字体，造成字体缺失。&lt;/p&gt;</description></item><item><title>人自恋到这种地步怎么办……</title><link>https://www.xiaoten.com/posts/2016/03/people-can-not-be-so-self-love/</link><pubDate>Sun, 20 Mar 2016 21:00:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/people-can-not-be-so-self-love/</guid><description>&lt;p&gt;&lt;img src="images/banner.jpg"
alt="banner"
loading="lazy"
decoding="async"width="600" height="300"&gt;
&lt;/p&gt;
&lt;p&gt;这又是一篇写不出来英文标题的博文。但还是得起这个名字，因为最近玩弄起自己的名字了。自己的羞涩度又上升了。&lt;/p&gt;
&lt;p&gt;那就是这样的：&lt;/p&gt;</description></item><item><title>MapReduce框架详解</title><link>https://www.xiaoten.com/posts/2016/03/explain-the-mapreduce-framework/</link><pubDate>Wed, 16 Mar 2016 21:08:00 +0800</pubDate><atom:updated>Sun, 20 Mar 2016 20:30:22 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/explain-the-mapreduce-framework/</guid><description>&lt;p&gt;最近用到了，这篇文章感觉不错，故全文转载，原文：http://www.cnblogs.com/sharpxiajun/p/3151395.html&lt;/p&gt;
&lt;p&gt;开始聊mapreduce，mapreduce是hadoop的计算框架，我学hadoop是从hive开始入手，再到hdfs，当我学习hdfs时候，就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关，我开始学习某一套技术总是想着这套技术到底能干什么，只有当我真正理解了这套技术解决了什么问题时候，我后续的学习就能逐步的加快，而学习hdfs时候我就发现，要理解hadoop框架的意义，hdfs和mapreduce是密不可分，所以当我写分布式文件系统时候，总是感觉自己的理解肤浅，今天我开始写mapreduce了，今天写文章时候比上周要进步多，不过到底能不能写好本文了，只有试试再说了。&lt;/p&gt;</description></item><item><title>阿尔法狗及最近入手的应用</title><link>https://www.xiaoten.com/posts/2016/03/alphago-application/</link><pubDate>Sun, 13 Mar 2016 13:28:44 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/alphago-application/</guid><description>&lt;p&gt;这个无疑是最近几天的具有划时代意义的事件，谷歌的能力不得不让人惊叹，但是对此并不是了解很多。但也学了很多，在这个事情之前不知道李世石，不知道柯洁，不知道围棋是怎么玩的。深度学习虽然在北京时的项目有接触到，但是懂得都是维基一下就有的内容。说到维基，已经很久不用了的东西，感谢某种事物带给我的这种连遗忘了某种事物都遗忘的那种感觉。&lt;/p&gt;</description></item><item><title>VS2013 EF6连接MySql</title><link>https://www.xiaoten.com/posts/2016/03/vs2013-ef6-connect-mysql/</link><pubDate>Fri, 11 Mar 2016 20:54:00 +0800</pubDate><atom:updated>Sat, 12 Mar 2016 03:19:06 +0000</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/vs2013-ef6-connect-mysql/</guid><description>&lt;p&gt;目前的项目涉及到数据库的问题，原先的方案是使用Access数据库，因为数据量不大，界面友好，而且软件使用C#编写，就认为用微软自家的东西会更安全可靠一些。&lt;/p&gt;
&lt;p&gt;但是，这几天在学习的过程中才发现Entity Framework竟然不支持Access数据库，而且linq to sql也不支持。但还是希望尽量能用上强大的EF框架。&lt;/p&gt;
&lt;p&gt;由于EF6直接支持的是SQL Server数据库，一个是因为收费，另外是感觉大材小用，故而转向MySQL数据库，但是默认情况下是不支持的，但是网上有一些插件可以解决这一问题，下面是解决的简单步骤：&lt;/p&gt;</description></item><item><title>重新启用IFTTT</title><link>https://www.xiaoten.com/posts/2016/03/use-ifttt/</link><pubDate>Wed, 09 Mar 2016 12:45:03 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/use-ifttt/</guid><description>&lt;p&gt;几年前这玩意出世的时候还有几个社交应用能够访问，后来各种网络不佳的情况造成最终弃用这个东西。&lt;/p&gt;
&lt;p&gt;前几天为了下载一个NuGet程序包，迟迟连不上服务器，即便用了一直在用的某某方式还是没有效果。愤怒之下，买了一个比较稳定的梯子，站的稳才能看得远。&lt;/p&gt;</description></item><item><title>WPF学习笔记</title><link>https://www.xiaoten.com/posts/2016/03/wpf-study-note/</link><pubDate>Fri, 04 Mar 2016 17:44:59 +0800</pubDate><atom:updated>Wed, 09 Mar 2016 12:13:05 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/wpf-study-note/</guid><description>&lt;p&gt;一、设置WPF程序全局字体&lt;/p&gt;
&lt;p&gt;其实这个问题要根据你的具体需求了，实现的方法有很多。&lt;/p&gt;
&lt;p&gt;比如，你可以在你的MainWindow中设置：&lt;/p&gt;</description></item><item><title>WPF学习---系统的学习XAML语法</title><link>https://www.xiaoten.com/posts/2016/03/wpf-learning-learning-system-xaml-grammar/</link><pubDate>Wed, 02 Mar 2016 13:27:25 +0800</pubDate><atom:updated>Fri, 04 Mar 2016 10:16:47 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/wpf-learning-learning-system-xaml-grammar/</guid><description>&lt;h2 id="1-xaml文档的树形结构"&gt;1 XAML文档的树形结构:&lt;/h2&gt;
&lt;p&gt;UI在用户眼里面是个平面结构。如下图所示，在用户眼里看来，这个界面就是一个窗体里面平铺了4个文本框和一个按钮的界面。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1456896364-3506-1350715959-3515.png"
alt="1456896364-3506-1350715959-3515"
loading="lazy"
decoding="async"width="461" height="328"&gt;
&lt;/p&gt;</description></item><item><title>WPF学习之X名称空间详解</title><link>https://www.xiaoten.com/posts/2016/03/wpf-learning-x-name-space/</link><pubDate>Wed, 02 Mar 2016 13:10:34 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/wpf-learning-x-name-space/</guid><description>&lt;p&gt;X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML代码将XAML代码编译为CLR代码。&lt;/p&gt;</description></item><item><title>WPF入门教程系列九——DataGrid示例[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-datagrid-example/</link><pubDate>Wed, 02 Mar 2016 10:44:12 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-datagrid-example/</guid><description>&lt;p&gt;前面我们学习了ListView控件的使用示例，今天我们来学习DataGrid的有关知识。提到DataGrid 不管是Asp.Net中的网页开发还是WinForm应用程序开发都会频繁使用。通过它我们可以灵活的在行与列间显示各种数据。本篇将学习WPF中的DataGrid 相关功能。&lt;/p&gt;
&lt;p&gt;首先，先介绍一下DataGrid中有哪些列的类型。&lt;/p&gt;</description></item><item><title>WPF入门教程系列八——ListView示例[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-listview-example/</link><pubDate>Wed, 02 Mar 2016 10:37:40 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-listview-example/</guid><description>&lt;p&gt;经过前面的学习，今天我做一个比较综合的WPF程序示例，主要包括以下功能：&lt;/p&gt;
&lt;p&gt;1) 查询功能。从数据库（本地数据库(local)/Test中的S_City表中读取城市信息数据，然后展示到WPF的Window上的一个ListView上。&lt;/p&gt;
&lt;p&gt;2) 数据联动功能。当鼠标左键选中ListView中的某一条记录时，在ListView框下面文本框中显示详细信息。&lt;/p&gt;
&lt;p&gt;3) 修改功能。修改TextBox中的内容后，点击“更新”按钮，把修改后的数据保存到数据库中，同时与Listview联动。&lt;/p&gt;</description></item><item><title>WPF入门教程系列七——WPF中的数据绑定[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-data-binding-in-wpf/</link><pubDate>Wed, 02 Mar 2016 10:31:01 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-data-binding-in-wpf/</guid><description>&lt;p&gt;第七章主要讲述使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户界面，同时 WPF提供了数据绑定功能。WPF的数据绑定跟Winform与ASP.NET中的数据绑定功能类似，但也有所不同，在 WPF中以通过后台代码绑定、前台XAML中进行绑定，或者两者组合的方式进行数据绑定。您可以绑定控件、公共属性、XML 或对象，WPF中的数据绑定跟WinForm与ASP.NET相比，更加快捷、灵活和简单。&lt;/p&gt;</description></item><item><title>WPF入门教程系列六——依赖属性[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-dependent-properties/</link><pubDate>Wed, 02 Mar 2016 10:25:57 +0800</pubDate><atom:updated>Thu, 03 Mar 2016 11:06:17 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-dependent-properties/</guid><description>&lt;p&gt;第六章主要介绍了WPF的依赖属性，可以用来实现WPF中的样式、自动绑定及实现动画等特性。&lt;/p&gt;</description></item><item><title>WPF入门教程系列五——布局[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-layout/</link><pubDate>Wed, 02 Mar 2016 10:21:56 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-layout/</guid><description>&lt;p&gt;第五章主要对WPF中的界面如何布局做一个较简单的介绍，大家都知道：UI是做好一个软件很重要的因素，如果没有一个漂亮的UI，功能做的再好也无法吸引很多用户使用，而且没有漂亮的界面，那么普通用户会感觉这个软件没有多少使用价值。&lt;/p&gt;</description></item><item><title>WPF入门教程系列四——Window 介绍[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-window/</link><pubDate>Wed, 02 Mar 2016 10:16:11 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-window/</guid><description>&lt;p&gt;第四章进入了窗体类的介绍，讲述了窗体的基本操作及如何定义一个窗体。&lt;/p&gt;</description></item><item><title>WPF入门教程系列三——Dispatcher介绍[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-dispatcher/</link><pubDate>Tue, 01 Mar 2016 18:04:00 +0800</pubDate><atom:updated>Wed, 02 Mar 2016 10:58:57 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-dispatcher/</guid><description>&lt;p&gt;第三章主要讲了Dispatcher的用法，主要用于管理线程工作项队列，类似于Win32中的消息队列。创建Dispatcher时会把当前线程赋值给它的Thread属性，遍历查找的时候用这个字段来匹配是否在&lt;code&gt;_dispatchers&lt;/code&gt;中已经保存了当前线程的Dispatcher。&lt;/p&gt;</description></item><item><title>WPF入门教程系列二——Application介绍[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-application/</link><pubDate>Tue, 01 Mar 2016 15:51:26 +0800</pubDate><atom:updated>Wed, 02 Mar 2016 10:54:34 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-application/</guid><description>&lt;p&gt;第二章主要是讲述了 App.xaml 和 App.xaml.cs文件。这两个文件决定了应用程序全局行为和操作，并且通过这两个文件将定义和行为代码分离。本文介绍了这两个文件的使用方式。&lt;/p&gt;</description></item><item><title>WPF入门教程系列一——基础[转载]</title><link>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-based/</link><pubDate>Tue, 01 Mar 2016 13:30:36 +0800</pubDate><atom:updated>Wed, 02 Mar 2016 10:50:01 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/03/wpf-tutorial-series-based/</guid><description>&lt;p&gt;因为项目需要用到WPF，因此就在网上查找这样的教程，发现该系列文章的内容比较简单易懂，也适合于WPF的快速入门，故转载到本博客进行学习分享。若您转载，请务必标明原作者博客：http://www.cnblogs.com/chillsrc/&lt;/p&gt;
&lt;p&gt;第一章主要是WPF的基础，主要是如何新建WPF项目及新建之后各个文件和参数所表示的含义。&lt;/p&gt;</description></item><item><title>Visual Studio 2012 2013 2015版本 快速删除代码空行</title><link>https://www.xiaoten.com/posts/2016/03/visual-studio-201220132015-version-of-the-fast-delete-code/</link><pubDate>Tue, 01 Mar 2016 12:27:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/03/visual-studio-201220132015-version-of-the-fast-delete-code/</guid><description>&lt;p&gt;在 Visual Studio 2008/2010 版本中，使用下述方法可以快速删除代码空行：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;快捷键&lt;/strong&gt;: &lt;code&gt;Ctrl + H&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;查找内容&lt;/strong&gt;: &lt;code&gt;^:b*$\n&lt;/code&gt;&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;&lt;strong&gt;查找选项&lt;/strong&gt;: 使用正则表达式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;操作&lt;/strong&gt;: 点击&amp;quot;全部替换&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;而在 2012 以后的版本中，上述方式无效，因为新版本改变了正则表达式的写法。&lt;/p&gt;
&lt;p&gt;故将上述的正则表达式改为：&lt;code&gt;^(?([^\r\n])\s)*\r?$\r?\n&lt;/code&gt; 或者 &lt;code&gt;^\s*(?=\r?$)\n&lt;/code&gt; 即可。&lt;/p&gt;</description></item><item><title>开学之后的事</title><link>https://www.xiaoten.com/posts/2016/02/after-the-beginning-of-the-term/</link><pubDate>Sat, 27 Feb 2016 19:40:14 +0800</pubDate><atom:updated>Tue, 01 Mar 2016 13:19:43 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/after-the-beginning-of-the-term/</guid><description>&lt;p&gt;开学之后事情挺多的，从博客的更新频率就可以看出，这一开学立马被打回在更新博客方面极慢的原形。本以为放假的时候在家已经很忙了，可总是让我刷新自己的各方面的价值观和认知能力。最起码放假在家还有个工夫写个博客啊。&lt;/p&gt;
&lt;p&gt;其实最大的原因在于在家不知道事情的紧迫性，而在学校就不一样了。&lt;/p&gt;</description></item><item><title>火车上的元宵节</title><link>https://www.xiaoten.com/posts/2016/02/on-the-train-of-the-lantern-festival/</link><pubDate>Tue, 23 Feb 2016 00:19:00 +0800</pubDate><atom:updated>Tue, 23 Feb 2016 17:27:41 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/on-the-train-of-the-lantern-festival/</guid><description>&lt;p&gt;今天是大年十五的下一天，也就是大年十六。白天的时候应该留在学校了，现在在去学校的火车上，刚才看了之前下载好的电影小门神，真的是不怎么好看的一部片，不过刚好0点0分的时候看到影片的最后，放烟花的部分，权当过这个元宵节了吧！大年十五跟父母待了半天，中午多一些就坐上了火车，在去火车站的路上，看到广场已经摆上了元宵节的设施，可就不知道效果是怎么样的，上次看元宵节放烟火的时候还是在本科的时候，一起去看烟火，如今可以直接在房顶上看了，可一次也没在家看过，好不容易凑到了大年十五，还只能待半天。&lt;/p&gt;</description></item><item><title>后知后觉，Flash更名为Animate了……</title><link>https://www.xiaoten.com/posts/2016/02/afterwards-flash-was-renamed-animate/</link><pubDate>Sun, 21 Feb 2016 00:40:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/afterwards-flash-was-renamed-animate/</guid><description>&lt;p&gt;已经不用flash很多年，上次用flash还是因为网络工作室要做一个banner。&lt;/p&gt;
&lt;p&gt;习惯晚上让家里的路由器自己下载点东西，充分利用了宽带资源。以往都是扔一些电影的链接让路由器去下载。今天想着马上要去学校了，想到学校糟糕的网络环境，更新一些真正实用的软件，就想到机器上的Adobe该更新了，虽然已经是CC2015。&lt;/p&gt;
&lt;p&gt;下载之前看了下adobe CC的大师版软件列表。突然发现没有了Flash的身影，而并没有在意哪个软件替代了，当时以为大师版的套件把flash踢除了。上网一搜，才知道1月份的时候adobe公司就已经宣布Flash Professional正式更名为Animate CC。&lt;/p&gt;</description></item><item><title>烟花与月亮</title><link>https://www.xiaoten.com/posts/2016/02/fireworks-and-the-moon/</link><pubDate>Fri, 19 Feb 2016 21:40:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/fireworks-and-the-moon/</guid><description>&lt;p&gt;十五的月亮十六元，社交圈的老梗。&lt;/p&gt;
&lt;p&gt;家里很多年都没有买过烟花了，因为我长大之后就变成了一个宅男。在我十多岁的时候，我父亲还十分喜欢放烟花，即便当时家里穷，也要拿出好多钱用来买烟花，把年味酝酿的特别浓厚。我长大后，没了多少兴趣，自然我父亲也一个人嗨不起来。但是有了我外甥的出现，情形就完全不一样了。我外甥如今三岁多，吵着闹着要放烟花，他不喜欢那种会响的，所以拿到一个烟花就一个劲儿地问到底会不会响。今天抱着几个烟花吵着要到楼顶上放，于是就有了下面这张图。&lt;/p&gt;</description></item><item><title>重新启用post-views插件</title><link>https://www.xiaoten.com/posts/2016/02/re-enable-post-views-plugin/</link><pubDate>Fri, 19 Feb 2016 00:52:14 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/re-enable-post-views-plugin/</guid><description>&lt;p&gt;今天才发现，
&lt;a href="https://old.xiaoten.com/2016-happy-new-year-five-years-long-live.html"
target="_blank" rel="noopener noreferrer"
&gt;
这次换了主题
&lt;/a&gt;之后，忘记加入统计访客数目的插件了，造成这次重新开启之后，没有计及网站改版后的浏览数据。&lt;/p&gt;</description></item><item><title>7 个实用的 WordPress 代码片段（转）</title><link>https://www.xiaoten.com/posts/2016/02/7-wordpress-code-snippets/</link><pubDate>Thu, 18 Feb 2016 15:45:04 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/7-wordpress-code-snippets/</guid><description>&lt;p&gt;贴几个最近用到 WordPress 的代码片段，代码均搜集于网络，使用方式都是添加到主题的&lt;code&gt;functions.php&lt;/code&gt; 文件。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Talk is cheap. Show me the code.&amp;rdquo; —— Linus Torvalds&lt;/p&gt;</description></item><item><title>玩hign了(多图，流量党慎点)</title><link>https://www.xiaoten.com/posts/2016/02/play-hign/</link><pubDate>Wed, 17 Feb 2016 15:13:34 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 01:07:13 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/play-hign/</guid><description>&lt;p&gt;&lt;img src="images/a15b4afegw1f12cpox24mj20rs0kudkm.jpg"
alt="a15b4afegw1f12cpox24mj20rs0kudkm"
loading="lazy"
decoding="async"width="1000" height="750"&gt;
&lt;/p&gt;
&lt;p&gt;在努力以假乱真……把小十玩坏了。&lt;/p&gt;</description></item><item><title>从未如此想要祈福过……</title><link>https://www.xiaoten.com/posts/2016/02/never-wanted-to-pray/</link><pubDate>Tue, 16 Feb 2016 22:50:00 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:31:50 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/never-wanted-to-pray/</guid><description>&lt;p&gt;&lt;img src="images/IMG_5946.jpg"
alt="IMG_5946"
loading="lazy"
decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;前段时间，找了30张照片扔到某猫上面的某家打印机构打印下。想到以前父亲经常去影楼让别人帮忙洗胶卷的时候，每次出去玩带两个胶卷，照相的时候摆姿势什么的，不能像现在拍数码照那样随意。自从有了数码机之后，胶卷机就再也没用过了。父亲也不怎么爱拍照了。很想知道数码照拍出来洗成照片的效果，因此就这么做了。&lt;/p&gt;
&lt;p&gt;果然还是没有胶卷时代的时候那么让人满意。也可能现在人的追求又上升了一层，也或是本身13块钱30张包邮也不会给你用很好的相纸和油墨。总之从色彩和清晰度上面都跟电脑上显示的效果有些差距。不过从屏幕突然拿到手上的感觉还是有点小时候的惊奇在里面。&lt;/p&gt;</description></item><item><title>相片</title><link>https://www.xiaoten.com/posts/2016/02/photograph/</link><pubDate>Tue, 16 Feb 2016 20:06:43 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:32:35 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/photograph/</guid><description>&lt;p&gt;&lt;img src="images/IMG_5946.jpg"
alt="IMG_5946"
loading="lazy"
decoding="async"width="1000" height="750"&gt;
&lt;/p&gt;
&lt;p&gt;前段时间，找了30张照片扔到某猫上面的某家打印机构打印下。想到以前父亲经常去影楼让别人帮忙洗胶卷的时候，每次出去玩带两个胶卷，照相的时候摆姿势什么的，不能像现在拍数码照那样随意。自从有了数码机之后，胶卷机就再也没用过了。父亲也不怎么爱拍照了。很想知道数码照拍出来洗成照片的效果，因此就这么做了。&lt;/p&gt;
&lt;p&gt;果然还是没有胶卷时代的时候那么让人满意。也可能现在人的追求又上升了一层，也或是本身13块钱30张包邮也不会给你用很好的相纸和油墨。总之从色彩和清晰度上面都跟电脑上显示的效果有些差距。不过从屏幕突然拿到手上的感觉还是有点小时候的惊奇在里面。&lt;/p&gt;</description></item><item><title>微小的世界</title><link>https://www.xiaoten.com/posts/2016/02/tiny-world/</link><pubDate>Fri, 12 Feb 2016 23:43:00 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:33:04 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/tiny-world/</guid><description>&lt;p&gt;&lt;img src="images/IMG_1329.jpg"
alt="IMG_1329"
loading="lazy"
decoding="async"width="1000" height="667"&gt;
&lt;/p&gt;
&lt;p&gt;图上为我外甥的一个小的玩具模型。趁我现在还有更新博客的热情，不管是几分热度，能更一篇是一篇。&lt;/p&gt;</description></item><item><title>神奇的知网</title><link>https://www.xiaoten.com/posts/2016/02/the-magic-of-cnki/</link><pubDate>Fri, 12 Feb 2016 00:38:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/the-magic-of-cnki/</guid><description>&lt;p&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>nginx用户认证配置（ Basic HTTP authentication）</title><link>https://www.xiaoten.com/posts/2016/02/nginx-user-authentication-configuration/</link><pubDate>Thu, 11 Feb 2016 02:36:37 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:34:14 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/nginx-user-authentication-configuration/</guid><description>&lt;p&gt;&lt;code&gt;ngx_http_auth_basic_module&lt;/code&gt;模块实现让访问者只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道，但是又想让部分人看到。nginx的&lt;code&gt;http auth&lt;/code&gt;模块以及&lt;code&gt;Apache http auth&lt;/code&gt;都是很好的解决方案。&lt;/p&gt;
&lt;p&gt;默认情况下nginx已经安装了&lt;code&gt;ngx_http_auth_basic_module&lt;/code&gt;模块，如果不需要这个模块，可以加上&lt;code&gt;--without-http_auth_basic_module&lt;/code&gt; 。&lt;/p&gt;</description></item><item><title>修改typecho文章内部链接打开形式</title><link>https://www.xiaoten.com/posts/2016/02/modify-typecho-article-internal-link-open-form/</link><pubDate>Wed, 10 Feb 2016 19:40:00 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:34:05 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/modify-typecho-article-internal-link-open-form/</guid><description>&lt;p&gt;给爸爸在网上弄了一个文章集子，用的是typecho系统。&lt;/p&gt;
&lt;p&gt;但是由于编辑器是markdown语法，默认的情况对于文章内的超链接是不能新窗口打开。要想设置成新窗口打开，就只能写一段冗长的html来解决。&lt;/p&gt;</description></item><item><title>启用了多说评论框</title><link>https://www.xiaoten.com/posts/2016/02/enable-the-duoshuo-comment-box/</link><pubDate>Tue, 09 Feb 2016 21:32:00 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:34:44 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/enable-the-duoshuo-comment-box/</guid><description>&lt;p&gt;也忘记了上一次启用后又关闭的原因了。&lt;/p&gt;
&lt;p&gt;不过有朋友觉得评论挺麻烦的，或者不知道怎么评论。这个时候想着还是用第三方的评论工具会好一些吧。&lt;/p&gt;
&lt;p&gt;于是就把多说用起来了，不过看到多说插件评论区的一星差评，后背发凉……不过也没什么重要的东西，就这样吧。&lt;/p&gt;
&lt;p&gt;准备把爸爸的文章放到一个网站上，域名也注册好了。但忽然想到没有备案，备案的话又要关停主体下的其他域名，每每想到这里，我都想大声说：&lt;code&gt;@&amp;amp;*￥（！#￥@（*[社会主义好！]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;恩，这篇文章就又这么烂尾了。下篇po文见……&lt;/p&gt;
&lt;p&gt;&amp;mdash;补充&lt;/p&gt;
&lt;p&gt;2016年2月10日02:59:16&lt;/p&gt;
&lt;p&gt;截止这个点，终于把所有的公开文章给恢复完毕。为了让原来的评论跟多说同步(- -!有点拼……&lt;/p&gt;</description></item><item><title>拍了点烟花……大过年的轻喷</title><link>https://www.xiaoten.com/posts/2016/02/fireworks-photos/</link><pubDate>Tue, 09 Feb 2016 02:12:00 +0800</pubDate><atom:updated>Fri, 19 Feb 2016 00:35:06 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2016/02/fireworks-photos/</guid><description>&lt;p&gt;因为还是不擅于拍夜景，而且楼顶太杂乱，天气也冷，位置没有摆放好。拍摄时间是农历大年初一的凌晨0点钟左右。&lt;/p&gt;
&lt;p&gt;第一张照片拍的是2016年2月5日晚上的星星（- -！虽然不明显。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/IMG_0188-2.jpg"
alt="IMG_0188-2"
loading="lazy"
decoding="async"width="1000" height="667"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="images/IMG_0307.jpg"
alt="IMG_0307"
loading="lazy"
decoding="async"width="1000" height="667"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="images/IMG_0308-2.jpg"
alt="IMG_0308-2"
loading="lazy"
decoding="async"width="1000" height="667"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="images/IMG_0312.jpg"
alt="IMG_0312"
loading="lazy"
decoding="async"width="1000" height="667"&gt;
&lt;/p&gt;</description></item><item><title>2016新年快乐~网站五周年万岁~~</title><link>https://www.xiaoten.com/posts/2016/02/2016-happy-new-year-five-years-long-live/</link><pubDate>Mon, 08 Feb 2016 14:45:00 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/2016-happy-new-year-five-years-long-live/</guid><description>&lt;p&gt;&lt;img src="images/fiveyearlonglive-1024x600.jpg"
alt=""
loading="lazy"
decoding="async"width="1024" height="600"&gt;
&lt;/p&gt;
&lt;p&gt;首先，祝大家猴年鸿运~~&lt;/p&gt;
&lt;p&gt;2011年2月2日（农历大年三十）建立了这个个人网站，一直持续到现在，如果按中国的农历，就是五年时间了。&lt;/p&gt;
&lt;p&gt;这五年时间记载了314篇文章、收获了1217条评论。&lt;/p&gt;</description></item><item><title>转移站点备忘录</title><link>https://www.xiaoten.com/posts/2016/02/transfer-site-memo/</link><pubDate>Mon, 08 Feb 2016 01:31:01 +0800</pubDate><guid>https://www.xiaoten.com/posts/2016/02/transfer-site-memo/</guid><description>&lt;p&gt;2016年新年，想把博客从blog.xiaoten.com移到xiaoten.com。刚好在阿里云使用代金券加学生特惠的形式买了一个云服务器，虽然云服务器配置不高，但跑wordpress还是绰绰有余，把安装过程中所遇到的问题记录下。&lt;/p&gt;</description></item><item><title>centos6 网络配置的相关内容</title><link>https://www.xiaoten.com/posts/2015/12/centos6-network-config/</link><pubDate>Tue, 08 Dec 2015 15:06:04 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/12/centos6-network-config/</guid><description>&lt;h2 id="添加网卡方法"&gt;添加网卡方法&lt;/h2&gt;
&lt;p&gt;在 CentOS 6 中添加网卡的方法：&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;start_udev&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个命令会重新扫描新加的硬件并做相关的处理。&lt;/p&gt;
&lt;p&gt;如果我们加的是网卡，识别不对或者想更新网卡的名字，我们并不需要编辑 &lt;code&gt;/etc/sysconfig/network-scripts/&lt;/code&gt; 下的内容。运行完上面命令后如果不正常，直接修改 udev 有关网络的配置就行了。&lt;/p&gt;</description></item><item><title>Linux、Hadoop安装笔记</title><link>https://www.xiaoten.com/posts/2015/11/linux-studying/</link><pubDate>Fri, 27 Nov 2015 10:39:00 +0800</pubDate><atom:updated>Tue, 08 Dec 2015 18:50:00 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2015/11/linux-studying/</guid><description>&lt;p&gt;最近因为 Hadoop 需要在 Linux 的环境下，因此也在自己的电脑上通过 Parallels Desktop 安装了两个免费的 Linux 操作系统，一个是 CentOS 6.7，还有一个是 Ubuntu 14.04.3。&lt;/p&gt;
&lt;p&gt;因为网站所用的服务器系统是 CentOS，所以就先用 CentOS，但是因为装不上 tools 就放弃了。转向 Ubuntu，虽然都是一样的 - -&lt;/p&gt;
&lt;p&gt;安装完系统之后没有安装任何的组件。首先就是一个 root 密码的问题，默认安装的时候是需要输入一个用户名和密码，但并没有设置 root 的密码。&lt;/p&gt;</description></item><item><title>阿里云服务器九折优惠码</title><link>https://www.xiaoten.com/posts/2015/11/aliyun-nine-count/</link><pubDate>Thu, 12 Nov 2015 10:52:54 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/11/aliyun-nine-count/</guid><description>&lt;p&gt;用于购买阿里云的云服务器，可以在活动的基础上进一步打九折，赶在活动日使用还是很赞的~~~学生特惠机型好像不能用吧~&lt;/p&gt;
&lt;p&gt;推荐码：TNZ2CA&lt;/p&gt;</description></item><item><title>C# 把类实例保存到文件里（类的序列化和反序列化）</title><link>https://www.xiaoten.com/posts/2015/11/c-sharp-save-object/</link><pubDate>Thu, 05 Nov 2015 11:03:33 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/11/c-sharp-save-object/</guid><description>&lt;p&gt;有时候我们希望把类的实例保存下来，以便以后使用。一个直观的方法就是使用 &lt;code&gt;StreamWriter&lt;/code&gt; 把类写成一行，用制表符分隔开每个属性，然后用 &lt;code&gt;StreamReader&lt;/code&gt; 读出来。&lt;/p&gt;
&lt;p&gt;但是这样太麻烦，代码行数较多，而且必须事先知道属性在行中的对应位置。这时候如果采用类序列化的方式保存就使得代码很简单：&lt;/p&gt;</description></item><item><title>终于解决了Mathtype闪退的问题了~</title><link>https://www.xiaoten.com/posts/2015/10/mathtype-cannot-start/</link><pubDate>Sun, 25 Oct 2015 17:11:54 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/10/mathtype-cannot-start/</guid><description>&lt;p&gt;在上一年的时候开始，就遇到了这个问题，表现在打开word，会提示Mathpage.wll未找到，打开mathtype软件本身就闪退，本来以为是个小问题，后来发现上网搜索各种解决方法都没有效果，其中多次尝试更换不同版本，并到最后只通过官方版本通过注册码来安装，都不行。&lt;/p&gt;
&lt;p&gt;另外还有些帖子说是可以通过清空注册表的方式，还有就是重新导入加载的相关文件等等，都是没有任何的效果，到最后只能重装系统了事。并关于闪退这个情况曾在多个帖子中都提到过，百度知道上面关于这个问题的求助信息也不少，但都没有根本解决问题。&lt;/p&gt;</description></item><item><title>C# List 复制克隆副本</title><link>https://www.xiaoten.com/posts/2015/10/csharp-list-copy-clone/</link><pubDate>Thu, 08 Oct 2015 16:42:44 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/10/csharp-list-copy-clone/</guid><description>&lt;p&gt;由于List之间的相等的话，等于是把List的地址给赋值过去了，赋值后的List变化，会改变原有的List，并没有起到备份原始数据的作用，对于没有嵌套的List，可以采用遍历重新赋值的方法去赋值（传递的是值类型，并非引用类型），若List内的数据是一个类的话，赋值的时候需要重新实例化才行。但如果是嵌套的List列表，遍历这种方法就麻烦了很多。&lt;/p&gt;
&lt;p&gt;因此，常见的对List进行复制克隆的方法，有以下三种：&lt;/p&gt;</description></item><item><title>破解Endnote X7最新版，WIN和MAC下都适用</title><link>https://www.xiaoten.com/posts/2015/09/crack-endnote-x7-latest-version-of-win-and-mac/</link><pubDate>Fri, 25 Sep 2015 01:54:22 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/09/crack-endnote-x7-latest-version-of-win-and-mac/</guid><description>&lt;p&gt;首先，在endnote官网（
&lt;a href="http://www.endnote.com"
target="_blank" rel="noopener noreferrer"
&gt;
http://www.endnote.com
&lt;/a&gt; ），去下载最新版本的endnote，注意只有英文版，没有中文版。&lt;/p&gt;
&lt;p&gt;endnote X7 for windows 的破解方法 在windows下面，对endnote进行安装，安装的时候选择30天试用，安装完成之后运行，选择继续试用，然后关闭，知道endnote程序的根目录。 下载授权文件Licence.dat。(
&lt;a href="https://pan.baidu.com/s/1YYxYerRdVhxX2PGfewtmQQ?pwd=8888"
target="_blank" rel="noopener noreferrer"
&gt;
License.rar
&lt;/a&gt; ) 将此文件直接拷贝到endnote程序根目录下面，即破解成功。&lt;/p&gt;
&lt;p&gt;endnote X7 for mac 的破解方法&lt;br&gt;
同样，在官网下载最新版本的endnote，安装，选择30天试用，安装成功之后，首先我们要能够看到隐藏文件，打开“终端”，运行下述命令：&lt;/p&gt;</description></item><item><title>mac下使用锐捷客户端解决了多网卡问题</title><link>https://www.xiaoten.com/posts/2015/09/mac-use-ruijie-client/</link><pubDate>Wed, 09 Sep 2015 08:33:56 +0800</pubDate><atom:updated>Sat, 31 Oct 2015 19:59:38 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2015/09/mac-use-ruijie-client/</guid><description>&lt;p&gt;博主使用的是四川大学的锐捷客户端（4.96版本）。在 Windows 下已有破解多网卡的客户端，但在 Mac 下没有找到类似客户端（如果大家有的话，也希望能够提供一下～）。&lt;/p&gt;
&lt;h2 id="背景需求"&gt;背景需求&lt;/h2&gt;
&lt;p&gt;在 Mac 下破解多网卡主要是因为博主需要使用虚拟机。有时候处理文档或项目方面的事情，还是需要用到 Windows 操作环境。如果装双系统没有必要，所以一般使用虚拟机来解决这个问题。使用虚拟机的坏处是使用官方提供的客户端会自动掉线，除非把虚拟机软件的进程退出，用不到其他网卡才行。&lt;/p&gt;
&lt;h2 id="解决方案"&gt;解决方案&lt;/h2&gt;
&lt;p&gt;目前我的解决方案是使用华中科技大学开发的 &lt;strong&gt;mentohust&lt;/strong&gt; 工具。&lt;/p&gt;</description></item><item><title>C#实现图（Graph)</title><link>https://www.xiaoten.com/posts/2015/09/achieve-graph-by-c-sharp-language/</link><pubDate>Sun, 06 Sep 2015 10:27:45 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/09/achieve-graph-by-c-sharp-language/</guid><description>&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;图表示点之间的关系，在C#中通过节点对象的集合来表示点(Vertex)，用邻接矩阵(adjacency matrix)来表示点之间的关系。下面来看C#实现。&lt;/p&gt;
&lt;p&gt;文章转载自：http://www.cnblogs.com/CareySon/archive/2012/04/20/2459447.html&lt;/p&gt;</description></item><item><title>又暑假了</title><link>https://www.xiaoten.com/posts/2015/07/again-summer-holiday/</link><pubDate>Thu, 02 Jul 2015 13:48:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/07/again-summer-holiday/</guid><description>&lt;p&gt;这次暑假来的真是奇怪，觉得这学期也奇怪的短。看了会儿知乎，就思想又上升到人性的高度。赶紧写篇文来压压惊。&lt;/p&gt;
&lt;p&gt;实验室没有抢到大桌子，依然在过道坐着，不过过道也有过道的好处。&lt;/p&gt;
&lt;p&gt;算了，也没什么好处……想自我安慰下，还是放弃好了。&lt;/p&gt;
&lt;p&gt;暑假不能回去，估计要到8月中旬才行，这样从小到大期盼的暑假就慢慢失去感觉了。算了算，我虽然工作一年，但工作前后的两个暑假保留得相当完整，归功于工作前无心找工作的心境，和辞职后无心积极向上的人性。工作前保留了完整的两个月假期，辞职后更是三个多月之久。所以说这次的暑假将是我从记事开始最短的一个。&lt;/p&gt;
&lt;p&gt;6月28日是茶余饭后四周年纪念日，但是没有按照原计划做出一个周年视频。可能是因为太忙，也可能是因为太懒。&lt;/p&gt;
&lt;p&gt;在之前定了一个每天早起吃早饭的计划。结果可能坚持了有2个星期，就不行了。果然自己不是起床早的那块料儿，每天早睡也很难做到。体重直线下降，可饭量没有减少。&lt;/p&gt;
&lt;p&gt;之前也会定很多计划，因为若干个不重要的考试，都被打破了。现在在两个项目中做着不重要的工作。&lt;/p&gt;</description></item><item><title>c#中list排序</title><link>https://www.xiaoten.com/posts/2015/06/sort-of-list-of-c-sharp/</link><pubDate>Sat, 20 Jun 2015 22:57:43 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/06/sort-of-list-of-c-sharp/</guid><description>&lt;p&gt;我们通常使用泛型集合来存放数据，常见的如：&lt;code&gt;List&lt;/code&gt; 、&lt;code&gt;Dictionary&lt;/code&gt;等。在使用这些泛型集合时我们有时需要对其进行排序，一般用到的是继承IComparer&lt;T&gt;接口，实现&lt;code&gt;int IComparer&amp;lt;T&amp;gt;.Compare(T t1, T t2)&lt;/code&gt;方法。下面介绍c#中&lt;strong&gt;list排序&lt;/strong&gt;的实现方法&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一、初始数据&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;假设我们有一个Student对象，简单起见这个对象只有三个属性，分别是学号、姓名、年龄。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>MATLAB R2014b R2015a重建.m等文件关联（WIN）</title><link>https://www.xiaoten.com/posts/2015/06/matlab-r2014b-r2015a-reconstruction-file-correlationwin/</link><pubDate>Wed, 17 Jun 2015 20:42:43 +0800</pubDate><atom:updated>Sun, 23 Aug 2015 22:56:11 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2015/06/matlab-r2014b-r2015a-reconstruction-file-correlationwin/</guid><description>&lt;p&gt;转载自：http://m.blog.csdn.net/blog/interwish/44621141 （这篇文章是由这位博主整理，感谢！）&lt;/p&gt;
&lt;p&gt;从MATLAB R2014b版本开始，安装之后都不会自动与.m等文件相关联。如果打开.m文件的时候选择了打开方式，然后选择的MATLAB，这样不仅.m文件的图标不好看，而且每次双击一个.m文件都会新打开一个MATLAB程序，非常别扭。经过搜索并自己尝试，现提出一种解决方案。&lt;/p&gt;</description></item><item><title>C# 操作Excel大全</title><link>https://www.xiaoten.com/posts/2015/06/operation-excel-by-c-sharp-language/</link><pubDate>Sun, 07 Jun 2015 20:16:40 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/06/operation-excel-by-c-sharp-language/</guid><description>&lt;p&gt;接触的第一个算法是Floyd算法，虽然是简单的三层循环，但还是看了好久才理解的。特别是通过矩阵给予解释，越来越觉得不够用。项目又因为我拖了后腿，哎，其实我也是拼了力的。今天因为要交导师的期末考试作业，还有是把程序编出来的最后期限，都积攒到了一天，真是累的死，综述是没时间去写了，一个summary，让我写了足足几个小时，深切觉得自己的英语真是犹如shit一般无力。有种要被导师拉黑名单的感觉。下周两门考试，一个是周五的电力系统稳定与控制。高大上的一门课，没听过。卷子的题目已经给出，可是计算机还是无力。反正无论是什么考试，都是等到考前第一天才会有紧张感。另一门是周六的CET-6。果然用英语叫出这个名字显得高大上一些，第几次考来着？不重要了。裸考是必然的，只不过，越来越觉得，明明37块钱可以吃几顿食堂的。有点任性。&lt;/p&gt;</description></item><item><title>基于GN算法的二十人网络社区分析</title><link>https://www.xiaoten.com/posts/2015/05/analysis-of-twenty-person-network-community-based-on-gn-algorithm/</link><pubDate>Sat, 30 May 2015 20:46:26 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/05/analysis-of-twenty-person-network-community-based-on-gn-algorithm/</guid><description>&lt;p&gt;GN算法是一种分裂型的社区结构分裂算法。该算法根据网络中社区内部高内聚、社区之间低内聚的特点，逐步去除社区之间的边，取得相对内聚的社区结构。算法用边介数的概念来探测边的位置，某边的边介数定义为网络上所有顶点之间的最短路径通过该边的次数。由定义可知，如果一条边连接两个社区，那么这两个社团节点之间的最短路径通过该边的次数就会最多，相应的边介数最大。如果删除该边，那么两个社团就会分割开。GN算就就是基于此思想反复计算当前网络的最短路径，计算每条边的边介数，删除边介数最大的边。最后在一定条件下，算法停止，即可得到网络的社区结构。&lt;/p&gt;</description></item><item><title>若干笔记……</title><link>https://www.xiaoten.com/posts/2015/05/some-notes/</link><pubDate>Tue, 26 May 2015 20:08:49 +0800</pubDate><atom:updated>Sat, 30 May 2015 21:14:32 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2015/05/some-notes/</guid><description>&lt;p&gt;今天加入苏苏的项目里面了。身为一个大水货……一头雾水听了项目介绍，就开始最基本的环境配置了……基本的要死。还是不会= =。&lt;/p&gt;
&lt;p&gt;昨天在新买的二手电脑上装了WIN8.1，今天就因为项目软件的原因要换成win7 32位，可怜了我的8G内存。。。&lt;/p&gt;</description></item><item><title>Rational Rose2007（v7.0）下载地址、安装及激活详解教程（图）</title><link>https://www.xiaoten.com/posts/2015/05/the-detailed-tutorial-of-rational-rose2007-download-install-and-activate/</link><pubDate>Tue, 12 May 2015 23:50:34 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/05/the-detailed-tutorial-of-rational-rose2007-download-install-and-activate/</guid><description>&lt;p&gt;下载地址：&lt;/p&gt;
&lt;p&gt;Rational Rose 2007（v 7.0）（含激活文件）：
&lt;a href="http://pan.baidu.com/share/link?shareid=467021&amp;amp;uk=421719222"
target="_blank" rel="noopener noreferrer"
&gt;
http://pan.baidu.com/share/link?shareid=467021&amp;amp;uk=421719222
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;激活文件license.upd 下载地址：
&lt;a href="http://download.csdn.net/detail/skl_tz/5377999"
target="_blank" rel="noopener noreferrer"
&gt;
http://download.csdn.net/detail/skl_tz/5377999
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;安装详解：&lt;/p&gt;</description></item><item><title>快变成技术博客了</title><link>https://www.xiaoten.com/posts/2015/05/become-a-technology-blog/</link><pubDate>Wed, 06 May 2015 16:34:41 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/05/become-a-technology-blog/</guid><description>&lt;p&gt;我顺手转了两篇文章之后，就大致翻了翻这个博客，本来多么生活化的一个博客已经被伪技术文占领……确实，越来越没有记录生活的习惯。&lt;/p&gt;
&lt;p&gt;从14年4月份，入到摄影这个坑里面，就有一搭没一搭地学了些摄影。学完之后唯一的感觉就是想赶紧工作赚钱，买好的设备去拍更多有意思的东西。对自己要求也越来越高，看着之前的片子真想全部清空重来，看到图片库里已经4000多片子了，相机的快门已经释放了6000多次。能够让自己满意的图片也只有不到10张。一直没有去系统去学，每次拍也都是碰运气，学到的要旨什么的全然在按快门的前几秒都忘记了。&lt;/p&gt;</description></item><item><title>UML序列图和用例图总结</title><link>https://www.xiaoten.com/posts/2015/05/uml-sequence-diagram-and-use-case-diagram-summary/</link><pubDate>Wed, 06 May 2015 16:09:55 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/05/uml-sequence-diagram-and-use-case-diagram-summary/</guid><description>&lt;h2 id="一序列图"&gt;一、序列图&lt;/h2&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;</description></item><item><title>UML类图几种关系的总结</title><link>https://www.xiaoten.com/posts/2015/05/a-summary-of-several-relations-of-uml-class-diagram/</link><pubDate>Wed, 06 May 2015 15:45:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/05/a-summary-of-several-relations-of-uml-class-diagram/</guid><description>&lt;p&gt;在UML类图中，常见的有以下几种关系: &lt;strong&gt;泛化（Generalization）, 实现（Realization），关联（Association)，聚合（Aggregation），组合(Composition)，依赖(Dependency)&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="1-泛化generalization"&gt;1. 泛化（Generalization）&lt;/h4&gt;
&lt;p&gt;【泛化关系】：是一种继承关系，表示一般与特殊的关系，它指定了子类如何特化父类的所有特征和行为。例如：老虎是动物的一种，即有老虎的特性也有动物的共性。&lt;/p&gt;
&lt;p&gt;【箭头指向】：带三角箭头的实线，箭头指向父类&lt;/p&gt;</description></item><item><title>神奇的mogrify插件</title><link>https://www.xiaoten.com/posts/2015/04/magic-mogrify-plugin/</link><pubDate>Mon, 27 Apr 2015 11:03:05 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/04/magic-mogrify-plugin/</guid><description>&lt;p&gt;最近迷恋上lightroom了，以至于去色达回来之后，一直在钻研lightroom有哪些功能，当然也搜到了一些有趣的插件，力推mogrify插件，力推的原因是，它可以给照片加上边框，不只是加边框，更重要的是可以给照片加上一些文字，当然这些文字可以是用户自定义的，也可以是照片的元数据，很实用的一个功能。&lt;/p&gt;
&lt;p&gt;原来家人拍照片是用卡片机拍的，他们最喜欢开启的功能就是相机上面的时间显示功能，于是拍了的照片显示了一个特别丑的黄色数字，很不和谐，用这个功能可以记录时间并按照用户的喜好去设置显示的位置和样式。&lt;/p&gt;</description></item><item><title>抽象类和接口的区别</title><link>https://www.xiaoten.com/posts/2015/04/the-distinction-between-abstract-classes-and-interfaces/</link><pubDate>Tue, 07 Apr 2015 22:19:28 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/04/the-distinction-between-abstract-classes-and-interfaces/</guid><description>&lt;p&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;所以，在高级语言上，一个类只能继承一个类（抽象类）(正如人不可能同时是生物和非生物)，但是可以实现多个接口(吃饭接口、走路接口)。&lt;/p&gt;
&lt;p&gt;第一点． 接口是抽象类的变体，接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类。&lt;br&gt;
第二点． 接口可以多继承，抽象类不行&lt;br&gt;
第三点． 接口定义方法，不能实现，而抽象类可以实现部分方法。&lt;br&gt;
第四点． 接口中基本数据类型为static 而抽类象不是的。&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>C#操作Access数据库知识</title><link>https://www.xiaoten.com/posts/2015/03/c-sharp-operation-access-database-knowledge/</link><pubDate>Thu, 26 Mar 2015 11:24:33 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/03/c-sharp-operation-access-database-knowledge/</guid><description>&lt;p&gt;入门者使用……高手绕行&lt;/p&gt;
&lt;h2 id="c操作access数据库的基础知识"&gt;C#操作Access数据库的基础知识&lt;/h2&gt;
&lt;p&gt;通过ADO.NET的OleDb相关类来操作Access&lt;/p&gt;
&lt;p&gt;主要知识点如下：&lt;/p&gt;</description></item><item><title>C#连接4种类型数据库（Access、SQL Server、Oracle、MySQL）</title><link>https://www.xiaoten.com/posts/2015/03/c-sharp-connect-4-types-of-database-include-access-sql-server-oracle-mysql/</link><pubDate>Thu, 26 Mar 2015 10:54:43 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/03/c-sharp-connect-4-types-of-database-include-access-sql-server-oracle-mysql/</guid><description>&lt;p&gt;项目需要，需要学习C#编程，无奈，没有任何编程基础，要从头学起……路漫漫……&lt;/p&gt;</description></item><item><title>利用360前端公共库 CDN 服务解决 GOOGLE 字体屏蔽</title><link>https://www.xiaoten.com/posts/2015/02/use-360-cdn-serbers-to-slove-google-fonts-problems/</link><pubDate>Wed, 18 Feb 2015 09:35:13 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/02/use-360-cdn-serbers-to-slove-google-fonts-problems/</guid><description>&lt;p&gt;自从 Google 被国内全面屏蔽以来，造成了谷歌的许多服务404了，这里就包括谷歌字体。这造成国内许多独立博客（尤其适用 WordPress 的）访问超级慢。当然也包括我的网站。&lt;/p&gt;
&lt;p&gt;当然我也采取了一些措施，例如：&lt;/p&gt;
&lt;p&gt;1、安装插件“ Disable Google Fonts ”，安装并激活。&lt;/p&gt;
&lt;p&gt;2、许多博主说的在主题fuctions.php文件中添加以下代码：&lt;/p&gt;</description></item><item><title>2月到了</title><link>https://www.xiaoten.com/posts/2015/02/february-has-arrived/</link><pubDate>Sun, 01 Feb 2015 17:46:06 +0800</pubDate><guid>https://www.xiaoten.com/posts/2015/02/february-has-arrived/</guid><description>&lt;p&gt;上篇文章是一个算是年终总结的东西，开头就已经提到，我是用Ulysses写的那篇文章，当时只知道markdown (
&lt;a href="http://zh.wikipedia.org/wiki/Markdown"
target="_blank" rel="noopener noreferrer"
&gt;
http://zh.wikipedia.org/wiki/Markdown
&lt;/a&gt;)这个东西，但语法方面十足不懂。&lt;/p&gt;</description></item><item><title>我的本命年2014</title><link>https://www.xiaoten.com/posts/2014/12/my-year-of-fate-2014/</link><pubDate>Wed, 31 Dec 2014 17:10:37 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/12/my-year-of-fate-2014/</guid><description>&lt;p&gt;本来想用Ulysses这个软件写这篇文的，可是发现无法新建文件，用的是盗版的，而且最近系统不知道什么原因出现了很奇怪的设置还原，比如说壁纸、软件的排序、分组，全部都被还原了，我的系统迟迟没有升级，因为没有找到一个合适的场所，有稳定的无线网，有大于500kb的下载速度，或者说我的强迫症又犯了，总觉得更新系统要重装才要彻底。总之，最后还是选择了虚拟机win7上的word 2013来写这个文。&lt;/p&gt;
&lt;p&gt;至于为啥不在个人网站上直接后台上写，这就得归功于强大的GFW啦，最近貌似限制的够严，之前还能顺利浏览网站上所设置的Gravatar头像，而且我还加了头像缓存的插件，结果还是抵挡不了强大的GFW，而且这只是一方面，Wordpress平台本身就需要用到很多外网的资源，于是，网站后台打开奇慢，又懒得开V*P*N*，因为用的校园网本身也不稳定，所以就还是本地写文章吧。又因为OSX系统上的office我用的盗版，不知道自动保存功能是否完善，所以，选择还是用win7好啦。准备工作做了这么多，并不是我多么在乎这个文写起来多么有保障和安全性，主要是对这个文的一个尊重。&lt;/p&gt;</description></item><item><title>LaTeX新人教程，一小时从完全陌生到基本入门</title><link>https://www.xiaoten.com/posts/2014/12/latex-new-tutorial-an-hour-from-completely-unfamiliar-to-the-basic-entry/</link><pubDate>Sun, 14 Dec 2014 19:43:53 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/12/latex-new-tutorial-an-hour-from-completely-unfamiliar-to-the-basic-entry/</guid><description>&lt;p&gt;&lt;strong&gt;作者：Nan&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;重要提示：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对于真心渴望迅速上手LaTeX的人，可以只看正文&lt;/li&gt;
&lt;li&gt;曾经在缝缝补补中变得长长的&amp;quot;前言&amp;quot;被我丢到了正文后面当&amp;quot;后记&amp;quot;&lt;/li&gt;
&lt;li&gt;后记部分可以跳过不看或只看粗体&lt;/li&gt;
&lt;li&gt;原本这个版本的流程内容是30分钟，后来应小伙伴呼声，加入了图片引用、公式引用和参考文献内容&lt;/li&gt;
&lt;li&gt;如果要走完这个流程的话，大致需要一个小时&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;</description></item><item><title>无比纠结的周末</title><link>https://www.xiaoten.com/posts/2014/11/very-tangled-weekend/</link><pubDate>Sun, 30 Nov 2014 15:20:01 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/11/very-tangled-weekend/</guid><description>&lt;p&gt;是打算上自习来着……但是，以手机快没电的缘由为借口……顺利从起床时的12点半推迟到了下午三点钟……其实去自习什么我也不知道，看本科的东西，因为觉得自己就好像一直以外专业的身份学习这个专业，根本投入不下去，也只有看一些低级一些的内容能稍微吸收一些即将马上忘记的内容……&lt;/p&gt;
&lt;p&gt;信誓旦旦走出宿舍想着去上自习的腿还是不自觉地去了实验室，想着多少给手机充些电吧。最终的结果是……来了实验室却忘了充电，又莫名其妙的开了电脑，看新闻刷微博……&lt;/p&gt;
&lt;p&gt;想起来的时候，已经是写这篇博客的3点钟了。&lt;/p&gt;</description></item><item><title>心情</title><link>https://www.xiaoten.com/posts/2014/11/mood-7/</link><pubDate>Sat, 22 Nov 2014 14:44:36 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/11/mood-7/</guid><description>&lt;p&gt;不为人愿，勉为其难……加了个油……&lt;/p&gt;</description></item><item><title>232个小十</title><link>https://www.xiaoten.com/posts/2014/11/232-xiaoten/</link><pubDate>Thu, 13 Nov 2014 01:34:12 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/11/232-xiaoten/</guid><description>&lt;p&gt;做自我介绍的时候会说到昵称，我会说我叫小十，就有人问为什么不叫分钟，好多人会习惯听成小时，后来做自我介绍的场合越来越怪异，总之口头书写的还是比较少的，大都直接把昵称写纸上大家看，然后就会有人接着问，你在家排行老十吗…&lt;br&gt;
其实叫小十的名字很简单，就是因为十月十号，而我有时候，也把它当成一个度量单位，每一个小时都是不同的一个小时（小十）。&lt;/p&gt;</description></item><item><title>又有压力了……</title><link>https://www.xiaoten.com/posts/2014/11/then-there-is-pressure/</link><pubDate>Fri, 07 Nov 2014 20:07:04 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/11/then-there-is-pressure/</guid><description>&lt;p&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>HTML，CSS，font-family：中文字体的英文名称</title><link>https://www.xiaoten.com/posts/2014/10/english-name-of-chinese-font/</link><pubDate>Thu, 30 Oct 2014 10:59:49 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/10/english-name-of-chinese-font/</guid><description>&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;宋体&lt;/th&gt;
&lt;th&gt;SimSun&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;黑体&lt;/td&gt;
&lt;td&gt;SimHei&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;微软雅黑&lt;/td&gt;
&lt;td&gt;Microsoft YaHei&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;微软正黑体&lt;/td&gt;
&lt;td&gt;Microsoft JhengHei&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;新宋体&lt;/td&gt;
&lt;td&gt;NSimSun&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;新细明体&lt;/td&gt;
&lt;td&gt;PMingLiU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;细明体&lt;/td&gt;
&lt;td&gt;MingLiU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;标楷体&lt;/td&gt;
&lt;td&gt;DFKai-SB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;仿宋&lt;/td&gt;
&lt;td&gt;FangSong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;楷体&lt;/td&gt;
&lt;td&gt;KaiTi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;仿宋_GB2312&lt;/td&gt;
&lt;td&gt;FangSong_GB2312&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;楷体_GB2312&lt;/td&gt;
&lt;td&gt;KaiTi_GB2312&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;宋体：SimSuncss中中文字体（font-family）的英文名称&lt;/p&gt;</description></item><item><title>IIS请求筛选模块被配置为拒绝超过请求内容长度的请求</title><link>https://www.xiaoten.com/posts/2014/10/iis-the-request-filter-module-is-configured-to-reject-a-request-that-exceeds-the-length-of-the-request/</link><pubDate>Tue, 28 Oct 2014 21:26:12 +0800</pubDate><atom:updated>Wed, 29 Oct 2014 18:39:30 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2014/10/iis-the-request-filter-module-is-configured-to-reject-a-request-that-exceeds-the-length-of-the-request/</guid><description>&lt;p&gt;HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求，原因是Web服务器上的请求筛选被配置为拒绝该请求，因为内容长度超过配置的值（IIS 7 默认文件上传大小时30M）。&lt;/p&gt;</description></item><item><title>数据库出错，无法启动~</title><link>https://www.xiaoten.com/posts/2014/10/database-error-unable-to-start/</link><pubDate>Mon, 27 Oct 2014 14:57:07 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/10/database-error-unable-to-start/</guid><description>&lt;p&gt;今天起床，发现所有的用到mysql的网站都打不开。原来是mysql的服务停止了，无法启动，停止mysql服务时提示： ERROR! MySQL is running but PID file could not be found ? 后来查下磁盘空间（df -h）……发现系统盘已经占满……被类似mysql-bin.0000*这样的文件占满，这个文件的位置位于：/usr/local/mysql/var这个目录下。文件是mysql的日志文件。某些文件竟然已达1G。上网搜了下这个文件的用途，如下：&lt;/p&gt;</description></item><item><title>看了恐怖直播</title><link>https://www.xiaoten.com/posts/2014/10/watched-the-horror-live/</link><pubDate>Sun, 26 Oct 2014 20:11:01 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/10/watched-the-horror-live/</guid><description>&lt;p&gt;看了棒子的《恐怖直播》之后，对三部没看过的电影顿时开始期待：《致命呼叫》、《狙击电话亭》、《搏击俱乐部》~是时候洗洗装满美剧的脑子了……&lt;/p&gt;</description></item><item><title>matlab怎么恢复文件关联</title><link>https://www.xiaoten.com/posts/2014/10/matlab-how-to-restore-the-file-association/</link><pubDate>Sun, 26 Oct 2014 16:11:14 +0800</pubDate><atom:updated>Wed, 17 Jun 2015 20:51:13 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2014/10/matlab-how-to-restore-the-file-association/</guid><description>&lt;blockquote&gt;
&lt;p&gt;重要更新，对于R2014a之后的版本以及win8.1情况下，可能此方法无效，需要参考本博客更新的一篇文章
&lt;a href="https://www.xiaoten.com/posts/2015/06/matlab-r2014b-r2015a-reconstruction-file-correlationwin/"
target="_blank" rel="noopener noreferrer"
&gt;
MATLAB R2014b R2015a重建.m等文件关联（WIN）
&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;终于来了一篇关于技术的文章了。项目需要用到matlab。po主安装的是matlab 2013a版本，安装的过程没有什么问题，也很正常，安装完成之后，首先没有桌面快捷方式，然后没有开始程序菜单项，而且添加/删除程序里面也没有。&lt;/p&gt;
&lt;p&gt;也就是po主找的破解版就类似于绿色版，没有建立文件的关联。&lt;/p&gt;
&lt;p&gt;这也说明，matlab安装之后，重装系统或者移动matlab程序文件夹，也可以正常使用……只是需要重新建立文件关联。&lt;/p&gt;
&lt;p&gt;因此在网上搜索了一些方法，总结来说，方法有两个：&lt;/p&gt;</description></item><item><title>终于有键盘了~</title><link>https://www.xiaoten.com/posts/2014/10/finally-there-is-a-keyboard/</link><pubDate>Thu, 09 Oct 2014 23:27:39 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/10/finally-there-is-a-keyboard/</guid><description>&lt;p&gt;换了电脑之后，最大的问题还是习惯问题，不喜欢电脑自身的键盘布局，好多键都没有，特别装了win的虚拟机之后，操作起来很麻烦&lt;del&gt;今天终于舍得买了一个键盘了。。。最终没有决定买机械键盘……太贵了&lt;/del&gt;&lt;br&gt;
嗯，然后再说说最近的日子。。。过得太紧张了，两个项目，跟着师兄做，完全没有头绪，就是东拼西凑一些自己看不懂的东西，很纠结很纠结……&lt;br&gt;
然后课程方面，我没有获得英语的免修资格……于是苦逼的要8点起来上英语课，课本还要买，老师每次上课都有随堂作业当点名用，课本还买不到，京东当当都没有，淘宝上还要邮费，还不知道多久能到这个山区……学校书店的一直没有到货。不甘心。&lt;br&gt;
专业课有些课程还没搞懂到底有没有课本，到底最后考试是怎么考的。好像是没有的样子，而且课件还不让拷走。&lt;br&gt;
数学就更纠结了，上了这么久，一直都是一头雾水，很是不爽~今天刚上的数值分析，老师最后还加了句，当然这些知识我们是不希望你们会的……那讲是做什么的……不过貌似最后是开卷，不知道这种纯数学的开卷有什么意义……&lt;/p&gt;
&lt;p&gt;关于这个博客，好久没有更新，也好久没有换主题了，本来以为读研会轻松一些，可是时间还是没有，而且每天做什么事都感觉很麻烦……&lt;br&gt;
友链也好久没有互访了……会不会我的友链已经被卸掉了……呼呼……&lt;/p&gt;</description></item><item><title>这一大半之后的假期</title><link>https://www.xiaoten.com/posts/2014/08/after-half-of-the-holiday/</link><pubDate>Mon, 04 Aug 2014 13:05:55 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/08/after-half-of-the-holiday/</guid><description>&lt;p&gt;以前的暑假，经常会搞一些新鲜的玩意儿，做个网站，改个主题神马的~但是这个最长的假期，我却给过成了一个最漫长的假期。几个月下来也不知道都干了些什么。于是我开始学英语，听到中间发现好多是高中生在学，顿时兴致又消散了很多。拿起已经冷落了很多天的kindle，自从发现暂时不能刷多看系统之后，就荒废在那里了。其实想想就是刷了多看可能也就两天的热度。于是平静了很多，反正自己不是那么持之以恒的人。何必期望自己坚持很久。新鲜感是个最可怕的东西。&lt;/p&gt;</description></item><item><title>更新了首页~</title><link>https://www.xiaoten.com/posts/2014/07/updated-home-page/</link><pubDate>Fri, 18 Jul 2014 10:36:38 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/07/updated-home-page/</guid><description>&lt;p&gt;没有大的改动，只是添加了一些友情链接。也添加了未命题网站的导航。&lt;/p&gt;
&lt;p&gt;最近一直没有好好打理网站。所以把一些好朋友的连接放在了首页上面……因为有些朋友直接友情的都是www.xiaoten.com这个地址。&lt;/p&gt;</description></item><item><title>恩，留个备份~</title><link>https://www.xiaoten.com/posts/2014/07/leave-a-backup/</link><pubDate>Sun, 13 Jul 2014 23:53:53 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/07/leave-a-backup/</guid><description>&lt;p&gt;今天因为服务器的一些原因，恢复了一下数据，造成博客有两位好友的留言没有保留，截图一下留念，啦啦，好不容易有人留言了，一定要好生照顾~&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1.jpg"
alt="1"
loading="lazy"
decoding="async"width="608" height="237"&gt;
&lt;/p&gt;</description></item><item><title>要吃早饭……</title><link>https://www.xiaoten.com/posts/2014/07/to-eat-breakfast/</link><pubDate>Wed, 02 Jul 2014 01:33:51 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/07/to-eat-breakfast/</guid><description>&lt;p&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;然后，然后就是某个事情终于告一段落了，不管怎么样，祝她幸福。我突然想起上次跟她联系的情景，也许就懂了。&lt;/p&gt;
&lt;p&gt;还是比较怀念追剧的时候，每天都有目标的样子，那样就好了。&lt;/p&gt;
&lt;p&gt;╮(╯▽╰)╭……我的这个自制力啊~&lt;/p&gt;</description></item><item><title>写下近况吧~</title><link>https://www.xiaoten.com/posts/2014/06/write-down-the-status-quo/</link><pubDate>Mon, 16 Jun 2014 14:30:54 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/06/write-down-the-status-quo/</guid><description>&lt;p&gt;又是快到一个月没更新了~于是就来写点东西，自从大四之后，就没有写东西的习惯。一方面是实在没有文采，没有到连流水账都写不出来的地步，真不如小学的时候。另外一方面，好多方面都不稳定，也不知道自己想要的是什么，不稳定的前景引发着一系列烦躁的情绪。要么写不出来东西，要么写一堆愤世嫉俗的废话。每天的日子也都单调重复，毫无意义。&lt;/p&gt;
&lt;p&gt;今天早上大概是九点多的时候，接到电话，正在熟睡的时候，我很诧异当时为什么会接电话。一般早上熟睡的时候听见电话我都会当闹钟处理，直接挂掉，今天早上没有挂，当然也没有看是谁打来的。&lt;/p&gt;</description></item><item><title>买电脑</title><link>https://www.xiaoten.com/posts/2014/05/buy-computer/</link><pubDate>Mon, 26 May 2014 14:37:07 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/05/buy-computer/</guid><description>&lt;p&gt;24岁的我依然还是对电脑有着很浓厚的兴趣。&lt;/p&gt;
&lt;p&gt;今天在我跟我老爸去买螺丝刀的路上偶然一句话，就决定先买个台式机。因为我一直要想买一台MBP，可是新品已经出了有8个月了，按照苹果往常的习惯来讲已经到了产品更新周期了。而且过段日子的WWDC大会可能也会带来些什么升级，总之了总之，就是感觉现在买太亏。&lt;/p&gt;
&lt;p&gt;而家里的台式机已经服役了有四个年头，配置都已经很过时了，而且我妈说她在网上打牌因为她电脑配置差，别人都跑了的经历，她也很支持买一个台式机。&lt;/p&gt;
&lt;p&gt;买了组装机，在京东买的，配置我看来已经很赞，但是价格却很划算，可能我还是不了解电脑的行情。&lt;/p&gt;</description></item><item><title>又一个小站</title><link>https://www.xiaoten.com/posts/2014/05/another-website/</link><pubDate>Thu, 08 May 2014 14:59:08 +0800</pubDate><atom:updated>Sat, 06 Dec 2014 22:59:42 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2014/05/another-website/</guid><description>&lt;p&gt;嗯，这次又是typecho，跟我某个记载考研历程的小站（地址被匿）程序一样，但是那个是0.8版本的，这次是0.9的，虽然在sae上搭建过一次，看了看效果，但是这次算是真正的细致的看了下。本以为程序升级，特别是这次隔了好久才升级的版本，插件的兼容性了什么的问题会很多，或者又像wordpress一样，升级变得越来越臃肿，越来越CMS化。很意外没有这些个问题，而且程序运行依然很快，而且主题做起来也很方便（但我没做过），给人的感觉就是很简洁……&lt;/p&gt;</description></item><item><title>购买 Linux VPS 服务器后简单的安全设置</title><link>https://www.xiaoten.com/posts/2014/04/after-the-purchase-of-vps-linux-server-simple-security-settings/</link><pubDate>Tue, 22 Apr 2014 13:40:50 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/04/after-the-purchase-of-vps-linux-server-simple-security-settings/</guid><description>&lt;p&gt;我们在购买了 Linux 系统的 VPS 或服务器后，一般的商家都会给你一个 root 权限的账号，并且默认的密码不会太长，这是很不安全的。经常有客户因为弱口令而被黑客暴力破解密码导致 VPS 服务器被入侵，并用来干坏事。&lt;/p&gt;
&lt;p&gt;所以，在开通了 Linux 系统的 VPS 或服务器后，我们有必要做一些基本的安全设置。&lt;/p&gt;</description></item><item><title>宿主机访问VirtualBox客户机服务器</title><link>https://www.xiaoten.com/posts/2014/04/host-virtualbox-client-access-server/</link><pubDate>Wed, 16 Apr 2014 13:35:24 +0800</pubDate><atom:updated>Mon, 21 Apr 2014 11:45:41 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2014/04/host-virtualbox-client-access-server/</guid><description>&lt;p&gt;VirtualBox和VMware不同，不能通过客户机IP直接访问客户机上的web及FTP等服务，需通过端口转发的方式访问。&lt;/p&gt;
&lt;p&gt;在虚拟机设网络设置界面，连接方式选NAT，展开高级选项，选择端口转发：&lt;/p&gt;</description></item><item><title>这一个月的流水账</title><link>https://www.xiaoten.com/posts/2014/04/this-months-running-account/</link><pubDate>Fri, 11 Apr 2014 17:25:14 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/04/this-months-running-account/</guid><description>&lt;p&gt;想起九点半起床赶往自习室，然后十一点半等阿姨锁自习室回住处……这样来回的重复六七天，记忆中最刻苦的时间。也同样换来了意想不到的结果。&lt;/p&gt;</description></item><item><title>弱智的centos笔记……</title><link>https://www.xiaoten.com/posts/2014/03/centos-note-for-the-mentally-handicapped/</link><pubDate>Fri, 07 Mar 2014 16:40:16 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/03/centos-note-for-the-mentally-handicapped/</guid><description>&lt;p&gt;此文是博主特别特别初学的情况下做出的笔记，其幼稚程度绝对超出你的想象，所以慎点，此文纯粹为博主查阅方便所用，原谅博主这不聪明的脑子吧……&lt;/p&gt;</description></item><item><title>如何正确配置Nginx+PHP</title><link>https://www.xiaoten.com/posts/2014/03/nginx-php/</link><pubDate>Wed, 05 Mar 2014 09:33:38 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/03/nginx-php/</guid><description>&lt;p&gt;对很多人而言，配置Nginx+PHP无外乎就是搜索一篇教程，然后拷贝粘贴。听上去似乎也没什么问题，可惜实际上网络上很多资料本身年久失修，漏洞百出，如果大家不求甚解，一味的拷贝粘贴，早晚有一天会为此付出代价。&lt;/p&gt;</description></item><item><title>状态</title><link>https://www.xiaoten.com/posts/2014/02/state-3/</link><pubDate>Wed, 26 Feb 2014 19:35:31 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/02/state-3/</guid><description>&lt;p&gt;刚买了一个马约特岛的国家域名：all.yt 绑了一个新邮箱：i@all.yt 是我目前拥有的最短域名了。。。&lt;/p&gt;</description></item><item><title>IE条件注释可以怎么玩</title><link>https://www.xiaoten.com/posts/2014/01/ie-condition-notes-can-be-how-to-play/</link><pubDate>Fri, 24 Jan 2014 09:23:58 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/01/ie-condition-notes-can-be-how-to-play/</guid><description>&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;IE条件注释（Conditional comments）是IE浏览器私有的代码，是一个类似IF判断的语法注释块，IE5之上支持。&lt;/strong&gt;&lt;/span&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="c"&gt;&amp;lt;!--[if IE 6]&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;你正在使用IE6
&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;![endif]--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;他的语法是一个普通的HTML注释 &lt;code&gt;&amp;lt;!-- comments --&amp;gt;&lt;/code&gt;，分支块以 &lt;code&gt;[if 条件(conditional)]&amp;gt;&lt;/code&gt; 开始 &lt;code&gt;&amp;lt;![endif]&lt;/code&gt; 结束。条件和JS中的if很类似，布尔值类型，可以把浏览器特性作为条件，比如IE ，IE 6， IE 7 ，此外还支持 非(!) 、与(&amp;amp;) 、或(|)、 括号、 大于(gt)、 大于等于(gte)、 小于(le) 、 小于等于(lte)。&lt;/p&gt;</description></item><item><title>SVN服务器的配置</title><link>https://www.xiaoten.com/posts/2014/01/svn-server-configuration/</link><pubDate>Wed, 15 Jan 2014 10:47:48 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/01/svn-server-configuration/</guid><description>&lt;p&gt;有两种配置方案：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一种&lt;/strong&gt;：使用 &lt;strong&gt;VisualSVN Server&lt;/strong&gt; 配置，比较简单直观&lt;br&gt;
&lt;a href="http://www.visualsvn.com/server/download/"
target="_blank" rel="noopener noreferrer"
&gt;
http://www.visualsvn.com/server/download/
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二种&lt;/strong&gt;：在公司使用的方式，使用&lt;strong&gt;传统的Subversion 服务器&lt;/strong&gt;程序，比较麻烦。&lt;/p&gt;</description></item><item><title>使用百度地图API实现轨迹回放</title><link>https://www.xiaoten.com/posts/2014/01/use-baidu-maps-api-to-achieve-track-playback/</link><pubDate>Mon, 13 Jan 2014 16:50:42 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/01/use-baidu-maps-api-to-achieve-track-playback/</guid><description>&lt;p&gt;调用百度地图API实现路线的轨迹回放功能其实很简单，只要搞懂以下几点即可：&lt;/p&gt;
&lt;p&gt;1.需要用Polyline方法先绘制好路线图&lt;/p&gt;
&lt;p&gt;2.用Marker添加标注点&lt;/p&gt;
&lt;p&gt;3.关键一步，通过结合定时器，使用Marker创建的标注点实例的setPosition改变标注点位置，实现播放功能&lt;/p&gt;</description></item><item><title>学习笔记……</title><link>https://www.xiaoten.com/posts/2014/01/study-notes/</link><pubDate>Mon, 13 Jan 2014 13:41:52 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/01/study-notes/</guid><description>&lt;p&gt;我请假回来到公司的第一个任务是配置一个maven私服，由于对于java编程是连入门了解都没有，所以是一头雾水，更不明白仓库是干什么的，直接让我配置一个maven私服。最终使用nexus配置这个私服。&lt;/p&gt;
&lt;p&gt;但是在装jdk和maven的时候有一个疑问，就是关于系统变量和用户变量的设置。装完jdk在“用户变量”中设置了JAVA_HOME变量，在系统变量的path中引用了这个变量没有任何问题，但对于maven在用户变量中设置了M2_HOME变量，在系统变量中的path中引用这个变量却没有效果。上网搜索说是用户变量能调用系统变量，但系统变量调用不了用户变量。疑惑的是为什么jdk就可以这样使用，没有出现问题。&lt;/p&gt;
&lt;p&gt;最终的解决办法，就是把变量全部设置在了系统变量里面。&lt;/p&gt;</description></item><item><title>用NEXUS搭建MAVEN私服</title><link>https://www.xiaoten.com/posts/2014/01/using-maven-to-build-nexus-private-servers/</link><pubDate>Sat, 11 Jan 2014 10:34:41 +0800</pubDate><guid>https://www.xiaoten.com/posts/2014/01/using-maven-to-build-nexus-private-servers/</guid><description>&lt;p&gt;首先介绍一下背景，公司访问外网有限制，项目组大部分人员不能访问maven的central repository，因此在局域网里找一台有外网权限的机器，搭建nexus私服，然后开发人员连到这台私服上&lt;/p&gt;
&lt;p&gt;环境是：nexus-2.1.1、maven-3.0.4、jdk-1.6.0_32&lt;/p&gt;</description></item><item><title>今天改博客名字了～</title><link>https://www.xiaoten.com/posts/2013/12/change-the-blog-name-today/</link><pubDate>Sat, 21 Dec 2013 13:41:43 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/12/change-the-blog-name-today/</guid><description>&lt;p&gt;把博客名字由PlainFoam ｜ 小十的个人博客 改为 小十的个人博客，把复杂的英文去掉了……简洁明了。想到改名字是因为今天更新了一个手机主题的插件，貌似还不错，wptouch，但是因为看到手机主题上面长长的网站名，就萌生了要改博客名的想法～就这样子了～&lt;/p&gt;</description></item><item><title>更新了wordpress 3.8</title><link>https://www.xiaoten.com/posts/2013/12/updated-wordpress-3-8/</link><pubDate>Mon, 16 Dec 2013 14:21:00 +0800</pubDate><atom:updated>Sat, 21 Dec 2013 13:46:50 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2013/12/updated-wordpress-3-8/</guid><description>&lt;p&gt;不得不说这次更新是我使用wordpress以来我感觉更新力度最大的一次了，由于是在手机端操作，不太了解主题和新版本的兼容程度，就目前后台管理的体验感觉来说，基本可以抛弃手机客户端了……&lt;/p&gt;</description></item><item><title>心情</title><link>https://www.xiaoten.com/posts/2013/12/mood-6/</link><pubDate>Sun, 01 Dec 2013 21:18:10 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/12/mood-6/</guid><description>&lt;p&gt;顾虑太多，不好，有很多想做的事，但也有更多顾虑…&lt;/p&gt;</description></item><item><title>呵呵</title><link>https://www.xiaoten.com/posts/2013/11/he-he/</link><pubDate>Sat, 16 Nov 2013 01:05:15 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/11/he-he/</guid><description>&lt;p&gt;在家，躺床上想睡睡不着。&lt;br&gt;
打开音乐播放器，找歌听，好久好久没听过歌，一看全都是英文歌，最近对英语有种爱国得厌恶。不听。打开搜索“愿得一人心”，还记得当时听这首歌的感觉。缓冲很快，听完一遍，发现还没有睡意。&lt;br&gt;
在家是第三天了，毕竟过了零点了，喉咙疼还是没好，没想着吃药，就忍着疼，这两天打扫卫生，好多灰尘，昨晚家人给我配了个新锅还有电磁炉，我爸用原来的，我嫌他用东西不知道打理，于是我要跟我爸用各自的厨具做各自得饭，看谁保持的好，必然是我…&lt;br&gt;
我妈给我的四件套没回来，这几天迁就着没有枕头得睡～&lt;br&gt;
今晚有点烦，想聊天却聊的不愉快，唉，不想了，睡觉…&lt;/p&gt;</description></item><item><title>状态</title><link>https://www.xiaoten.com/posts/2013/10/state/</link><pubDate>Wed, 23 Oct 2013 09:38:02 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/10/state/</guid><description>&lt;p&gt;终于知道为什么一读书就困了，因为读书，是梦开始的地方。( ˘ω˘ )&lt;/p&gt;</description></item><item><title>域名的这些事……</title><link>https://www.xiaoten.com/posts/2013/10/these-things-for-the-domain-name/</link><pubDate>Mon, 14 Oct 2013 09:58:04 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/10/these-things-for-the-domain-name/</guid><description>&lt;p&gt;关于xiaoten.com这个域名，我是在2011/02/02购入的，当时一同购入的是
&lt;a href="http://www.bloghost.cn"
target="_blank" rel="noopener noreferrer"
&gt;
bloghost
&lt;/a&gt;的虚拟主机，也是我第一次拥有收费网页空间的日子，从这个博客第一篇博文就可以看出。虽然在2013年5月7日将这个博客也放在了阿里云的云服务器上，但bloghost的虚拟主机一直用着。主要是这个主机商很稳定，虽然价格方面没有什么优势。当时主要是购买主机，也没有太了解域名怎么去买，去万网新网一些知名的域名商又感觉太贵。于是就直接在这个虚拟主机商这里把域名也买了，主要是他这里会一直维持60元/年的价格不变，而且是中文的网站，对于当时不会在godaddy上买域名的我是很合适的。&lt;/p&gt;</description></item><item><title>杂记一下</title><link>https://www.xiaoten.com/posts/2013/09/a-miscellany/</link><pubDate>Sun, 22 Sep 2013 10:32:21 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/09/a-miscellany/</guid><description>&lt;p&gt;工作之后就没怎么记录过了，偶尔会在茶余饭后发个帖子，就当是活跃人气了。最近发的博客都是跟技术相关的，每次定分类目录都习惯性的选上了“收藏品”，已经不怎么往“关于心情”里面添加东西。&lt;/p&gt;
&lt;p&gt;2013年8月12日，是我第一天上班，当然之前去了半天就走的公司都不算了，这个算是第一份工作了，到今天2013年9月22日已经一个月零10天了。果然工作后的日子要显得快的多。&lt;/p&gt;
&lt;p&gt;中秋回家了一趟，待了三天，第一天是中秋节，当然是晚上的时候才到的家，房子已经收拾的差不多，最起码没有太多的灰尘什么了，就跟家人在楼顶赏了会儿月亮，旁边种满了好多菜，等以后把树再种上，楼顶就好看多了。第二天是我外甥生日，这次回来我外甥学会闹人了，不过只闹我姐，给他过1周岁生日那天本来要拍照片，最后闹的拍不成。第三天是我老爸生日，不过我中午一点多就走了，没有怎么跟老爸过生日。第一次从县城直接到郑州，发现速度真是快啊，两个多小时就到了郑州南站了。不过从南站到我住的地方转车什么的也将近两个小时，到下午五点的时候才到住的地方。&lt;/p&gt;
&lt;p&gt;天气也转凉了，今天虽然是周日，但因为中秋节的缘故，规定为上班时间。果然是长时间不写，一写就成流水账，还好，说是记录么，本来就应该是像流水账一样。&lt;/p&gt;</description></item><item><title>解决Nginx下WordPress后台wp-admin不自动加斜杠问题</title><link>https://www.xiaoten.com/posts/2013/09/to-solve-the-nginx-wordpress-background-wp-admin-does-not-automatically-add-slash-problem/</link><pubDate>Wed, 11 Sep 2013 13:39:16 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/09/to-solve-the-nginx-wordpress-background-wp-admin-does-not-automatically-add-slash-problem/</guid><description>&lt;p&gt;不知道从哪次升级出现的新毛病，症状表现为，如果登陆的时候，最后形成的后台地址的wp-admin的后面没有“/”的话，不能正常的写文章等进行一系列的后台操作，提示页面404，因为没有自动加/的话，其它操作的界面的链接中就少了wp-admin，本来以为是我程序的问题，一直感觉我从2011年开始用wordpress以来，就没有重新彻底的重装过wordpress，一直升级可能会造成很多垃圾，我自己是这么想得，所以就没管过，某天闲的无聊，觉得查一下吧，后来才发现，原来是nginx的问题，这样以来我这中症状就不是个例了，于是去官方文档上搜了一下。&lt;/p&gt;</description></item><item><title>20个适合用作网页标题处英文字体演示及免费下载</title><link>https://www.xiaoten.com/posts/2013/09/20-suitable-for-use-as-a-web-page-title-in-the-english-font-demo-and-free-download/</link><pubDate>Tue, 10 Sep 2013 12:01:20 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/09/20-suitable-for-use-as-a-web-page-title-in-the-english-font-demo-and-free-download/</guid><description>&lt;p&gt;网页的header部分设计，可以说是网页整体设计中最重要的部分。而使用一个适合你自已网站风格的字体，又是重中之重。本文列举了20个适合网页头部使用的英文字体，简洁美丽大方。&lt;/p&gt;</description></item><item><title>推荐几款Web前端框架</title><link>https://www.xiaoten.com/posts/2013/09/recommend-several-web-front-end-frame/</link><pubDate>Wed, 04 Sep 2013 16:49:12 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/09/recommend-several-web-front-end-frame/</guid><description>&lt;p&gt;在做web开发的时候难免遇到一个问题，那就是，选择什么样的框架。下面把前端的框架简单的列一下。&lt;/p&gt;</description></item><item><title>修改 WordPress 发送邮件的默认邮箱和发件人</title><link>https://www.xiaoten.com/posts/2013/09/modify-wordpress-to-send-the-default-mailbox-and-the-sender-of-the-message/</link><pubDate>Mon, 02 Sep 2013 16:32:51 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/09/modify-wordpress-to-send-the-default-mailbox-and-the-sender-of-the-message/</guid><description>&lt;p&gt;因为一直都使用腾讯企业邮箱的SMTP。没有用过服务器自带的mail()函数，主要是还是自己懒得往自己服务器上加sendmail插件吧，偶然一次机会做东西，需要用到系统自定义的mail()函数，然后忽然默认情况下，WordPress 通过 mail() 函数发送的邮件的发件人是：WordPress &amp;lt;
&lt;a href="mailto:wordpress@xxx.com"
&gt;
wordpress@xxx.com
&lt;/a&gt;  &amp;gt;，这样一般是没办法让收件人直接回复的，而且很容易进入垃圾箱。&lt;/p&gt;</description></item><item><title>php提示undefined index的几种解决方法</title><link>https://www.xiaoten.com/posts/2013/08/several-solution-methods-of-php-index-undefined/</link><pubDate>Thu, 29 Aug 2013 15:08:49 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/08/several-solution-methods-of-php-index-undefined/</guid><description>&lt;p&gt;这段时间无聊的时候学了点关于PHP的东西。今天弄了一个表单，然后在一个php文件内放入了一个html表单，并定义此表单的内容传到当前页面，于是，在这里面紧接着用到的&lt;code&gt;$_POST['**']&lt;/code&gt;的内容因为表单没有填写的缘故是没有值的，于是，就会有一个没有声明变量的错误。给出一个NOTICE,是PHP中等级比较低的报错，这样的解决办法，总体大概有以下这些：&lt;/p&gt;</description></item><item><title>sublime text 3 的管理插件：package control</title><link>https://www.xiaoten.com/posts/2013/08/text-sublime-3-management-plug-in-control-package/</link><pubDate>Wed, 21 Aug 2013 09:20:33 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/08/text-sublime-3-management-plug-in-control-package/</guid><description>&lt;p&gt;依然是通过小T的介绍。为了安装 emmet 以及对 GBK 编码的支持，后来突然发现在 Sublime Text 3 版本中没有管理插件的工具，不能通过输入命令直接添加，于是就上网搜索了很多工具。&lt;/p&gt;
&lt;p&gt;关于 Sublime Text 3 版本安装插件管理来说，列举两种方法，均为网络转载，其中一个方法比较简单，但由于一个软件的链接失效，所以我没有使用，我采用的是第二种方法，把第一种方法贴出来的目的是可能以后链接生效了也不一定。&lt;/p&gt;</description></item><item><title>折腾Sublime Text</title><link>https://www.xiaoten.com/posts/2013/08/toss-text-sublime/</link><pubDate>Tue, 20 Aug 2013 17:13:09 +0800</pubDate><atom:updated>Wed, 21 Aug 2013 10:09:44 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2013/08/toss-text-sublime/</guid><description>&lt;p&gt;上班的时候突然想到了一个界面很酷的编辑器，问了小T童鞋之后，他又向我介绍了 Zen coding（现名 emmet）。甚感强大，又由于看到小T截图的软件界面的UI很帅，又问出了主题包出处，就了解到了在
&lt;a href="http://immmmm.com/"
target="_blank" rel="noopener noreferrer"
&gt;
木木木木木
&lt;/a&gt;博客上面的内容，下面的内容多为转载，为了留个备忘。&lt;/p&gt;
&lt;h2 id="资料推荐"&gt;资料推荐&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;系列介绍&lt;/strong&gt;：http://kevintsengtw.blogspot.com/p/sublime-text-2.html&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;设置文件 Preferences.sublime-settings 详解&lt;/strong&gt;：http://www.feelcss.com/sublime-text-2-settings.html&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;推荐主题 st2-nil-theme&lt;/strong&gt;：https://github.com/nilium/st2-nil-theme&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="用户配置"&gt;用户配置&lt;/h2&gt;
&lt;div class="codeblock-container"&gt;
&lt;div class="codeblock" data-codeblock data-lines="12" data-collapsed-lines="5"&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;color_scheme&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Packages/User/Monokai-custom.tmTheme&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="c1"&gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;theme&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Nil.sublime-theme&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 设置新调用主题，更改了ST2程序的UI
&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 class="nt"&gt;&amp;#34;font_face&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;YaHei Consolas Hybrid&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="c1"&gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;font_size&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;11.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 设置默认字号（平时直接 Ctrl+中键滚动）
&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 class="nt"&gt;&amp;#34;caret_style&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;phase&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="c1"&gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;highlight_line&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 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 class="nt"&gt;&amp;#34;line_padding_bottom&amp;#34;&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 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 class="nt"&gt;&amp;#34;line_padding_top&amp;#34;&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="nt"&gt;&amp;#34;margin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&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="c1"&gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;word_wrap&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="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 class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="codeblock__remain" aria-hidden="true"&gt;&lt;span&gt;剩余 7 行代码&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="codeblock__actions"&gt;
&lt;button type="button" class="codeblock__toggle" hidden aria-expanded="false"&gt;展开剩余代码&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="推荐的插件"&gt;推荐的插件&lt;/h2&gt;
&lt;h3 id="插件及快捷键"&gt;插件及快捷键&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Alt+K&lt;/code&gt;&lt;/strong&gt; - KeymapManager，快捷键管理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Alt+V&lt;/code&gt;&lt;/strong&gt; - Clipboard History，剪切板历史&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Alt+Enter&lt;/code&gt;&lt;/strong&gt; - ZenCoding，不解释&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Alt+A&lt;/code&gt;&lt;/strong&gt; - Alignment，JavaScript 代码对齐&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Alt+Up&lt;/code&gt;、&lt;code&gt;Alt+Down&lt;/code&gt;&lt;/strong&gt; - BracketHighlighter，快速在一对标签内切换&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SmartMarkdown&lt;/strong&gt; - MD文件编写简单的补全&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MarkDown preview&lt;/strong&gt; - MD文件预览&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Markdown to Clipboard&lt;/strong&gt; - 文档内鼠标右键复制MD转化为HTML后的代码&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="常用快捷键"&gt;常用快捷键&lt;/h2&gt;
&lt;h3 id="通用快捷键"&gt;通用快捷键&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+P&lt;/code&gt;&lt;/strong&gt; - 超快速匹配搜索&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Shift+右键&lt;/code&gt;&lt;/strong&gt; - 方形区域选择&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+左键&lt;/code&gt;&lt;/strong&gt; - 可选不连续代码&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="文本操作"&gt;文本操作&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+K,U&lt;/code&gt;&lt;/strong&gt; - 改为大写&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+K,L&lt;/code&gt;&lt;/strong&gt; - 改为小写&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+/&lt;/code&gt;&lt;/strong&gt; - 注释&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+D&lt;/code&gt;&lt;/strong&gt; - 选中光标所在字符串（按住继续选择下个相同字符串）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Alt+F3&lt;/code&gt;&lt;/strong&gt; - 选中与光标处相同的全部词&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+M&lt;/code&gt;&lt;/strong&gt; - 光标移动至括号前或后&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+M&lt;/code&gt;&lt;/strong&gt; - 选中括号内的内容（按住继续选中前后括号）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="行操作"&gt;行操作&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+L&lt;/code&gt;&lt;/strong&gt; - 选中行（按住继续选中下行）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+J&lt;/code&gt;&lt;/strong&gt; - 合并行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+↑&lt;/code&gt;&lt;/strong&gt; - 与上行互换&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+↓&lt;/code&gt;&lt;/strong&gt; - 与下行互换&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+K&lt;/code&gt;&lt;/strong&gt; - 删除整行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+D&lt;/code&gt;&lt;/strong&gt; - 复制整行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+L&lt;/code&gt;&lt;/strong&gt; - 同时编辑所选行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+K,Backspace&lt;/code&gt;&lt;/strong&gt; - 从光标处删除至行首&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+K,K&lt;/code&gt;&lt;/strong&gt; - 从光标处删除至行尾&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Enter&lt;/code&gt;&lt;/strong&gt; - 光标所在行后插入行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+Shift+Enter&lt;/code&gt;&lt;/strong&gt; - 光标所在行前插入行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+F2&lt;/code&gt;&lt;/strong&gt; - 设置书签&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;F2&lt;/code&gt;&lt;/strong&gt; - 下一个书签&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Shift+F2&lt;/code&gt;&lt;/strong&gt; - 上一个书签&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="功能设置"&gt;功能设置&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Alt+Shift+2&lt;/code&gt;&lt;/strong&gt; - 窗口两列显示&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Alt+Shift+8&lt;/code&gt;&lt;/strong&gt; - 窗口两行显示&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+K,B&lt;/code&gt;&lt;/strong&gt; - 开启/关闭侧边栏，按住 Ctrl、按 K、松开、再按 B&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+PageDown&lt;/code&gt;&lt;/strong&gt;、&lt;strong&gt;&lt;code&gt;Ctrl+PageUp&lt;/code&gt;&lt;/strong&gt; - 文件按开启的前后顺序切换&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ctrl+P&lt;/code&gt;&lt;/strong&gt; - 快速搜索切换文件，再输入 &lt;strong&gt;&lt;code&gt;@&lt;/code&gt;&lt;/strong&gt; 查找文件主标题/函数；或者输入 &lt;strong&gt;&lt;code&gt;:&lt;/code&gt;&lt;/strong&gt;，跳转到文件某行&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="package-control-安装"&gt;Package Control 安装&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;（仅适用于 Sublime Text 2，Text 3 中由于更新了 python 函数，无法安装，但是由于 Text 3 为测试版，插件也不是很多，等成熟以后更新）&lt;/p&gt;</description></item><item><title>最近的厨艺……</title><link>https://www.xiaoten.com/posts/2013/07/recent-culinary-skills/</link><pubDate>Sat, 20 Jul 2013 11:22:07 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/07/recent-culinary-skills/</guid><description>&lt;p&gt;最近的厨艺，可以用突飞猛进来形容吗？我没有要自恋的意思，可是我感觉我这个人怎么有这么值得自豪的必要？！&lt;/p&gt;
&lt;p&gt;昨天好友东东来到我住的地方，去到郑州火车站接他，顿时感觉这个社会很乱啊，先是前几天发现的住的地方的红灯区，然后又看到郑州火车站两个冠冕堂皇的小女孩去明目张胆地骗我，给了3块钱零钱不了了之，然后又看到火车站争吵吵架的场面，只见一个农民大叔一直在拿手扇自己的脸，然后一堆堆的人就在那看着，有几个女人看不下去，上去劝了两句。可惜我个人的能力无法去帮助，只能当成一个冷漠的过路人，去接东东。熙攘的人群，人人看着都那么匆忙焦急而又面无表情……还好东东是我见到的第一个会笑的人。&lt;/p&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;</description></item><item><title>郑州……</title><link>https://www.xiaoten.com/posts/2013/07/zhengzhou/</link><pubDate>Mon, 15 Jul 2013 21:54:22 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/07/zhengzhou/</guid><description>&lt;p&gt;来到郑州有些日子了。&lt;/p&gt;
&lt;p&gt;但是这些日子并不好过，我住的地方算是几个城中村中最繁华的一个了，据说活跃人口10万人。可当听到这里哪天死了一个人，那里发现一个死了一个月的尸体的时候，就感觉基数大的时候，会遇见很多很奇葩的事情。&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>离开</title><link>https://www.xiaoten.com/posts/2013/06/leave/</link><pubDate>Mon, 24 Jun 2013 23:08:51 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/06/leave/</guid><description>&lt;p&gt;2009年9月，进入焦作这个城市。2013年6月，离开这个城市，目的地未知，可能把希望都寄托在家里。&lt;/p&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;
&lt;p&gt;看着熟悉的宿舍门，看着熟悉的过道，熟悉的工作室，熟悉的教学楼，不知道什么时候这些景物在脑海中淡化。班级最后一次聚餐，开心得在每一个人身上签的名字，能铭记多久。看到空间上大家传的照片，大家开心的合影，不知道以后再次相聚的笑容能不能像这样天真。。&lt;/p&gt;
&lt;p&gt;与我搭伴多年的琨琨，不知道还能不能吃上一顿最后一餐…&lt;/p&gt;
&lt;p&gt;各位朋友同学，一路顺风……&lt;/p&gt;</description></item><item><title>看了鬼片</title><link>https://www.xiaoten.com/posts/2013/06/see-the-ghost/</link><pubDate>Sun, 16 Jun 2013 22:27:53 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/06/see-the-ghost/</guid><description>&lt;p&gt;今天白天下午跟徐冰洁还有薛新跃一起去电影院看了《枕边有张脸》。&lt;/p&gt;
&lt;p&gt;由于是第一次看鬼片，从头到尾都看完了，突然就发现鬼片除了音效和特效没别的了。剧情很一般，悬疑色彩也不弄，不知道别的鬼片是不是也是这样。&lt;/p&gt;</description></item><item><title>要毕业的这几天</title><link>https://www.xiaoten.com/posts/2013/06/to-graduate-from-these-days/</link><pubDate>Sat, 15 Jun 2013 16:40:19 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/06/to-graduate-from-these-days/</guid><description>&lt;p&gt;在扣扣空间里面写了篇日志叫“没毕业”。&lt;/p&gt;
&lt;p&gt;晚上无聊的产物，所以我定义当时的我是脑袋秀逗掉了，其实毕业没毕业有什么差距，我到现在也感觉不到，所以这次写就不再无病呻吟貌似牢骚般一样不愿承认自己毕业这一个事实。其实有些人期待着毕业，不像我倒期待学校以种种借口让我困在学校，让我下半年有个安生的地方，可以做自己不得不做的事情，可是学校不给我这个机会，我当然也没有勇气去创造这个机会，我倒希望这个机会来得巧合而不是必然，不然让家人不开心就得不偿失了。像我这么顾忌这么多事情的人是成不了大事的吧。&lt;/p&gt;</description></item><item><title>以后要这样教育我孩子，一个中学生的发言稿。</title><link>https://www.xiaoten.com/posts/2013/06/after-that-i-will-teach-my-children-a-high-school-students-speech/</link><pubDate>Sat, 08 Jun 2013 11:12:03 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/06/after-that-i-will-teach-my-children-a-high-school-students-speech/</guid><description>&lt;p&gt;大家好，我是王宁。&lt;/p&gt;
&lt;p&gt;今天能站在这里，纯属偶然。&lt;/p&gt;
&lt;p&gt;什么说偶然呢，因为，南雅是个人才济济的地方，164班是一个优秀的集体。个人认为，班级前二十几名的同学，时机适宜，谁考班上第一名都有可能。妈妈对我说：考了第一名，不要有压力，这一次已证明了你有考第一名的实力。以后，出现名次上下浮动都很正常，以平常心对待。&lt;/p&gt;
&lt;p&gt;先说明一下，因为时间紧，这份发言稿是我和爸爸妈妈一起写的，下面就孩子的学习和家庭教育的几个观点和大家探讨一下：&lt;/p&gt;</description></item><item><title>六一儿童节</title><link>https://www.xiaoten.com/posts/2013/06/61/</link><pubDate>Sat, 01 Jun 2013 18:19:45 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/06/61/</guid><description>&lt;p&gt;很开心，网易邮箱的6.1儿童节的专题界面勾起了我写东西的想法。&lt;/p&gt;
&lt;p&gt;虽然会曾经觉得自己是一个会写东西的人，可往往敲出第一个字的时候已经忘了最后一段要写什么，然后写完第一段，全篇要写什么就已经忘了。这也就是为什么行动和想法会不一致。特别对于天秤这个特别纠结的星座来说。&lt;/p&gt;</description></item><item><title>我怎样一个人</title><link>https://www.xiaoten.com/posts/2013/05/whats-me/</link><pubDate>Tue, 28 May 2013 11:44:15 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/05/whats-me/</guid><description>&lt;p&gt;脑残文，只代表一时间的意识形态，不能说明我的本身。&lt;/p&gt;
&lt;p&gt;我是个乐观开朗乐善好施乐于助人乐此不彼又积极向上勇于进取的优秀好青年。&lt;/p&gt;</description></item><item><title>生命不止，奋斗不息。</title><link>https://www.xiaoten.com/posts/2013/05/fighting/</link><pubDate>Fri, 10 May 2013 21:57:09 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/05/fighting/</guid><description>&lt;p&gt;曾经在2008年的时候，也有这样的心情。&lt;/p&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;
&lt;p&gt;我想奋斗，希望有人能够一起，可惜想来想去就我一个人。我喜欢的是热闹，又特怕热闹。但一直没处于安静氛围的我会不会不适应。有谁是和我一个起跑线，有谁能够站在我的圈子里。&lt;/p&gt;
&lt;p&gt;奋斗不息的是想法，生命不止的是坚持。&lt;/p&gt;</description></item><item><title>LNMP设置Nginx 404错误页教程[图解]</title><link>https://www.xiaoten.com/posts/2013/05/404error/</link><pubDate>Wed, 08 May 2013 10:16:39 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/05/404error/</guid><description>&lt;p&gt;404错误是WWW网站访问容易出现的错误。最常见的出错提示：404 NOT FOUND。404错误页的设置对网站SEO有很大的影响，而设置不当，比如直接转跳主页等，会被搜索引擎降权拔毛。404页面的目的应该是告诉用户：你所请求的页面是不存在的，同时引导用户浏览网站其他页面而不是关掉窗口离去。搜索引擎通过HTTP状态码来识别网页的状态。当搜索引擎获得了一个错误链接时，网站应该返回404状态码，告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码，搜索引擎就会为该链接建立索引，这导致大量不同的链接指向了相同的网页内容。结果是，搜索引擎对网站的信任度大幅降低。&lt;/p&gt;</description></item><item><title>考试之后的事情</title><link>https://www.xiaoten.com/posts/2013/05/things-after-the-exam/</link><pubDate>Tue, 07 May 2013 13:42:50 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/05/things-after-the-exam/</guid><description>&lt;p&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;出去这件事就是一个毕业旅行了。不知道班级最终会决定去哪里。 不过最值得期待的就是这个了……&lt;/p&gt;</description></item><item><title>网站备案成功了~~~</title><link>https://www.xiaoten.com/posts/2013/05/web-site-for-the-success-of-the-record/</link><pubDate>Mon, 06 May 2013 19:37:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/05/web-site-for-the-success-of-the-record/</guid><description>&lt;p&gt;以为个人网站能够坚持一直使用国外的服务器呢。。结果还是给备案了。记下这个时间吧~~&lt;/p&gt;</description></item><item><title>小别胜新婚了……</title><link>https://www.xiaoten.com/posts/2013/03/reunion-after-a-brief-parting-is-as-sweet-as-a-honeymoon/</link><pubDate>Sat, 30 Mar 2013 21:34:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/03/reunion-after-a-brief-parting-is-as-sweet-as-a-honeymoon/</guid><description>&lt;p&gt;听我妈妈今天讲11天了，来到成都11天了，也就预示着我与网络断绝了11天的联系。可是现在感觉这11天的时间怎么这么漫长。&lt;/p&gt;
&lt;p&gt;参加了研究生复试，之前没有预料到的复试，18号开始知道了通知，开始准备，到28号参加笔试，中间又疲惫的奔波在路上，漫无目的悠哉地看书经历，真正投入的时间有多少。不过结果也必然是败下了……&lt;/p&gt;
&lt;p&gt;成都的气候果然不错，风景也很舒服，路边都是树，人性化的交通，饭菜也很好吃。&lt;/p&gt;
&lt;p&gt;今天晚上终于出来去了一个网吧，本来要开始401集的海贼王，可是网速限制了好多，下载速度只有不到100kb/s，不知道是不是所有的网吧都是这样……&lt;/p&gt;
&lt;p&gt;虽然结果很不理想，但是跟两个博士的交流中知道了很多，这是最大的收获吧~~~&lt;/p&gt;</description></item><item><title>心情</title><link>https://www.xiaoten.com/posts/2013/03/mood-5/</link><pubDate>Fri, 29 Mar 2013 21:47:57 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/03/mood-5/</guid><description>&lt;p&gt;有时候还挺累，难道注定要束缚在自己的怪圈里面？没有人能够跟我分享心情了，这种失与得的价值只有很多年后才能感觉到吧～多想找一个人能毫无顾忌地闲扯一下啊～&lt;/p&gt;</description></item><item><title>好长的一段旅程</title><link>https://www.xiaoten.com/posts/2013/03/a-long-journey/</link><pubDate>Sat, 23 Mar 2013 07:54:17 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/03/a-long-journey/</guid><description>&lt;p&gt;坐上火车了，要坐最久的一趟火车，不知道回来的心情该是咋样，投入太多，又不能有期望……&lt;/p&gt;</description></item><item><title>心情</title><link>https://www.xiaoten.com/posts/2013/03/mood-3/</link><pubDate>Thu, 14 Mar 2013 18:05:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/03/mood-3/</guid><description>&lt;p&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;在能力没有培养好而且三观随意转换的我……&lt;/p&gt;</description></item><item><title>最近的北京</title><link>https://www.xiaoten.com/posts/2013/03/recent-beijing/</link><pubDate>Fri, 08 Mar 2013 23:21:05 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/03/recent-beijing/</guid><description>&lt;p&gt;上完课程之后，就一直在北京待着了，待在了周老大的宿舍。&lt;/p&gt;
&lt;p&gt;作为第一次来到帝都并且对帝都充满好奇的我，看了帝都的风景特别是环境，就特别失望了。&lt;/p&gt;
&lt;p&gt;但是但是。我看了各种各样的名校。由于不想早早去工作，所以我还是很有名校情结的。看了各种各样的名校之后。。。就立志要考名校了。虽然不是北京的学校。&lt;/p&gt;</description></item><item><title>毕业论文的研究方法概述</title><link>https://www.xiaoten.com/posts/2013/02/an-overview-of-the-research-methods-of-graduation-thesis/</link><pubDate>Fri, 22 Feb 2013 00:04:37 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/02/an-overview-of-the-research-methods-of-graduation-thesis/</guid><description>&lt;p&gt;最近在写&lt;strong&gt;毕业论文&lt;/strong&gt;，碰到&lt;strong&gt;研究方法&lt;/strong&gt;一栏，不知道怎么填，便在搜索引擎中搜了一下，结果发现有这类问题的朋友还真不少，比如在百度知道很多人提过这类问题，但都没有得到很好的答案。所以我便利用自己的搜索技术，总结了如下的《毕业论文研究方法概述》，希望能够帮到有这类问题的朋友们。&lt;/p&gt;
&lt;p&gt;毕业论文的研究方法主要有（有遗漏的请大家补充）：&lt;/p&gt;</description></item><item><title>图片记事</title><link>https://www.xiaoten.com/posts/2013/02/picture-recording/</link><pubDate>Fri, 15 Feb 2013 17:28:30 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/02/picture-recording/</guid><description>&lt;p&gt;时间段：2013年2月6日 至 2013年2月15日&lt;/p&gt;</description></item><item><title>记事</title><link>https://www.xiaoten.com/posts/2013/02/remember/</link><pubDate>Fri, 15 Feb 2013 17:01:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/02/remember/</guid><description>&lt;p&gt;昨天是传统情人节，中午平顶山的P妹来我家了，Z君也勇敢的迈出恋爱的第一步，与X君见面，并献出人生第一个初吻（= = 感觉哪里不对）。&lt;/p&gt;
&lt;p&gt;今天我终于做出了一个巨大的决定，因为整理了一下口袋里面混乱不堪的钱币发现我应该养成一个强迫症应该有的好习惯……记账……&lt;/p&gt;
&lt;p&gt;正发愁用什么记账软件就在微博上看到T君的选择是挖财，与是义无反顾下载了那个软件。&lt;/p&gt;
&lt;p&gt;今天见了泌阳的焦氏家谱。很新鲜也好奇。以后我也要弄一个……哈哈哈！&lt;/p&gt;</description></item><item><title>这些天……</title><link>https://www.xiaoten.com/posts/2013/02/these-days/</link><pubDate>Sun, 10 Feb 2013 21:38:11 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/02/these-days/</guid><description>&lt;p&gt;这次不做图……&lt;/p&gt;
&lt;p&gt;上次写文章的时候考研成绩应该还没有出来吧。。&lt;/p&gt;
&lt;p&gt;现在成绩已经出来了，不过具体是哪天出来的真的有点恍惚了、是2月4号吧。然后过两天好像英语二也出来了……&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>设计师必备工具推荐</title><link>https://www.xiaoten.com/posts/2013/01/whats-new-for-designers/</link><pubDate>Mon, 28 Jan 2013 22:53:42 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/01/whats-new-for-designers/</guid><description>&lt;p&gt;&lt;img src="images/Untitled-1.jpg"
alt="Untitled-1"
loading="lazy"
decoding="async"width="614" height="219"&gt;
&lt;/p&gt;</description></item><item><title>蹭个英文名……</title><link>https://www.xiaoten.com/posts/2013/01/jiosanity/</link><pubDate>Sun, 27 Jan 2013 16:44:42 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/01/jiosanity/</guid><description>&lt;p&gt;&lt;img src="images/jiosanity.jpg"
alt="jiosanity"
loading="lazy"
decoding="async"width="614" height="212"&gt;
&lt;/p&gt;</description></item><item><title>扯点最近在干嘛……</title><link>https://www.xiaoten.com/posts/2013/01/what-are-you-doing-lately/</link><pubDate>Tue, 22 Jan 2013 23:23:01 +0800</pubDate><atom:updated>Sun, 27 Jan 2013 16:48:39 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2013/01/what-are-you-doing-lately/</guid><description>&lt;p&gt;&lt;img src="images/011.jpg"
alt="011"
loading="lazy"
decoding="async"width="720" height="249"&gt;
&lt;/p&gt;</description></item><item><title>马上就是博客二周年了……</title><link>https://www.xiaoten.com/posts/2013/01/its-the-two-year-anniversary-of-the-blog/</link><pubDate>Fri, 18 Jan 2013 13:33:21 +0800</pubDate><guid>https://www.xiaoten.com/posts/2013/01/its-the-two-year-anniversary-of-the-blog/</guid><description>&lt;p&gt;马上就是博客二周年了……我是不是应该记录些什么……已经过了两年，网站对我来说还涵盖着什么意义……&lt;/p&gt;</description></item><item><title>心情</title><link>https://www.xiaoten.com/posts/2012/12/mood-2/</link><pubDate>Mon, 24 Dec 2012 01:10:06 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/12/mood-2/</guid><description>&lt;p&gt;突然就感觉上学是在玩，负起责任在得病期间做自己想干的事的时候就突然觉得我玩了好久了。&lt;/p&gt;</description></item><item><title>最后二十多天</title><link>https://www.xiaoten.com/posts/2012/12/last-more-than-twenty-days/</link><pubDate>Thu, 06 Dec 2012 23:04:58 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/12/last-more-than-twenty-days/</guid><description>&lt;p&gt;今天开始看政治，突然发现好多要背的。顿时有压力了，就是二十几天了。我这考研真成了重在参与了……&lt;/p&gt;</description></item><item><title>3分钟弄懂中国金融体系——钱是如何流动的？</title><link>https://www.xiaoten.com/posts/2012/12/how-to-flow-3-minutes-to-understand-the-financial-system-money-is-the-china/</link><pubDate>Sat, 01 Dec 2012 22:32:47 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/12/how-to-flow-3-minutes-to-understand-the-financial-system-money-is-the-china/</guid><description>&lt;p&gt;【转自网络……】&lt;/p&gt;
&lt;p&gt;金融风暴、债务危机、房地产资金链断裂、财政赤字、个税……这么多的金融术语，让非金融界人士有点犯晕。作为公司未来的管理者，基本的金融常识必须有所了解。了解金融先从了解钱开始吧，你可以不了解宏观经济，可以不了解国际贸易，但是不了解钱还真说不过去——谁会和钱过不去呢？&lt;/p&gt;</description></item><item><title>少年派的奇幻漂流……</title><link>https://www.xiaoten.com/posts/2012/11/life-of-pi/</link><pubDate>Fri, 30 Nov 2012 01:28:04 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/11/life-of-pi/</guid><description>&lt;p&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;原来自己还太幼稚，宗教所谓的极乐世界根本不存在，绮丽的梦终归是虚幻，于是Pi带着老虎再次起航。&lt;/p&gt;
&lt;p&gt;人的本质不是善恶，人性中善与恶，理性与欲望并存，在某种关系下理性凸显，在某种关系下恶复活。马克思说：&amp;ldquo;人的本质不是单个人的所固有的抽象物，在其现实性上，是一切社会关系的总和。&amp;ldquo;人的本质，不过是那一系列关系罢了。&lt;/p&gt;</description></item><item><title>壳郎～～</title><link>https://www.xiaoten.com/posts/2012/11/ke-lang/</link><pubDate>Wed, 21 Nov 2012 23:25:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/11/ke-lang/</guid><description>&lt;p&gt;今天壳郎跟我联系，他已经保上本校的硕博连读，研究变为arm方向了～～然后也同时为俄罗斯准备，每天在攻俄语～他的金发女郎梦不远了～&lt;/p&gt;</description></item><item><title>心情</title><link>https://www.xiaoten.com/posts/2012/11/mood/</link><pubDate>Sat, 17 Nov 2012 22:08:09 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/11/mood/</guid><description>&lt;p&gt;转下今天在扣扣空间上更新的签名吧，证明我真的认真了：本人为考研做最后无谓地挣扎，故闭关修炼，在此期间若看到我在线，则在线的只是我的肉体，灵魂不在，故劝诸位不要做无谓地挣扎，我电话已跟三块电池协商开通24小时在线业务，故您懂的～&lt;/p&gt;</description></item><item><title>自适应网页设计（Responsive Web Design）</title><link>https://www.xiaoten.com/posts/2012/11/responsive_web_design/</link><pubDate>Wed, 14 Nov 2012 00:01:38 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/11/responsive_web_design/</guid><description>&lt;p&gt;随着3G的普及，越来越多的人使用手机上网。&lt;/p&gt;
&lt;p&gt;移动设备正超过桌面设备，成为访问互联网的最常见终端。于是，网页设计师不得不面对一个难题：如何才能在不同大小的设备上呈现同样的网页？&lt;/p&gt;
&lt;p&gt;&lt;img src="images/bg2012050101.jpg"
alt="bg2012050101"
loading="lazy"
decoding="async"width="650" height="300"&gt;
&lt;/p&gt;</description></item><item><title>风波未平……</title><link>https://www.xiaoten.com/posts/2012/11/the-storm-is-not-flat/</link><pubDate>Tue, 13 Nov 2012 00:01:50 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:05:13 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/11/the-storm-is-not-flat/</guid><description>&lt;p&gt;说到风波，让我想起风波莊，字可能写错了，不过是薛同学带我去的一个吃饭的地方，想到了里面人报饭时的江湖口音，有特色的各大门派的墙画还有各种江湖菜名融入到各个菜中，甚至连筷子也叫了进去……饭菜不贵，男的好多光头，叫着顾客为侠客、女侠……离开店门的时候还有很有气势的话送给离开的顾客……&lt;/p&gt;
&lt;p&gt;又想到了前几日工作室的娃子们好多去实习，在帝都。在创新工场……又有今天看到苹果跟HTC和平处理了版权争端……貌似矛头已经转向三星，一个十年前不起眼的小公司，也让苹果有这么大动静了……&lt;/p&gt;</description></item><item><title>12岁前要做的50件事</title><link>https://www.xiaoten.com/posts/2012/11/50-things-to-do-before-the-age-of-12/</link><pubDate>Mon, 12 Nov 2012 00:56:13 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:05:52 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/11/50-things-to-do-before-the-age-of-12/</guid><description>&lt;p&gt;近日，英国一家民间组 织“国民信托”公布了一份调 查报告，现在12岁以下的孩 子，有三分之一从来没有上过墙、爬过 树，10个人里有一个甚至连自行车都不 会骑。为鼓励孩子接触自然，“国民信托 ”列举了50件少儿户外活动项目，鼓励少 年儿童多多出门玩耍。看到这些项目， 即使作为一个成年人，我们都可以想一 想，我们与自然亲近吗？&lt;/p&gt;</description></item><item><title>看着那些搞设计的……</title><link>https://www.xiaoten.com/posts/2012/11/look_at_the_designer/</link><pubDate>Wed, 07 Nov 2012 23:48:37 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:07:02 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/11/look_at_the_designer/</guid><description>&lt;p&gt;心情不好的时候就会上网，这段时间除了海贼王就是海贼王，因为心情不好的时间段急剧扩张，也同时加快了我看海贼王的进度……&lt;/p&gt;
&lt;p&gt;从看海贼王的过程中也学习到很多东西（像是写检讨、报告、观后感一类的东西……），最重要的一点就是，因为海贼王我荒废了很多东西，所以说很多人说这是一部励志片，但是看的过程也是自己堕落的过程，励志什么的只会随着故事的主人公的心情此起彼伏，故事情节让主人公开心，你就跟着开心，如果不让他们过得舒服，你心理就休想过得舒服……不过海贼王相当好看还是不可否认的，而且海贼王的励志效果主要也就在当你看过之后，你会突然发现，看他并不是在励志，这也就是海贼王要给你的效果……&lt;/p&gt;
&lt;p&gt;曾经想要找些治愈类的电影，翻看小T曾经给我推荐的动漫……还有工作室某漫迷推荐的，后来感觉连载集数太少，容易看完之后就想着寻下一目标，而且容易沉浸于故事的结尾几天都不能自拔，后来就放弃了，就看了传说中的励志路飞……&lt;/p&gt;
&lt;p&gt;貌似这些都跟题目没有关系，我打算写一篇正常的文章已经打算了很久……曾经发了好几篇有病呻吟的文章却不能得到广泛的理解和同情，突然发现自己的存在是多么得渺小，我没有那些自杀了的文人的觉悟，所以我想说的并不深奥，只是我不善于表达。于是我寻着通俗文雅又不落俗套的文章手法的时候，我发现自己不是一个擅于写文章的人干嘛追究于这些……于是还是自己的风格，或者不能称之为风格的模式而已。&lt;/p&gt;</description></item><item><title>空白</title><link>https://www.xiaoten.com/posts/2012/11/blank/</link><pubDate>Fri, 02 Nov 2012 22:43:03 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:07:40 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/11/blank/</guid><description>&lt;p&gt;在周围一切突然就变得无关的时候，自己孤立的处在一个狭小的空间中，封闭的窗子和昏暗的灯光下面疲惫的眼神……&lt;/p&gt;
&lt;p&gt;有时候就会觉得有些经历变得有些超出自己的承受能力，同样日复一日接收者外界的消息，跟自己有关还是无关都不重要，重要的是对于自己的意义已经完全丧失在很早之前，想要找回当时的感觉的时候，已经流连于新的生活路径，也忘了返程的途径了。&lt;/p&gt;
&lt;p&gt;11月2号，已经进入十一月了，十月的漫长并不是我之前所期待的，漫长带给我的并不是充裕，而是更加长久的历练。历练着本就毫无结果的一个内心，内心膨胀着进入十一月后多的也只是忐忑不安。&lt;/p&gt;
&lt;p&gt;何时能够让自己安定，真是一种奢望……&lt;/p&gt;</description></item><item><title>有点烦，不太妙</title><link>https://www.xiaoten.com/posts/2012/10/a-little-boring-not-so-wonderful/</link><pubDate>Fri, 26 Oct 2012 09:36:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/10/a-little-boring-not-so-wonderful/</guid><description>&lt;p&gt;以前，会把考研当成第一要务，必须要完成，现在却把考研当成一种负担，越来越明显的倦怠了，怎么办。&lt;/p&gt;</description></item><item><title>1927年索尔维会议照片，几乎囊括了20世纪的人类智慧！</title><link>https://www.xiaoten.com/posts/2012/10/in-1927-the-solvay-conference-photos-almost-all-human-wisdom-in-twentieth-century/</link><pubDate>Thu, 25 Oct 2012 23:19:28 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/10/in-1927-the-solvay-conference-photos-almost-all-human-wisdom-in-twentieth-century/</guid><description>&lt;p&gt;&lt;img src="images/64a2c369jw1dy7umitmgij.jpg"
alt="64a2c369jw1dy7umitmgij"
loading="lazy"
decoding="async"width="1280" height="1378"&gt;
&lt;/p&gt;</description></item><item><title>最近的幸运~</title><link>https://www.xiaoten.com/posts/2012/10/lucky/</link><pubDate>Wed, 03 Oct 2012 00:48:12 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:09:08 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/10/lucky/</guid><description>&lt;p&gt;我的小外甥&lt;del&gt;先上靓照&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/IMAG0027.jpg"
alt="" title="IMAG0027"
loading="lazy"
decoding="async"width="2448" height="3264"&gt;
&lt;/p&gt;
&lt;p&gt;看到小生命的诞生，我就越发地喜欢小宝宝啦，我外甥农历八月十六，阳历十月一号，上午九点整出生，体重6.8斤~数字都很顺利。&lt;/p&gt;
&lt;p&gt;在我跟我姐姐还能清晰记得我们小时候玩耍的情景的时候，已经开始成为担当父母角色的人了，时间过得真的好快~&lt;/p&gt;</description></item><item><title>有时人会一不小心犯贱了。</title><link>https://www.xiaoten.com/posts/2012/09/sometimes-people-will-accidentally-bitchy/</link><pubDate>Sun, 23 Sep 2012 23:21:24 +0800</pubDate><atom:updated>Sat, 06 Dec 2014 23:20:25 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/09/sometimes-people-will-accidentally-bitchy/</guid><description>&lt;p&gt;想写东西的时候又突然不想写了。&lt;/p&gt;
&lt;p&gt;人就是动物。动物的本性什么的很难改变。会不会又变成一篇消极低落无聊空虚寂寞无奈的牢骚文，不知道，谁让我只有心情不爽的时候才有写东西的冲动。&lt;/p&gt;
&lt;p&gt;所以，杜绝这种文章的根本办法，就是止笔不写。&lt;/p&gt;</description></item><item><title>会不会扼杀我的气度</title><link>https://www.xiaoten.com/posts/2012/09/kill-my-tolerance/</link><pubDate>Tue, 18 Sep 2012 12:22:55 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:09:43 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/09/kill-my-tolerance/</guid><description>&lt;p&gt;谈到气度问题，我感觉我的气度是跟电脑息息相关的，我每次想到电脑都能想到我蜷缩身子探着脑袋一副猥琐而又狼藉的形象囤积在电脑面前不合理的板凳上面，所以我的气度就是这样的，改变不了。想着通过练肌肉来磨练一下自己的气度，变为气质，后来发现我还是不喜欢气质，不喜欢的理由很简单，我生来就是为气度而生，而不是气质。&lt;/p&gt;</description></item><item><title>美国打造“百年星舰” 欲带人类冲出太阳系</title><link>https://www.xiaoten.com/posts/2012/09/the-united-states-to-create-a-hundred-years-starship-to-take-the-human-out-of-the-solar-system/</link><pubDate>Mon, 10 Sep 2012 22:47:29 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:10:04 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/09/the-united-states-to-create-a-hundred-years-starship-to-take-the-human-out-of-the-solar-system/</guid><description>&lt;p&gt;[&lt;img src="images/0.jpg"
alt="0"
loading="lazy"
decoding="async"width="550" height="359"&gt;
]&lt;/p&gt;</description></item><item><title>上个世纪的僧活，下个世纪的堕落。</title><link>https://www.xiaoten.com/posts/2012/09/the-life-of-last-century-the-fall-of-the-next-century/</link><pubDate>Sat, 01 Sep 2012 12:50:33 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:10:21 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/09/the-life-of-last-century-the-fall-of-the-next-century/</guid><description>&lt;p&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;有位妹子曾讲：人都是犯贱的动物，明知道前面是一个坑，却还要跨过去，只有这样才能成长。&lt;/p&gt;
&lt;p&gt;又有位仁兄曾讲：看你这头发也就算个三四十岁的人。&lt;/p&gt;
&lt;p&gt;我这是要成长成啥样的后果啊，我三四十岁都，“也就算”三字用的我是十足得不爽快啊……话说这位仁兄即乒协相关的会长……&lt;/p&gt;
&lt;p&gt;可见我历经的坑也是连绵不断此起彼伏地延绵悠长啊……&lt;/p&gt;
&lt;p&gt;从我小时候的沉默寡言、活蹦乱跳，到我现在的寂寞空虚，情有独钟……这个世纪的交界十足把我扭了个180度的改变。没有人会比我更懂得珍惜这样的改变，我的恨与惦记会让这个改变伴随我一世……&lt;/p&gt;
&lt;p&gt;僧活，再见；堕落，滚蛋。&lt;/p&gt;</description></item><item><title>夜不能寐…</title><link>https://www.xiaoten.com/posts/2012/08/lie-awake-all-night/</link><pubDate>Fri, 31 Aug 2012 05:55:49 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:10:39 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/08/lie-awake-all-night/</guid><description>&lt;p&gt;被蚊子咬醒算不算失眠？&lt;/p&gt;
&lt;p&gt;插上电蚊香那一刻不知又有多少蚊子要死于化学试剂下。也不对，应该是过了好几刻。&lt;/p&gt;
&lt;p&gt;咬醒之后可能因为灭蚊举动被一些蚊子的冤魂所诅咒，没了睡觉的欲望，翻来覆去，甚至听到蚊子落地的声音，也仿佛看到它们的灵魂悠然上升的样子。它们能不能去天堂不知道，不过可以肯定的是它们死后的冤魂看到我恍然无措睡不着的神情会开心很多。即便去了地狱也会带着笑意步入大门，可能这些的快乐已经让它们忘记了对地狱的恐惧，也可能从来就没有这个恐惧。&lt;/p&gt;</description></item><item><title>曾经我年轻过……</title><link>https://www.xiaoten.com/posts/2012/08/once-i-was-young/</link><pubDate>Mon, 27 Aug 2012 13:27:55 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/08/once-i-was-young/</guid><description>&lt;p&gt;我已逐渐变老，先是外貌，然后接着外貌，接踵而至的还是外貌。&lt;/p&gt;
&lt;p&gt;可惜，外貌和心理的不同步发展，就造成了我受的一面。受90后小孩的启发，我要练肌肉，然后接着练肌肉，接踵而至的还是练肌肉。为了变成成熟稳重、有责任、有担当、求上进、不幼稚、不卖萌、不装嫩、不撒娇的新世纪多有也多不的好青年。&lt;/p&gt;
&lt;p&gt;所以，我要告别年轻。我要成熟上进。&lt;/p&gt;</description></item><item><title>二十三年前，我是一个好汉</title><link>https://www.xiaoten.com/posts/2012/08/twenty-three-years-ago-i-was-a-hero/</link><pubDate>Sat, 18 Aug 2012 00:29:10 +0800</pubDate><atom:updated>Wed, 14 Nov 2012 00:11:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/08/twenty-three-years-ago-i-was-a-hero/</guid><description>&lt;p&gt;二十三年前，那是一个春天，我在祖国的澎湖湾，拿着圆规画了一个圆。&lt;/p&gt;
&lt;p&gt;上面就是结尾，是我上世的结尾。&lt;/p&gt;
&lt;p&gt;不知道我上世是拿着怎样的勇气去面对这个结尾，我在想圆规的针会不会很尖，扎起来会不会很疼，还有，澎湖湾会不会很美，我真没去过，甚至眼前的百度我都不舍得用，梦想啊，别让搜索引擎打破你。还有二十三年前的春天会不会很冷，他是不是真的叫春天，那时我是一个怎样的好汉，是老的好汉，还是少的好汉，是女的好汉，是男的好汉。果然这样类似于“我从哪里来”的人生亘古不变的想死你也想不出来的难题是没有答案的，桥头的孟婆汤决定了你这辈子即使有能力去翻阅生死簿也不知道该看哪个人的。&lt;/p&gt;</description></item><item><title>8月8号……</title><link>https://www.xiaoten.com/posts/2012/08/august-8th/</link><pubDate>Wed, 08 Aug 2012 08:43:47 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:42:45 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/08/august-8th/</guid><description>&lt;p&gt;8月8号这个日子我总感觉特有好感，不知道是不是源自于我爱国内心的深处对祖国奥运的怀念，还是源自于祖国亘古千年的迷信，总之，我爱国就对了。&lt;/p&gt;
&lt;p&gt;今天的8月8号，我又坐在家里面，虽然看了昨天晚上或者说今天凌晨刘翔可能的最后一场比赛的视频，当然比赛的时间应该是我从学校奔波到家的路上，看到了我天朝输给小日本的结果，貌似昭示着的并不是祖国的大顺，按说，在格林威治时间的伦敦当时还没到8号。&lt;/p&gt;</description></item><item><title>终于我没有死翘翘……（图是亮点哇~~）</title><link>https://www.xiaoten.com/posts/2012/07/theendofkaoyanban/</link><pubDate>Sun, 15 Jul 2012 18:57:20 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/07/theendofkaoyanban/</guid><description>&lt;p&gt;连续六天。六天哇，从早到晚的高等数学。虽说后几天完全就是记笔记没听，但是能坚持每天都能去参与，每次不会迟到超过10分钟已经很是不容易了。&lt;/p&gt;
&lt;p&gt;特别惊奇于每天还能在7点半之前起床，每天早上还能吃些东西……完全可以用脱胎换骨来形容嘛……&lt;/p&gt;
&lt;p&gt;最近的几部电视剧让我很是凌乱，一个是轩辕剑，一个是幽灵。还好轩辕剑更新很慢，还不错，就是幽灵。弄得每天晚上很晚睡觉……&lt;/p&gt;
&lt;p&gt;以前暑假待学校总感觉环境很萧条。今年却感觉跟平常没有什么区别了。可能每天都不是自己一个人一块，上课还有小T的陪同……考研班也那么多人，就好像是没有放假的样子，不过没有考试压力下的学习要轻松的多。不然考试加上这种高强度根本听不进去的教学方式去学的话，我的睿智的思想就会永远丧失于这么一个美好的世界上面了，蜕变成为一个精神病了……&lt;/p&gt;
&lt;p&gt;今天看到哨子拍了几个学校的图片，感觉非常漂亮。这两天这的天气非常好，很晴而且也不热，很适合拍照。引用几张哨子拍的理工大的照片充实下内容。&lt;/p&gt;</description></item><item><title>考研班开始的第一天……</title><link>https://www.xiaoten.com/posts/2012/07/the-first-day-of-the-beginning-of-the-postgraduate-entrance-examination-class/</link><pubDate>Tue, 10 Jul 2012 22:42:11 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/07/the-first-day-of-the-beginning-of-the-postgraduate-entrance-examination-class/</guid><description>&lt;p&gt;每次都有说好久没来的冲动。这次还是放弃了这句话吧。毕竟文章质量要在第一位。&lt;/p&gt;
&lt;p&gt;不过好久没写文章一定要说出来。先是期末考试，考试结束几天后就是考研课开课了。例如，今天就是考研课的第一天，不是例如了，算了，语文什么的早已在一次貌似开卷的大学语文考试之后就再无任何交集了。&lt;/p&gt;</description></item><item><title>努力表决心，奋发自图强</title><link>https://www.xiaoten.com/posts/2012/06/make-efforts/</link><pubDate>Tue, 26 Jun 2012 23:36:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/06/make-efforts/</guid><description>&lt;p&gt;不敢讲有多久没这样早早躺床上了，虽然无所事事造成我无限大的迷茫但也阻拦不了我坚持一动不动地躺在床上的纹丝不动的举动…视觉在无限放大也不单是瞳孔的专利了…&lt;/p&gt;
&lt;p&gt;实在是因为最近的事情可以写成一篇嗅百造成了我这样只觉淡定但却真心淡定不起来了…&lt;/p&gt;
&lt;p&gt;早上的签到在持续，虽然已经到十九周了，毕竟壮哉了我大河南理工，总要做点反面事件来让人发现世间美好并愉悦了各自的身心以达到阻挡年复一年的高校自杀事件…如果河南理工从此名垂千秋，必定要为此记上一笔09级的光辉贡献，功不可没…&lt;/p&gt;
&lt;p&gt;考试在持续，在于我自己，苦命奔波挣扎在开启书本崭新一页的征程上面，穷途末路，悔恨当初，话说这种现象倒也半年复半年，见怪不怪…&lt;/p&gt;
&lt;p&gt;任务在持续，本以为什么都会告一段落，但人怕勤劳猪怕跑不快…我每当想起猪这形象就是一个如待宰羔羊般猥琐并毫无节操地等待着属于他的刀光剑影…于是我的勤劳就如猪的猥琐一遍遍遭受着各种杂事的洗礼…我就想，勤奋有错么，猥琐有错么，diao丝也有生活的…&lt;/p&gt;
&lt;p&gt;加油要持续！感谢让人对名字倍感误解的壳郎对我的大力鼓励，我会明确目标好好奋进的，我从不说大话空话，我是实干家，我也是空想主义者，壳郎让我明确了未来的望景，我要摆脱矛盾结合体的外壳…壳郎都要给俄罗斯造三无产品的导弹坦克以示爱国情操了，我也要奋发图强争做壳郎身边打杂第一人！无奈无奈，人就怕努力，何况diao丝哉~&lt;/p&gt;</description></item><item><title>学长的毕业季</title><link>https://www.xiaoten.com/posts/2012/06/senior-graduation-season/</link><pubDate>Tue, 19 Jun 2012 23:43:43 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/06/senior-graduation-season/</guid><description>&lt;p&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;于是，今年的毕业季让我感觉很是茫然无措和淡然无味，可惜遇到了这么一个遭人唾弃的天气。&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>关于友链，再次声明……</title><link>https://www.xiaoten.com/posts/2012/06/about-friendship-link/</link><pubDate>Fri, 08 Jun 2012 14:49:19 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/06/about-friendship-link/</guid><description>&lt;p&gt;今天闲暇时候，去逛友链上面的朋友。&lt;/p&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;strong&gt;我不会平白无故地取消这个站，即便因为不可抗拒的外力而不做这个站了，我也会给做友链的朋友们留言说明，请求取消。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;关于PR什么的我都是没有要求的，我只希望如果能做友链的朋友既然开始，就最好不要毫无原因的取消。&lt;/p&gt;
&lt;p&gt;我也看到，有些做友链的朋友首先就是问PR值和百度收录情况，我想和这些做友链的话是不会长久的，我不能保证我的站一直都PR3或者更高，也不能保证我的站能够有良好的收录情况，这只是个记载一个平凡生活的博客，并没有商业的因素。所以，如果太在意这个的童鞋可能不会跟你们做友链。&lt;/p&gt;
&lt;p&gt;大致就说这么多吧。我只是希望我的友链不要再出现删除的情况了。&lt;/p&gt;</description></item><item><title>今天无感</title><link>https://www.xiaoten.com/posts/2012/05/no-sense-today/</link><pubDate>Thu, 31 May 2012 10:27:21 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/05/no-sense-today/</guid><description>&lt;p&gt;自从在微博签到有些时日之后，就一直麻木着让每天的状态设为无感，不是表示一天的状态，而是希望这是这一天的状态…&lt;/p&gt;</description></item><item><title>网站恢复……</title><link>https://www.xiaoten.com/posts/2012/05/site-restore/</link><pubDate>Mon, 28 May 2012 01:10:12 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/05/site-restore/</guid><description>&lt;p&gt;这次不能访问大概持续了一个多星期。&lt;/p&gt;
&lt;p&gt;服务器商因为服务器上有站点去恶意发送垃圾邮件而关闭了服务器，但是不管不问也太不负责了。。&lt;/p&gt;
&lt;p&gt;于是就搬回了bloghost。先恢复了
&lt;a href="http://www.chyfh.com"
target="_blank" rel="noopener noreferrer"
&gt;
茶余饭后
&lt;/a&gt;,熬夜好长时间，中间遇到了好多问题，过了一天，从
&lt;a href="http://www.xiaotee.com"
target="_blank" rel="noopener noreferrer"
&gt;
小T
&lt;/a&gt;那里传了备份，熬过了12点，把这两个站点给恢复了。&lt;/p&gt;</description></item><item><title>这个晚上这个点</title><link>https://www.xiaoten.com/posts/2012/05/this-evening-this-point/</link><pubDate>Fri, 18 May 2012 00:57:45 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/05/this-evening-this-point/</guid><description>&lt;p&gt;豆瓣电台的声音就像之前很早很早时候早起四点多等待五点多时去学校时漫长的等待，特别记忆了那段日子每天的寒风刺骨在早上，路上只有昏暗的路灯，和清洁工，每次安静的路上都承载了我无穷的怨念，很久很久之后，每天早上会起的很晚，悠闲自得漫步去吃饭，去工作室，在电脑面前已经茫然地不知道自己要去做什么…在我小的时候，不懂甚么是大学，迷茫的大脑只有一个念头，但念头禁锢下，走过了十余年春秋，就是这样度过的，也不知道现在需要怎么度过，躺在床上享受着周围慵懒的气息，生活也就这么消耗着，不会散去的也只是真实的怨念…&lt;/p&gt;</description></item><item><title>百度网盘邀请码10枚~~（已发放完成）</title><link>https://www.xiaoten.com/posts/2012/05/baiduwangpanyaoqingma/</link><pubDate>Mon, 07 May 2012 23:42:05 +0800</pubDate><atom:updated>Sun, 13 May 2012 11:58:44 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/05/baiduwangpanyaoqingma/</guid><description>&lt;p&gt;百度网盘，容量15G，点下列链接再送300M~&lt;/p&gt;
&lt;p&gt;1、http://pan.baidu.com/netdisk/beinvited?invite_code=325338b7e9285997ea492aaa1d357777&lt;/p&gt;
&lt;p&gt;2、http://pan.baidu.com/netdisk/beinvited?invite_code=047269649b63b3abf16e1720a4707363&lt;/p&gt;
&lt;p&gt;3、http://pan.baidu.com/netdisk/beinvited?invite_code=fb3d2d2514b4a6670a34543b5ec3d9aa&lt;/p&gt;
&lt;p&gt;4、http://pan.baidu.com/netdisk/beinvited?invite_code=16fe512ec39918e7c07bcbc4561b41d4&lt;/p&gt;
&lt;p&gt;5、http://pan.baidu.com/netdisk/beinvited?invite_code=ee62d75e840f3462c3c3e94c3959306d&lt;/p&gt;
&lt;p&gt;6、http://pan.baidu.com/netdisk/beinvited?invite_code=c748bd1e8361e5942564d837e1bab8b7&lt;/p&gt;
&lt;p&gt;7、http://pan.baidu.com/netdisk/beinvited?invite_code=4f6c282dbbfdd16e382e42491657aafa&lt;/p&gt;
&lt;p&gt;8、http://pan.baidu.com/netdisk/beinvited?invite_code=990a80facbdda1925c2fe7fb3c333aa8&lt;/p&gt;
&lt;p&gt;9、http://pan.baidu.com/netdisk/beinvited?invite_code=6d0b70bf437b9c382262812d67dbc10d&lt;/p&gt;
&lt;p&gt;10、http://pan.baidu.com/netdisk/beinvited?invite_code=ceb4a8910f147e089b636a99ce0cee1f&lt;/p&gt;</description></item><item><title>Adobe CS6下载(Adobe CS6中文正式注册版)</title><link>https://www.xiaoten.com/posts/2012/05/adobe-cs6-download-adobe-cs6-chinese/</link><pubDate>Fri, 04 May 2012 14:08:47 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/05/adobe-cs6-download-adobe-cs6-chinese/</guid><description>&lt;p&gt;&lt;img src="images/2QFHT204.jpg"
alt="2QFHT204"
loading="lazy"
decoding="async"width="550" height="550"&gt;
&lt;/p&gt;
&lt;p&gt;Adobe CS6下载(Adobe-CS6下载,cs6中文版,cs6破解版,cs6注册版)&lt;/p&gt;
&lt;p&gt;Adobe今天正式宣布了新一代面向设计、网络和视频领域的终极专业套装“Creative Suite 6”(简称CS6)，包含四大套装和十四个独立程序。与此同时，Adobe还发布了订阅式云服务“Creative Cloud”(创意云)，可让用户下载安装任何一款CS6程序。&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.adobe.com/"
target="_blank" rel="noopener noreferrer"
&gt;
点此访问Adobe官网
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.adobe.com/cn/"
target="_blank" rel="noopener noreferrer"
&gt;
点此访问Adobe中国官网
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adobe CS6四大套装：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- CS6 Design Standard (设计标准版)&lt;/p&gt;
&lt;p&gt;- CS6 Design &amp;amp; Web Premium (设计与网络高级版)&lt;/p&gt;
&lt;p&gt;- CS6 Production Premium (产品高级版)&lt;/p&gt;
&lt;p&gt;- CS6 Master Collection (大师典藏版)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adobe CS6独立程序：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- Photoshop CS6&lt;/p&gt;
&lt;p&gt;- Photoshop CS6 Extended&lt;/p&gt;
&lt;p&gt;- Illustrator CS6&lt;/p&gt;
&lt;p&gt;- InDesign CS6&lt;/p&gt;
&lt;p&gt;- Acrobat X Pro&lt;/p&gt;
&lt;p&gt;- Flash Professional CS6&lt;/p&gt;
&lt;p&gt;- Flash Builder 4.6 Premium Edition&lt;/p&gt;
&lt;p&gt;- Dreamweaver CS6&lt;/p&gt;
&lt;p&gt;- Fireworks CS6&lt;/p&gt;</description></item><item><title>［小十．］哈哈，自定义短语……</title><link>https://www.xiaoten.com/posts/2012/04/xiaoten-custom-phrase/</link><pubDate>Sat, 21 Apr 2012 19:45:03 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:42:45 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/xiaoten-custom-phrase/</guid><description>&lt;p&gt;这个一定要记录……&lt;/p&gt;
&lt;p&gt;因为我这个［小十．］昵称用到了特殊符号，每次打这个昵称都很麻烦，我就想到了输入法的自定义短语，可是我只知道原来的QQ拼音传统版上有。不知道QQ纯净版上怎么去自定义短语，看了设置什么都没有这一项。。最后发现，输入at出现的最后一个＠的这个官方默认设置的自定义短语上击右键出现了设置自定义短语的字样。于是把我的［小十．］这个昵称存到了这个自定义短语中，以后打字就发便多了~~&lt;/p&gt;</description></item><item><title>IIS+PHP+MySQL+Zend Guard Loader(ZendOptimizer)+phpMyAdmin环境配置图解</title><link>https://www.xiaoten.com/posts/2012/04/iis-php-mysql-the-zend-guard-loader-zendoptimizer-environment-the-phpmyadmin-configuration-diagram/</link><pubDate>Fri, 20 Apr 2012 10:46:49 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:43:10 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/iis-php-mysql-the-zend-guard-loader-zendoptimizer-environment-the-phpmyadmin-configuration-diagram/</guid><description>&lt;p&gt;本文将详细讲解IIS 6.0+PHP 5.3.10 （VC9 x86 Non Thread Safe）+Mysql 5.5.20+Zend Guard Loader (Runtime for PHP 5.3)(即ZendOptimizer的升级版)+phpMyAdmin 3.4.9环境配置过程。操作系统以Windows.Server.2003为例，其他系统仍可以参考。&lt;/p&gt;</description></item><item><title>IIS6伪静态配置（以实现wordpress固定链接/伪静态为例讲述）</title><link>https://www.xiaoten.com/posts/2012/04/the-iis6-pseudo-static-configuration/</link><pubDate>Fri, 20 Apr 2012 10:45:59 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:43:31 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/the-iis6-pseudo-static-configuration/</guid><description>&lt;p&gt;Windows系统下面实现伪静态的方法有很多，但一般采用安装伪静态组件来实现。本文将以WordPress的自定义固定链接（即实现伪静态）为例，讲述如何在Windows环境下实现伪静态。&lt;/p&gt;</description></item><item><title>怀旧一下~~~</title><link>https://www.xiaoten.com/posts/2012/04/nostalgic-look/</link><pubDate>Wed, 18 Apr 2012 22:13:44 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:43:55 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/nostalgic-look/</guid><description>&lt;p&gt;腾讯微博两周年活动。&lt;/p&gt;
&lt;p&gt;天。写下这句话怎么感觉在做广告。好吧，继续：&lt;/p&gt;
&lt;p&gt;一个华丽漂亮的专题页面，当然还需要有我这丰富多彩的内容做填充。接下来，便无法不正经的去叙述下去了。&lt;/p&gt;</description></item><item><title>渐行渐远</title><link>https://www.xiaoten.com/posts/2012/04/lopsided/</link><pubDate>Tue, 17 Apr 2012 13:34:32 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:44:47 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/lopsided/</guid><description>&lt;p&gt;很多事情像跟我做对似的发生了变化，还可以相信什么是持之以恒的？&lt;/p&gt;</description></item><item><title>偶然……</title><link>https://www.xiaoten.com/posts/2012/04/accidental/</link><pubDate>Thu, 12 Apr 2012 23:06:11 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:45:06 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/accidental/</guid><description>&lt;p&gt;多少个偶然，就像遇到一个好的网页一样。&lt;/p&gt;
&lt;p&gt;在旦旦工作室兼职的这段日子，虽然很忙，但学了一些东西。今天发现了花瓣网，又被网站的清新打动了。&lt;/p&gt;
&lt;p&gt;自己喜欢设计，却在离设计越来越远，自己喜欢的事物最后慢慢在演变成回忆的成分了。&lt;/p&gt;</description></item><item><title>搜索引擎越来越给面子了……</title><link>https://www.xiaoten.com/posts/2012/04/search-engines-more-and-more-to-face/</link><pubDate>Thu, 12 Apr 2012 13:55:45 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:45:30 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/04/search-engines-more-and-more-to-face/</guid><description>&lt;p&gt;刚看到茶余饭后关键字的排行提前，就搜索了小十这个关键词。在百度竟然成第一了。哈哈，太荣幸了。&lt;/p&gt;</description></item><item><title>状态</title><link>https://www.xiaoten.com/posts/2012/03/status/</link><pubDate>Wed, 28 Mar 2012 19:40:17 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:45:44 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/03/status/</guid><description>&lt;p&gt;即使能活上三千年，甚至三万年，你也应该记住：人所失去的，只是他此刻拥有的生活；人所拥有的，也只是他此刻正在失去的生活，因此，生命的长短没有什么不同。&lt;/p&gt;</description></item><item><title>吓死我了。沪江英语~</title><link>https://www.xiaoten.com/posts/2012/03/scare-the-shit-out-of-me-npr/</link><pubDate>Sun, 25 Mar 2012 00:17:43 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:46:07 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/03/scare-the-shit-out-of-me-npr/</guid><description>&lt;p&gt;沪江英语是啥时候成立的网站。。&lt;/p&gt;
&lt;p&gt;当我进去注册的时候，发现ltax用户名被注册过了。于是，我就试着用我的万能密码登陆了一下，没想到登陆上了。竟然修改资料的时候发现：&lt;/p&gt;
&lt;p&gt;&lt;img src="images/121.png"
alt="121"
loading="lazy"
decoding="async"width="380" height="133"&gt;
&lt;/p&gt;
&lt;p&gt;…………！！这是五六年前的邮箱啊！！！，沪江英语是什么来头啊！！！！&lt;/p&gt;</description></item><item><title>SCIENCE SHOCKS</title><link>https://www.xiaoten.com/posts/2012/03/science-shocks/</link><pubDate>Wed, 21 Mar 2012 11:46:20 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/science-shocks/</guid><description>&lt;p&gt;一下完全引用自：http://rove.cz/&lt;/p&gt;
&lt;p&gt;ORIGIN FROM: 
&lt;a href="http://htwins.net/scale2/scale2.swf?bordercolor=white"
target="_blank" rel="noopener noreferrer"
&gt;
THE SCALE OF THE UNIVERSE
&lt;/a&gt;点链接看大的。看不到的就戳F5。&lt;/p&gt;
&lt;p&gt;Ciel给我看的。 当时我就震惊了。从来没有任何一个时刻，我对自己是一名理工生感到如此自豪 完爆XX和XX&lt;/p&gt;</description></item><item><title>碎碎念的碎碎念~</title><link>https://www.xiaoten.com/posts/2012/03/sui-sui-nian-and-sui-sui-nian/</link><pubDate>Sun, 18 Mar 2012 14:02:04 +0800</pubDate><atom:updated>Fri, 04 May 2012 18:46:38 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/03/sui-sui-nian-and-sui-sui-nian/</guid><description>&lt;p&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;可能关于长跑容易让人跟坚持这个词扯到一块，而坚持这个词也正是我的死穴，我怎么就这么不淡定的不能稳定地时间长一点。可能这样的人不容易麻木。相对于无知平庸地成为一个工具，有时候，不麻木倒也不错。虽然让人看起来很受鄙视的样子。不过这样的样子最自在了。&lt;/p&gt;
&lt;p&gt;碎碎念到此为止。&lt;/p&gt;</description></item><item><title>又是一段无聊斑驳的日子……</title><link>https://www.xiaoten.com/posts/2012/03/its-a-boring-day/</link><pubDate>Sun, 18 Mar 2012 13:53:06 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/its-a-boring-day/</guid><description>&lt;p&gt;热情就那么容易消散~&lt;/p&gt;
&lt;p&gt;&lt;img src="images/IMAG0041.jpg"
alt="IMAG0041"
loading="lazy"
decoding="async"width="800" height="451"&gt;
&lt;/p&gt;</description></item><item><title>小T，你的贞操落了一地，有木有，有木有啊！</title><link>https://www.xiaoten.com/posts/2012/03/your-virginity-fall-to-the-ground/</link><pubDate>Sat, 17 Mar 2012 00:29:02 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/your-virginity-fall-to-the-ground/</guid><description>&lt;p&gt;&lt;img src="images/1.jpg"
alt="1"
loading="lazy"
decoding="async"width="354" height="271"&gt;
&lt;/p&gt;</description></item><item><title>无聊人士的必备特征。。</title><link>https://www.xiaoten.com/posts/2012/03/essential-features-of-boring-people/</link><pubDate>Sat, 10 Mar 2012 11:15:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/essential-features-of-boring-people/</guid><description>&lt;p&gt;&lt;img src="images/12.png"
alt="" title="12"
loading="lazy"
decoding="async"width="427" height="78"&gt;
&lt;/p&gt;</description></item><item><title>我很郁闷有木有！</title><link>https://www.xiaoten.com/posts/2012/03/im-so-depressed/</link><pubDate>Thu, 08 Mar 2012 18:22:28 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/im-so-depressed/</guid><description>&lt;p&gt;难道是我自己老了。理解不动90后的孩子们了？&lt;/p&gt;
&lt;p&gt;今天突然有一个11级的工作室成员说，来工作室值班就是看电脑了。当时我就崩溃了。以前的那种学习氛围哪去了。&lt;/p&gt;
&lt;p&gt;我老了，跟不上步伐了。&lt;/p&gt;</description></item><item><title>换主题。新篇章？？？</title><link>https://www.xiaoten.com/posts/2012/03/change-theme/</link><pubDate>Thu, 08 Mar 2012 15:48:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/change-theme/</guid><description>&lt;p&gt;在林木木博客早就看到这个主题了。一直很喜欢，也一直在犹豫是否换成这个。。。因为当时看到博客这个域名已经PR3了。怕换了之后会在搜索引擎等各个方面受到影响。。&lt;/p&gt;
&lt;p&gt;后来还是决定换了。毕竟弄博客就是为了心情。好早之前就决定要自己做主题了。。可是由于种种原因，一直没有实现。。如今，又要推迟。。原因只有一个，就是考研。&lt;/p&gt;
&lt;p&gt;而且自己做主题根本不成熟。。。更何况HTML5越来越旺盛。。想着下一个主题不那么邋遢。于是，这个计划只能往后再搁搁了。至于往多后。。至少也得2013年中期吧。。现在想想都是这么漫长的一个数字。&lt;/p&gt;
&lt;p&gt;这个主题整体大小很小，但功能很强悍，而且有多种文章形式可以选择。。也是看到安卓wordpress客户端上有文章形式的选项~~&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>写个博客……&amp;……</title><link>https://www.xiaoten.com/posts/2012/03/write-a-blog/</link><pubDate>Sun, 04 Mar 2012 23:09:11 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/03/write-a-blog/</guid><description>&lt;p&gt;最近是怎么了……&amp;amp;……&lt;/p&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;
&lt;p&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;今天感冒稍好转后，就想起博客很久没更新了。。&lt;/p&gt;
&lt;p&gt;对了。最近换了手机。这也是抛弃博客这么久的原因之一……&lt;/p&gt;</description></item><item><title>原来在上课</title><link>https://www.xiaoten.com/posts/2012/02/originally-in-class/</link><pubDate>Thu, 23 Feb 2012 08:42:03 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/02/originally-in-class/</guid><description>&lt;p&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;坐在教室心无怨念无嫉恨，突然让我想起无感一次。这就是最平凡的生命。。。&lt;/p&gt;
&lt;p&gt;最后一次祭奠逐渐离去的我，最后一次向世界喧嚣：生命，我来了。&lt;/p&gt;
&lt;p&gt;使用
&lt;a href="http://wordmobi.googlecode.com"
target="_blank" rel="noopener noreferrer"
&gt;
Wordmobi
&lt;/a&gt;发布&lt;/p&gt;</description></item><item><title>莫名伟大的失落感</title><link>https://www.xiaoten.com/posts/2012/02/sense-of-loss/</link><pubDate>Mon, 13 Feb 2012 14:31:10 +0800</pubDate><atom:updated>Sat, 18 Feb 2012 20:57:54 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/02/sense-of-loss/</guid><description>&lt;p&gt;也许是茶余饭后又不能访问的缘故，也许是开学要补考的缘故，也许开学后要有漫长的考研复习的缘故。&lt;/p&gt;
&lt;p&gt;马上又离家了，不知道为啥，从高二开始，就再也没有期盼开学的心情了。喜欢在家待着，没有压力，都说大学很自由，很悠闲，但我总感觉有四面八方的压力去面对。&lt;/p&gt;
&lt;p&gt;我看到腾讯员工平均年龄26岁的时候我震撼了，我看着上初中的学生一遍一遍的写着c++，用html5和css3写界面，完全自己写内核做论坛……&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>过去，这一年~</title><link>https://www.xiaoten.com/posts/2012/02/in-the-past-this-year/</link><pubDate>Thu, 02 Feb 2012 20:34:05 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/02/in-the-past-this-year/</guid><description>&lt;p&gt;&lt;img src="images/gd.jpg"
alt="gd"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>都是因为你……</title><link>https://www.xiaoten.com/posts/2012/02/all-because-of-you/</link><pubDate>Wed, 01 Feb 2012 22:21:09 +0800</pubDate><atom:updated>Thu, 02 Feb 2012 15:18:28 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2012/02/all-because-of-you/</guid><description>&lt;p&gt;&lt;img src="images/bb.jpg"
alt="bb"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>乱世，就要有乱世的活法~</title><link>https://www.xiaoten.com/posts/2012/01/must-have-gone-in-troubled-times/</link><pubDate>Sun, 08 Jan 2012 23:19:06 +0800</pubDate><guid>https://www.xiaoten.com/posts/2012/01/must-have-gone-in-troubled-times/</guid><description>&lt;p&gt;&lt;img src="images/sd.jpg"
alt="sd"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>The 终 Of 2011</title><link>https://www.xiaoten.com/posts/2011/12/the-end-of-2011/</link><pubDate>Fri, 30 Dec 2011 00:58:16 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/12/the-end-of-2011/</guid><description>&lt;p&gt;&lt;img src="images/111.jpg"
alt="111"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>生命不是这样玩的！</title><link>https://www.xiaoten.com/posts/2011/12/life-is-not-like-this/</link><pubDate>Thu, 29 Dec 2011 18:32:44 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/12/life-is-not-like-this/</guid><description>&lt;p&gt;&lt;img src="images/40.jpg"
alt="40"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>20个适合用作网页标题处英文字体演示及免费下载</title><link>https://www.xiaoten.com/posts/2011/12/20-suitable-for-use-as-a-web-page-title-in-the-english-font-demo-and-free-download-2/</link><pubDate>Sat, 24 Dec 2011 00:56:27 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/12/20-suitable-for-use-as-a-web-page-title-in-the-english-font-demo-and-free-download-2/</guid><description>&lt;p&gt;&lt;img src="images/165629arm.jpg"
alt="165629arm"
loading="lazy"
decoding="async"width="640" height="272"&gt;
&lt;/p&gt;</description></item><item><title>我来说一个淡定君的故事</title><link>https://www.xiaoten.com/posts/2011/12/i-am-a-calm-story/</link><pubDate>Fri, 23 Dec 2011 23:46:08 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/12/i-am-a-calm-story/</guid><description>&lt;p&gt;&lt;img src="images/15.jpg"
alt="15"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>果然不是始终如一啊</title><link>https://www.xiaoten.com/posts/2011/11/sure-enough-is-not-always-the-same/</link><pubDate>Wed, 09 Nov 2011 13:59:42 +0800</pubDate><atom:updated>Fri, 23 Dec 2011 23:59:05 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/11/sure-enough-is-not-always-the-same/</guid><description>&lt;p&gt;&lt;img src="images/15.jpg"
alt="15"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>position的四个属性值： relative ，absolute ，fixed，static</title><link>https://www.xiaoten.com/posts/2011/11/relative-absolute-fixed-static/</link><pubDate>Sun, 06 Nov 2011 12:33:07 +0800</pubDate><atom:updated>Sat, 24 Dec 2011 00:04:23 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/11/relative-absolute-fixed-static/</guid><description>&lt;p&gt;&lt;img src="images/151.jpg"
alt="151"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>网站被黑，不明真相地被黑……</title><link>https://www.xiaoten.com/posts/2011/11/the-site-was-black-unknown-to-the-truth-to-be-black/</link><pubDate>Wed, 02 Nov 2011 23:30:15 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/11/the-site-was-black-unknown-to-the-truth-to-be-black/</guid><description>&lt;p&gt;&lt;img src="images/2.jpg"
alt="2"
loading="lazy"
decoding="async"width="358" height="284"&gt;
&lt;/p&gt;</description></item><item><title>拿福能，最具潜力博客提名……</title><link>https://www.xiaoten.com/posts/2011/10/the-most-potential-blog-nominated/</link><pubDate>Fri, 28 Oct 2011 09:38:04 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/10/the-most-potential-blog-nominated/</guid><description>&lt;p&gt;&lt;img src="images/4c4087f86c9f.jpg"
alt="4c4087f86c9f"
loading="lazy"
decoding="async"width="407" height="409"&gt;
&lt;/p&gt;</description></item><item><title>7个开发人员和设计师适用的WEB应用资源</title><link>https://www.xiaoten.com/posts/2011/10/7-developers-and-designers-to-apply-the-web-application-resources/</link><pubDate>Wed, 26 Oct 2011 11:13:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/10/7-developers-and-designers-to-apply-the-web-application-resources/</guid><description>&lt;p&gt;&lt;img src="images/15.jpg"
alt="15"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>终于新主题 PlainFoam V1.0</title><link>https://www.xiaoten.com/posts/2011/10/plainfoam-v1-0/</link><pubDate>Mon, 24 Oct 2011 10:28:21 +0800</pubDate><atom:updated>Sun, 15 Jul 2012 19:26:45 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/10/plainfoam-v1-0/</guid><description>&lt;p&gt;&lt;img src="images/21.jpg"
alt="21"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序错误的解决方法</title><link>https://www.xiaoten.com/posts/2011/10/solution-to-program-error-not-registered-on-the-local-computer-microsoft-jet-oledb-4-0/</link><pubDate>Sat, 22 Oct 2011 10:48:13 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/10/solution-to-program-error-not-registered-on-the-local-computer-microsoft-jet-oledb-4-0/</guid><description>&lt;p&gt;&lt;img src="images/13.jpg"
alt="13"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>Word 2007、2010 多级标题排版</title><link>https://www.xiaoten.com/posts/2011/10/multi-level-title-layout/</link><pubDate>Thu, 20 Oct 2011 11:24:51 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:34:24 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/10/multi-level-title-layout/</guid><description>&lt;p&gt;&lt;img src="images/14.jpg"
alt="14"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>IIS7+PHP+MYSQL配置</title><link>https://www.xiaoten.com/posts/2011/10/iis7-php-mysql-configure/</link><pubDate>Wed, 19 Oct 2011 00:26:09 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/10/iis7-php-mysql-configure/</guid><description>&lt;p&gt;&lt;img src="images/11.jpg"
alt="11"
loading="lazy"
decoding="async"width="400" height="400"&gt;
&lt;/p&gt;</description></item><item><title>VMware Workstation 8正式版下载+密钥序列号</title><link>https://www.xiaoten.com/posts/2011/10/workstation-vmware-8-official-version-download-key-serial-number/</link><pubDate>Tue, 18 Oct 2011 23:31:51 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/10/workstation-vmware-8-official-version-download-key-serial-number/</guid><description>&lt;p&gt;支持Win8安装，虚拟机VMware Workstation 8正式版日前已经发布，同时网上也开始流出VMware Workstation 8注册机和VMware Workstation 8序列号，有用VMware的童鞋赶快下载更新吧！&lt;/p&gt;
&lt;p&gt;&lt;img src="images/1439541rrydf2iggdd19ri.jpg"
alt="1439541rrydf2iggdd19ri"
loading="lazy"
decoding="async"width="480" height="156"&gt;
&lt;/p&gt;</description></item><item><title>《沉默的15分钟》2011最新名侦探柯南剧场版15 DVD中字迅雷下载</title><link>https://www.xiaoten.com/posts/2011/10/silence-of-15-minutes-2011-of-the-latest-detective-conan-theater-version-15-dvd-in-the-word-thunder-download/</link><pubDate>Tue, 18 Oct 2011 10:22:45 +0800</pubDate><atom:updated>Wed, 19 Oct 2011 00:07:01 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/10/silence-of-15-minutes-2011-of-the-latest-detective-conan-theater-version-15-dvd-in-the-word-thunder-download/</guid><description>&lt;p&gt;&lt;img src="images/dmxinwen2011042214.jpg"
alt="dmxinwen2011042214"
loading="lazy"
decoding="async"width="446" height="317"&gt;
&lt;/p&gt;</description></item><item><title>字母A到Z 26种爱的方式</title><link>https://www.xiaoten.com/posts/2011/10/letter-a-to-z-26-ways-of-love/</link><pubDate>Wed, 12 Oct 2011 22:23:02 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/10/letter-a-to-z-26-ways-of-love/</guid><description>&lt;p&gt;&lt;img src="images/a-1.jpg"
alt="a-1"
loading="lazy"
decoding="async"width="500" height="352"&gt;
&lt;/p&gt;</description></item><item><title>生命也就这点奇迹</title><link>https://www.xiaoten.com/posts/2011/10/life-is-a-miracle/</link><pubDate>Thu, 06 Oct 2011 13:14:37 +0800</pubDate><atom:updated>Sun, 06 Sep 2015 10:27:56 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/10/life-is-a-miracle/</guid><description>&lt;p&gt;&lt;img src="images/1.jpg"
alt="1"
loading="lazy"
decoding="async"width="479" height="265"&gt;
&lt;/p&gt;
&lt;p&gt;原来听Jclyn提到一个词：文囧期。现在细细一想，唾液横飞的年代也就那么一点。上了大学之后，文囧已成习惯。&lt;/p&gt;
&lt;p&gt;也不是为了拼那什么当年作文60分的奇迹，总觉得那时候文思泉涌，整天小愤青般批斗式语言来抨击社会以缓解高考的压力，这只让我想起了一个称呼：小屁孩。&lt;/p&gt;
&lt;p&gt;当年也有饱受争议的一月一次的月志，还好单纯善良的我一直没有多想，津津有味之余还大肆夸赞我这凌驾于日志之上的创意。&lt;/p&gt;
&lt;p&gt;如今，在
&lt;a href="http://xiaotee.com"
target="_blank" rel="noopener noreferrer"
&gt;
小T
&lt;/a&gt;博客上看到另一股新新力量的诞生，又仿佛回到了激扬横溢的年代。看着
&lt;a href="http://xiaoxii.com"
target="_blank" rel="noopener noreferrer"
&gt;
这位仁兄
&lt;/a&gt;能够细致描写各种生活的各种细节，顿觉有世事苍凉之感。菱角已被磨平，我也可能发自内心的转变为标准的共产主义战士，沉默寡言的印记已经烙得根深蒂固。&lt;/p&gt;
&lt;p&gt;今天是果粉们哀痛的日子，不过终归算是一个奇迹般的人物，4与4s的差距却也不是我关注的范围。&lt;/p&gt;
&lt;p&gt;现在倒有了把QQ空间日志给转移过来的念头，我也在想，如果马化腾遭遇今日那人物的命运，如果腾讯遭遇类似的命运，这个却足够成为与我相关的一件事了……&lt;/p&gt;</description></item><item><title>那些，微小说</title><link>https://www.xiaoten.com/posts/2011/09/those-micro-fiction/</link><pubDate>Fri, 23 Sep 2011 14:25:42 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/those-micro-fiction/</guid><description>&lt;p&gt;&lt;strong&gt;一、&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;毕业典礼上，他突然凑到她耳边幽幽地说了声：“我喜欢你。”她笑：“喂，调戏了我三年，够了吧。”三年来，隐藏起自己的感情来面对自己暗恋对象一次又一次的挑逗，她真的已经很累了。“我说真的！”他看她不信，又严肃地说了一次。“你哪次不是说真的？”他低头：“其实，哪次都是真的。”&lt;/p&gt;
&lt;p&gt;&lt;img src="images/12.png"
alt="12"
loading="lazy"
decoding="async"width="438" height="328"&gt;
&lt;/p&gt;</description></item><item><title>如果地球是个百人小村庄</title><link>https://www.xiaoten.com/posts/2011/09/if-the-earth-is-a-small-village/</link><pubDate>Fri, 23 Sep 2011 14:00:58 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/if-the-earth-is-a-small-village/</guid><description>&lt;p&gt;&lt;img src="images/030.jpg"
alt="030"
loading="lazy"
decoding="async"width="500" height="656"&gt;
&lt;/p&gt;</description></item><item><title>一边享受一边泪流，与哈利·波特这十年</title><link>https://www.xiaoten.com/posts/2011/09/while-enjoying-one-side-of-the-tears-and-harry-porter-this-ten-years/</link><pubDate>Sun, 18 Sep 2011 21:15:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/while-enjoying-one-side-of-the-tears-and-harry-porter-this-ten-years/</guid><description>&lt;p&gt;&lt;img src="images/54652931.jpg"
alt="54652931"
loading="lazy"
decoding="async"width="400" height="563"&gt;
&lt;/p&gt;</description></item><item><title>报纸排版的尺寸、规格……</title><link>https://www.xiaoten.com/posts/2011/09/size-and-size-of-newspaper-layout/</link><pubDate>Sat, 17 Sep 2011 11:42:20 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/size-and-size-of-newspaper-layout/</guid><description>&lt;p&gt;&lt;img src="images/loyw10220080525172546399.jpg"
alt="loyw10220080525172546399"
loading="lazy"
decoding="async"width="500" height="336"&gt;
&lt;/p&gt;</description></item><item><title>六维空间新手任务答案（最新）</title><link>https://www.xiaoten.com/posts/2011/09/six-dimensional-space-novice-task/</link><pubDate>Sat, 10 Sep 2011 20:43:01 +0800</pubDate><atom:updated>Thu, 15 Sep 2011 23:33:48 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/09/six-dimensional-space-novice-task/</guid><description>&lt;p&gt;&lt;img src="images/4P_HZWallpaperBoxHDA9038.jpg"
alt="4P_HZWallpaperBoxHDA9038"
loading="lazy"
decoding="async"width="467" height="396"&gt;
&lt;/p&gt;</description></item><item><title>两个视频~</title><link>https://www.xiaoten.com/posts/2011/09/two-videos/</link><pubDate>Wed, 07 Sep 2011 17:20:54 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/two-videos/</guid><description>&lt;p&gt;从卫星上看到的一天24小时的全球航班&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;embed&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;http://www.tudou.com/v/grxHAF3V-QI/v.swf&amp;#34;&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;application/x-shockwave-flash&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;480&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;400&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;embed&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;The Mountain（超美的画面配上恰到好处的背景乐，全屏播放最佳）&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;embed&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;http://www.yinyuetai.com/video/player/161683/v_0.swf&amp;#34;&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;application/x-shockwave-flash&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;480&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;334&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;align&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;middle&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;embed&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>WP Anti Spam 小牆 1.8 （已更新至1.84）</title><link>https://www.xiaoten.com/posts/2011/09/wp_anti_spam/</link><pubDate>Wed, 07 Sep 2011 10:51:19 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/wp_anti_spam/</guid><description>&lt;p&gt;感谢
&lt;a href="http://kan.willin.org/"
target="_blank" rel="noopener noreferrer"
&gt;
Willin
&lt;/a&gt;大师提供的小强代码……&lt;/p&gt;
&lt;p&gt;因为这两天实在受不了外国佬的垃圾评论，换上系统自带的aksimt经常误判，很早就听说了小墙很强力，但一直没有时间折腾……为了保持上学期间博客的更新，又得无奈地转发别人的代码了。顺便练习一下贴代码的方法，于是引用开始：&lt;/p&gt;</description></item><item><title>AutoCAD 2010、2011、2012 打开闪一下 自动关闭 解决方法</title><link>https://www.xiaoten.com/posts/2011/09/autocad-2010-2011-2012-open-flash-auto-shutdown-solution/</link><pubDate>Sun, 04 Sep 2011 22:41:09 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/09/autocad-2010-2011-2012-open-flash-auto-shutdown-solution/</guid><description>&lt;p&gt;&lt;img src="images/1.png"
alt="1"
loading="lazy"
decoding="async"width="500" height="314"&gt;
&lt;/p&gt;</description></item><item><title>不想熬夜的我不想熬夜</title><link>https://www.xiaoten.com/posts/2011/08/dont-want-to-stay-up-late-i-dont-want-to-stay-up-late/</link><pubDate>Tue, 30 Aug 2011 00:02:34 +0800</pubDate><atom:updated>Tue, 30 Aug 2011 15:54:51 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/08/dont-want-to-stay-up-late-i-dont-want-to-stay-up-late/</guid><description>&lt;p&gt;开学第一天。&lt;/p&gt;
&lt;p&gt;估计写完就到第二天了。还是照旧地晚睡啊。对于明天上午紧挨紧的两大节该怎么度过，这绝对是个问题……&lt;/p&gt;
&lt;p&gt;第一天的感觉就是累，累得要死，周一 一天四大节课，然后看看课表，大部分都是课，而且都从1到18周，除去中间的1周实习，要把人上死的感觉。&lt;/p&gt;
&lt;p&gt;然后第二个感觉就是太奇妙了，竟然周一的四个老师都是女的……课程繁多，而且都是专业课，没有一些看似跟专业无边的课程让我逃，真是无选择性的不爽。&lt;/p&gt;
&lt;p&gt;在一个教室上课的原因，我也有了一个相对稳定的座位，第四排，太靠边了，因为早上没去刷卡签到，所以有个位置坐已经对我是天大的恩惠了，这还得益于阳仔这个得力干将，干的不错，可惜他是不会看到我在博客对他的一通夸奖的~&lt;/p&gt;
&lt;p&gt;第一天就果然有些任务需要做，中午又跟某位老师出去吃了饭，一天就早上6点起床到7点40在清醒的情况下在宿舍待着，中午在宿舍待了20多分钟，晚上22点多回宿舍，我知道这只是开始才会这样，这种状态……就不评价自己的耐力了。&lt;/p&gt;
&lt;p&gt;课程方面，在课堂上听着相当吃力，我已经能联想到以后靠前的挑灯夜战的情景。&lt;/p&gt;
&lt;p&gt;博客方面，在昨天的昨天也就是8月28号，在拿福能官网上看到有一个什么博客日，唉，如果一切网络都很顺利，如果我有时间，如果博客没有挂掉，我想我也会参与进来……&lt;/p&gt;
&lt;p&gt;好了，完……&lt;/p&gt;</description></item><item><title>Google Adsense</title><link>https://www.xiaoten.com/posts/2011/08/google-adsense/</link><pubDate>Fri, 19 Aug 2011 19:10:08 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/google-adsense/</guid><description>&lt;p&gt;&lt;img src="images/ad.jpg"
alt="ad"
loading="lazy"
decoding="async"width="300" height="300"&gt;
&lt;/p&gt;</description></item><item><title>前天记事（县衙行……）</title><link>https://www.xiaoten.com/posts/2011/08/remember-the-day-before-yesterday/</link><pubDate>Wed, 17 Aug 2011 22:24:41 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/remember-the-day-before-yesterday/</guid><description>&lt;p&gt;早些日子的时候，壳郎找我……跟小东在县城转哒了老大一会儿……发现县城实在没有可以玩的地方，主要是我们的爱好都太狭隘，什么台球等消遣活动都不感冒，后来实在没有办法，就假借老爸的票，准备去县衙再转一次，这也是这小县城唯一的景点了。&lt;/p&gt;
&lt;p&gt;老爸的票没带回家，就说下次找个时间，多找几个人一起去，于是就发生了前天的县衙行……&lt;/p&gt;
&lt;p&gt;一张票几个人都可以，于是想着尽量多找，可惜小东这位平常最与女生关系亲密的孩子却没带一个人，后来壳郎带的3个人中有一个人又有事没来，小东这才舍得拉了一个同学（性别男）过来，于是，最终还是预料中的6个人，其中只有一女~不过都是县高的同学，虽然不熟，但共同话题还是挺多的，特别我这个话痨，在这个6个小群体中保留活跃的姿态还是很随意的。&lt;/p&gt;
&lt;p&gt;天气暴热，这是无论如何也想不到的热，也是我回家后第一次遇到的热，于是，照片实在是懒得拍，即便拍了也是随手一按，照片也显得太不专业，娱乐而已嘛~&lt;/p&gt;
&lt;p&gt;先放些壳郎的果照吧……这孩自从去了南理之后就变白了，不过以下照片没有我的存在，毕竟我是拿相机的，他们都懒……&lt;/p&gt;
&lt;p&gt;&lt;img src="images/13.jpg"
alt="13"
loading="lazy"
decoding="async"width="600" height="450"&gt;
&lt;/p&gt;</description></item><item><title>Tyler 场景设计欣赏</title><link>https://www.xiaoten.com/posts/2011/08/tyler-scene-design-appreciation/</link><pubDate>Wed, 17 Aug 2011 11:57:16 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/tyler-scene-design-appreciation/</guid><description>&lt;p&gt;来自
&lt;a href="http://gamefan84.deviantart.com/"
target="_blank" rel="noopener noreferrer"
&gt;
Tyler
&lt;/a&gt;的一组&lt;strong&gt;概念&lt;/strong&gt;场景设计。充满着魔法与传奇的架空世界，非常迷人昂。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/035720PvK.jpg"
alt="035720PvK"
loading="lazy"
decoding="async"width="723" height="1106"&gt;
&lt;/p&gt;</description></item><item><title>纪念T恤~</title><link>https://www.xiaoten.com/posts/2011/08/commemorative-t-shirt/</link><pubDate>Tue, 16 Aug 2011 11:17:27 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/commemorative-t-shirt/</guid><description>&lt;p&gt;&lt;img src="images/12.jpg"
alt="12"
loading="lazy"
decoding="async"width="300" height="300"&gt;
&lt;/p&gt;</description></item><item><title>Adobe CS5.5 Master Collection大师收藏版等多版简体中文版下载</title><link>https://www.xiaoten.com/posts/2011/08/adobe-cs5-5-master-collection-edition-and-many-other-version-of-simplified-chinese-version-download/</link><pubDate>Sat, 13 Aug 2011 10:12:46 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/adobe-cs5-5-master-collection-edition-and-many-other-version-of-simplified-chinese-version-download/</guid><description>&lt;p&gt;Adobe Creative Suite 是Adobe系统公司出品的一个图形设计、影像编辑与网络开发的软件产品套装。该套装包括电子文档制作软件Adobe Acrobat、矢量动画处理软件Adobe Flash、网页制作软件Adobe Dreamweaver、矢量图形绘图软件Adobe Illustrator、图像处理软件Adobe Photoshop和排版软件Adobe InDesign等产品。&lt;/p&gt;
&lt;p&gt;Adobe发布 Adobe Creative Suite 5.5 (以下简称“Adobe CS 5.5”)，内含多款可用于智能手机和平板电脑平台的工具。 Adobe CS 5.5中的Web Premium Suite主要适用于Android、黑莓、Tablet OS、iOS及其他平台上的移动应用。它还支持HTML5和Flash Player，可以提供更加丰富的视频、休闲游戏、互联网应用及其他内容。&lt;/p&gt;
&lt;p&gt;Adobe表示，目前支持Flash Player的平台包括Android、WebOS、谷歌TV、黑莓Tablet OS和三星SmartTV等。此外，未来版本的Windows Phone及其他平台也将在不久后支持Flash。&lt;/p&gt;
&lt;p&gt;Adobe CS 5.5还包括Design Premium Suite，内含Adobe InDesign CS 5.5和Folio Producer，增强了专为平板电脑设计的页面布局的互动性。使用该软件开发的文件可以包含视频、音频、全景图像、360度旋转物体和镜头缩放等，并整合HTML和HTML5内容。&lt;/p&gt;
&lt;p&gt;==========================&lt;strong&gt;下载地址&lt;/strong&gt;=========================&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adobe CS5.5 Master Collection&lt;/strong&gt;&lt;br&gt;
LS1:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS1.exe"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS1.exe
&lt;/a&gt;&lt;br&gt;
LS1:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS1.7z"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS1.7z
&lt;/a&gt;&lt;br&gt;
LS2:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS2.exe"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS2.exe
&lt;/a&gt;&lt;br&gt;
LS2:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS2.7z"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS2.7z
&lt;/a&gt;&lt;br&gt;
LS3:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS3.exe"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS3.exe
&lt;/a&gt;&lt;br&gt;
LS3:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS3.7z"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS3.7z
&lt;/a&gt;&lt;br&gt;
LS4:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS4.exe"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS4.exe
&lt;/a&gt;&lt;br&gt;
LS4:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS4.7z"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS4.7z
&lt;/a&gt;&lt;br&gt;
LS6:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS6.exe"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS6.exe
&lt;/a&gt;&lt;br&gt;
LS6:
&lt;a href="http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS6.7z"
target="_blank" rel="noopener noreferrer"
&gt;
MasterCollection_CS5_5_LS6.7z
&lt;/a&gt;&lt;/p&gt;</description></item><item><title>网盘，外链</title><link>https://www.xiaoten.com/posts/2011/08/disk-the-chain/</link><pubDate>Fri, 12 Aug 2011 12:08:11 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/disk-the-chain/</guid><description>&lt;p&gt;昨天，敬爱的小T同学，用到的金山网盘的外链让我很感兴趣。哈哈，结果又熬夜了……&lt;/p&gt;
&lt;p&gt;然后发现还有一个可以支持MP3的……&lt;/p&gt;
&lt;p&gt;开放半年据反映来看还挺稳定，20G空间，20G的流量……&lt;/p&gt;
&lt;p&gt;发布一个音乐测试一下效果，嗯嗯（因为这个音乐是打开自动播放，所以再次分页，想听的同学请点继续阅读）：&lt;/p&gt;</description></item><item><title>看了这视频，我不淡定了……</title><link>https://www.xiaoten.com/posts/2011/08/watching-this-video-im-not-calm/</link><pubDate>Fri, 12 Aug 2011 00:14:32 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/watching-this-video-im-not-calm/</guid><description>&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;embed&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;http://www.tudou.com/v/X4CSCD5eHcE/v.swf&amp;#34;&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;application/x-shockwave-flash&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;480&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;400&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;embed&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Post Formats-WP转型轻博客？</title><link>https://www.xiaoten.com/posts/2011/08/formats-wp-post-transformation-of-light-blog/</link><pubDate>Sat, 06 Aug 2011 21:55:14 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/formats-wp-post-transformation-of-light-blog/</guid><description>&lt;p&gt;先是点点，随后新浪……新浪的域名可是占足了优势。&lt;/p&gt;
&lt;p&gt;点点出轻博客的时候是再cnbeta上看到的广告，然后上面写的广告词是国内首家轻博客社区，国内首家，当时还听着很牛，后来了解到轻博客的起源在2007年，毕竟还是比较落后的……&lt;/p&gt;
&lt;p&gt;虽然说用WORDPRESS这么久了……还是偶然机会了解到轻博客主题才发现，wordpress在3.1版本就已经加入了文章形（样）式（Post Formats）的功能了，但是，谁让这个功能对于大部分主题默认为关闭的状态。嗯，从网上找来一些开启的方法，留念一下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开令我无限纠结的 functions.php 文件&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;添加下面的代码：&lt;/p&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="nx"&gt;add_theme_support&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;post-formats&amp;#39;&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 class="s1"&gt;&amp;#39;aside&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;chat&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;gallery&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;image&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;link&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;quote&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;status&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;video&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;audio&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;分别为： &lt;code&gt;aside&lt;/code&gt;、&lt;code&gt;chat&lt;/code&gt;、&lt;code&gt;gallery&lt;/code&gt;、&lt;code&gt;image&lt;/code&gt;、&lt;code&gt;link&lt;/code&gt;、&lt;code&gt;quote&lt;/code&gt;、&lt;code&gt;status&lt;/code&gt;、&lt;code&gt;video&lt;/code&gt;、&lt;code&gt;audio&lt;/code&gt;这几个形式&lt;/p&gt;
&lt;p&gt;2.保存后，再进入后台管理面板，在发表文章的编辑栏右侧就会出现文章形式的选项框……&lt;/p&gt;
&lt;p&gt;保存之后，也可以在后台的文章页面直观的看到文章样式&lt;/p&gt;
&lt;p&gt;其中，在wordpress的官方文档中，对文章形式也有详细的说明：
&lt;a href="http://codex.wordpress.org/zh-cn:%E6%96%87%E7%AB%A0%E6%A0%BC%E5%BC%8F"
target="_blank" rel="noopener noreferrer"
&gt;
点我点我
&lt;/a&gt;&lt;/p&gt;</description></item><item><title>在新窗口中打开 WordPress 评论者链接</title><link>https://www.xiaoten.com/posts/2011/08/wordpress-reviewers-open-link-in-a-new-window/</link><pubDate>Wed, 03 Aug 2011 23:27:24 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/wordpress-reviewers-open-link-in-a-new-window/</guid><description>&lt;p&gt;今天，博客折腾的地方也比较多了，先是弄上ajax评论，然后有弄上回应邮件提醒，接着细节上的css也调整下，为了配合关于页面中的小图标，也把原来那些图片的边框css给注释掉了&amp;lt;在头部标签中，内嵌样式&amp;gt;。&lt;/p&gt;
&lt;p&gt;接着闲着无事，为了让访客多些几率停留在自己的博客上，又弄上了这个在新窗口中打开wordpress评论者链接，本来以为只是&lt;code&gt;target=&amp;quot;_blank&amp;quot;&lt;/code&gt; 或 &lt;code&gt;rel=&amp;quot;external&amp;quot;&lt;/code&gt; 的任务……谁知道远远没这么简单。这次采用的是
&lt;a href="http://wange.im/wordpress-comment-author-link-open-in-new-window.html"
target="_blank" rel="noopener noreferrer"
&gt;
万戈
&lt;/a&gt;的方法，以下引用全文：&lt;/p&gt;</description></item><item><title>Sing for you</title><link>https://www.xiaoten.com/posts/2011/08/sing-for-you/</link><pubDate>Wed, 03 Aug 2011 23:00:43 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/sing-for-you/</guid><description>&lt;p&gt;&lt;img src="images/3dhch_023.jpg"
alt="3dhch_023"
loading="lazy"
decoding="async"width="500" height="255"&gt;
&lt;/p&gt;
&lt;p&gt;题目就是这个歌的名字……&lt;/p&gt;</description></item><item><title>哇，又一次沾到小T的光了……Comment Mail Notify</title><link>https://www.xiaoten.com/posts/2011/08/comment-mail-notify/</link><pubDate>Wed, 03 Aug 2011 19:08:09 +0800</pubDate><atom:updated>Mon, 02 Apr 2012 22:54:25 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/08/comment-mail-notify/</guid><description>&lt;p&gt;人品不行就是不行……唉，试了两天，各种试发，不习惯在后台直接编辑代码，以为notepad++编辑会更为保险……也许从复制到那里的代码空格变为问号就注定这我失败了……我辗转两天……本来是一个没有技术含量的活也整得让我精疲力竭……&lt;/p&gt;</description></item><item><title>WordPress模板修改及WordPress函数整理</title><link>https://www.xiaoten.com/posts/2011/08/wordpress-template-modification-and-wordpress-function-finishing/</link><pubDate>Wed, 03 Aug 2011 08:46:01 +0800</pubDate><atom:updated>Wed, 03 Aug 2011 23:45:53 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/08/wordpress-template-modification-and-wordpress-function-finishing/</guid><description>&lt;h2 id="wordpress模板基础"&gt;WordPress模板基础&lt;/h2&gt;
&lt;h3 id="模板文件位置"&gt;模板文件位置&lt;/h3&gt;
&lt;p&gt;WordPress安装完成后，主题模板文件位于：&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;程序安装根目录/wp-content/themes/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&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;程序安装根目录/wp-content/themes/default/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="重要概念"&gt;重要概念&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;核心原则&lt;/strong&gt;：每个页面由多个模板文件共同组成，理解各文件的作用至关重要。&lt;/p&gt;</description></item><item><title>仅关于ajax评论~</title><link>https://www.xiaoten.com/posts/2011/08/only-about-ajax-review/</link><pubDate>Wed, 03 Aug 2011 08:35:09 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/only-about-ajax-review/</guid><description>&lt;p&gt;……从没写过跟技术沾边的文章……今天就借着小T和Willin的经验写个关于Ajax评论的文章，也就把自己测试的经历描述一下……没有一点属于自己的东西在里面，写着都怪不好意思的……&lt;/p&gt;
&lt;p&gt;嗯，正文开始……&lt;/p&gt;</description></item><item><title>就莫名地关注了一下PR</title><link>https://www.xiaoten.com/posts/2011/08/have-a-sense-of-concern-about-the-pr/</link><pubDate>Tue, 02 Aug 2011 22:10:59 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/have-a-sense-of-concern-about-the-pr/</guid><description>&lt;p&gt;就莫名地关注了一下PR值。。一看成为1的，以前隐约地觉得PR值最低是0的，然后我今天怀疑了一下我的看法，因为总觉得我的PR值永远是底线。 于是我测试了某个站点，发现竟然还真有0的存在，有些个不淡定了，毕竟小站从4月份开始就没有什么值得让PR值提升的东西了。&lt;/p&gt;
&lt;p&gt;这次提升到1也只能归结到或许谷歌服务器抽了，也或许是我的眼睛抽了……但说搜狗的山寨PR值一向是跑在谷歌PR值之前的。 通过搜狗的还一直停留在1上可以看出，我眼睛没问题，是谷歌的问题…… 不管怎么样，从0到1虽是一个数值的差距但也让我尝到其中提升带来的惊喜……&lt;/p&gt;
&lt;p&gt;今天本来打算好好整整这博客的……停了一下午的电……自从知道小T的站之后，也着实发挥了我这电脑IP的作用，总之这两天我的每一个IP都在他那访客记录里，这也是让我从游戏和电视剧的魔窟中拯救出来的原因之一……&lt;/p&gt;
&lt;p&gt;这两天持续地下雨，今天晚上竟然能感觉到冷……真有焦作气候极端的模样……&lt;/p&gt;
&lt;p&gt;来个链接吧：&lt;/p&gt;
&lt;p&gt;[button type=&amp;ldquo;rounded&amp;rdquo; color=&amp;ldquo;light-blue&amp;rdquo; size=&amp;ldquo;small&amp;rdquo; url=&amp;ldquo;http://www.xiaotee.com&amp;rdquo; rel=&amp;ldquo;dofollow&amp;rdquo;] 叫我小T [/button]&lt;/p&gt;</description></item><item><title>继续纠结，到底习惯不习惯</title><link>https://www.xiaoten.com/posts/2011/08/continue-to-struggle-in-the-end-the-habit-is-not-used-to/</link><pubDate>Mon, 01 Aug 2011 14:51:51 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/08/continue-to-struggle-in-the-end-the-habit-is-not-used-to/</guid><description>&lt;p&gt;&lt;img src="images/1.jpg"
alt="1"
loading="lazy"
decoding="async"width="500" height="217"&gt;
&lt;/p&gt;</description></item><item><title>就这样放着假……</title><link>https://www.xiaoten.com/posts/2011/07/so-lets-put-it-off/</link><pubDate>Fri, 22 Jul 2011 12:22:50 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/07/so-lets-put-it-off/</guid><description>&lt;p&gt;好了，总算是安全到家了……&lt;/p&gt;
&lt;p&gt;呃？这应该是几天前，确切说是2011年7月19日晚上11点左右说的话吧……&lt;/p&gt;
&lt;p&gt;回来了这几天。还是意犹未尽得享受着假期带来的不充实感……&lt;/p&gt;
&lt;p&gt;懒，终究根深蒂固地在我身上践行着。&lt;/p&gt;
&lt;p&gt;看了看winy的博客，试着想在博客中加入Ajax，更关键的，要换一个新主题。&lt;/p&gt;
&lt;p&gt;思来想去，就以系统默认主题为框架吧……&lt;/p&gt;
&lt;p&gt;随便拿个人家做的主题改，代码略显乱了些。&lt;/p&gt;
&lt;p&gt;放假回家什么书也没带回来，除了给我妈带回的那本关于股票的……&lt;/p&gt;
&lt;p&gt;图书馆借来两本书，关于php跟Ajax，但太沉了。现在有些小小的后悔。&lt;/p&gt;
&lt;p&gt;不过，总要有起点的……昨天还在lynda那看AI基础教程，今天又转战代码……&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>暑期寂寞是一个让人冷落的季节</title><link>https://www.xiaoten.com/posts/2011/07/summer-loneliness-is-a-cold-season/</link><pubDate>Thu, 14 Jul 2011 00:12:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/07/summer-loneliness-is-a-cold-season/</guid><description>&lt;p&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;留下来社会实践，装模作样的表面功夫也做得算是够格。&lt;/p&gt;
&lt;p&gt;富裕的社区和贫穷的社区都去了遍，差别还是很大的。&lt;/p&gt;
&lt;p&gt;富裕的人都比较热心，贫穷的就不一样了，不只从冠名为“小三社区”上可以看出来，关键去的时候，周围那种愤世嫉俗的氛围，还好我这清廉之身还没有被“耳濡目染”掉。没办法，开展不下来，看我老实好欺的也被一个老爷爷盯上讲东西，对了这些都是12号发生的事了。过去很久了。&lt;/p&gt;
&lt;p&gt;现在虽然是14号，但是是14号的开始，14号将会发生什么，谁知道呢。只知道13号上午听了旭大哥的培训，对色彩产生了新的认识，然后在接近一个小时内赶出来一份社会实践的总结手册外，别的记忆都打上马赛克了，不痛不痒地就到了晚上。可能是睡了一下午的缘故。&lt;/p&gt;
&lt;p&gt;试着去自习，学点东西，发现毕竟是暑假，如果我有考前自习的劲头的话……&lt;/p&gt;
&lt;p&gt;晚上的时候终于深入到4楼我们班的同学中了，发现留下的人还不少，都在参加数学建模培训，2楼和4楼简直是两种境界啊，灯火通明，随处可见的人烟，让我只在那垂涎了，每个人都有目标，嗯，很好。&lt;/p&gt;
&lt;p&gt;回到宿舍我就实在无力打开我的仙剑5了，打打杀杀的，练级杀怪打得有点腻了，我只在乎上面的剧情，看这趋势像是龙幽和小蛮在一块，唐雨柔和姜云凡在一块，不像仙四那样两女追一个男的看着习惯。结局悲，如果是像仙四那样两女追一个男的话，那样悲起来就挺有意思了，剧情神马的以后再去探个究竟吧，也想着跟4楼的同学一起去数学建模。&lt;/p&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;</description></item><item><title>我放假了，然后WP3.2~</title><link>https://www.xiaoten.com/posts/2011/07/i-have-a-holiday-and-then-wp3-2/</link><pubDate>Mon, 11 Jul 2011 10:37:29 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/07/i-have-a-holiday-and-then-wp3-2/</guid><description>&lt;p&gt;全屏编辑模式果然给劲哇。虽然放着假，前两天担心着是否挂科还有忙着社会实践的事，一直没再来这里。&lt;/p&gt;
&lt;p&gt;原来某次在cnbeta看到wp3.2将开启全屏书写模式，今天才真正体验一把。&lt;/p&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;</description></item><item><title>拿福能哇哇哇哇哇哇哇</title><link>https://www.xiaoten.com/posts/2011/07/nuffnang/</link><pubDate>Mon, 04 Jul 2011 12:17:08 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/07/nuffnang/</guid><description>&lt;p&gt;曾经的曾经，在我第一次建立这个博客写下第一篇博文的时候，是公元2011年1月2日，这个在元旦过后的第一天，开始了我 的博客生涯。&lt;/p&gt;
&lt;p&gt;有曾经的曾经，大约是一个多月前，我申请了这个千人挑战活动，很可惜，我错过了，因为我的博客建立时间不足6个月。我锤头懊恼，为什么不早早加入WP大家庭。&lt;/p&gt;
&lt;p&gt;如今，我卡着点在7月4日这一天，这六个月后的一个日子里，我又荣幸地参与到这个活动中来，不知道这次能不能审核通过，但我想如果还不行，我还能等，我有着一颗炽热的等待的心。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/C1000.jpg"
alt="C1000"
loading="lazy"
decoding="async"width="450" height="400"&gt;
&lt;/p&gt;
&lt;p&gt;好了，煽情完毕，详情了解博客右下角的广告栏，或者点击下面的活动地址：
&lt;a href="http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000"
target="_blank" rel="noopener noreferrer"
&gt;
http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000
&lt;/a&gt;&lt;/p&gt;</description></item><item><title>支付宝的一张宣传画</title><link>https://www.xiaoten.com/posts/2011/07/a-poster-of-the-alipay/</link><pubDate>Mon, 04 Jul 2011 11:19:28 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/07/a-poster-of-the-alipay/</guid><description>&lt;p&gt;&lt;img src="images/alipay_thumb.jpg"
alt="alipay_thumb"
loading="lazy"
decoding="async"width="402" height="364"&gt;
&lt;/p&gt;</description></item><item><title>我想说，你</title><link>https://www.xiaoten.com/posts/2011/06/i-want-to-say-you/</link><pubDate>Wed, 22 Jun 2011 02:42:05 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/06/i-want-to-say-you/</guid><description>&lt;p&gt;2011年6月22日 02:42:13。&lt;/p&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;
&lt;p&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;在QQ空间的编辑框里面写下了这些话，突然想到，自己还有博客。果断复制粘贴过去，目的，其实没有那么明显，我想，可能博客是我最后的寄托，自己搭建起来，自己想干什么干什么，写自己喜欢的页面，写自己喜欢的文章。没有敏感词过滤，没有各种网络上面的条条框框，是自己最后一片净土，是自己最后能找到存在感的地方。&lt;/p&gt;
&lt;p&gt;原谅我，夜晚，容易让人煽情。&lt;/p&gt;</description></item><item><title>3dmax，仙剑5云云~</title><link>https://www.xiaoten.com/posts/2011/06/3dmax-legend-of-5-and-so-on/</link><pubDate>Wed, 15 Jun 2011 23:25:34 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/06/3dmax-legend-of-5-and-so-on/</guid><description>&lt;p&gt;到底还是受不了旁边旭哥的诱惑。&lt;/p&gt;
&lt;p&gt;他在做毕业设计十足地引发了我学习的欲望。可是又一步拉远了我与专业课的距离……&lt;/p&gt;
&lt;p&gt;前些日子什么都没有处理好，生活、学习、人缘，各种糟糕，其实许多没有的事情都能闹得沸沸扬扬，我的性格该改了么？&lt;/p&gt;
&lt;p&gt;我想起了玩仙剑4的日子，是我第二次高考前的那几个月，每周末回家开电脑都要进行一段仙剑4，当时玩着仙剑4，特别是最后的情节。重复玩了好几遍，很感人的情节。那时候纯真的想法哪有这么多腐朽的东西含在里面。决定了，做一些改变，开始。&lt;/p&gt;
&lt;p&gt;偶然发现明天是仙剑5预售的日子，可以咋商城订购到，只开放3000套，于是还是找了一个同学去实体店定购了~&lt;/p&gt;
&lt;p&gt;3dmax的强大还是旭哥让我领略到了，虽然现在知道的是皮毛的无限次方倍，但我还是有很大的冲动要学啊，可怜了我的ajax什么的，没有一个明确的目标真可怕，或许已经有了。嗯~时间的推移会改变些什么的。&lt;/p&gt;</description></item><item><title>压力，四面八方的压力……</title><link>https://www.xiaoten.com/posts/2011/06/pressure-in-all-directions/</link><pubDate>Fri, 10 Jun 2011 11:52:07 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:37:44 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/06/pressure-in-all-directions/</guid><description>&lt;p&gt;&lt;img src="images/1.jpg"
alt="1"
loading="lazy"
decoding="async"width="500" height="200"&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;就因为三次点名未到，就这样无声无息地被抬高了门槛。&lt;/p&gt;
&lt;p&gt;不知道最终的结果是什么？现在的心情是绝望还是自暴自弃也无所谓了。&lt;/p&gt;
&lt;p&gt;多久多久了，再也没有关注专业课，也没有专注自己希望专注的地方。&lt;/p&gt;
&lt;p&gt;前天被团委老师拉到一个带空调的办公室里面，被强制一夜没合眼，工作了刚好12个小时，从晚上8点到第二天早上8点，只做了一个PPT，因为要着急上交，可能是第一次彻头彻尾地为了一个非娱乐性质的东西熬了一夜，但是，可悲的是，对象跟我没半毛钱关系~我奉献给了一个跟我无关的事物，还要有很多事，招新、换届、社团评比……&lt;/p&gt;</description></item><item><title>上一次：5月12日，我不是人了？</title><link>https://www.xiaoten.com/posts/2011/05/last-time-may-12th-im-not-a-man/</link><pubDate>Fri, 27 May 2011 17:39:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/05/last-time-may-12th-im-not-a-man/</guid><description>&lt;p&gt;震撼了，第一次隔这么久啊。纵观今天的日子，5月27日了。&lt;/p&gt;
&lt;p&gt;5月快过完了。&lt;/p&gt;
&lt;p&gt;嗯，真的懒了。&lt;/p&gt;
&lt;p&gt;上次要去参加千人挑战，才发现我开博竟然没有超过六个月，可是作为长期的拿铁，这样不给我审核通过也太没有人情味了。抱怨个。&lt;/p&gt;
&lt;p&gt;在生活上是各种纠结啊，这直接导致了我遗弃博客这么久。所以终于决定要遗弃QQ了。&lt;/p&gt;
&lt;p&gt;加油哇，继续的生活。&lt;/p&gt;</description></item><item><title>大杂烩。</title><link>https://www.xiaoten.com/posts/2011/05/hodgepodge/</link><pubDate>Thu, 12 May 2011 11:48:50 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/05/hodgepodge/</guid><description>&lt;p&gt;&lt;img src="images/111.jpg"
alt="111"
loading="lazy"
decoding="async"width="600" height="221"&gt;
&lt;/p&gt;</description></item><item><title>我擦，你要至3.2了</title><link>https://www.xiaoten.com/posts/2011/05/i-wipe-you-will-3-2/</link><pubDate>Sat, 07 May 2011 17:38:52 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/05/i-wipe-you-will-3-2/</guid><description>&lt;p&gt;接触你不久的时候。你还处于3.0。这才短短的几个月。你要3.2了。&lt;/p&gt;
&lt;p&gt;这要归结于今天早上的一夜未睡了。沉浸在专业歌手级歌声中，五音不全、喉咙发炎的我只得无奈得拿起爪机，习惯地进到cnbeta。好样的，win7的bin 、ipad2国行上市，价格还挺能接受，不过妈妈的资金支持依然不给力着、抓着我眼球的还是真的跟我生活相当能联系到一块的：&lt;/p&gt;</description></item><item><title>我只是来刷新记录的</title><link>https://www.xiaoten.com/posts/2011/04/i-just-came-to-refresh-the-record/</link><pubDate>Fri, 29 Apr 2011 21:36:06 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/i-just-came-to-refresh-the-record/</guid><description>&lt;p&gt;今天我发现，我自从安装了自动保存远程图片自个wp插件之后，后台就越发的。。。&lt;/p&gt;
&lt;p&gt;心情焦躁的时候看什么都是烦得。不过自动保存的效率真的很慢啊，弄得我以为文章发表失败。&lt;/p&gt;
&lt;p&gt;好吧，证明只有在5分钟之后才出来。&lt;/p&gt;</description></item><item><title>T.T,越来越不现实了</title><link>https://www.xiaoten.com/posts/2011/04/t-t-more-and-more-unrealistic/</link><pubDate>Thu, 28 Apr 2011 15:05:06 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/t-t-more-and-more-unrealistic/</guid><description>&lt;p&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>几米说：爱情最好不要顺其自然</title><link>https://www.xiaoten.com/posts/2011/04/ji-mi-said-love-is-best-not-to-let-nature-take-its-course/</link><pubDate>Thu, 28 Apr 2011 14:44:01 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/ji-mi-said-love-is-best-not-to-let-nature-take-its-course/</guid><description>&lt;p&gt;&lt;img src="images/0645014KW.jpg"
alt="0645014KW"
loading="lazy"
decoding="async"width="375" height="495"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我们总是以为，我们会找到一个自己很爱很爱的人。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;可是当我们回首，才发觉自己曾经多么天真。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;假如从来没有开始，你怎么知道自己会不会很爱很爱那个人呢？&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>当童话故事被篡改后……</title><link>https://www.xiaoten.com/posts/2011/04/when-the-fairy-tale-has-been-tampered-with/</link><pubDate>Thu, 28 Apr 2011 12:35:38 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/when-the-fairy-tale-has-been-tampered-with/</guid><description>&lt;p&gt;&lt;strong&gt;引导语：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;从此，王子和公主过上了幸福的生活……当我们长大了，就不再相信那些所谓的童话了。因为，我们都有了自己的想法和思绪。当熟知的童话经过一番修改，那将会变成什么样子呢？&lt;/p&gt;</description></item><item><title>豆瓣9.0分以上的电影</title><link>https://www.xiaoten.com/posts/2011/04/more-than-9-scores-of-the-film/</link><pubDate>Wed, 27 Apr 2011 15:34:01 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/more-than-9-scores-of-the-film/</guid><description>&lt;h2 id="top-66完整榜单"&gt;TOP 66完整榜单&lt;/h2&gt;
&lt;h3 id="1-10名"&gt;1-10名&lt;/h3&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;1&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2252039199.webp"
alt="地球脉动"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;地球脉动 Planet Earth&lt;/strong&gt;&lt;br&gt;导演: Alastair Fothergill&lt;br&gt;主演: David Attenborough/Sigourney Weaver&lt;br&gt;评分: 9.7 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img2.doubanio.com/view/photo/s_ratio_poster/public/p480747492.webp"
alt="肖申克的救赎"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;肖申克的救赎 The Shawshank Redemption&lt;/strong&gt;&lt;br&gt;导演: Frank Darabont&lt;br&gt;主演: Tim Robbins/Morgan Freeman/Bob Gunton/William Sadler/Clancy Brown&lt;br&gt;评分: 9.5 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2559579779.webp"
alt="海豚湾"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;海豚湾 The Cove&lt;/strong&gt;&lt;br&gt;导演: Louie Psihoyos&lt;br&gt;主演: Joe Chisholm/Mandy-Rae Cruikshank/Charles Hambleton/Simon Hutchins/Kirk Krack/Isabel Lucas/Richard O&amp;rsquo;Barry/Hayden Panettiere/Louie Psihoyos&lt;br&gt;评分: 9.5 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p513344864.webp"
alt="盗梦空间"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;盗梦空间 Inception&lt;/strong&gt;&lt;br&gt;导演: 克里斯托弗·诺兰 Christopher Nolan&lt;br&gt;主演: 莱昂纳多·迪卡普里奥 Leonardo DiCaprio/约瑟夫·高登-莱维特 Joseph Gordon-Levitt/艾伦·佩吉 Ellen Page/渡边谦 Ken Watanabe/汤姆·哈迪 Tom Hardy/迪利普·劳 Dileep Rao/玛丽昂·歌迪亚 Marion Cotillard/希里安·墨菲 Cillian Murphy/汤姆·贝伦杰 Tom Berenger/迈克尔·凯恩 Michael Caine/卢卡斯·哈斯 Lukas Haas/皮特·波斯尔思韦特 Pete Postlethwaite&lt;br&gt;评分: 9.4 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2578474613.webp"
alt="美丽人生"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;美丽人生 La vita è bella&lt;/strong&gt;&lt;br&gt;导演: Roberto Benigni&lt;br&gt;主演: Roberto Benigni/Nicoletta Braschi/Giorgio Cantarini/Giustino Durano/Sergio Bini Bustric/Marisa Paredes/Horst Buchholz/Lidia Alfonsi/Giuliana Lojodice&lt;br&gt;评分: 9.4 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2553489946.webp"
alt="灿烂人生"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;灿烂人生 La meglio gioventù&lt;/strong&gt;&lt;br&gt;导演: Marco Tullio Giordana&lt;br&gt;主演: Luigi Lo Cascio/Alessio Boni/Adriana Asti/Sonia Bergamasco/Maya Sansa&lt;br&gt;评分: 9.4 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2372307693.webp"
alt="阿甘正传"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;阿甘正传 Forrest Gump&lt;/strong&gt;&lt;br&gt;导演: Robert Zemeckis&lt;br&gt;主演: Tom Hanks/Robin Wright Penn/Gary Sinise/Mykelti Williamson/Sally Field/Michael Conner Humphreys/Haley Joel Osment&lt;br&gt;评分: 9.3 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p511118051.webp"
alt="这个杀手不太冷"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;这个杀手不太冷 Léon&lt;/strong&gt;&lt;br&gt;导演: Luc Besson&lt;br&gt;主演: Jean Reno/Natalie Portman/Gary Oldman&lt;br&gt;评分: 9.3 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2561716440.webp"
alt="霸王别姬"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;霸王别姬&lt;/strong&gt;&lt;br&gt;导演: 陈凯歌 Kaige Chen&lt;br&gt;主演: 张国荣 Leslie Cheung/张丰毅 Fengyi Zhang/巩俐 Li Gong/葛优 You Ge/英达 Da Ying/蒋雯丽 Wenli Jiang/吴大维 David Wu/吕齐 Qi Lv/雷汉 Han Lei/尹治 Zhi Yin/马明威 Mingwei Ma/费振翔 Zhenxiang Fei/智一桐 Yitong Zhi/李春 Chun Li/赵海龙 Hailong Zhao/李丹 Dan Li/童弟 Di Tong&lt;br&gt;评分: 9.3 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p492406163.webp"
alt="辛德勒的名单"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;辛德勒的名单 Schindler&amp;rsquo;s List&lt;/strong&gt;&lt;br&gt;导演: Steven Spielberg&lt;br&gt;主演: Liam Neeson/Ben Kingsley/Ralph Fiennes/Caroline Goodall/Jonathan Sagall&lt;br&gt;评分: 9.3 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="11-20名"&gt;11-20名&lt;/h3&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;11&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2173577632.webp"
alt="十二怒汉"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;十二怒汉 12 Angry Men&lt;/strong&gt;&lt;br&gt;导演: Sidney Lumet&lt;br&gt;主演: Henry Fonda/Lee J. Cobb/Robert Webber/Jack Klugman/Ed Begley&lt;br&gt;评分: 9.3 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515538617.webp"
alt="天堂回信"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;天堂回信&lt;/strong&gt;&lt;br&gt;导演: 王君正&lt;br&gt;主演: 石晨/李丁&lt;br&gt;评分: 9.3 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2574551676.webp"
alt="海上钢琴师"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;海上钢琴师 La leggenda del pianista sull&amp;rsquo;oceano&lt;/strong&gt;&lt;br&gt;导演: Giuseppe Tornatore&lt;br&gt;主演: Tim Roth/Pruitt Taylor Vince/Bill Nunn/Mélanie Thierry/Alberto Vazquez&lt;br&gt;评分: 9.2 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p1461851991.webp"
alt="机器人总动员"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;机器人总动员 WALL·E&lt;/strong&gt;&lt;br&gt;导演: 安德鲁·斯坦顿 Andrew Stanton&lt;br&gt;主演: 本·贝尔特 Ben Burtt/艾丽莎·奈特 Elissa Knight/杰夫·格尔林 Jeff Garlin/佛莱德·威拉特 Fred Willard&lt;br&gt;评分: 9.2 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2552035769.webp"
alt="天堂电影院"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;天堂电影院 Nuovo cinema Paradiso&lt;/strong&gt;&lt;br&gt;导演: Giuseppe Tornatore&lt;br&gt;主演: Salvatore Cascio/Enzo Cannavale/Marco Leonardi/Salvatore Cascio/Philippe Noiret/Antonella Attili/Jacques Perrin&lt;br&gt;评分: 9.2 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p616779645.webp"
alt="教父"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;教父 The Godfather&lt;/strong&gt;&lt;br&gt;导演: Francis Ford Coppola&lt;br&gt;主演: Marlon Brando/Al Pacino/James Caan/Robert Duvall/Diane Keaton&lt;br&gt;评分: 9.2 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p579729551.webp"
alt="三个傻瓜"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;三个傻瓜 3 Idiots&lt;/strong&gt;&lt;br&gt;导演: 拉库马·希拉尼 Rajkumar Hirani&lt;br&gt;主演: Aamir Khan/Kareena Kapoor/Madhavan/Sharman Joshi/Omi Vaidya/Boman Irani/Mona Singh/Rajeev Ravindranathan&lt;br&gt;评分: 9.2 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="大闹天宫"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;大闹天宫&lt;/strong&gt;&lt;br&gt;导演: 万籁鸣/唐澄&lt;br&gt;主演: 邱岳峰/富润生/毕克/尚华/于鼎/李梓/刘广宁&lt;br&gt;评分: 9.2 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="地下"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;地下 Underground&lt;/strong&gt;&lt;br&gt;导演: Emir Kusturica&lt;br&gt;主演: Miki Manojlovic/Lazar Ristovski/Mirjana Jokovic/Slavko Stimac/Ernst Stötzner&lt;br&gt;评分: 9.2 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="我的父亲，我的儿子"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;我的父亲，我的儿子 Babam Ve Oglum&lt;/strong&gt;&lt;br&gt;导演: Çagan Irmak&lt;br&gt;主演: Çetin Tekindor/Fikret Kuskan/Hümeyra/Serif Sezer/Yetkin Dikinciler&lt;br&gt;评分: 9.2 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="21-30名"&gt;21-30名&lt;/h3&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;21&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="洞"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;洞 Le trou&lt;/strong&gt;&lt;br&gt;导演: Jacques Becker&lt;br&gt;主演: Marc Michel/Jean Keraudy/Philippe Leroy/Michel Constantin/Raymond Meunier&lt;br&gt;评分: 9.2 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="放牛班的春天"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;放牛班的春天 Les choristes&lt;/strong&gt;&lt;br&gt;导演: Christophe Barratier&lt;br&gt;主演: Gérard Jugnot/François Berléand/Jean-Baptiste Maunier/Marie Bunel/Kad Merad/Jacques·Perrin&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2540924496.webp"
alt="龙猫"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;龙猫 となりのトトロ&lt;/strong&gt;&lt;br&gt;导演: 宫崎骏 (Hayao Miyazaki)&lt;br&gt;主演: 日高法子/坂本千夏/岛本须美/北林谷荣/高木均&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p1910926158.webp"
alt="搏击俱乐部"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;搏击俱乐部 Fight Club&lt;/strong&gt;&lt;br&gt;导演: David Fincher&lt;br&gt;主演: Edward Norton/Brad Pitt/Helena Bonham Carter&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2351134259.webp"
alt="乱世佳人"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;乱世佳人 Gone with the Wind&lt;/strong&gt;&lt;br&gt;导演: Victor Fleming/George Cukor/Sam Wood&lt;br&gt;主演: Clark Gable/Vivien Leigh/Thomas Mitchell/Hattie McDaniel&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="两杆大烟枪"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;两杆大烟枪 Lock, Stock and Two Smoking Barrels&lt;/strong&gt;&lt;br&gt;导演: Guy Ritchie&lt;br&gt;主演: Jason Flemyng/Dexter Fletcher/Nick Moran/Jason Statham/Steven Mackintosh/Sting&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p524964016.webp"
alt="忠犬八公的故事"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;忠犬八公的故事 Hachiko: A Dog&amp;rsquo;s Story&lt;/strong&gt;&lt;br&gt;导演: Lasse Hallström&lt;br&gt;主演: Richard Gere/Forest (Hachiko)/Sarah Roemer/Joan Allen/Robbie Sublett/Erick Avari/田中洋行/Jason Alexander/Robert Capron&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="小鞋子"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;小鞋子 بچههای آسمان&lt;/strong&gt;&lt;br&gt;导演: 马基德·马基迪 Majid Majidi&lt;br&gt;主演: Hossein Ahamdloo/Seyed Karym Alikhani/Kazem Asqarpoor&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="七武士"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;七武士 七人の侍&lt;/strong&gt;&lt;br&gt;导演: 黑泽明&lt;br&gt;主演: 三船敏郎/志村乔/稻叶义男/宫口精二/千秋实/加东大介&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="爱·回家"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;爱·回家 집으로&amp;hellip;&lt;/strong&gt;&lt;br&gt;导演: 李廷香&lt;br&gt;主演: 金艺芬/俞承浩/童孝熙/闵京勋/林恩京&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="31-40名"&gt;31-40名&lt;/h3&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;31&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="城市之光"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;城市之光 City Lights&lt;/strong&gt;&lt;br&gt;导演: Charles Chaplin&lt;br&gt;主演: Charles Chaplin/Virginia Cherrill/Florence Lee&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="东京物语"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;东京物语 東京物語&lt;/strong&gt;&lt;br&gt;导演: 小津安二郎&lt;br&gt;主演: 笠智众/原节子/杉村春子/东山千荣子/山村聪&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="子熊故事"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;子熊故事 L&amp;rsquo;ours&lt;/strong&gt;&lt;br&gt;导演: Jean-Jacques Annaud&lt;br&gt;主演: Bart the Bear/Youk the Bear/Tchéky Karyo/Jack Wallace/André Lacombe&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="雾中风景"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;雾中风景 Τοπίο στην ομίχλη&lt;/strong&gt;&lt;br&gt;导演: Theo Angelopoulos&lt;br&gt;主演: Michalis Zeke/Tania Palaiologou/Stratos Tzortzoglou/Eva Kotamanidou/Aliki Georgouli&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="乡愁"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;乡愁 Ностальгия&lt;/strong&gt;&lt;br&gt;导演: Andrei Tarkovsky&lt;br&gt;主演: Oleg Yankovsky/Erland Josephson/Domiziana Giordano&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="忠犬八公物语"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;忠犬八公物语 ハチ公物語&lt;/strong&gt;&lt;br&gt;导演: 神山征二郎&lt;br&gt;主演: 山本圭/井川比佐志/片桐入/仲代达矢/春川真澄/八千草薰/石野真子/殿山泰司/加藤嘉/石仓三郎/泉谷茂&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="生活多美好"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;生活多美好 It&amp;rsquo;s a Wonderful Life&lt;/strong&gt;&lt;br&gt;导演: Frank Capra&lt;br&gt;主演: James Stewart/Donna Reed/Lionel Barrymore/Thomas Mitchell/Henry Travers&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="茶馆"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;茶馆&lt;/strong&gt;&lt;br&gt;导演: 谢添&lt;br&gt;主演: 于是之/郑榕/蓝天野/英若诚&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="寻子遇仙记"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;寻子遇仙记 The Kid&lt;/strong&gt;&lt;br&gt;导演: Charles Chaplin&lt;br&gt;主演: Charles Chaplin/Jackie Coogan&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="卡比利亚之夜"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;卡比利亚之夜 Le notti di Cabiria&lt;/strong&gt;&lt;br&gt;导演: Federico Fellini&lt;br&gt;主演: Giulietta Masina/François Périer/Franca Marzi/Dorian Gray/Aldo Silvani&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="41-50名"&gt;41-50名&lt;/h3&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;41&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="沉静如海"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;沉静如海 Le silence de la mer&lt;/strong&gt;&lt;br&gt;导演: Pierre Boutron&lt;br&gt;主演: Julie Delarme/Michel Galabru/Thomas Jouannet/Marie Bunel/Timothée Ferrand/Jean-Baptiste Puech/Jorg Schnass/Jorn Cambreleng&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="切腹"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;切腹&lt;/strong&gt;&lt;br&gt;导演: 小林正树 Masaki Kobayashi&lt;br&gt;主演: 仲代达矢/岩下志麻/石浜朗/三国连太郎/稻叶义男&lt;br&gt;评分: 9.1 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;43&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2621289088.webp"
alt="阿凡达"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;阿凡达 Avatar&lt;/strong&gt;&lt;br&gt;导演: James Cameron&lt;br&gt;主演: Sam Worthington/Zoe Saldana/Sigourney Weaver/Stephen Lang/Michelle Rodriguez/Joel Moore/Giovanni Ribisi&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2557573348.webp"
alt="千与千寻"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;千与千寻 千と千尋の神隠し&lt;/strong&gt;&lt;br&gt;导演: 宫崎骏&lt;br&gt;主演: 柊瑠美/入野自由/夏木真理/菅原文太/内藤刚志&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p1820615077.webp"
alt="玛丽和马克思"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;玛丽和马克思 Mary and Max&lt;/strong&gt;&lt;br&gt;导演: Adam Elliot&lt;br&gt;主演: Toni Collette/Philip Seymour Hoffman/Eric Bana/Bethany Whitmore&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="飞越疯人院"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;飞越疯人院 One Flew Over the Cuckoo&amp;rsquo;s Nest&lt;/strong&gt;&lt;br&gt;导演: Milos Forman&lt;br&gt;主演: Jack Nicholson/Danny DeVito/Christopher Lloyd/Louise Fletcher/Ted Markland&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p1808852108.webp"
alt="窃听风暴"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;窃听风暴 Das Leben der Anderen&lt;/strong&gt;&lt;br&gt;导演: Florian Henckel von Donnersmarck&lt;br&gt;主演: Ulrich Mühe/Martina Gedeck/Sebastian Koch/Ulrich Tukur/Thomas Thieme&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="教父2"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;教父2 The Godfather: Part II&lt;/strong&gt;&lt;br&gt;导演: Francis Ford Coppola&lt;br&gt;主演: Al Pacino/Robert Duvall/Robert De Niro/Diane Keaton/John Cazale&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;49&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="迈克尔·杰克逊：就是这样"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;迈克尔·杰克逊：就是这样 This Is It&lt;/strong&gt;&lt;br&gt;导演: Kenny Ortega&lt;br&gt;主演: Michael Jackson/Alex Al/Nick Bass/Mekia Cox/Michael Bearden/Orianthi&lt;br&gt;评分: 9.0 ★★★★★&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="美国往事"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;美国往事 Once Upon a Time in America&lt;/strong&gt;&lt;br&gt;导演: Sergio Leone&lt;br&gt;主演: Robert De Niro/James Woods/Jennifer Connelly/Elizabeth McGovern/Tuesday Weld&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="51-66名"&gt;51-66名&lt;/h3&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;51&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2567845803.webp"
alt="一一"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;一一&lt;/strong&gt;&lt;br&gt;导演: 杨德昌&lt;br&gt;主演: 吴念真/李凯莉/金燕玲/张洋洋/萧淑慎/尾形一成&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;52&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="玩具总动员3"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;玩具总动员3 Toy Story 3&lt;/strong&gt;&lt;br&gt;导演: Lee Unkrich&lt;br&gt;主演: Tom Hanks/Tim Allen/Joan Cusack/Ned Beatty/Don Rickles/Michael Keaton&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;53&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="虎口脱险"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;虎口脱险 La grande vadrouille&lt;/strong&gt;&lt;br&gt;导演: Gérard Oury&lt;br&gt;主演: Louis de Funès/Bourvil/Claudio Brook/Andréa Parisy/Colette Brosset&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;54&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="摩登时代"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;摩登时代 Modern Times&lt;/strong&gt;&lt;br&gt;导演: Charles Chaplin&lt;br&gt;主演: Paulette Goddard/Charles Chaplin/Henry Bergman&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;55&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="小情人"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;小情人 แฟนฉัน&lt;/strong&gt;&lt;br&gt;导演: Vitcha Gojiew/松耀司·舒克马卡纳尼 Songyos Sugmakanan/Nithiwat Tharathorn/Witthaya Thongyooyong/Adisorn Trisirikasem/Komgrit Triwimol&lt;br&gt;主演: 查理·哲华 Charlie Trairat/霍嘉丝·芝华顾 Focus Jirakul/Charwin Jitsomboon/Chaleumpol Tikumpornteerawong/Wongsakorn Rassamitat/Arnudsara Jantarangsri/Nipawan Taveepornsawan/Prem Tinsulanonda&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;56&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="完美的世界"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;完美的世界 A Perfect World&lt;/strong&gt;&lt;br&gt;导演: Clint Eastwood&lt;br&gt;主演: Kevin Costner/Laura Dern/Clint Eastwood/T.J. Lowther/Keith Szarabajka&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;57&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="十诫"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;十诫 Dekalog&lt;/strong&gt;&lt;br&gt;导演: 克日什托夫 基希洛夫斯基 (Krzysztof Kieslowski)&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="黄金三镖客"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;黄金三镖客 Il buono, il brutto, il cattivo.&lt;/strong&gt;&lt;br&gt;导演: Sergio Leone&lt;br&gt;主演: Clint Eastwood/Eli Wallach/Lee Van Cleef/Aldo Giuffrè/Luigi Pistilli&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;59&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="回忆三部曲"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;回忆三部曲 Memories&lt;/strong&gt;&lt;br&gt;导演: 大友克洋/森本晃司/冈村天斋&lt;br&gt;主演: 矶部勉/山寺宏一/饭冢昭三/千叶繁/高岛雅罗/长谷川亚美&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="回归"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;回归 Возвращение&lt;/strong&gt;&lt;br&gt;导演: Andrei Zvyagintsev&lt;br&gt;主演: Vladimir Garin/Ivan Dobronravov/Konstantin Lavronenko/Natalya Vdovina&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;61&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="大路"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;大路 La strada&lt;/strong&gt;&lt;br&gt;导演: Federico Fellini&lt;br&gt;主演: Anthony Quinn/Giulietta Masina/Richard Basehart&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;62&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="爱情短片"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;爱情短片 Krótki film o milosci&lt;/strong&gt;&lt;br&gt;导演: Kryysztof Kieslowski&lt;br&gt;主演: Grazyna Szapolowska/Olaf Lubaszenko/Malgorzata Rozniatowska/Piotr Machalica/Artur Barcis&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;63&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="镜子"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;镜子 Зеркало&lt;/strong&gt;&lt;br&gt;导演: Andrei Tarkovsky&lt;br&gt;主演: Margarita Terekhova/Oleg Yankovskiy/Filipp Yankovsky/Ignat Daniltsev/Nikolai Grinko&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="地球上的星星"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;地球上的星星 Taare Zameen Par&lt;/strong&gt;&lt;br&gt;导演: Aamir Khan&lt;br&gt;主演: Aamir Khan/Darsheel Safary/Tanay Chheda/Sachet Engineer&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="潜行者"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;潜行者 Сталкер&lt;/strong&gt;&lt;br&gt;导演: Andrei Tarkovsky&lt;br&gt;主演: Aleksandr Kajdanovsky/Alisa Frejndlikh/Anatoli Solonitsyn/Nikolai Grinko/Natasha Abramova&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;td&gt;&lt;img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2515534038.webp"
alt="尤里西斯的凝视"
loading="lazy"
decoding="async"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;尤里西斯的凝视 Το βλέμμα του Οδυσσέα&lt;/strong&gt;&lt;br&gt;导演: Theo Angelopoulos&lt;br&gt;主演: Harvey Keitel/Maia Morgenstern/Eriand Josephson/Thanasis Vengos/Yorgos Michalakopoulos&lt;br&gt;评分: 9.0 ★★★★☆&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;这份榜单包含了66部豆瓣高分电影，涵盖了从经典老片到现代佳作的各种类型。所有电影评分均在9.0分以上，是电影爱好者不可错过的精品片单。&lt;/p&gt;</description></item><item><title>这什么时候才是个开端。</title><link>https://www.xiaoten.com/posts/2011/04/this-is-the-beginning/</link><pubDate>Tue, 26 Apr 2011 07:52:50 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/this-is-the-beginning/</guid><description>&lt;p&gt;我喜欢国外服务器上面的后台界面。&lt;/p&gt;
&lt;p&gt;喜欢可以无拘无束的放论坛，看着被广告充斥着的场面，我到底是什么样的变态心理在作怪。&lt;/p&gt;
&lt;p&gt;我多想调试一个环境，换一下主题，因为种种事情在耽搁着，是啊，活着的不是自己。&lt;/p&gt;
&lt;p&gt;找不到关心PR值的冲动，也不再输入site：……在搜索引擎。以前的激情。冲动。求知欲……&lt;/p&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;</description></item><item><title>周围，唰一下安静了</title><link>https://www.xiaoten.com/posts/2011/04/look-around-go-quiet/</link><pubDate>Thu, 21 Apr 2011 16:15:05 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/look-around-go-quiet/</guid><description>&lt;p&gt;&lt;img src="images/coolfg_011.jpg"
alt="coolfg_011"
loading="lazy"
decoding="async"width="600" height="304"&gt;
&lt;/p&gt;</description></item><item><title>这几天在文明修身~</title><link>https://www.xiaoten.com/posts/2011/04/in-the-past-few-days-cultivation/</link><pubDate>Wed, 20 Apr 2011 14:03:45 +0800</pubDate><atom:updated>Tue, 25 Oct 2011 00:00:57 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/04/in-the-past-few-days-cultivation/</guid><description>&lt;p&gt;&lt;img src="images/ws.jpg"
alt="ws"
loading="lazy"
decoding="async"width="501" height="240"&gt;
&lt;/p&gt;</description></item><item><title>也许仅仅是也许</title><link>https://www.xiaoten.com/posts/2011/04/maybe-just-maybe/</link><pubDate>Mon, 11 Apr 2011 20:56:13 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/maybe-just-maybe/</guid><description>&lt;p&gt;上篇是一个月志，写于2009年末，刚进入大学的日子，没有受环境太大的影响，脑子还处于比较理想主义的阶段。&lt;/p&gt;
&lt;p&gt;里面提到的真正的笑容。现在看看像是在看笑料一样。&lt;/p&gt;
&lt;p&gt;我再也写不出上面那篇月志的文字了。每天我的生活都受到了支配，逃脱，是无论如何也不会发生在现在的我的身上，我学会了适应。&lt;/p&gt;
&lt;p&gt;每天，我会想着老师布置的任务；每天，我会想着前几天报了名的考试；每天，我会想着下门课程有几节没去了；每天，我会想着学院会通报我几次；每天，我会因为任务的繁多而取舍去逃几门很重要的课程……&lt;/p&gt;
&lt;p&gt;做了一大会的PPT，我累了，想看看已经转到私密日志里面的文章，我不知道为什么要转到那里面，可能最后一次的逃脱就是发生在这些日志上面，我无法面对刚开始的决心，刚开始说过的一些话，一些类似承若一样的东西。&lt;/p&gt;
&lt;p&gt;以前，我会想着我是学设计呢还是学设计；以前，我会想着图书馆要几点开门要去还书；以前我会独自去逛校园，去市区做一些满足好奇心的事；以前，我不会担心逃课带来的后果，因为我不常逃课；以前，我没有太多的顾忌，我把一切都想得很简单。&lt;/p&gt;
&lt;p&gt;就像上面私密日志的下一篇中写了几句简短的话中说的那样：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]&lt;/p&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;
&lt;p&gt;不在乎，是最终的意义。&lt;/p&gt;
&lt;p&gt;赞   赏，是最真的假面。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我不希望我的生活是在惶惶度日。更不希望活在没有意义中不能自拔。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;写完这些，继续那些未完成的。任务。&lt;/del&gt;&lt;/p&gt;</description></item><item><title>密码1356</title><link>https://www.xiaoten.com/posts/2011/04/password-1356/</link><pubDate>Mon, 04 Apr 2011 12:27:59 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/password-1356/</guid><description>&lt;p&gt;&lt;img src="images/stock.jpg"
alt="stock"
loading="lazy"
decoding="async"width="600" height="261"&gt;
&lt;/p&gt;</description></item><item><title>改版/放弃，还有清明节~</title><link>https://www.xiaoten.com/posts/2011/04/revision-give-up-as-there-are-tomb-sweeping-day/</link><pubDate>Sun, 03 Apr 2011 10:46:13 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:59:26 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/04/revision-give-up-as-there-are-tomb-sweeping-day/</guid><description>&lt;p&gt;&lt;img src="images/s.jpg"
alt="s"
loading="lazy"
decoding="async"width="454" height="283"&gt;
&lt;/p&gt;</description></item><item><title>愚人节快乐</title><link>https://www.xiaoten.com/posts/2011/04/happy-april-fools-day/</link><pubDate>Fri, 01 Apr 2011 13:48:35 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/04/happy-april-fools-day/</guid><description>&lt;p&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;你确定想来读这篇文章么？&lt;/p&gt;
&lt;p&gt;你真的确定来读这篇文章么？&lt;/p&gt;
&lt;p&gt;如果你愿意。你就给我些评论吧，看在我可怜的访问量份上。&lt;/p&gt;</description></item><item><title>谷歌穿越搜索实录~</title><link>https://www.xiaoten.com/posts/2011/04/google-through-search-record/</link><pubDate>Fri, 01 Apr 2011 13:18:29 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:58:59 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/04/google-through-search-record/</guid><description>&lt;p&gt;&lt;img src="images/f.png"
alt="f"
loading="lazy"
decoding="async"width="532" height="217"&gt;
&lt;/p&gt;</description></item><item><title>最近很无聊，有木有……</title><link>https://www.xiaoten.com/posts/2011/03/recently-very-boring/</link><pubDate>Thu, 31 Mar 2011 14:56:57 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/recently-very-boring/</guid><description>&lt;p&gt;&lt;img src="images/3dhch_0251.jpg"
alt="3dhch_0251"
loading="lazy"
decoding="async"width="555" height="251"&gt;
&lt;/p&gt;</description></item><item><title>就是考研在作祟~</title><link>https://www.xiaoten.com/posts/2011/03/is-the-section/</link><pubDate>Thu, 31 Mar 2011 12:49:33 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/is-the-section/</guid><description>&lt;p&gt;最近吵这个考研吵得火热，才大二就考虑这些，许多人都感觉太早了些，宿舍徐某已经下定决心考北理了，他逛遍了网络查的北理用的参考书后，就在当当和卓越上买了模电和数电,他考北京的缘故因为一个女生。因为此我也知道了学校也有性价比之说。总之，因为他，各种收获~&lt;/p&gt;
&lt;p&gt;他也疯狂的上起了自习，宿舍的我们三个到现在还未上过一节近代史，我也只上过一节大学语文。但模电跟电机是一节都没缺过，造成了严重的两极分化，正所谓是上课也是一个动态平衡的过程，也遵循一定的此消彼长的原则~&lt;/p&gt;
&lt;p&gt;近期在网站方面投入量已经是〇了，从各种方面都是〇&lt;del&gt;前段时间因为三级网络也突击了那么一阵子，才发现，关于三级网络的东西竟然还没写，可见我这博客的更新速度已经有很大的空间需要提高了。笔试是绝对的无望&lt;/del&gt;机试却是让我意想不到的简单。考完计算机之后就得准备六级了。当初也想过考雅思，把雅思词汇书都买了，可是因为各种方面的因素考虑，决定还是考研吧，可能宿舍剩下的两个人都考研的缘故吧&lt;del&gt;我也不想过早的去找工作&lt;/del&gt;跟某老师交流了下，发现出国考研并不是一项英明的决定，还是老老实实待在国内比较合适&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;</description></item><item><title>百度体</title><link>https://www.xiaoten.com/posts/2011/03/baidu-body/</link><pubDate>Wed, 23 Mar 2011 23:07:56 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/baidu-body/</guid><description>&lt;p&gt;&lt;img src="images/3dhch_025.jpg"
alt="3dhch_025"
loading="lazy"
decoding="async"width="555" height="294"&gt;
&lt;/p&gt;</description></item><item><title>早读不可怕，上早读写东西最可怕</title><link>https://www.xiaoten.com/posts/2011/03/early-reading-is-not-terrible-read-and-write-the-most-terrible-early/</link><pubDate>Tue, 22 Mar 2011 06:57:27 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/early-reading-is-not-terrible-read-and-write-the-most-terrible-early/</guid><description>&lt;p&gt;用手机发一篇&lt;/p&gt;
&lt;p&gt;说起装手机插件也是两月前的事了，基本上是跟博客同时诞生的。&lt;/p&gt;
&lt;p&gt;然后没有一次用手机发表过东西。现在我坐在早读室里，六点半后醒来还能坐在早读室里这在大一是一个不可能事件，我冒着刷不上卡的危险来上早操，有以下几个原因：一、养成好的生活习惯。这是句狠扯淡的话，他的扯淡来源于这个决定伴随了我21年，从我出生都念着这句话，可生活规律依旧倔强地做着变化。关于睡觉的生物钟已经让起点偏移至少两小时之久，终点却发生着持久性的扩展性变化，当然是在已经推迟两个小时的前提下。这对于我现在还能清醒地坐在早读室写着博客是多么的不易啊～！&lt;/p&gt;
&lt;p&gt;二、今天下午的计算机应用大赛。是啊，当时因为考试免费就报了这个对我来说毫无意义的大赛，但是今天发生的让我更肯定了这大赛对我无意义的这点。我不想打无准备的仗，所以我上了今天的早读想象征性地看看C语言，哪怕只看个封面封皮，起码能给我的战友们一些压力。是啊，我现在没有在看C语言，而写起博客的原因是，没带书。&lt;/p&gt;
&lt;p&gt;三、平时成绩、学分，这是些可怕的东西，旷早操相当于一个学时，旷早读又相当于一个学时。这个规定让很多人不再旷了早操后再去旷早读，就像我踏着早操结束的那一刻，依然决定骑着小车一扭一扭地往早读室奔去一样，今天老天可怜我没带书的原因？半路遇见年级长，是我们班的，就那么潜规则一下，这个潜规则让我感觉一下子上了两下早读那么爽…&lt;/p&gt;
&lt;p&gt;好吧，多谢有博客，让我有东西可写；也多写手机，让我的东西有地方可写；也多谢早读，让我有地方坐下来写这些；还要感谢早操，让我有时间来写；最感谢的要数没带书了，让我下定了决心要写。&lt;/p&gt;</description></item><item><title>第一天，不对，第二天，也不对~</title><link>https://www.xiaoten.com/posts/2011/03/the-first-day-no-second-days-and-no/</link><pubDate>Fri, 18 Mar 2011 20:37:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/the-first-day-no-second-days-and-no/</guid><description>&lt;p&gt;&lt;img src="images/2010GZYYH_07.jpg"
alt="2010GZYYH_07"
loading="lazy"
decoding="async"width="623" height="298"&gt;
&lt;/p&gt;</description></item><item><title>今天是3.15、3.15……</title><link>https://www.xiaoten.com/posts/2011/03/today-is-3-15/</link><pubDate>Tue, 15 Mar 2011 22:50:33 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/today-is-3-15/</guid><description>&lt;p&gt;&lt;img src="images/123.jpg"
alt="123"
loading="lazy"
decoding="async"width="623" height="415"&gt;
&lt;/p&gt;</description></item><item><title>关于FC2字体，还有今天的杂事</title><link>https://www.xiaoten.com/posts/2011/03/a-fc2-font-and-todays-chores/</link><pubDate>Wed, 09 Mar 2011 21:56:47 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/a-fc2-font-and-todays-chores/</guid><description>&lt;p&gt;算是快计算机三级考试了吧。&lt;/p&gt;
&lt;p&gt;今天稍微整了一下博客，中午的时候换了一下色调，只是在后台点击一下的问题，晚上无聊，就把万戈工具条整到了下面，顺便大致了解了万戈工具条CSS样式的写法。还有偶然想起原来在使用FC2博客时的时的那种字体，想用到这个博客上面，度娘毫不吝啬地告诉我，就是FC2字体，改变的方法也很简单，在&lt;code&gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;/code&gt;里面插入&lt;code&gt; &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;xml:lang=&amp;quot;ja&amp;quot;lang=&amp;quot;ja&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;/code&gt; 这样一段代码就可以了。原理是……这个可以省去吧。然后有可能会出现大小不一的情况，就&lt;code&gt;font-size: 75% or 14px&lt;/code&gt;定义一下全局的字体大小就可以了。&lt;/p&gt;
&lt;p&gt;但是在火狐里面显示的效果有点让人纠结。然后宿主机上用IE访问没什么变化，想是因为没有日文编码的缘故吧。然后在虚拟机{2003系统}里面访问就是FC2字体了。&lt;/p&gt;
&lt;p&gt;关于万戈牌工具条的CSS，可以下载下博客的CSS样式就知道，我给改得已经很乱了。还好我的博客没有太大的访问量，不用太在意CSS代码是否臃肿。为了保留原著，不用到的地方都给注释掉。现在看着自己的CSS样式，有种惨不忍睹的感觉。&lt;/p&gt;
&lt;p&gt;我也一直在想啥时候能自己写个主题用，这下半学期相对上半学期，课已经少了很多，但是科目少了，但难度大了，今天本来一天的课{5大节}，我只上了2节，今天早上莫名其妙的俺宿舍三人同时起晚，并且在同时都定了闹铃，晓风同学还搞成室外模式，带震动带铃声的，竟然没把俺们三个吵醒，这也算是一个奇葩了。今天是晓风同学生日，带回来的蛋糕还没等他看见就已经吃得差不多，现在他还在市区买明天的蛋糕。。&lt;/p&gt;
&lt;p&gt;今天也彻底决定放弃QQ空间了，原因就是特讨厌上面的签到，是一个让人上瘾的东西，看着所有表情都解锁了的份上，赶紧地，戒了！&lt;/p&gt;
&lt;p&gt;然后就是可怕的英语六级和计算机三级了。可恶的是计算机三级的复习资料竟然忘在家了，今晚给老妈打电话，我就知道，老妈要慌着给我邮寄了，呃，还有一个打印机，保佑邮途。。嗯，愉快吧~&lt;/p&gt;
&lt;p&gt;话说，快到考试的日子，应该加倍努力了，忘了年前的日子~没日没夜的日子，真的又要开始了？&lt;/p&gt;</description></item><item><title>你不知道你知道的</title><link>https://www.xiaoten.com/posts/2011/03/you-dont-know-what-you-know/</link><pubDate>Sat, 05 Mar 2011 21:16:25 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/you-dont-know-what-you-know/</guid><description>&lt;p&gt;&lt;img src="images/totoro.jpg"
alt="totoro"
loading="lazy"
decoding="async"width="623" height="281"&gt;
&lt;/p&gt;</description></item><item><title>进展缓慢~</title><link>https://www.xiaoten.com/posts/2011/03/make-tardy-progress/</link><pubDate>Thu, 03 Mar 2011 18:03:10 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/03/make-tardy-progress/</guid><description>&lt;p&gt;说说这博客，直到今天，我才有幸用电脑超过1个小时。&lt;/p&gt;
&lt;p&gt;｛以下部分后来看了之后纯属流水账，无聊之至！~｝&lt;/p&gt;
&lt;p&gt;如果说要认识到一个错误，就要发掘错误的根源，这个根源其中之一是因为室友充电器坏了，拿我的用着玩三国杀，看他杀得也是很投入，屡屡都不好意思去给要回来，于是充电器就在他那滞留了很久。&lt;/p&gt;
&lt;p&gt;还有一个就是因为这开学的缘故，猛然间就经历从早上11点起床到早上6点起床这个落差，实在让人不太能够接受，我们宿舍三人一道也学会了利用时间的空子，开始选逃了部分科目及早读，为了保证睡眠。特别是今天。到现在除了中午出去吃了顿饭便再没出去，这也给我使用电脑超过1个小时做了很好的铺垫。&lt;/p&gt;
&lt;p&gt;今天10点就醒了，然后在床上折腾到11点半，去钻个人少的空子去了三餐蹭饭。然后，回来的时候发现室友的充电器已经邮回来了，也就是我可以用我的充电器并且不再受三国杀的困扰了。不过，本打开一看，可能是长时间不玩的缘故，网就是不给上去，连电脑神才琨琨来了都不争气，那必须的重装系统，然后这一折腾就是一个下午了，没有午休。&lt;/p&gt;
&lt;p&gt;昨天琨琨把协会页面的重任交给了我，看着琨琨每日都与某女一起，而且身挂数职，也没任何推却，不过我知道结果会很惨。这个结果也可以从很多方面来说。首要方面就是siteserver是什么东西？忘了差不多。然后就是电脑太不给劲，今天重装了系统，看着一贫如洗的桌面，怎么个斗志都升不起来，还有一个寒假给我带来的沉痛打击，让我对前台页面不抱有任何希望，还有一点就是逐渐对PS的生疏。。。&lt;/p&gt;
&lt;p&gt;我也该考虑考虑这些日子都在干啥，除了逃课睡觉，都在干啥？&lt;/p&gt;
&lt;p&gt;嗯，这篇纯粹牢骚。起因：跟老妈聊天一直不回我。&lt;/p&gt;</description></item><item><title>这震撼的几节课</title><link>https://www.xiaoten.com/posts/2011/03/the-shock-of-a-few-lessons/</link><pubDate>Tue, 01 Mar 2011 17:15:06 +0800</pubDate><atom:updated>Thu, 03 Mar 2011 18:25:41 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/03/the-shock-of-a-few-lessons/</guid><description>&lt;p&gt;先说说这过去的几节课，虽然说不上乌烟瘴气，但打仗的火药味还是有的。&lt;/p&gt;
&lt;p&gt;嗯，不单是昨天下的大雪，上课也如这天气般惊人地给人一个个惊喜，让人也整的真有点措手不及。&lt;/p&gt;
&lt;p&gt;对于电机学这样一门一听就让人想到头顶安全帽，手上沾满机油的一个形象，怎么也不会想到让一个妙龄少女来当这个讲师，哦，不对，据她所讲已经从02年开始讲课了，我是该佩服现在的化妆技术，还是她的能力？&lt;/p&gt;
&lt;p&gt;然后这是昨天的第一节课，要说之前，嗯就是早操早读，依然是以前的规矩，排队刷卡，嗯，我很能忍受，我总喜欢踏着点去刷卡，并且总会在刷卡后习惯性得表现出自己幸灾乐祸的形象，然后面带狡诈地微笑向排在后面的人送去。这些不是重点，重点是连进一个早读室都要排队，亏我满怀学习的精神大早上的早早地起床去早读，好吧，进了教室，只有前两盏灯亮着，过了若干分钟，嗯，早读取消，呃，可怜我没来得及戴手套的手啊，我就感觉我跑了两里路，冤枉！&lt;/p&gt;
&lt;p&gt;上午第二节是电磁学，嘿嘿，这点某人就不太晓得事理了，话说蹭了某人的大学语文，也不能算是蹭，谁让他们用我们上节课的教室，也怪我屁股沉，下课了不想走，谁知道就迎来了大学语文，当然是别人的。这电磁学是7周开始上的。嗯。中间逃走这个课也算是惊险了那么一下，这也不是重点。&lt;/p&gt;
&lt;p&gt;下午。第一节，大学英语，果断逃掉，老师已经教我两个学期了，不是说我不喜欢他的课，只是我实在是太困了，其实也没打算逃，学校的床就是比家里的黏人，这大中午的躺上去，一下午都下不来，呃，下次保证不午休，保证不午休了。不过，正是逃了这一节大学英语，使得我上得这几节课全是女老师教的，这，也是天意，天意啊！&lt;/p&gt;
&lt;p&gt;然后就是，晚上了，大学语文，当然，女的。不解释，但她在堂上嘀咕的那些东西，我一向没听进去，我就用着我那个我自称MP6的东西看电影。&lt;/p&gt;
&lt;p&gt;接下来是第二天，星期二的课少的让人惊慌，后来发现，我这个惊慌是很必要的，因为接下来的周三，将是一整天的课，下午第二大节一般不安排课的，竟然给弄成了兵乓球。唉。晚上的语文。上午的两大节专业课，下午的第一大节专业课，连吃饭的时间都没有。星期二也就一节。数电，竟然也是个美女老师，声音貌似还比电机学老师的好听，看来，嗓子保养得不错，不过没有说她的教龄，估计没几年吧，不过看她的细致程度，肯定将来也必将是赫赫有名的。&lt;/p&gt;
&lt;p&gt;不过以上关于我对于她们的评价可能存在一定的误差，因为这几次上课都差点迟到，只能坐在后面观望，又惊奇的发现，这几节全部都在大教室，所以，做得地方也就只能看出来，嗯，是女的，还是活的。朦胧才是美嘛！~&lt;/p&gt;</description></item><item><title>说着，开学</title><link>https://www.xiaoten.com/posts/2011/02/say-school/</link><pubDate>Fri, 25 Feb 2011 23:00:45 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/say-school/</guid><description>&lt;p&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;对面宿舍的薛某竟然分手了，谈得那么火热搞的这么快就分手，有点不大习惯，过会儿打起电话那种肉麻的语气发现原来是另有新欢，好吧，大致分手的原因及过程已经明了。&lt;/p&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;</description></item><item><title>今天，明天，不敢想象</title><link>https://www.xiaoten.com/posts/2011/02/today-tomorrow-can-not-imagine/</link><pubDate>Thu, 24 Feb 2011 23:26:40 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/today-tomorrow-can-not-imagine/</guid><description>&lt;p&gt;&lt;img src="images/today.jpg"
alt="today"
loading="lazy"
decoding="async"width="600" height="375"&gt;
&lt;/p&gt;</description></item><item><title>我手指掐着，心算了这些日子~</title><link>https://www.xiaoten.com/posts/2011/02/my-finger-was-pinched-mental-arithmetic-these-days/</link><pubDate>Fri, 18 Feb 2011 20:44:52 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/my-finger-was-pinched-mental-arithmetic-these-days/</guid><description>&lt;p&gt;&lt;img src="images/ss.jpg"
alt="ss"
loading="lazy"
decoding="async"width="600" height="332"&gt;
&lt;/p&gt;</description></item><item><title>这个，纯属纪念~</title><link>https://www.xiaoten.com/posts/2011/02/this-is-purely-a-memorial/</link><pubDate>Mon, 14 Feb 2011 18:22:03 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:54:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/this-is-purely-a-memorial/</guid><description>&lt;p&gt;&lt;img src="images/d.jpg"
alt="d"
loading="lazy"
decoding="async"width="581" height="237"&gt;
&lt;/p&gt;</description></item><item><title>又见lynda。。</title><link>https://www.xiaoten.com/posts/2011/02/see-also-lynda/</link><pubDate>Mon, 14 Feb 2011 14:07:05 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/see-also-lynda/</guid><description>&lt;p&gt;我喜欢lynda上面听不懂的英语发音。喜欢上面苹果机的界面。喜欢她的快节奏的讲课方式。&lt;/p&gt;
&lt;p&gt;但是不喜欢电驴上面更新资源的速度。也不喜欢中国访问她网站的速度。&lt;/p&gt;</description></item><item><title>今天这主题换得……</title><link>https://www.xiaoten.com/posts/2011/02/todays-theme-is-changed/</link><pubDate>Thu, 10 Feb 2011 21:08:14 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:51:16 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/todays-theme-is-changed/</guid><description>&lt;p&gt;&lt;img src="images/title4.jpg"
alt="title4"
loading="lazy"
decoding="async"width="585" height="218"&gt;
&lt;/p&gt;</description></item><item><title>我要上天、入地~</title><link>https://www.xiaoten.com/posts/2011/02/i-want-to-be-god-into-the-ground/</link><pubDate>Thu, 10 Feb 2011 15:21:26 +0800</pubDate><atom:updated>Fri, 18 Feb 2011 00:04:42 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/i-want-to-be-god-into-the-ground/</guid><description>&lt;p&gt;今天在死心钻研还钻研不懂这PHP代码的时候，就去网上求助了番…… 然后当我进入万戈的站点（
&lt;a href="http://wange.im"
target="_blank" rel="noopener noreferrer"
&gt;
http://wange.im
&lt;/a&gt;） ，我就站稳了脚步，驻足观望了一会儿，便有了我要上天、入地的念头……&lt;/p&gt;</description></item><item><title>照相说……</title><link>https://www.xiaoten.com/posts/2011/02/photographic-say/</link><pubDate>Tue, 08 Feb 2011 16:01:01 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:45:18 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/photographic-say/</guid><description>&lt;p&gt;&lt;img src="images/title3.jpg"
alt="title3"
loading="lazy"
decoding="async"width="585" height="218"&gt;
&lt;/p&gt;</description></item><item><title>2011淘宝首页开发实践</title><link>https://www.xiaoten.com/posts/2011/02/2011-taobao-home-development-practice/</link><pubDate>Sun, 06 Feb 2011 23:55:47 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/2011-taobao-home-development-practice/</guid><description>&lt;p&gt;&lt;strong&gt;
&lt;a href="http://www.slideshare.net/lijing00333/2011-6516501"
target="_blank" rel="noopener noreferrer"
title="2011淘宝首页开发实践"&gt;
2011淘宝首页开发实践
&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;View more
&lt;a href="http://www.slideshare.net/"
target="_blank" rel="noopener noreferrer"
&gt;
presentations
&lt;/a&gt; from
&lt;a href="http://www.slideshare.net/lijing00333"
target="_blank" rel="noopener noreferrer"
&gt;
lijing00333
&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>首页改版了……</title><link>https://www.xiaoten.com/posts/2011/02/revision-of-the-home-page/</link><pubDate>Sun, 06 Feb 2011 22:45:38 +0800</pubDate><atom:updated>Mon, 24 Oct 2011 23:45:53 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/revision-of-the-home-page/</guid><description>&lt;p&gt;&lt;img src="images/title2.jpg"
alt="title2"
loading="lazy"
decoding="async"width="585" height="238"&gt;
&lt;/p&gt;</description></item><item><title>努力进行时</title><link>https://www.xiaoten.com/posts/2011/02/when-efforts-are-carried-out/</link><pubDate>Sat, 05 Feb 2011 17:22:50 +0800</pubDate><atom:updated>Sun, 06 Feb 2011 22:05:57 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/when-efforts-are-carried-out/</guid><description>&lt;p&gt;从2月2日到现在已经3天了，网站开始三天的这段时间，使得新年带给我的感觉也没以前的那种喜庆的气氛了。&lt;/p&gt;
&lt;p&gt;我也在为论坛、博客做着一遍一遍地修改，可是自己以前对PHP没有一点的了解，修改起来也遇到了很多的问题，看了许多别人的博客，发现自己的缺陷还有太多，网站也没有一个确定的主题，不过我也不打算有一个确定的主题。&lt;/p&gt;
&lt;p&gt;嗯，本来就是一个自由的场所。不想确定一个主题。造成很多人问我这个网站是干什么的，我都没有办法去回答。这三天来呢，主要做的事就是做了一个主页，一个特别的页面就是祝福的页面，看起来颜色太艳丽，不过为了喜庆嘛，而且主要为了博客和论坛在努力啦。以前一直不了解SEO，唉，等有了自己的站才明白了SEO的重要性，也装模作样的关注起来，可是对于谷歌的PR值，我还是不敢奢望，对于百度的收录量我还是很不满。第一天也因为域名的问题造成博客和论坛都没有时间整，昨晚也在为方便自己写文章在网上钻研什么博客的手机版插件，算是通过WP-T-WAP实现了可以在手机上写博文的功能。相信我能成为wordpress的忠实粉丝。&lt;/p&gt;
&lt;p&gt;过年，串亲戚也是必不可少的，只有昨天下午还有今天下午算是一个空闲时间，也算没白费咯。今天下午搞定了标签云，第一次见是在腾讯的TGideas团队的博客上面，当时以为是腾讯自己研发呢，第二次见就是在看冰岩作坊的官方网站的时候了。这可是行思团队的目标啊&lt;del&gt;我也希望在新的一学期行思团队能够更加进步，在新新力量和琨哥的无极限领导下&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;嗯还是老样子，一个插件就能让我联想那么多。以前经常听豆瓣电台，昨天去了比较知名的last.fm，因为收费把我给拒之门外，真是不友善啊，然后呢，去申请了一个嘀咕帐号，同时也发现了虾米音乐网，我喜欢虾米音乐网上提供的播放器代码，可以嵌入到博文中的，以后尝试下咯。&lt;/p&gt;
&lt;p&gt;那么，再寄下决心，不要像英语一样，有决心没行动，xiaoten.com，发达起来。Fighting~~~~~~~~~&lt;/p&gt;</description></item><item><title>关于Akismet这个蛋疼的插件~</title><link>https://www.xiaoten.com/posts/2011/02/about-akismet-this-egg-hurts-the-plug-in/</link><pubDate>Sat, 05 Feb 2011 13:09:50 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/about-akismet-this-egg-hurts-the-plug-in/</guid><description>&lt;p&gt;博客刚弄几天，什么都不知道，上网搜了一下相关的经验，其中一个说10个新手应该安装的wordpress插件，嗯，看到新手两字我就感觉亲切，于是&lt;/p&gt;</description></item><item><title>嗯呐，这个进展</title><link>https://www.xiaoten.com/posts/2011/02/this-progress/</link><pubDate>Fri, 04 Feb 2011 22:47:05 +0800</pubDate><atom:updated>Sun, 06 Feb 2011 17:32:55 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/this-progress/</guid><description>&lt;p&gt;啊，年一眨眼又过了一天，今天早上去串了一上午亲戚，下午窝了一下午居。 嗯，搞定了微博，加了个油，今天去找好多人交换链接去，嗯，再加了个油~&lt;/p&gt;</description></item><item><title>小十有微博~</title><link>https://www.xiaoten.com/posts/2011/02/xiaoten-micro-blog/</link><pubDate>Fri, 04 Feb 2011 15:25:08 +0800</pubDate><atom:updated>Sat, 05 Feb 2011 15:43:07 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/xiaoten-micro-blog/</guid><description>&lt;p&gt;那么先是地址：https://www.xiaoten.com/talk&lt;/p&gt;
&lt;p&gt;嗯，将会是承载小十心情的地方。&lt;/p&gt;
&lt;h3 id="什么是微博客"&gt;什么是微博客&lt;/h3&gt;</description></item><item><title>要命啊，真要命啊</title><link>https://www.xiaoten.com/posts/2011/02/killing-me-its-killing-me/</link><pubDate>Fri, 04 Feb 2011 13:52:23 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/killing-me-its-killing-me/</guid><description>&lt;p&gt;&lt;em&gt;大年初一的，技术员都没在。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;那他们什么时候上班？&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;初四。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;这个对话发生在我一遍又一遍得对网址采用ping命令失败之后，可想当时我的心情是异常沉重，客服已经开始对我置之不理。这样的态度让我这样的普通老百姓无力回天啊。&lt;/p&gt;</description></item><item><title>嗯，来个总结~【QQ空间】</title><link>https://www.xiaoten.com/posts/2011/02/come-to-a-summary/</link><pubDate>Thu, 03 Feb 2011 14:51:31 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/come-to-a-summary/</guid><description>&lt;p&gt;这过年了。春晚看着也没意思，周董的歌让他自己给弄得不太好听了，好像被春晚和谐的样子。。。&lt;/p&gt;</description></item><item><title>本来是去睡的</title><link>https://www.xiaoten.com/posts/2011/02/was-going-to-sleep/</link><pubDate>Thu, 03 Feb 2011 01:28:22 +0800</pubDate><atom:updated>Sat, 05 Feb 2011 15:45:55 +0800</atom:updated><guid>https://www.xiaoten.com/posts/2011/02/was-going-to-sleep/</guid><description>&lt;p&gt;唉，本来是去睡的，可总觉得有啥事。所以就又死皮赖脸蹭到这网上来了。&lt;/p&gt;
&lt;p&gt;今天域名解析的服务器很是不稳定啊，都被我逮到两三次PING失败的情况。&lt;/p&gt;</description></item><item><title>然后，这是第三篇</title><link>https://www.xiaoten.com/posts/2011/02/this-is-the-third/</link><pubDate>Wed, 02 Feb 2011 23:53:42 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/this-is-the-third/</guid><description>&lt;p&gt;新年了，继续保持上学期的优良传统，不挂科。&lt;/p&gt;
&lt;p&gt;网页学起来，网站做起来，小人混起来~呵呵。&lt;/p&gt;
&lt;p&gt;等着钟声敲起来。&lt;/p&gt;</description></item><item><title>然后这是第二篇</title><link>https://www.xiaoten.com/posts/2011/02/this-is-the-second/</link><pubDate>Wed, 02 Feb 2011 13:36:18 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/this-is-the-second/</guid><description>&lt;p&gt;第二篇，看春晚进行中……&lt;/p&gt;</description></item><item><title>这是第一篇</title><link>https://www.xiaoten.com/posts/2011/02/this-is-the-first/</link><pubDate>Wed, 02 Feb 2011 13:34:58 +0800</pubDate><guid>https://www.xiaoten.com/posts/2011/02/this-is-the-first/</guid><description>&lt;p&gt;写于大年三十，电视上是春晚的声音，吃火锅吃得嗓子冒火。&lt;/p&gt;
&lt;p&gt;好吧，今天中午把空间和域名买好了，一个小时后，域名解析成功了，终于开始正常的运行了。&lt;/p&gt;
&lt;p&gt;嗯，看春晚啦~&lt;/p&gt;</description></item></channel></rss>