<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AriaNote</title><link>https://arianote.top/</link><description>记录所学，分享所知 - Aria</description><generator>Hugo 0.161.1 &amp; FixIt v0.4.5</generator><language>zh-CN</language><managingEditor>contact@arianote.top (Aria)</managingEditor><webMaster>contact@arianote.top (Aria)</webMaster><copyright>© AriaNote</copyright><lastBuildDate>Wed, 20 May 2026 00:53:16 +0800</lastBuildDate><atom:link href="https://arianote.top/index.xml" rel="self" type="application/rss+xml"/><item><title>Win11 右键菜单与窗口管理</title><link>https://arianote.top/context-menu/</link><pubDate>Wed, 20 May 2026 00:53:16 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/context-menu/</guid><category domain="https://arianote.top/categories/tech/">Tech</category><description>&lt;img src="https://arianote.top/images/20260508_t7BqLi.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;日常使用 Win11，右键菜单和窗口控制是高频操作入口。系统自带的菜单和窗口功能满足基础需求，而借助第三方工具可以进一步优化操作体验。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;下面介绍四款实用工具，覆盖菜单样式切换、菜单自定义扩展、菜单项编辑与窗口增强管理。&lt;/p&gt;
&lt;h2 class="heading-element" id="菜单管理"&gt;&lt;span&gt;菜单管理&lt;/span&gt;
 &lt;a href="#%e8%8f%9c%e5%8d%95%e7%ae%a1%e7%90%86" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 class="heading-element" id="菜单美化"&gt;&lt;span&gt;菜单美化&lt;/span&gt;
 &lt;a href="#%e8%8f%9c%e5%8d%95%e7%be%8e%e5%8c%96" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;Win 11 默认使用 &lt;strong&gt;新版右键菜单&lt;/strong&gt;（圆角、图标、默认折叠），许多常用功能被收进 &lt;strong&gt;显示更多选项&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260520_NwinmB.webp" title="右键菜单" data-thumbnail="/images/20260520_NwinmB.webp" data-sub-html="&lt;h2&gt;右键菜单&lt;/h2&gt;&lt;p&gt;右键菜单&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260520_NwinmB.webp' alt="右键菜单" height="934" width="1808"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;右键菜单&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;tab-container default-tab="0" placement="top" type="card"&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-5" aria-selected="true"&gt;经典右键菜单&lt;/button&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-8" aria-selected="false"&gt;Nilesoft Shell 菜单&lt;/button&gt;

&lt;div role="tabpanel" aria-labelledby="tab-id-5" class="tab-panel"&gt;&lt;p&gt;如果习惯一展开即显示所有选项的 &lt;strong&gt;经典菜单&lt;/strong&gt;，可以使用初雨团队开发的系统维护工具 &lt;a href="https://github.com/Chuyu-Team/Dism-Multi-language/releases" target="_blank" rel="external nofollow noopener noreferrer"&gt;Dism++&lt;/a&gt;。解压后以管理员身份运行 &lt;code&gt;Dism++x64.exe&lt;/code&gt;，点击 &lt;strong&gt;系统优化 &amp;gt; Explorer&lt;/strong&gt;，开启 &lt;strong&gt;禁用Win11 加入的新右键菜单，默认显示更多选项&lt;/strong&gt;，并重启资源管理器。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260520_09tzmT.webp" title="Dism&amp;#43;&amp;#43;" data-thumbnail="/images/20260520_09tzmT.webp" data-sub-html="&lt;h2&gt;Dism&amp;#43;&amp;#43;&lt;/h2&gt;&lt;p&gt;Dism&amp;#43;&amp;#43;&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260520_09tzmT.webp' alt="Dism&amp;#43;&amp;#43;" height="1039" width="2507"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Dism++&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div role="tabpanel" aria-labelledby="tab-id-8" class="tab-panel"&gt;&lt;p&gt;如果既想保留 Win11 的新版菜单，又想给右键菜单增添更多功能，可以使用 Nilesoft 开发的右键增强工具 &lt;a href="https://nilesoft.org/download" target="_blank" rel="external nofollow noopener noreferrer"&gt;Shell&lt;/a&gt;。解压后以管理员身份运行 &lt;code&gt;shell.exe&lt;/code&gt;，点击 &lt;strong&gt;Register&lt;/strong&gt; 按钮，并重启资源管理器。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260520_myJIhF.webp" title="Shell" data-thumbnail="/images/20260520_myJIhF.webp" data-sub-html="&lt;h2&gt;Shell&lt;/h2&gt;&lt;p&gt;Shell&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260520_myJIhF.webp' alt="Shell" height="495" width="968"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Shell&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;通过 &lt;code&gt;Shift + 鼠标右键&lt;/code&gt; 在任务栏点击 &lt;strong&gt;Shell &amp;gt; Directory&lt;/strong&gt; 可修改配置和汉化，其目录结构如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Nilesoft Shell 
├─ imports # 功能模块目录（按功能拆分配置）
│ ├─ develop.nss # 开发工具相关菜单（VS Code、dotnet 命令等）
│ ├─ file-manage.nss # 文件管理操作（复制路径、修改扩展名、属性等）
│ ├─ goto.nss # 快速跳转系统文件夹（Windows、Program Files、用户目录等）
│ ├─ images.nss # 所有菜单图标的 SVG 定义（变量名如 @copy、@delete）
│ ├─ modify.nss # 修改 / 隐藏 / 移动 Windows 原生菜单项的规则
│ ├─ taskbar.nss # 任务栏右键菜单增强（窗口管理、启动应用等）
│ ├─ terminal.nss # 终端子菜单（CMD、PowerShell、Windows Terminal）
│ └─ theme.nss # 菜单外观主题（颜色、暗色模式、图标对齐、间距等）
├─ LICENSE 
├─ readme.txt 
├─ shell.dll 
├─ shell.exe 
└─ shell.nss # 主配置文件（import 上述模块、定义全局菜单结构）&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下是我的汉化配置（修改后需重新注册或重启资源管理器）：&lt;/p&gt;
&lt;tab-container default-tab="0" placement="top" type="underline"&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-6" aria-selected="true"&gt;主配置&lt;/button&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-7" aria-selected="false"&gt;功能配置&lt;/button&gt;
&lt;div role="tabpanel" aria-labelledby="tab-id-6" class="tab-panel"&gt;&lt;pre&gt;&lt;code&gt;settings
{
	priority=1
	exclude.where = !process.is_explorer
	showdelay = 200
	// Options to allow modification of system items
	modify.remove.duplicate=1
	tip.enabled=true
}
&lt;p&gt;import 'imports/theme.nss'
import 'imports/images.nss'
import 'imports/modify.nss'&lt;/p&gt;
&lt;p&gt;menu(mode=&amp;quot;multiple&amp;quot; title=&amp;quot;Pin/Unpin&amp;quot; image=icon.pin)
{
}&lt;/p&gt;
&lt;p&gt;menu(mode=&amp;quot;multiple&amp;quot; title=title.more_options image=icon.more_options)
{
}&lt;/p&gt;
&lt;p&gt;//import 'imports/terminal.nss'
//import 'imports/file-manage.nss'
//import 'imports/develop.nss'
//import 'imports/goto.nss'
import 'imports/taskbar.nss'&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;div role="tabpanel" aria-labelledby="tab-id-7" class="tab-panel"&gt;&lt;pre&gt;&lt;code&gt;menu(mode=&amp;#34;multiple&amp;#34; title=&amp;#39;开发工具&amp;#39; vis=key.shift() sep=sep.bottom image=\uE26E)
{
	menu(mode=&amp;#34;single&amp;#34; title=&amp;#39;编辑器&amp;#39; image=\uE17A)
	{
		item(title=&amp;#39;Visual Studio Code&amp;#39; image=[\uE272, #22A7F2] cmd=&amp;#39;code&amp;#39; args=&amp;#39;&amp;#34;@sel.path&amp;#34;&amp;#39;)
		separator
		item(type=&amp;#39;file&amp;#39; mode=&amp;#34;single&amp;#34; title=&amp;#39;记事本&amp;#39; image cmd=&amp;#39;@sys.bin\notepad.exe&amp;#39; args=&amp;#39;&amp;#34;@sel.path&amp;#34;&amp;#39;)
	}
&lt;pre&gt;&lt;code&gt;menu(mode=&amp;amp;#34;multiple&amp;amp;#34; title=&amp;amp;#39;.NET&amp;amp;#39; image=\uE143)
{
	item(title=&amp;amp;#39;运行项目&amp;amp;#39; cmd-line=&amp;amp;#39;/K dotnet run&amp;amp;#39; image=\uE149)
	item(title=&amp;amp;#39;监视模式&amp;amp;#39; cmd-line=&amp;amp;#39;/K dotnet watch&amp;amp;#39;)
	item(title=&amp;amp;#39;清理项目&amp;amp;#39; image=\uE0CE cmd-line=&amp;amp;#39;/K dotnet clean&amp;amp;#39;)
	separator
	item(title=&amp;amp;#39;生成调试版&amp;amp;#39; cmd-line=&amp;amp;#39;/K dotnet build&amp;amp;#39;)
	item(title=&amp;amp;#39;生成发布版&amp;amp;#39; cmd-line=&amp;amp;#39;/K dotnet build -c release /p:DebugType=None&amp;amp;#39;)

	menu(mode=&amp;amp;#34;multiple&amp;amp;#34; sep=&amp;amp;#34;both&amp;amp;#34; title=&amp;amp;#39;发布&amp;amp;#39; image=\ue11f)
	{
		$publish=&amp;amp;#39;dotnet publish -r win-x64 -c release --output publish /*/p:CopyOutputSymbolsToPublishDirectory=false*/&amp;amp;#39;
		item(title=&amp;amp;#39;发布单文件&amp;amp;#39; sep=&amp;amp;#34;after&amp;amp;#34; cmd-line=&amp;amp;#39;/K @publish --no-self-contained /p:PublishSingleFile=true&amp;amp;#39;)
		item(title=&amp;amp;#39;框架依赖部署&amp;amp;#39; cmd-line=&amp;amp;#39;/K @publish&amp;amp;#39;)
		item(title=&amp;amp;#39;框架依赖可执行文件&amp;amp;#39; cmd-line=&amp;amp;#39;/K @publish --self-contained false&amp;amp;#39;)
		item(title=&amp;amp;#39;独立部署&amp;amp;#39; cmd-line=&amp;amp;#39;/K @publish --self-contained true&amp;amp;#39;)
		item(title=&amp;amp;#39;单文件（未裁剪）&amp;amp;#39; cmd-line=&amp;amp;#39;/K @publish /p:PublishSingleFile=true /p:PublishTrimmed=false&amp;amp;#39;)
		item(title=&amp;amp;#39;单文件（已裁剪）&amp;amp;#39; cmd-line=&amp;amp;#39;/K @publish /p:PublishSingleFile=true /p:PublishTrimmed=true&amp;amp;#39;)
	}
	
	item(title=&amp;amp;#39;EF 迁移：添加 InitialCreate&amp;amp;#39; cmd-line=&amp;amp;#39;/K dotnet ef migrations add InitialCreate&amp;amp;#39;)
	item(title=&amp;amp;#39;EF 更新数据库&amp;amp;#39; cmd-line=&amp;amp;#39;/K dotnet ef database update&amp;amp;#39;)
	separator
	item(title=&amp;amp;#39;帮助&amp;amp;#39; image=\uE136 cmd-line=&amp;amp;#39;/k dotnet -h&amp;amp;#39;)
	item(title=&amp;amp;#39;版本信息&amp;amp;#39; cmd-line=&amp;amp;#39;/k dotnet --info&amp;amp;#39;)
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;menu(where=sel.count&amp;gt;0 type='file|dir|drive|namespace|back' mode=&amp;quot;multiple&amp;quot; title='文件管理' image=\uE253)
{
menu(separator=&amp;quot;after&amp;quot; title=title.copy_path image=icon.copy_path)
{
item(where=sel.count &amp;gt; 1 title='复制已选中的 (@sel.count) 个项目' cmd=command.copy(sel(false, &amp;quot;\n&amp;quot;)))
item(mode=&amp;quot;single&amp;quot; &lt;a href="mailto:title=@sel.path" target="_blank" rel="external nofollow noopener noreferrer"&gt;title=@sel.path&lt;/a&gt; tip=sel.path cmd=command.copy(sel.path))
item(mode=&amp;quot;single&amp;quot; type='file' separator=&amp;quot;before&amp;quot; find='.lnk' title='打开文件所在路径')
separator
item(mode=&amp;quot;single&amp;quot; &lt;a href="mailto:where=@sel.parent.len" target="_blank" rel="external nofollow noopener noreferrer"&gt;where=@sel.parent.len&lt;/a&gt;&amp;gt;3 title=sel.parent &lt;a href="mailto:cmd=@command.copy" target="_blank" rel="external nofollow noopener noreferrer"&gt;cmd=@command.copy&lt;/a&gt;(sel.parent))
separator
item(mode=&amp;quot;single&amp;quot; type='file|dir|back.dir' title=sel.file.name cmd=command.copy(sel.file.name))
item(mode=&amp;quot;single&amp;quot; type='file' where=sel.file.len != sel.file.title.len &lt;a href="mailto:title=@sel.file.title" target="_blank" rel="external nofollow noopener noreferrer"&gt;title=@sel.file.title&lt;/a&gt; cmd=command.copy(sel.file.title))
item(mode=&amp;quot;single&amp;quot; type='file' where=sel.file.ext.len&amp;gt;0 title=sel.file.ext cmd=command.copy(sel.file.ext))
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;item(mode=&amp;amp;#34;single&amp;amp;#34; type=&amp;amp;#34;file&amp;amp;#34; title=&amp;amp;#34;修改扩展名&amp;amp;#34; image=\uE0B5 cmd=if(input(&amp;amp;#34;修改扩展名&amp;amp;#34;, &amp;amp;#34;输入新的扩展名&amp;amp;#34;),
	io.rename(sel.path, path.join(sel.dir, sel.file.title &amp;amp;#43; &amp;amp;#34;.&amp;amp;#34; &amp;amp;#43; input.result))))

menu(separator=&amp;amp;#34;after&amp;amp;#34; image=\uE290 title=title.select)
{
	item(title=&amp;amp;#34;全部选中&amp;amp;#34; image=icon.select_all cmd=command.select_all)
	item(title=&amp;amp;#34;反向选择&amp;amp;#34; image=icon.invert_selection cmd=command.invert_selection)
	item(title=&amp;amp;#34;取消全选&amp;amp;#34; image=icon.select_none cmd=command.select_none)
}

item(type=&amp;amp;#39;file|dir|back.dir|drive&amp;amp;#39; title=&amp;amp;#39;获取所有权&amp;amp;#39; image=[\uE194,#f00] admin
	cmd args=&amp;amp;#39;/K takeown /f &amp;amp;#34;@sel.path&amp;amp;#34; @if(sel.type==1,null,&amp;amp;#34;/r /d y&amp;amp;#34;) &amp;amp;amp;&amp;amp;amp; icacls &amp;amp;#34;@sel.path&amp;amp;#34; /grant *S-1-5-32-544:F @if(sel.type==1,&amp;amp;#34;/c /l&amp;amp;#34;,&amp;amp;#34;/t /c /l /q&amp;amp;#34;)&amp;amp;#39;)
separator
menu(title=&amp;amp;#34;显示/隐藏&amp;amp;#34; image=icon.show_hidden_files)
{
	item(title=&amp;amp;#34;系统文件&amp;amp;#34; image=inherit cmd=&amp;amp;#39;@command.togglehidden&amp;amp;#39;)
	item(title=&amp;amp;#34;文件扩展名&amp;amp;#34; image=icon.show_file_extensions cmd=&amp;amp;#39;@command.toggleext&amp;amp;#39;)
}

menu(type=&amp;amp;#39;file|dir|back.dir&amp;amp;#39; mode=&amp;amp;#34;single&amp;amp;#34; title=&amp;amp;#39;文件属性&amp;amp;#39; image=icon.properties)
{
	$atrr = io.attributes(sel.path)
	item(title=&amp;amp;#39;隐藏&amp;amp;#39; checked=io.attribute.hidden(atrr)
		cmd args=&amp;amp;#39;/c ATTRIB @if(io.attribute.hidden(atrr),&amp;amp;#34;-&amp;amp;#34;,&amp;amp;#34;&amp;amp;#43;&amp;amp;#34;)H &amp;amp;#34;@sel.path&amp;amp;#34;&amp;amp;#39; window=hidden)

	item(title=&amp;amp;#39;系统&amp;amp;#39; checked=io.attribute.system(atrr)
		cmd args=&amp;amp;#39;/c ATTRIB @if(io.attribute.system(atrr),&amp;amp;#34;-&amp;amp;#34;,&amp;amp;#34;&amp;amp;#43;&amp;amp;#34;)S &amp;amp;#34;@sel.path&amp;amp;#34;&amp;amp;#39; window=hidden)

	item(title=&amp;amp;#39;只读&amp;amp;#39; checked=io.attribute.readonly(atrr)
		cmd args=&amp;amp;#39;/c ATTRIB @if(io.attribute.readonly(atrr),&amp;amp;#34;-&amp;amp;#34;,&amp;amp;#34;&amp;amp;#43;&amp;amp;#34;)R &amp;amp;#34;@sel.path&amp;amp;#34;&amp;amp;#39; window=hidden)

	item(title=&amp;amp;#39;存档&amp;amp;#39; checked=io.attribute.archive(atrr)
		cmd args=&amp;amp;#39;/c ATTRIB @if(io.attribute.archive(atrr),&amp;amp;#34;-&amp;amp;#34;,&amp;amp;#34;&amp;amp;#43;&amp;amp;#34;)A &amp;amp;#34;@sel.path&amp;amp;#34;&amp;amp;#39; window=hidden)
	separator
	item(title=&amp;amp;#34;创建日期&amp;amp;#34; keys=io.dt.created(sel.path, &amp;amp;#39;y/m/d&amp;amp;#39;) cmd=io.dt.created(sel.path,2000,1,1) vis=label)
	item(title=&amp;amp;#34;修改日期&amp;amp;#34; keys=io.dt.modified(sel.path, &amp;amp;#39;y/m/d&amp;amp;#39;) cmd=io.dt.modified(sel.path,2000,1,1) vis=label)
	item(title=&amp;amp;#34;访问日期&amp;amp;#34; keys=io.dt.accessed(sel.path, &amp;amp;#39;y/m/d&amp;amp;#39;) cmd=io.dt.accessed(sel.path,2000,1,1) vis=label)
}

menu(mode=&amp;amp;#34;single&amp;amp;#34; type=&amp;amp;#39;file&amp;amp;#39; find=&amp;amp;#39;.dll|.ocx&amp;amp;#39; separator=&amp;amp;#34;before&amp;amp;#34; title=&amp;amp;#39;注册服务器&amp;amp;#39; image=\uea86)
{
	item(title=&amp;amp;#39;注册&amp;amp;#39; admin cmd=&amp;amp;#39;regsvr32.exe&amp;amp;#39; args=&amp;amp;#39;@sel.path.quote&amp;amp;#39; invoke=&amp;amp;#34;multiple&amp;amp;#34;)
	item(title=&amp;amp;#39;注销&amp;amp;#39; admin cmd=&amp;amp;#39;regsvr32.exe&amp;amp;#39; args=&amp;amp;#39;/u @sel.path.quote&amp;amp;#39; invoke=&amp;amp;#34;multiple&amp;amp;#34;)
}

menu(mode=&amp;amp;#34;single&amp;amp;#34; type=&amp;amp;#39;back&amp;amp;#39; expanded=true)
{
	menu(separator=&amp;amp;#34;before&amp;amp;#34; title=&amp;amp;#39;新建文件夹&amp;amp;#39; image=icon.new_folder)
	{
		item(title=&amp;amp;#39;以日期时间命名&amp;amp;#39; cmd=io.dir.create(sys.datetime(&amp;amp;#34;ymdHMSs&amp;amp;#34;)))
		item(title=&amp;amp;#39;以 GUID 命名&amp;amp;#39; cmd=io.dir.create(str.guid))
	}

	menu(title=&amp;amp;#39;新建文件&amp;amp;#39; image=icon.new_file)
	{
		$dt = sys.datetime(&amp;amp;#34;ymdHMSs&amp;amp;#34;)
		item(title=&amp;amp;#39;TXT 文件&amp;amp;#39; cmd=io.file.create(&amp;amp;#39;@(dt).txt&amp;amp;#39;, &amp;amp;#39;Hello World!&amp;amp;#39;))
		item(title=&amp;amp;#39;XML 文件&amp;amp;#39; cmd=io.file.create(&amp;amp;#39;@(dt).xml&amp;amp;#39;, &amp;amp;#39;&amp;amp;lt;root&amp;amp;gt;Hello World!&amp;amp;lt;/root&amp;amp;gt;&amp;amp;#39;))
		item(title=&amp;amp;#39;JSON 文件&amp;amp;#39; cmd=io.file.create(&amp;amp;#39;@(dt).json&amp;amp;#39;, &amp;amp;#39;[]&amp;amp;#39;))
		item(title=&amp;amp;#39;HTML 文件&amp;amp;#39; cmd=io.file.create(&amp;amp;#39;@(dt).html&amp;amp;#39;, &amp;amp;#34;&amp;amp;lt;html&amp;amp;gt;\n\t&amp;amp;lt;head&amp;amp;gt;\n\t&amp;amp;lt;/head&amp;amp;gt;\n\t&amp;amp;lt;body&amp;amp;gt;Hello World!\n\t&amp;amp;lt;/body&amp;amp;gt;\n&amp;amp;lt;/html&amp;amp;gt;&amp;amp;#34;))
	}
}

item(where=!wnd.is_desktop title=title.folder_options image=icon.folder_options cmd=command.folder_options)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;menu(type='*' where=window.is_taskbar||sel.count mode=mode.multiple title=title.go_to sep=sep.both image=\uE14A)
{
menu(title='系统文件夹' image=\uE1F4)
{
item(title='Windows' image=inherit cmd=sys.dir)
item(title='System' image=inherit cmd=sys.bin)
item(title='Program Files' image=inherit cmd=sys.prog)
item(title='Program Files (x86)' image=inherit cmd=sys.prog32)
item(title='ProgramData' image=inherit cmd=sys.programdata)
item(title='应用程序列表' image=inherit cmd='shell:appsfolder')
item(title='用户目录' image=inherit cmd=sys.users)
separator
//item(title='@user.name@@@sys.name' vis=label)
item(title='桌面' image=inherit cmd=user.desktop)
item(title='下载' image=inherit cmd=user.downloads)
item(title='图片' image=inherit cmd=user.pictures)
item(title='文档' image=inherit cmd=user.documents)
item(title='开始菜单' image=inherit cmd=user.startmenu)
item(title='用户配置' image=inherit cmd=user.dir)
item(title='AppData' image=inherit cmd=user.appdata)
item(title='临时文件夹' image=inherit cmd=user.temp)
}
item(title=title.control_panel image=\uE0F3 cmd='shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}')
item(title='所有控制面板项' image=\uE0F3 cmd='shell:::{ED7BA470-8E54-465E-825C-99712043E01C}')
item(title=title.run image=\uE14B cmd='shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}')
menu(where=sys.ver.major &amp;gt;= 10 title=title.settings sep=sep.before image=\uE0F3)
{
// &lt;a href="https://docs.microsoft.com/en-us/windows/uwp/launch-resume/launch-settings-app" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://docs.microsoft.com/en-us/windows/uwp/launch-resume/launch-settings-app&lt;/a&gt;
item(title='系统' image=inherit cmd='ms-settings:')
item(title='关于' image=inherit cmd='ms-settings:about')
item(title='你的信息' image=inherit cmd='ms-settings:yourinfo')
item(title='系统信息' image=inherit cmd-line='/K systeminfo')
item(title='搜索' cmd='search-ms:' image=inherit)
item(title='USB' image=inherit cmd='ms-settings:usb')
item(title='Windows 更新' image=inherit cmd='ms-settings:windowsupdate')
item(title='Windows Defender' image=inherit cmd='ms-settings:windowsdefender')
menu(title='应用' image=inherit)
{
item(title='应用和功能' image=inherit cmd='ms-settings:appsfeatures')
item(title='默认应用' image=inherit cmd='ms-settings:defaultapps')
item(title='可选功能' image=inherit cmd='ms-settings:optionalfeatures')
item(title='启动项' image=inherit cmd='ms-settings:startupapps')
}
menu(title='个性化' image=inherit)
{
item(title='个性化' image=inherit cmd='ms-settings:personalization')
item(title='锁屏界面' image=inherit cmd='ms-settings:lockscreen')
item(title='背景' image=inherit cmd='ms-settings:personalization-background')
item(title='颜色' image=inherit cmd='ms-settings:colors')
item(title='主题' image=inherit cmd='ms-settings:themes')
item(title='开始菜单' image=inherit cmd='ms-settings:personalization-start')
item(title='任务栏' image=inherit cmd='ms-settings:taskbar')
}
menu(title='网络' image=inherit)
{
item(title='状态' image=inherit cmd='ms-settings:network-status')
item(title='以太网' image=inherit cmd='ms-settings:network-ethernet')
item(title='网络连接' image=inherit cmd='shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}')
}
}
}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;// modify items
// Remove items by identifiers
modify(mode=mode.multiple
where=this.id(id.restore_previous_versions,id.cast_to_device)
vis=vis.remove)&lt;/p&gt;
&lt;p&gt;modify(type=&amp;quot;recyclebin&amp;quot; where=window.is_desktop and this.id==id.empty_recycle_bin pos=1 sep)&lt;/p&gt;
&lt;p&gt;modify(find=&amp;quot;unpin*&amp;quot; pos=&amp;quot;bottom&amp;quot; menu=&amp;quot;Pin/Unpin&amp;quot;)
modify(find=&amp;quot;pin*&amp;quot; pos=&amp;quot;top&amp;quot; menu=&amp;quot;Pin/Unpin&amp;quot;)&lt;/p&gt;
&lt;p&gt;modify(where=this.id&lt;mark&gt;id.copy_as_path menu=&amp;quot;file manage&amp;quot;)
modify(type=&amp;quot;dir.back|drive.back&amp;quot; where=this.id&lt;/mark&gt;id.customize_this_folder pos=1 sep=&amp;quot;top&amp;quot; menu=&amp;quot;file manage&amp;quot;)&lt;/p&gt;
&lt;p&gt;modify(where=str.equals(this.name, [&amp;quot;open in terminal&amp;quot;, &amp;quot;open linux shell here&amp;quot;]) || this.id==id.open_powershell_window_here
pos=&amp;quot;bottom&amp;quot; menu=&amp;quot;Terminal&amp;quot;)&lt;/p&gt;
&lt;p&gt;modify(mode=mode.multiple
where=this.id(
id.send_to,
id.share,
// id.create_shortcut,
id.set_as_desktop_background,
id.rotate_left,
id.rotate_right,
id.map_network_drive,
id.disconnect_network_drive,
id.format,
id.eject,
id.give_access_to,
id.include_in_library,
id.print
)
pos=1 menu=title.more_options)&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;menu(type=&amp;quot;taskbar&amp;quot; vis=key.shift() or key.lbutton() pos=0 title=app.name image=\uE249)
{
item(title=&amp;quot;配置&amp;quot; image=\uE10A cmd='&amp;quot;@app.cfg&amp;quot;')
item(title=&amp;quot;管理器&amp;quot; image=\uE0F3 admin cmd='&amp;quot;@app.exe&amp;quot;')
item(title=&amp;quot;安装目录&amp;quot; image=\uE0E8 cmd='&amp;quot;@app.dir&amp;quot;')
item(title=&amp;quot;版本\t&amp;quot;+@app.ver vis=label col=1)
item(title=&amp;quot;文档&amp;quot; image=\uE1C4 cmd='https://nilesoft.org/docs')
item(title=&amp;quot;捐赠&amp;quot; image=\uE1A7 cmd='https://nilesoft.org/donate')
}&lt;/p&gt;
&lt;p&gt;menu(where=@(this.count == 0) type='taskbar' image=icon.settings expanded=true)
{
menu(title=&amp;quot;常用应用&amp;quot; image=\uE254)
{
item(title='画图' image=\uE116 cmd='mspaint')
item(title='Edge' image cmd='@sys.prog32\Microsoft\Edge\Application\msedge.exe')
item(title='计算器' image=\ue1e7 cmd='calc.exe')
item(title=str.res('regedit.exe,-16') image cmd='regedit.exe')
}
menu(title=&amp;quot;窗口&amp;quot; image=\uE1FB)
{
item(title=&amp;quot;层叠窗口&amp;quot; cmd=command.cascade_windows)
item(title=&amp;quot;堆叠显示&amp;quot; cmd=command.Show_windows_stacked)
item(title=&amp;quot;并排显示&amp;quot; cmd=command.Show_windows_side_by_side)
sep
item(title=&amp;quot;最小化所有窗口&amp;quot; cmd=command.minimize_all_windows)
item(title=&amp;quot;还原所有窗口&amp;quot; cmd=command.restore_all_windows)
}
item(title=&amp;quot;显示桌面&amp;quot; image=icon.desktop cmd=command.toggle_desktop)
item(title=&amp;quot;设置&amp;quot; image=icon.settings(auto, image.color1) cmd='ms-settings:')
item(title=&amp;quot;任务管理器&amp;quot; sep=both image=icon.task_manager cmd='taskmgr.exe')
item(title=&amp;quot;任务栏设置&amp;quot; sep=both image=inherit cmd='ms-settings:taskbar')
item(vis=key.shift() title=&amp;quot;重启资源管理器&amp;quot; cmd=command.restart_explorer)
}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;menu(type='*' where=(sel.count or wnd.is_taskbar or wnd.is_edit) title=&amp;quot;终端&amp;quot; sep='top' image=icon.run_with_powershell)
{
&lt;span class="katex-error" title="ParseError: KaTeX parse error: Expected &amp;#x27;EOF&amp;#x27;, got &amp;#x27;&amp;amp;&amp;#x27; at position 16: tip_run_admin=[&amp;amp;̲#34;\xE1A7 按 Sh…" style="color:#ff4949"&gt;tip_run_admin=[&amp;amp;#34;\xE1A7 按 Shift 键以管理员身份运行&amp;amp;#34; &amp;amp;#43; this.title, tip.warning, 1.0]
	&lt;/span&gt;has_admin=key.shift() or key.rbutton()&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;item(title=&amp;amp;#34;CMD&amp;amp;#34; tip=$tip_run_admin admin=$has_admin image cmd=&amp;amp;#39;cmd.exe&amp;amp;#39; args=&amp;amp;#39;/K TITLE Command Prompt &amp;amp;amp;ver&amp;amp;amp; PUSHD &amp;amp;#34;@sel.dir&amp;amp;#34;&amp;amp;#39;)
item(title=&amp;amp;#34;PowerShell&amp;amp;#34; admin=$has_admin tip=$tip_run_admin image cmd=&amp;amp;#39;powershell.exe&amp;amp;#39; args=&amp;amp;#39;-noexit -command Set-Location -Path &amp;amp;#34;@sel.dir\.&amp;amp;#34;&amp;amp;#39;)
item(where=package.exists(&amp;amp;#34;WindowsTerminal&amp;amp;#34;) title=&amp;amp;#34;终端&amp;amp;#34; tip=$tip_run_admin admin=$has_admin image=&amp;amp;#39;@package.path(&amp;amp;#34;WindowsTerminal&amp;amp;#34;)\WindowsTerminal.exe&amp;amp;#39; cmd=&amp;amp;#39;wt.exe&amp;amp;#39; arg=&amp;amp;#39;-d &amp;amp;#34;@sel.path\.&amp;amp;#34;&amp;amp;#39;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;theme
{
name=&amp;quot;modern&amp;quot;
dark=auto
background
{
color=auto
opacity=auto
effect=auto
}
item
{
padding
{
right = 15
}
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;image.align=2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;/tab-container&gt;&lt;/div&gt;

&lt;/tab-container&gt;
&lt;h3 class="heading-element" id="菜单精简"&gt;&lt;span&gt;菜单精简&lt;/span&gt;
 &lt;a href="#%e8%8f%9c%e5%8d%95%e7%b2%be%e7%ae%80" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Nilesoft Shell&lt;/strong&gt; 也可以用来精简菜单，示例如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 在末尾添加
remove(find=&amp;#39;&amp;#34;使用 Clipchamp 进行编辑&amp;#34;|&amp;#34;使用 Microsoft 画图进行编辑&amp;#34;|&amp;#34;使用“照片”编辑&amp;#34;|&amp;#34;在记事本中编辑&amp;#34;|&amp;#34;使用 Adobe Acrobat 共享(A)&amp;#34;&amp;#39;)
remove(in=&amp;#34;打开方式(H)&amp;#34; find=&amp;#39;&amp;#34;画图&amp;#34;&amp;#39;)
remove(in=&amp;#34;更多选项&amp;#34; in=&amp;#34;发送到(N)&amp;#34; find=&amp;#39;&amp;#34;文档&amp;#34;&amp;#39;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;一级菜单 &lt;code&gt;remove(find='&amp;quot;目标&amp;quot;')&lt;/code&gt;，二级菜单 &lt;code&gt;remove(in=&amp;quot;一级菜单&amp;quot; find='&amp;quot;目标&amp;quot;')&lt;/code&gt;，三级菜单 &lt;code&gt;remove(in=&amp;quot;一级菜单&amp;quot; in=&amp;quot;二级菜单&amp;quot; find='&amp;quot;目标&amp;quot;')&lt;/code&gt;，以此类推，每深一级就多加一个 &lt;code&gt;in=&amp;quot;菜单名&amp;quot;&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;另一款右键精简工具是蓝点 Lilac 开发的 &lt;a href="https://github.com/BluePointLilac/ContextMenuManager/releases" target="_blank" rel="external nofollow noopener noreferrer"&gt;ContextMenuManager&lt;/a&gt;。解压后以管理员身份运行 &lt;code&gt;ContextMenuManager.NET.4.0.exe&lt;/code&gt;，按需开启和关闭文件、文件夹、桌面等场景的右键菜单项，同时可对菜单项进行更改文本、删除此项等操作。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260521_tvYMkm.webp" title="ContextMenuManager" data-thumbnail="/images/20260521_tvYMkm.webp" data-sub-html="&lt;h2&gt;ContextMenuManager&lt;/h2&gt;&lt;p&gt;ContextMenuManager&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260521_tvYMkm.webp' alt="ContextMenuManager" height="953" width="1457"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;ContextMenuManager&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;在 &lt;strong&gt;其他规则&lt;/strong&gt; 界面，提供了一系列增强菜单项，如在目录中添加清理回收站，桌面背景添加此电脑等。其中 &lt;strong&gt;GUID 锁&lt;/strong&gt; 相当于在注册表 &lt;code&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked&lt;/code&gt; 下新建以菜单 GUID 命名的字符串（数值留空），即可隐藏该菜单，删除则恢复。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260527_SLo5XA.webp" title="GUID 锁" data-thumbnail="/images/20260527_SLo5XA.webp" data-sub-html="&lt;h2&gt;GUID 锁&lt;/h2&gt;&lt;p&gt;GUID 锁&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260527_SLo5XA.webp' alt="GUID 锁" height="1020" width="1454"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;GUID 锁&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;例如，想要隐藏右键菜单项 “使用 Clipchamp 进行编辑”（&lt;code&gt;{8AB635F8-9A67-4698-AB99-784AD929F3B4}&lt;/code&gt;）、“使用照片编辑”（&lt;code&gt;{BFE0E2A4-C70C-4AD7-AC3D-10D1ECEBB5B4}&lt;/code&gt;）、“使用 Microsoft 画图进行编辑”（&lt;code&gt;{2430F218-B743-4FD6-97BF-5C76541B4AE9}&lt;/code&gt;）、“在记事本中编辑”（&lt;code&gt;{CA6CC9F1-867A-481E-951E-A28C5E4F01EA}&lt;/code&gt;），添加 GUID 锁定项目，重启资源管理器即可。&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 class="heading-element" id="窗口管理"&gt;&lt;span&gt;窗口管理&lt;/span&gt;
 &lt;a href="#%e7%aa%97%e5%8f%a3%e7%ae%a1%e7%90%86" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Windows 自带的窗口控制功能较为有限，右键点击标题栏只能看到移动、大小、最小化、最大化、关闭等基本选项。如果需要更丰富的窗口操作（如置顶、调整透明度、快速对齐等），可以使用 AlexanderPro 开发的窗口增强工具 &lt;a href="https://github.com/AlexanderPro/SmartContextMenu" target="_blank" rel="external nofollow noopener noreferrer"&gt;SmartContextMenu&lt;/a&gt;，通过 &lt;code&gt;Ctrl + 鼠标右键&lt;/code&gt; 可为任意窗口（包括游戏、控制台等无标题栏的应用）提供置顶、透明度调节、卷起、隐藏等增强功能。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260521_tT4n4Y.webp" title="SmartContextMenu" data-thumbnail="/images/20260521_tT4n4Y.webp" data-sub-html="&lt;h2&gt;SmartContextMenu&lt;/h2&gt;&lt;p&gt;SmartContextMenu&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260521_tT4n4Y.webp' alt="SmartContextMenu" height="890" width="1516"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;SmartContextMenu&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;解压后以管理员身份运行 &lt;code&gt;SmartContextMenu.exe&lt;/code&gt;，程序将驻留系统托盘；在任意窗口按 &lt;code&gt;Ctrl + 鼠标右键&lt;/code&gt;，即可呼出增强菜单；右键托盘图标可打开设置，自定义快捷键、启用或禁用特定功能。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260521_dSKlc1.webp" title="SmartContextMenu 设置" data-thumbnail="/images/20260521_dSKlc1.webp" data-sub-html="&lt;h2&gt;SmartContextMenu 设置&lt;/h2&gt;&lt;p&gt;SmartContextMenu 设置&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260521_dSKlc1.webp' alt="SmartContextMenu 设置" height="721" width="851"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;SmartContextMenu 设置&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://www.runningcheese.com/context-menu" target="_blank" rel="external nofollow noopener noreferrer"&gt;开启你的超级右键，让右键菜单再次伟大！- 奔跑中的奶酪&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;&lt;a href="https://zhuanlan.zhihu.com/p/21394390306" target="_blank" rel="external nofollow noopener noreferrer"&gt;一招搞定！Windows 11右键菜单多余选项删除攻略 - 小高讲数码&lt;/a&gt;&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>我的浏览器使用方案分享</title><link>https://arianote.top/web-browser/</link><pubDate>Mon, 11 May 2026 00:09:19 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/web-browser/</guid><category domain="https://arianote.top/categories/tech/">Tech</category><description>&lt;img src="https://arianote.top/images/20260511_bxVy4I.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;在网页浏览中，合适的浏览器应兼顾扩展自由度、同步便利性与隐私可控性。书签作为重要资产，其跨设备同步依赖扩展（如 &lt;a href="https://floccus.org/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Floccus&lt;/a&gt; + &lt;a href="https://www.jianguoyun.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;坚果云&lt;/a&gt; WebDAV）。&lt;/p&gt;
&lt;p&gt;基于这些考量，我最终固定使用以下四款：电脑端主用 Firefox，备用 Edge；移动端使用基于 Chromium 内核的狐猴浏览器和红雨见浏览器 —— 在 Android 上，Chromium 内核的扩展兼容性更符合我的需求。&lt;/p&gt;
&lt;h2 class="heading-element" id="桌面端"&gt;&lt;span&gt;桌面端&lt;/span&gt;
 &lt;a href="#%e6%a1%8c%e9%9d%a2%e7%ab%af" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 class="heading-element" id="firefox"&gt;&lt;span&gt;Firefox&lt;/span&gt;
 &lt;a href="#firefox" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.firefox.com/zh-CN/download/all/?redirect_source=mozilla-org#product-desktop-release" target="_blank" rel="external nofollow noopener noreferrer"&gt;Firefox&lt;/a&gt; 是 Mozilla 开发的 Gecko 内核桌面浏览器，支持 Windows、macOS、Linux，强调隐私保护与高度可定制性，通过 &lt;code&gt;about:config&lt;/code&gt; 进行细粒度设置，可从 &lt;a href="https://addons.mozilla.org" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://addons.mozilla.org&lt;/a&gt; 安装扩展；内置 Firefox 账号同步，可在多设备间同步书签、历史记录、密码、标签页和扩展列表。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260511_hSu1Hl.webp" title="Firefox" data-thumbnail="/images/20260511_hSu1Hl.webp" data-sub-html="&lt;h2&gt;Firefox&lt;/h2&gt;&lt;p&gt;Firefox&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260511_hSu1Hl.webp' alt="Firefox" height="949" width="1920"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Firefox&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;安装后，可开启垂直标签页与侧边栏扩展整合，快速访问书签、历史记录或插件面板；支持分屏浏览，便于对照网页内容或进行资料整理，在信息查阅与写作场景中效率较高。&lt;/p&gt;
&lt;h3 class="heading-element" id="edge"&gt;&lt;span&gt;Edge&lt;/span&gt;
 &lt;a href="#edge" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.microsoft.com/zh-cn/edge/download?form=MA13DC" target="_blank" rel="external nofollow noopener noreferrer"&gt;Microsoft Edge&lt;/a&gt; 是微软开发的 Chromium 内核桌面浏览器，支持 Windows、macOS 与 Linux，并与 Windows 系统深度集成，支持同时从 Chrome Web Store 和 Edge 插件商店安装扩展；内置微软账号同步，可在电脑与手机（Edge / Edge Canary）之间同步书签、历史记录、密码、集合和标签页。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260511_CBmtKQ.webp" title="Microsoft Edge" data-thumbnail="/images/20260511_CBmtKQ.webp" data-sub-html="&lt;h2&gt;Microsoft Edge&lt;/h2&gt;&lt;p&gt;Microsoft Edge&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260511_CBmtKQ.webp' alt="Microsoft Edge" height="953" width="1920"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Microsoft Edge&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;安装后，相比 Chrome 占用资源更低，提供垂直标签页与睡眠标签功能，有助于高效管理多标签浏览并提升系统资源利用率。&lt;/p&gt;
&lt;h2 class="heading-element" id="安卓端"&gt;&lt;span&gt;安卓端&lt;/span&gt;
 &lt;a href="#%e5%ae%89%e5%8d%93%e7%ab%af" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 class="heading-element" id="狐猴浏览器"&gt;&lt;span&gt;狐猴浏览器&lt;/span&gt;
 &lt;a href="#%e7%8b%90%e7%8c%b4%e6%b5%8f%e8%a7%88%e5%99%a8" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.lemurbrowser.com/new_version_test/app/zh.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;狐猴浏览器&lt;/a&gt;（Lemur Browser）是 Chromium 内核的 Android 浏览器，已上架小米应用商店等国内渠道，更新方便；可直接从 Chrome Web Store 和 Edge 扩展商店安装插件；提供暗色模式、自定义主页、底部地址栏等界面选项，扩展支持能力与桌面版 Chromium 基本一致。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260511_5Q6GHw.webp" title="狐猴浏览器" data-thumbnail="/images/20260511_5Q6GHw.webp" data-sub-html="&lt;h2&gt;狐猴浏览器&lt;/h2&gt;&lt;p&gt;狐猴浏览器&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260511_5Q6GHw.webp' alt="狐猴浏览器" height="3091" width="5860"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;狐猴浏览器&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;安装后，按需配置主页和地址栏位置，登录账号即可同步书签，使用习惯与桌面浏览器无缝衔接。&lt;/p&gt;
&lt;h3 class="heading-element" id="红雨见浏览器"&gt;&lt;span&gt;红雨见浏览器&lt;/span&gt;
 &lt;a href="#%e7%ba%a2%e9%9b%a8%e8%a7%81%e6%b5%8f%e8%a7%88%e5%99%a8" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;a href="https://club.yujianweb.cn/index.php/archives/1922/" target="_blank" rel="external nofollow noopener noreferrer"&gt;红雨见浏览器&lt;/a&gt; 是雨见工作室开发的 Chromium 内核的 Android 浏览器（目前内测阶段），可直接从 Chrome Web Store 和 Edge 扩展商店安装插件；内置账号同步书签和历史记录；同时提供自定义下载工具、脚本注入、资源嗅探等高级功能，适合对扩展兼容性与可玩性有较高需求的用户。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260511_XOLdqE.webp" title="红雨见浏览器" data-thumbnail="/images/20260511_XOLdqE.webp" data-sub-html="&lt;h2&gt;红雨见浏览器&lt;/h2&gt;&lt;p&gt;红雨见浏览器&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260511_XOLdqE.webp' alt="红雨见浏览器" height="3094" width="5860"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;红雨见浏览器&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;安装后，可根据需要开启脚本注入和资源嗅探，登录账号同步数据，享受接近桌面级的扩展生态。&lt;/p&gt;</description></item><item><title>我的 Office 插件使用方案</title><link>https://arianote.top/office-plugin/</link><pubDate>Sun, 10 May 2026 22:38:25 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/office-plugin/</guid><category domain="https://arianote.top/categories/work/">Work</category><description>&lt;img src="https://arianote.top/images/20260510_dSHX02.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;在日常 Excel 和 Word 使用中，合适的插件可以显著减少重复操作、提升效率。&lt;/p&gt;
&lt;p&gt;经过多款工具对比，我最终固定使用以下两款：方方格子（Excel）和小恐龙公文排版助手（Word）。&lt;/p&gt;
&lt;h2 class="heading-element" id="方方格子-excel-工具箱"&gt;&lt;span&gt;方方格子 Excel 工具箱&lt;/span&gt;
 &lt;a href="#%e6%96%b9%e6%96%b9%e6%a0%bc%e5%ad%90-excel-%e5%b7%a5%e5%85%b7%e7%ae%b1" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;a href="http://www.ffcell.com/home/ffcell.aspx" target="_blank" rel="external nofollow noopener noreferrer"&gt;方方格子 Excel 工具箱&lt;/a&gt; 是方方格子工作室开发的 Excel 插件，兼容 Excel 2007~2021、365 以及 WPS Office，提供文本处理、批量录入、删除工具、合并转换、重复值工具、数据对比、高级排序、颜色排序、合并单元格排序、聚光灯、宏收纳箱、AI 工具箱等功能。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260510_uMsOZo.webp" title="方方格子 Excel 工具箱" data-thumbnail="/images/20260510_uMsOZo.webp" data-sub-html="&lt;h2&gt;方方格子 Excel 工具箱&lt;/h2&gt;&lt;p&gt;方方格子 Excel 工具箱&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260510_uMsOZo.webp' alt="方方格子 Excel 工具箱" height="1560" width="2599"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;方方格子 Excel 工具箱&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;安装后，Excel 功能区会新增 &lt;strong&gt;方方格子&lt;/strong&gt; 选项卡，可直接使用以上功能，高级功能（如汇总大师、财务工具箱等）需开通会员，价格约每月 8 元或终身授权。&lt;/p&gt;
&lt;h2 class="heading-element" id="小恐龙公文排版助手"&gt;&lt;span&gt;小恐龙公文排版助手&lt;/span&gt;
 &lt;a href="#%e5%b0%8f%e6%81%90%e9%be%99%e5%85%ac%e6%96%87%e6%8e%92%e7%89%88%e5%8a%a9%e6%89%8b" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;a href="https://gw.xkonglong.com/#/#%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80" target="_blank" rel="external nofollow noopener noreferrer"&gt;小恐龙公文排版助手&lt;/a&gt; 是小恐龙工作室开发的免费 Word 插件，兼容 Word 2007 及以上版本和 WPS Office，严格遵循《党政机关公文格式国家标准》（GB/T 9704—2012），可快速设置页面版式、文字格式及常用符号；支持中文首行缩进 2 字符、删除空白、断句重排；快速插入版头、版记、公文页码、红线；对文档盖章，并在同目录生成 PDF / DOC / 图片副本。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260510_Xd3kz8.webp" title="小恐龙公文排版助手" data-thumbnail="/images/20260510_Xd3kz8.webp" data-sub-html="&lt;h2&gt;小恐龙公文排版助手&lt;/h2&gt;&lt;p&gt;小恐龙公文排版助手&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260510_Xd3kz8.webp' alt="小恐龙公文排版助手" height="201" width="2559"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;小恐龙公文排版助手&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;安装后，Word 功能区会新增 &lt;strong&gt;公文&lt;/strong&gt; 选项卡，可直接使用以上排版功能。&lt;/p&gt;</description></item><item><title>Word 自动化：宏的操作与应用</title><link>https://arianote.top/word-macro/</link><pubDate>Sun, 10 May 2026 02:34:38 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/word-macro/</guid><category domain="https://arianote.top/categories/work/">Work</category><description>&lt;img src="https://arianote.top/images/20260507_Ts3Sel.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;宏是一组可自动执行的命令（通常由 VBA 编写），能一键完成重复或复杂操作，减少人为错误。在 Word 中，宏常用于文本格式化、页面布局、批量处理图片、邮件合并、表格数据处理等场景。&lt;/p&gt;
&lt;p&gt;下面从录制宏入手，介绍宏的操作方法、安全设置及应用技巧。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 class="heading-element" id="创建与录制宏"&gt;&lt;span&gt;创建与录制宏&lt;/span&gt;
 &lt;a href="#%e5%88%9b%e5%bb%ba%e4%b8%8e%e5%bd%95%e5%88%b6%e5%ae%8f" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;添加到快速访问工具栏：点击 &lt;strong&gt;文件 &amp;gt; 选项 &amp;gt; 快速访问工具栏&lt;/strong&gt;，命令选 &lt;strong&gt;宏&lt;/strong&gt;，选中宏并添加。&lt;/li&gt;
&lt;li&gt;设置快捷键：点击 &lt;strong&gt;文件 &amp;gt; 选项 &amp;gt; 自定义功能区 &amp;gt; 键盘快捷方式自定义&lt;/strong&gt;，类别选 &lt;strong&gt;宏&lt;/strong&gt;，选中宏并输入快捷键（如 &lt;code&gt;Ctrl+Shift+Q&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;录制宏无需编写代码，Word 会自动记录操作步骤。例如，将标题设置为黑体、三号、居中，录制后只需选中文字点击按钮即可重复执行。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260510_KkVxKL.webp" title="录制宏" data-thumbnail="/images/20260510_KkVxKL.webp" data-sub-html="&lt;h2&gt;录制宏&lt;/h2&gt;&lt;p&gt;录制宏&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260510_KkVxKL.webp' alt="录制宏" height="653" width="869"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;录制宏&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;以设置正文段落为首行缩进 2 字符、1.5 倍行距为例：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;点击 &lt;strong&gt;文件 &amp;gt; 选项 &amp;gt; 自定义功能区&lt;/strong&gt;，勾选 &lt;strong&gt;开发工具&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;开发工具 &amp;gt; 录制宏&lt;/strong&gt;，输入宏名（如 &lt;code&gt;正文格式&lt;/code&gt;）和说明，选择保存位置所有文档或当前文档，录制时鼠标会显示小磁带图标。&lt;/li&gt;
&lt;li&gt;选中文本，设置段落格式为首行缩进 2 字符、1.5 倍行距，点击 &lt;strong&gt;停止录制&lt;/strong&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;应用宏时，选中文字，点击 &lt;strong&gt;开发工具 &amp;gt; 宏 &amp;gt; 选中宏 &amp;gt; 运行&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;如果要修改宏（如将行距改为 2 倍），点击 &lt;strong&gt;开发工具 &amp;gt; 宏 &amp;gt; 选中正文格式 &amp;gt; 编辑&lt;/strong&gt;，在 VBA 编辑窗口中将 &lt;code&gt;.LineSpacingRule = wdLineSpace1pt5&lt;/code&gt; 修改为 &lt;code&gt;.LineSpacingRule = wdLineSpace2&lt;/code&gt;。&lt;/p&gt;
&lt;h2 class="heading-element" id="编辑与运行宏"&gt;&lt;span&gt;编辑与运行宏&lt;/span&gt;
 &lt;a href="#%e7%bc%96%e8%be%91%e4%b8%8e%e8%bf%90%e8%a1%8c%e5%ae%8f" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;点击 &lt;strong&gt;开发工具 &amp;gt; Visual Basic&lt;/strong&gt;（&lt;code&gt;Alt+F11&lt;/code&gt;），在左侧窗口中选择当前文档或 &lt;code&gt;Normal&lt;/code&gt;，点击 &lt;strong&gt;插入 &amp;gt; 模块&lt;/strong&gt;，将 VBA 代码粘贴到右侧编辑区，关闭即可自动保存。&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;插入到 &lt;code&gt;Normal&lt;/code&gt;：宏对所有文档生效。&lt;/li&gt;
&lt;li&gt;插入到当前文档：仅当前文件可用，需保存为 &lt;code&gt;.docm&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;点击 &lt;strong&gt;开发工具 &amp;gt; 宏 &amp;gt; 选中宏 &amp;gt; 运行&lt;/strong&gt;（&lt;code&gt;Alt+F8&lt;/code&gt;），即可运行该宏，也可将宏绑定到按钮或快捷键。&lt;/p&gt;
&lt;p&gt;如果需要分享宏代码，在 VBA 编辑器中右键模块，导出为 &lt;code&gt;.bas&lt;/code&gt;，对方通过 &lt;strong&gt;文件 &amp;gt; 导入文件&lt;/strong&gt; 即可。&lt;/p&gt;
&lt;h2 class="heading-element" id="宏的安全性"&gt;&lt;span&gt;宏的安全性&lt;/span&gt;
 &lt;a href="#%e5%ae%8f%e7%9a%84%e5%ae%89%e5%85%a8%e6%80%a7" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Word 默认禁用宏，打开带宏的文档时，顶部提示栏显示 &lt;strong&gt;宏已被禁用&lt;/strong&gt;，点击 &lt;strong&gt;启用内容&lt;/strong&gt; 即可。&lt;/p&gt;
&lt;p&gt;如果希望自动启用，可将文件夹设为受信任位置：点击 &lt;strong&gt;文件 &amp;gt; 选项 &amp;gt; 信任中心 &amp;gt; 信任中心设置 &amp;gt; 受信任位置 &amp;gt; 添加新位置&lt;/strong&gt;，加入存放宏文档的文件夹。建议仅信任自己的文件夹，避免运行来源不明的宏。&lt;/p&gt;
&lt;h2 class="heading-element" id="宏的应用实例"&gt;&lt;span&gt;宏的应用实例&lt;/span&gt;
 &lt;a href="#%e5%ae%8f%e7%9a%84%e5%ba%94%e7%94%a8%e5%ae%9e%e4%be%8b" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;tab-container default-tab="0" placement="top" type="card"&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-4" aria-selected="true"&gt;按节拆分文档&lt;/button&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-5" aria-selected="false"&gt;多文档合并&lt;/button&gt;&lt;button class="tab-button" type="button" role="tab" id="tab-id-6" aria-selected="false"&gt;邮件合并自动分割文档&lt;/button&gt;

&lt;div role="tabpanel" aria-labelledby="tab-id-4" class="tab-panel"&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;code&gt;拆分结果&lt;/code&gt; 文件夹，生成 &lt;code&gt;文档_001.docx&lt;/code&gt;、&lt;code&gt;文档_002.docx&lt;/code&gt; 等文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;Attribute VB_Name = &amp;#34;模块1&amp;#34;
Sub 按节拆分文档()
 &amp;#39; 功能：按节拆分文档，保持格式，文件夹命名为 &amp;#34;拆分结果&amp;#34;，并优化空白文档问题。
 
 Dim originalDoc As Document, newDoc As Document
 Dim originalSection As Section
 Dim i As Long
 Dim saveFolderPath As String, fso As Object
 Dim originalRangeToCopy As Range
 
 &amp;#39; 优化点1：保存当前活动文档的引用
 Set originalDoc = ActiveDocument
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 On Error GoTo ErrorHandler
 
 &amp;#39; 1. 设置固定的保存文件夹路径
 saveFolderPath = originalDoc.Path &amp;amp; &amp;#34;\拆分结果\&amp;#34;
 
 &amp;#39; 使用FileSystemObject来操作文件夹
 Set fso = CreateObject(&amp;#34;Scripting.FileSystemObject&amp;#34;)
 
 &amp;#39; 如果“拆分结果”文件夹已存在，则删除其中的所有文件（避免文件混杂）
 If fso.FolderExists(saveFolderPath) Then
 On Error Resume Next &amp;#39; 防止因个别文件占用导致删除失败
 fso.DeleteFile saveFolderPath &amp;amp; &amp;#34;*.*&amp;#34; &amp;#39; 删除文件夹内所有文件
 On Error GoTo ErrorHandler
 Else
 &amp;#39; 如果文件夹不存在，则创建它
 fso.CreateFolder saveFolderPath
 End If
 
 &amp;#39; 2. 遍历每一节进行拆分
 For i = 1 To originalDoc.Sections.Count
 Set originalSection = originalDoc.Sections(i)
 Set originalRangeToCopy = originalSection.Range.Duplicate
 
 &amp;#39; 精确调整复制范围，排除节末尾的分节符（防止多余空白页）
 If i &amp;lt; originalDoc.Sections.Count Then
 originalRangeToCopy.End = originalSection.Range.End - 1
 End If
 
 &amp;#39; 优化点2：明确检查范围是否有实质内容，避免为空内容创建文档
 If Len(Trim(originalRangeToCopy.Text)) &amp;lt;= 1 Then
 &amp;#39; 如果内容仅为空白或一个控制符，则跳过
 GoTo ContinueNext
 End If
 
 &amp;#39; 优化点3：创建新文档并立即粘贴内容
 Set newDoc = Documents.Add(DocumentType:=wdNewBlankDocument, Visible:=False)
 originalRangeToCopy.Copy
 newDoc.Content.PasteAndFormat (wdFormatOriginalFormatting)
 
 &amp;#39; 1:1复制页面设置
 With newDoc.PageSetup
 .Orientation = originalSection.PageSetup.Orientation
 .TopMargin = originalSection.PageSetup.TopMargin
 .BottomMargin = originalSection.PageSetup.BottomMargin
 .LeftMargin = originalSection.PageSetup.LeftMargin
 .RightMargin = originalSection.PageSetup.RightMargin
 .PageWidth = originalSection.PageSetup.PageWidth
 .PageHeight = originalSection.PageSetup.PageHeight
 End With
 
 &amp;#39; 优化点4：生成文件名并保存，保存后立即关闭并释放对象
 newDoc.SaveAs2 fileName:=saveFolderPath &amp;amp; &amp;#34;文档_&amp;#34; &amp;amp; Format(i, &amp;#34;000&amp;#34;) &amp;amp; &amp;#34;.docx&amp;#34;
 newDoc.Close SaveChanges:=False
 Set newDoc = Nothing &amp;#39; 立即释放
 
ContinueNext:
 Set originalRangeToCopy = Nothing
 Next i
 
 &amp;#39; 3. 宏结束后，确保激活并显示原始文档
 originalDoc.Activate
 Application.ScreenUpdating = True
 Application.DisplayAlerts = True
 
 MsgBox &amp;#34;拆分完成！&amp;#34; &amp;amp; vbCrLf &amp;amp; _
 &amp;#34;共生成 &amp;#34; &amp;amp; originalDoc.Sections.Count &amp;amp; &amp;#34; 个文件。&amp;#34; &amp;amp; vbCrLf &amp;amp; _
 &amp;#34;文件已保存至：&amp;#34; &amp;amp; saveFolderPath, vbInformation
 
 &amp;#39; 释放对象
 Set fso = Nothing
 Exit Sub
 
ErrorHandler:
 &amp;#39; 出错时进行清理
 If Not newDoc Is Nothing Then
 newDoc.Close SaveChanges:=False
 Set newDoc = Nothing
 End If
 Application.ScreenUpdating = True
 Application.DisplayAlerts = True
 MsgBox &amp;#34;处理第 &amp;#34; &amp;amp; i &amp;amp; &amp;#34; 节时出错：&amp;#34; &amp;amp; Err.Description, vbCritical
 Set fso = Nothing
End Sub&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;div role="tabpanel" aria-labelledby="tab-id-5" class="tab-panel"&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;code&gt;Ctrl&lt;/code&gt; 多选 Word 文档，宏会按顺序插入当前文档末尾，并在每个文档后自动插入分页符。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;Attribute VB_Name = &amp;#34;模块1&amp;#34;
 Sub 多文档合并()
 Dim time_start As Single: time_start = Timer
 Dim word_result As Document
 Dim word_temp As Document
 Dim file_dialog As FileDialog
 Dim str As String
 Dim file
 Dim num As Long
 Set word_result = ActiveDocument
 Set file_dialog = Application.FileDialog(msoFileDialogFilePicker)
 With file_dialog
 .AllowMultiSelect = True
 .Title = &amp;#34;请选择【一个或多个】需要与当前文档合并的文件&amp;#34;
 With .Filters
 .Clear
 .Add &amp;#34;Word文件&amp;#34;, &amp;#34;*.doc*;*.dot*;*.wps&amp;#34;
 .Add &amp;#34;所有文件&amp;#34;, &amp;#34;*.*&amp;#34;
 End With
 If .Show Then
 Application.ScreenUpdating = False
 num = .SelectedItems.Count
 For Each file In .SelectedItems
 Set word_temp = Documents.Open(file)
 word_temp.Range.Copy
 word_result.Range(word_result.Range.End - 1, word_result.Range.End).Select
 DoEvents
 Selection.Paste
 Selection.InsertBreak
 word_temp.Close wdDoNotSaveChanges
 Next
 Application.ScreenUpdating = True
 End If
 End With
 Set word_result = Nothing
 Set word_temp = Nothing
 Set file_dialog = Nothing
 str = Format(Timer - time_start, &amp;#34;均已成功合并；共用时0秒！&amp;#34;)
 str = Format(num, &amp;#34;您选择合并0个文件，&amp;#34;) &amp;amp; str
 MsgBox str, vbInformation, &amp;#34;文件合并结果&amp;#34;
End Sub&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;div role="tabpanel" aria-labelledby="tab-id-6" class="tab-panel"&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;code&gt;分割结果_邮件合并&lt;/code&gt; 文件夹，并生成独立文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;Attribute VB_Name = &amp;#34;模块1&amp;#34;
Sub 邮件合并自动分割文档_通用版()
 On Error GoTo ErrorHandler
 
 Dim doc As Document
 Dim newDoc As Document
 Dim savePath As String
 Dim currentPath As String
 Dim i As Long
 Dim recordCount As Long
 Dim fieldName As String
 Dim fileName As String
 Dim successCount As Long
 Dim failCount As Long
 Dim failMsg As String
 
 &amp;#39; 1. 检查文档是否已保存
 If ActiveDocument.Path = &amp;#34;&amp;#34; Then
 MsgBox &amp;#34;请先保存当前文档！&amp;#34;, vbExclamation
 Exit Sub
 Else
 currentPath = ActiveDocument.Path &amp;amp; &amp;#34;\&amp;#34;
 End If
 
 Set doc = ActiveDocument
 
 &amp;#39; 2. 检查是否是邮件合并主文档
 If doc.MailMerge.MainDocumentType = wdNotAMergeDocument Then
 MsgBox &amp;#34;当前文档不是邮件合并主文档，请先设置数据源。&amp;#34;, vbExclamation
 Exit Sub
 End If
 
 &amp;#39; 3. 获取用作文件名的字段名
 fieldName = InputBox(&amp;#34;请输入数据源中用作文件名的字段名（例如：姓名、合同编号等）：&amp;#34;, _
 &amp;#34;字段名输入&amp;#34;, &amp;#34;项目名称&amp;#34;)
 If fieldName = &amp;#34;&amp;#34; Then
 MsgBox &amp;#34;未输入字段名，操作取消。&amp;#34;, vbInformation
 Exit Sub
 End If
 
 &amp;#39; 4. 获取总记录数
 On Error Resume Next
 recordCount = doc.MailMerge.DataSource.recordCount
 On Error GoTo ErrorHandler
 
 If recordCount &amp;lt;= 0 Then
 MsgBox &amp;#34;数据源中没有记录。&amp;#34;, vbExclamation
 Exit Sub
 End If
 
 &amp;#39; 确认继续
 If MsgBox(&amp;#34;找到 &amp;#34; &amp;amp; recordCount &amp;amp; &amp;#34; 条记录。是否按字段【&amp;#34; &amp;amp; fieldName &amp;amp; &amp;#34;】拆分为单独文档？&amp;#34;, _
 vbYesNo &amp;#43; vbQuestion, &amp;#34;确认拆分&amp;#34;) &amp;lt;&amp;gt; vbYes Then
 Exit Sub
 End If
 
 &amp;#39; 5. 创建保存文件夹
 savePath = currentPath &amp;amp; &amp;#34;分割结果_邮件合并\&amp;#34;
 If Dir(savePath, vbDirectory) = &amp;#34;&amp;#34; Then MkDir savePath
 
 &amp;#39; 6. 逐条处理
 Application.ScreenUpdating = False
 successCount = 0
 failCount = 0
 failMsg = &amp;#34;&amp;#34;
 
 For i = 1 To recordCount
 On Error Resume Next
 &amp;#39; 定位到当前记录
 doc.MailMerge.DataSource.ActiveRecord = i
 doc.MailMerge.DataSource.FirstRecord = i
 doc.MailMerge.DataSource.LastRecord = i
 
 &amp;#39; 执行合并到新文档
 doc.MailMerge.Destination = wdSendToNewDocument
 doc.MailMerge.Execute
 
 If Err.Number &amp;lt;&amp;gt; 0 Then
 failCount = failCount &amp;#43; 1
 failMsg = failMsg &amp;amp; &amp;#34;记录 &amp;#34; &amp;amp; i &amp;amp; &amp;#34;：&amp;#34; &amp;amp; Err.Description &amp;amp; vbCrLf
 Err.Clear
 On Error GoTo ErrorHandler
 GoTo NextRecord
 End If
 
 Set newDoc = ActiveDocument
 
 &amp;#39; 获取文件名（从数据字段）
 On Error Resume Next
 fileName = doc.MailMerge.DataSource.DataFields(fieldName).Value
 If Err.Number &amp;lt;&amp;gt; 0 Then
 fileName = &amp;#34;记录_&amp;#34; &amp;amp; Format(i, &amp;#34;000&amp;#34;)
 Err.Clear
 End If
 On Error GoTo ErrorHandler
 
 &amp;#39; 处理空值
 If fileName = &amp;#34;&amp;#34; Then fileName = &amp;#34;记录_&amp;#34; &amp;amp; Format(i, &amp;#34;000&amp;#34;)
 
 &amp;#39; 清理非法字符
 fileName = CleanFileName(fileName)
 
 &amp;#39; 保存并关闭
 newDoc.SaveAs2 savePath &amp;amp; fileName &amp;amp; &amp;#34;.docx&amp;#34;
 newDoc.Close SaveChanges:=False
 
 successCount = successCount &amp;#43; 1
 
NextRecord:
 Set newDoc = Nothing
 Next i
 
 Application.ScreenUpdating = True
 
 &amp;#39; 7. 完成提示
 Dim msg As String
 msg = &amp;#34;拆分完成！&amp;#34; &amp;amp; vbCrLf
 msg = msg &amp;amp; &amp;#34;成功生成：&amp;#34; &amp;amp; successCount &amp;amp; &amp;#34; 个文件&amp;#34; &amp;amp; vbCrLf
 If failCount &amp;gt; 0 Then
 msg = msg &amp;amp; &amp;#34;失败：&amp;#34; &amp;amp; failCount &amp;amp; &amp;#34; 条记录&amp;#34; &amp;amp; vbCrLf &amp;amp; vbCrLf
 msg = msg &amp;amp; &amp;#34;失败详情：&amp;#34; &amp;amp; vbCrLf &amp;amp; failMsg
 Else
 msg = msg &amp;amp; &amp;#34;所有记录处理成功！&amp;#34; &amp;amp; vbCrLf
 End If
 msg = msg &amp;amp; &amp;#34;文件保存在：&amp;#34; &amp;amp; savePath
 
 MsgBox msg, vbInformation, &amp;#34;邮件合并拆分结果&amp;#34;
 
 &amp;#39; 询问是否打开文件夹
 If MsgBox(&amp;#34;是否打开保存文件夹？&amp;#34;, vbYesNo, &amp;#34;打开文件夹&amp;#34;) = vbYes Then
 Shell &amp;#34;explorer.exe &amp;#34;&amp;#34;&amp;#34; &amp;amp; savePath &amp;amp; &amp;#34;&amp;#34;&amp;#34;&amp;#34;, vbNormalFocus
 End If
 
 Exit Sub
 
ErrorHandler:
 Application.ScreenUpdating = True
 MsgBox &amp;#34;发生错误：&amp;#34; &amp;amp; vbCrLf &amp;amp; _
 &amp;#34;错误号：&amp;#34; &amp;amp; Err.Number &amp;amp; vbCrLf &amp;amp; _
 &amp;#34;错误描述：&amp;#34; &amp;amp; Err.Description, vbCritical
End Sub

Function CleanFileName(str As String) As String
 Dim illegalChars As Variant
 Dim char As Variant
 illegalChars = Array(&amp;#34;/&amp;#34;, &amp;#34;\&amp;#34;, &amp;#34;:&amp;#34;, &amp;#34;*&amp;#34;, &amp;#34;?&amp;#34;, &amp;#34;&amp;#34;&amp;#34;&amp;#34;, &amp;#34;&amp;lt;&amp;#34;, &amp;#34;&amp;gt;&amp;#34;, &amp;#34;|&amp;#34;, Chr(13), Chr(10))
 For Each char In illegalChars
 str = Replace(str, char, &amp;#34;-&amp;#34;)
 Next
 &amp;#39; 去除首尾空格和点号
 str = Trim(str)
 If Left(str, 1) = &amp;#34;.&amp;#34; Then str = &amp;#34;文件&amp;#34; &amp;amp; str
 If str = &amp;#34;&amp;#34; Then str = &amp;#34;未命名&amp;#34;
 CleanFileName = str
End Function&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/tab-container&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://support.microsoft.com/zh-cn/office/%E5%88%9B%E5%BB%BA%E6%88%96%E8%BF%90%E8%A1%8C%E5%AE%8F-c6b99036-905c-49a6-818a-dfb98b7c3c9c" target="_blank" rel="external nofollow noopener noreferrer"&gt;创建或运行宏 - Microsoft&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Hugo 永久链接自定义配置</title><link>https://arianote.top/hugo-permalinks/</link><pubDate>Fri, 03 Apr 2026 10:45:49 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/hugo-permalinks/</guid><category domain="https://arianote.top/categories/tech/">Tech</category><description>&lt;img src="https://arianote.top/images/20260508_TAE4zA.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;Hugo 永久链接默认使用 Markdown 文件名作为 &lt;code&gt;slug&lt;/code&gt;，文件名不易辨认（如 &lt;code&gt;example.md&lt;/code&gt;），如果使用中（如 &lt;code&gt;示例.md&lt;/code&gt;），&lt;code&gt;slug&lt;/code&gt; 可能变成编码字符串，仍然不直观。通过配置 &lt;code&gt;:slugorcontentbasename&lt;/code&gt;，可优先使用 Front Matter 中的 &lt;code&gt;slug&lt;/code&gt; 字段，保持易读的文件名和简洁的 URL。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;下面介绍配置修改方法，以及一个无需依赖的 Python 脚本，批量为现有文章添加 &lt;code&gt;slug&lt;/code&gt; 并重命名。&lt;/p&gt;
&lt;h2 class="heading-element" id="准备工具"&gt;&lt;span&gt;准备工具&lt;/span&gt;
 &lt;a href="#%e5%87%86%e5%a4%87%e5%b7%a5%e5%85%b7" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;在开始之前，准备以下工具：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.python.org/downloads/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Python&lt;/a&gt;（必需）：用于运行批量处理脚本，安装时勾选 &lt;strong&gt;Add Python to PATH&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/downloads" target="_blank" rel="external nofollow noopener noreferrer"&gt;Git&lt;/a&gt;（必需）：用于拉取代码和版本管理。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/Download" target="_blank" rel="external nofollow noopener noreferrer"&gt;VS Code&lt;/a&gt;（可选）：用于查看和编辑脚本、配置文件和 Markdown 文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="heading-element" id="配置永久链接"&gt;&lt;span&gt;配置永久链接&lt;/span&gt;
 &lt;a href="#%e9%85%8d%e7%bd%ae%e6%b0%b8%e4%b9%85%e9%93%be%e6%8e%a5" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;修改主题配置文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Permalinks]
posts = &amp;#34;:slugorcontentbasename&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:slugorcontentbasename&lt;/code&gt; 需要 Hugo 版本 ≥ v0.144.0。&lt;/li&gt;
&lt;li&gt;如果 Front Matter 没有 &lt;code&gt;slug&lt;/code&gt; 字段，Hugo 默认会使用文件路径生成 URL。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;保存配置后，无需其他更改，新的文章可通过 &lt;code&gt;slug&lt;/code&gt; 自定义 URL，旧文章保持不变。&lt;/p&gt;
&lt;h2 class="heading-element" id="创建处理脚本"&gt;&lt;span&gt;创建处理脚本&lt;/span&gt;
 &lt;a href="#%e5%88%9b%e5%bb%ba%e5%a4%84%e7%90%86%e8%84%9a%e6%9c%ac" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;⚠️ 注意：脚本默认 Front Matter 使用 &lt;code&gt;---&lt;/code&gt; 包裹，且格式规范。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;创建以下文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/usr/bin/env python3
&amp;#34;&amp;#34;&amp;#34;
批量处理 Markdown 文件：
1. 为没有 slug 字段的文件添加 slug: &amp;#34;原文件名&amp;#34;（插入在 title 行之后，保持原格式）
2. 将文件重命名为 Front Matter 中的 title（自动处理非法字符）
用法：
 python scripts/slug-rename.py # 处理当前目录
 python scripts/slug-rename.py dir1 dir2 ... # 处理多个指定目录
&amp;#34;&amp;#34;&amp;#34;
import re
import sys
from pathlib import Path

def sanitize_filename(name):
 &amp;#34;&amp;#34;&amp;#34;移除 Windows/Linux 文件名中的非法字符&amp;#34;&amp;#34;&amp;#34;
 return re.sub(r&amp;#39;[\\/*?:&amp;#34;&amp;lt;&amp;gt;|]&amp;#39;, &amp;#39;_&amp;#39;, name)

def add_slug_to_frontmatter(content, slug_value):
 &amp;#34;&amp;#34;&amp;#34;
 在 Front Matter 的 title 行之后插入 slug: &amp;#34;value&amp;#34;
 保持原有格式（缩进、引号、数组写法等）
 &amp;#34;&amp;#34;&amp;#34;
 pattern = r&amp;#39;(---\n)(.*?\n)(---\n)&amp;#39;
 match = re.match(pattern, content, re.DOTALL)
 if not match:
 return content
 
 frontmatter = match.group(2)
 rest = match.group(3) &amp;#43; content[match.end():]
 
 title_line_match = re.search(r&amp;#39;^(title\s*:\s*.&amp;#43;)$&amp;#39;, frontmatter, re.MULTILINE)
 if not title_line_match:
 return content
 
 title_line = title_line_match.group(0)
 indent = re.match(r&amp;#39;^(\s*)&amp;#39;, title_line).group(1)
 slug_line = f&amp;#39;{indent}slug: &amp;#34;{slug_value}&amp;#34;&amp;#39;
 
 new_frontmatter = frontmatter.replace(title_line, title_line &amp;#43; &amp;#39;\n&amp;#39; &amp;#43; slug_line, 1)
 return f&amp;#39;---\n{new_frontmatter}{rest}&amp;#39;

def process_md_file(filepath):
 print(f&amp;#34;正在处理: {filepath}&amp;#34;)
 with open(filepath, &amp;#39;r&amp;#39;, encoding=&amp;#39;utf-8&amp;#39;) as f:
 content = f.read()
 
 if not content.startswith(&amp;#39;---&amp;#39;):
 print(f&amp;#34; 跳过（无 Front Matter）&amp;#34;)
 return
 
 fm_match = re.match(r&amp;#39;---\n(.*?)\n---&amp;#39;, content, re.DOTALL)
 if not fm_match:
 print(f&amp;#34; 跳过（Front Matter 格式异常）&amp;#34;)
 return
 
 frontmatter = fm_match.group(1)
 if re.search(r&amp;#39;^slug\s*:&amp;#39;, frontmatter, re.MULTILINE):
 print(f&amp;#34; 跳过（slug 已存在）&amp;#34;)
 return
 
 title_match = re.search(r&amp;#39;^title\s*:\s*(.&amp;#43;)$&amp;#39;, frontmatter, re.MULTILINE)
 if not title_match:
 print(f&amp;#34; 跳过（无 title 字段）&amp;#34;)
 return
 
 title = title_match.group(1).strip()
 if (title.startswith(&amp;#39;&amp;#34;&amp;#39;) and title.endswith(&amp;#39;&amp;#34;&amp;#39;)) or (title.startswith(&amp;#34;&amp;#39;&amp;#34;) and title.endswith(&amp;#34;&amp;#39;&amp;#34;)):
 title = title[1:-1]
 
 slug_from_filename = filepath.stem
 
 new_content = add_slug_to_frontmatter(content, slug_from_filename)
 
 with open(filepath, &amp;#39;w&amp;#39;, encoding=&amp;#39;utf-8&amp;#39;) as f:
 f.write(new_content)
 
 new_filename = sanitize_filename(title) &amp;#43; filepath.suffix
 new_filepath = filepath.parent / new_filename
 if filepath.name != new_filename:
 if new_filepath.exists():
 print(f&amp;#34; 警告：目标文件已存在，跳过重命名 {filepath.name} -&amp;gt; {new_filename}&amp;#34;)
 else:
 filepath.rename(new_filepath)
 print(f&amp;#34; ✅ 处理完成：重命名为 {new_filename}&amp;#34;)
 else:
 print(f&amp;#34; ✅ 处理完成：slug 已添加，文件名不变&amp;#34;)

def main():
 # 支持多个目录参数
 if len(sys.argv) &amp;gt; 1:
 target_dirs = [Path(p) for p in sys.argv[1:]]
 else:
 target_dirs = [Path.cwd()]
 
 all_files = []
 for target_dir in target_dirs:
 if not target_dir.is_dir():
 print(f&amp;#34;警告：&amp;#39;{target_dir}&amp;#39; 不是有效目录，跳过&amp;#34;)
 continue
 # 使用 set 避免重复（虽然不同目录不太可能重复，但安全起见）
 for md_file in target_dir.rglob(&amp;#39;*.md&amp;#39;):
 if md_file not in all_files:
 all_files.append(md_file)
 
 print(f&amp;#34;找到 {len(all_files)} 个 Markdown 文件&amp;#34;)
 for md_file in all_files:
 process_md_file(md_file)
 print(&amp;#34;全部处理完成&amp;#34;)

if __name__ == &amp;#39;__main__&amp;#39;:
 main()&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;脚本运行逻辑说明&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;遍历目录：接收参数（默认为当前目录），递归查找所有 &lt;code&gt;.md&lt;/code&gt; 文件。&lt;/li&gt;
&lt;li&gt;检查 Front Matter：如果无 Front Matter 或已有 &lt;code&gt;slug&lt;/code&gt; 字段则跳过。&lt;/li&gt;
&lt;li&gt;提取 &lt;code&gt;title&lt;/code&gt;：从 Front Matter 中获取 &lt;code&gt;title&lt;/code&gt; 值（去除引号）。&lt;/li&gt;
&lt;li&gt;插入 &lt;code&gt;slug&lt;/code&gt;：在 &lt;code&gt;title&lt;/code&gt; 行后插入 &lt;code&gt;slug: &amp;quot;原文件名&amp;quot;&lt;/code&gt;（保持缩进格式）。&lt;/li&gt;
&lt;li&gt;重命名文件：将文件重命名为 &lt;code&gt;title&lt;/code&gt; 内容（非法字符替换为 &lt;code&gt;_&lt;/code&gt;），如果目标已存在则跳过。&lt;/li&gt;
&lt;li&gt;输出处理结果：显示每个文件的处理状态。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="heading-element" id="执行处理脚本"&gt;&lt;span&gt;执行处理脚本&lt;/span&gt;
 &lt;a href="#%e6%89%a7%e8%a1%8c%e5%a4%84%e7%90%86%e8%84%9a%e6%9c%ac" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;⚠️ 注意：使用前先备份，或先测试后批量处理，操作不可逆。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;运行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;python scripts/slug-rename.py content/posts&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;脚本会递归处理该目录下的所有 &lt;code&gt;.md&lt;/code&gt; 文件，完成后运行 &lt;code&gt;hugo server&lt;/code&gt; 启动本地预览，确认文章 URL 保持原来的短标识（如 &lt;code&gt;/posts/hugo-build/&lt;/code&gt;），同时检查文件名已更新为可读标题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;故障回退（如发现问题）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果没有提交更改，可以使用 Git 恢复：&lt;code&gt;git checkout -- content/posts/&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;如果已经提交但未推送，可以回退到上一个提交：&lt;code&gt;git reset --hard HEAD~1&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="heading-element" id="后续新建文章"&gt;&lt;span&gt;后续新建文章&lt;/span&gt;
 &lt;a href="#%e5%90%8e%e7%bb%ad%e6%96%b0%e5%bb%ba%e6%96%87%e7%ab%a0" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;创建文章时，可自由指定文件名，并在 Front Matter 中添加 &lt;code&gt;slug&lt;/code&gt; 控制 URL。例如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hugo new posts/tech/这是标题.md&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;打开 Markdown 文件，在 Front Matter 中添加 &lt;code&gt;slug&lt;/code&gt; 参数即可：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
slug: &amp;#34;my-custom-url&amp;#34;
---&lt;/code&gt;&lt;/pre&gt;&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://gohugo.io/content-management/urls/#permalinks" target="_blank" rel="external nofollow noopener noreferrer"&gt;URL management - Hugo&lt;/a&gt;&lt;br/&gt;&lt;a href="https://gohugo.io/content-management/front-matter/#slug" target="_blank" rel="external nofollow noopener noreferrer"&gt;Front matter - Hugo&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Firefox 配置：首选项、扩展与脚本</title><link>https://arianote.top/firefox-profile/</link><pubDate>Thu, 02 Apr 2026 17:41:53 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/firefox-profile/</guid><category domain="https://arianote.top/categories/tech/">Tech</category><description>&lt;img src="https://arianote.top/images/20260508_8pVQUx.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;Firefox 默认设置虽具备基本功能，但贴合个人习惯往往需要自定义调整，包括首选项配置、扩展安装和油猴脚本管理，三者配合增强日常浏览体验，快速建立个性化、稳定的浏览环境。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;下面分享我的 Firefox 高级首选项、网页扩展和油猴脚本方案。&lt;/p&gt;
&lt;h2 class="heading-element" id="高级首选项"&gt;&lt;span&gt;高级首选项&lt;/span&gt;
 &lt;a href="#%e9%ab%98%e7%ba%a7%e9%a6%96%e9%80%89%e9%a1%b9" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;about:config&lt;/code&gt; 用于调整 Firefox 的隐藏设置。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、双击关闭标签页
browser.tabs.closeTabByDblclick，设置为 true

2、紧邻当前标签页打开相关网页
browser.tabs.insertRelatedAfterCurrent，设置为 true

3、链接在后台打开
browser.tabs.loadInBackground，设置为 true

4、后台打开链接
browser.tabs.loadInBackground，设置为 true
browser.tabs.loadDivertedInBackground，设置为 false
browser.search.context.loadInBackground，设置为 true

5、新标签页打开书签
browser.tabs.loadBookmarksInTabs，设置为 true

6、后台打开书签
browser.tabs.loadBookmarksInBackground，设置为 true&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="网页扩展"&gt;&lt;span&gt;网页扩展&lt;/span&gt;
 &lt;a href="#%e7%bd%91%e9%a1%b5%e6%89%a9%e5%b1%95" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;扩展是提升浏览器效率和功能的重要工具。&lt;/p&gt;
&lt;table caption="网页扩展"&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;扩展名称&lt;/th&gt;
 &lt;th&gt;功能描述&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://bitwarden.com/download/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Bitwarden&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;密码管理，自动填充账号密码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/contextsearch-web-ext/" target="_blank" rel="external nofollow noopener noreferrer"&gt;ContextSearch web-ext&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;右键菜单管理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/cookie-autodelete/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Cookie AutoDelete&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;关闭网页后自动清除 Cookie&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/distill-web-monitor-ff/?utm_source=addons.mozilla.org&amp;amp;utm_medium=referral&amp;amp;utm_content=search" target="_blank" rel="external nofollow noopener noreferrer"&gt;Distill Web Monitor&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;监控网页或源以获取变更&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/feedbroreader/?utm_source=addons.mozilla.org&amp;amp;utm_medium=referral&amp;amp;utm_content=search" target="_blank" rel="external nofollow noopener noreferrer"&gt;Feedbro&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;聚合 RSS 阅读器&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://floccus.org/download/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Floccus&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;跨设备同步浏览器书签&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/glitterdrag/?utm_source=addons.mozilla.org&amp;amp;utm_medium=referral&amp;amp;utm_content=search" target="_blank" rel="external nofollow noopener noreferrer"&gt;Glitter Drag&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;拖曳方式打开链接或搜索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/global-speed/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Global Speed&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;调整网页视频播放速度&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://he.firefoxcn.net/guide/index.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;Header Editor&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;自定义规则进行网址重定向&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://www.internetdownloadmanager.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;IDM Integration Module&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;调用 IDM 下载文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/markdownload/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Markdownload&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;将网页保存为 Markdown&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://www.getsinglefile.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;SingleFile&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;保存完整网页为单个文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/smart_toc/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Smart TOC&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;自动生成文章目录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/snaplinksplus/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Snap Links Plus&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;批量打开多个链接&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://www.tampermonkey.net/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Tampermonkey&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;运行用户脚本增强网页功能&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://www.crxsoso.com/firefox/detail/ublock-origin" target="_blank" rel="external nofollow noopener noreferrer"&gt;uBlcok Origin&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;广告拦截与网页净化&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/undoclosetabbutton/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Undo Close Tab&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;快速恢复关闭的标签页&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://immersivetranslate.com/download/" target="_blank" rel="external nofollow noopener noreferrer"&gt;沉浸式翻译&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;双语对照翻译网页内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://www.crxsoso.com/firefox/detail/cat-catch" target="_blank" rel="external nofollow noopener noreferrer"&gt;猫抓&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;抓取网页中的视频或图片资源&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 class="heading-element" id="油猴脚本"&gt;&lt;span&gt;油猴脚本&lt;/span&gt;
 &lt;a href="#%e6%b2%b9%e7%8c%b4%e8%84%9a%e6%9c%ac" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;油猴脚本可进一步定制网页功能，增强浏览器的使用体验。&lt;/p&gt;
&lt;table caption="油猴脚本"&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;脚本名称&lt;/th&gt;
 &lt;th&gt;功能描述&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/416338-redirect-%E5%A4%96%E9%93%BE%E8%B7%B3%E8%BD%AC" target="_blank" rel="external nofollow noopener noreferrer"&gt;redirect 外链跳转&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;自动跳过外链中间页或重定向，直接打开目标链接&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/438684-pagetual" target="_blank" rel="external nofollow noopener noreferrer"&gt;东方永页机&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;自动翻页或滚动网页，连续加载更多内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/519872-%E8%A7%86%E9%A2%91%E8%87%AA%E5%8A%A8%E7%BD%91%E9%A1%B5%E5%85%A8%E5%B1%8F-%E5%80%8D%E9%80%9F%E6%92%AD%E6%94%BE" target="_blank" rel="external nofollow noopener noreferrer"&gt;视频自动网页全屏&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;PC 端视频播放时自动全屏，可配合倍速播放&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gf.qytechs.cn/zh-CN/scripts/375806-%E6%89%8B%E6%9C%BA%E6%B5%8F%E8%A7%88%E5%99%A8%E8%A7%A6%E6%91%B8%E6%89%8B%E5%8A%BF" target="_blank" rel="external nofollow noopener noreferrer"&gt;手机浏览器触摸手势&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;在移动端触屏设备上支持自定义手势操作&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/440871-%E9%AA%9A%E6%89%B0%E6%8B%A6%E6%88%AA" target="_blank" rel="external nofollow noopener noreferrer"&gt;骚扰拦截&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;自动屏蔽网页弹窗和广告浮层&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/419894-image-downloader" target="_blank" rel="external nofollow noopener noreferrer"&gt;图片下载器&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;批量下载网页图片&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/440400-%E8%87%AA%E5%8A%A8%E5%B1%95%E5%BC%80%E5%85%A8%E6%96%87%E9%98%85%E8%AF%BB%E6%9B%B4%E5%A4%9A" target="_blank" rel="external nofollow noopener noreferrer"&gt;自动展开全文阅读更多&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;自动展开文章或评论的隐藏内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/405130-%E6%96%87%E6%9C%AC%E9%80%89%E4%B8%AD%E5%A4%8D%E5%88%B6" target="_blank" rel="external nofollow noopener noreferrer"&gt;文本选中复制&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;解除网页对文本选中和复制的限制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/428960-csdn-%E7%9F%A5%E4%B9%8E-%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9-%E7%AE%80%E4%B9%A6%E5%85%8D%E7%99%BB%E5%BD%95%E5%8E%BB%E9%99%A4%E5%BC%B9%E7%AA%97%E5%B9%BF%E5%91%8A" target="_blank" rel="external nofollow noopener noreferrer"&gt;CSDN / 知乎等去除弹窗广告&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;移除登录弹窗和广告，直接阅读内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/12909-google-baidu-switcher-all-in-one" target="_blank" rel="external nofollow noopener noreferrer"&gt;优雅地搜索引擎助手&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;百度和必应搜索引擎切换，优化搜索体验&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/413228-bilibili%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD" target="_blank" rel="external nofollow noopener noreferrer"&gt;Bilibili 视频下载&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;页面直接提供 Bilibili 视频下载按钮&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/420999-%E8%B1%86%E7%93%A3%E8%AF%BB%E4%B9%A6-%E7%94%B5%E5%BD%B1-%E9%9F%B3%E4%B9%90-%E6%B8%B8%E6%88%8F-%E8%88%9E%E5%8F%B0%E5%89%A7%E5%AF%BC%E5%87%BA%E5%B7%A5%E5%85%B7" target="_blank" rel="external nofollow noopener noreferrer"&gt;豆瓣 CSV 文件导出&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;将豆瓣列表导出为 CSV 文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://greasyfork.org/zh-CN/scripts/483847-xhs-downloader" target="_blank" rel="external nofollow noopener noreferrer"&gt;XHS-Downloader&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;批量下载小红书帖子中的图片和视频&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://www.runningcheese.com/firefox-usage" target="_blank" rel="external nofollow noopener noreferrer"&gt;RunningCheese Firefox 使用手册 - 奔跑中的奶酪&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Python 虚拟环境管理指南</title><link>https://arianote.top/python-venv/</link><pubDate>Thu, 02 Apr 2026 16:05:36 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/python-venv/</guid><category domain="https://arianote.top/categories/tech/">Tech</category><description>&lt;img src="https://arianote.top/images/20260507_vTYzra.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;在 Python 开发中，不同项目常需要不同版本的库，全局环境易引发冲突，而虚拟环境可为每个项目提供独立的运行空间，避免依赖冲突，并通过 &lt;code&gt;requirements.txt&lt;/code&gt; 锁定版本。以 &lt;code&gt;requests&lt;/code&gt; 为例，项目 A 需要 &lt;code&gt;2.28.0&lt;/code&gt;，项目 B 需要 &lt;code&gt;2.31.0&lt;/code&gt;，通过虚拟环境可分别为两个项目安装所需版本，互不干扰。&lt;/p&gt;
&lt;p&gt;下面将基于 Windows 系统，介绍如何使用 Python 内置的 &lt;code&gt;venv&lt;/code&gt; 模块创建和管理虚拟环境。&lt;/p&gt;
&lt;h2 class="heading-element" id="创建虚拟环境"&gt;&lt;span&gt;创建虚拟环境&lt;/span&gt;
 &lt;a href="#%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e7%8e%af%e5%a2%83" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;运行以下命令，创建虚拟环境：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;python -m venv .venv&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;执行后，将生成 &lt;code&gt;.venv&lt;/code&gt; 目录，其中包含独立的 Python 解释器和 &lt;code&gt;pip&lt;/code&gt;。&lt;/p&gt;
&lt;h2 class="heading-element" id="激活虚拟环境"&gt;&lt;span&gt;激活虚拟环境&lt;/span&gt;
 &lt;a href="#%e6%bf%80%e6%b4%bb%e8%99%9a%e6%8b%9f%e7%8e%af%e5%a2%83" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;运行以下命令，激活虚拟环境：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;source .venv/Scripts/activate&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;激活后，命令行会显示 &lt;code&gt;(.venv)&lt;/code&gt;，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(.venv) PS D:\myproject&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="管理项目依赖"&gt;&lt;span&gt;管理项目依赖&lt;/span&gt;
 &lt;a href="#%e7%ae%a1%e7%90%86%e9%a1%b9%e7%9b%ae%e4%be%9d%e8%b5%96" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;运行以下命令，安装项目依赖：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 安装单个包
pip install requests

# 一次安装多个包
pip install requests beautifulsoup4 chardet

# 安装特定版本的包
pip install requests==2.28.0

# 安装 requirements.txt 中列出的所有包
pip install -r requirements.txt

# 升级单个包到最新版本
pip install --upgrade requests

# 卸载单个包
pip uninstall requests

# 查看已安装的包
pip list&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;运行以下命令，记录项目依赖：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 将当前环境中已安装的包及版本写入 requirements.txt
pip freeze &amp;gt; requirements.txt&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="运行-python-脚本"&gt;&lt;span&gt;运行 Python 脚本&lt;/span&gt;
 &lt;a href="#%e8%bf%90%e8%a1%8c-python-%e8%84%9a%e6%9c%ac" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;运行以下命令，执行 Python 脚本：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 在当前目录运行脚本
python your_script.py

# 脚本在子目录，并传入参数（如文件路径）
python scripts/your_script.py &amp;#34;./scripts/your_file.md&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="退出虚拟环境"&gt;&lt;span&gt;退出虚拟环境&lt;/span&gt;
 &lt;a href="#%e9%80%80%e5%87%ba%e8%99%9a%e6%8b%9f%e7%8e%af%e5%a2%83" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;运行以下命令，退出虚拟环境：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;deactivate&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="删除与重建虚拟环境"&gt;&lt;span&gt;删除与重建虚拟环境&lt;/span&gt;
 &lt;a href="#%e5%88%a0%e9%99%a4%e4%b8%8e%e9%87%8d%e5%bb%ba%e8%99%9a%e6%8b%9f%e7%8e%af%e5%a2%83" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;运行以下命令，删除虚拟环境目录：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rm -rf .venv&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;之后可重新创建虚拟环境（运行 &lt;code&gt;python -m venv .venv&lt;/code&gt;）。&lt;/p&gt;</description></item><item><title>浏览器书签管理：从收藏到取用</title><link>https://arianote.top/bookmark-management/</link><pubDate>Thu, 02 Apr 2026 10:47:04 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/bookmark-management/</guid><category domain="https://arianote.top/categories/work/">Work</category><description>&lt;img src="https://arianote.top/images/20260507_u5rhHw.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;在《&lt;a href="https://arianote.top/file-management" target="_blank" rel="external nofollow noopener noreferrer"&gt;基于金字塔原理的文件管理&lt;/a&gt;》中我分享过高效整理文件的方法。同理，书签也可通过清晰的管理方法，在不同设备间保持一致结构，减少重复搜索，长期积累仍能保持整洁。&lt;/p&gt;
&lt;p&gt;下面从书签工作流出发，分享收藏、命名、同步、搜索四个环节的具体做法。&lt;/p&gt;
&lt;h2 class="heading-element" id="书签收藏"&gt;&lt;span&gt;书签收藏&lt;/span&gt;
 &lt;a href="#%e4%b9%a6%e7%ad%be%e6%94%b6%e8%97%8f" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;与文件管理相似，浏览器书签的顶层架构可分为四个大类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Inbox&lt;/strong&gt;：临时书签，未确定是否长期保留。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work&lt;/strong&gt;：工作相关的资源和工具。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Life&lt;/strong&gt;：日常生活的实用网站。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tech&lt;/strong&gt;：技术与开发相关（工作与生活交集）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每个顶层分类下设二级分类，但层级控制在三层以内即可。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260402_nU7kTq.webp" title="浏览器书签" data-thumbnail="/images/20260402_nU7kTq.webp" data-sub-html="&lt;h2&gt;浏览器书签&lt;/h2&gt;&lt;p&gt;浏览器书签&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260402_nU7kTq.webp' alt="浏览器书签" height="1029" width="1743"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;浏览器书签&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;打开网页时，如果是工作、生活或技术相关的常用资源，直接归档到对应分类（Work / Life / Tech）长期收藏；如果页面暂不确定或需要临时同步到手机查看，则放入 Inbox（临时存储），使用完后可清理或归档。Inbox 类似于 Pocket，便于随时存取。&lt;/p&gt;
&lt;h2 class="heading-element" id="书签命名"&gt;&lt;span&gt;书签命名&lt;/span&gt;
 &lt;a href="#%e4%b9%a6%e7%ad%be%e5%91%bd%e5%90%8d" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;书签命名的核心原则是：&lt;strong&gt;在不打开网页的前提下，一眼判断其用途&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;推荐采用 &lt;strong&gt;功能 | 网站名称&lt;/strong&gt; 的格式，并辅以 Emoji（&lt;code&gt;Win+.&lt;/code&gt;）增强视觉区分（如 💰 代表付费网站），如 &lt;code&gt;PDF 工具 | PDF24&lt;/code&gt;、&lt;code&gt;高清图库 | 花瓣网💰&lt;/code&gt;、&lt;code&gt;扩展下载 | Crx 搜搜👍&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;按名称排序时，同类功能会自然排列在一起，而 Emoji 作为视觉锚点，扫视时可快速定位，但要注意每个分类或关键属性用 1-2 个 Emoji 即可，避免杂乱。&lt;/p&gt;
&lt;p&gt;此外，在 Firefox 等浏览器中，还可使用分隔条对书签进行视觉分组。&lt;/p&gt;
&lt;h2 class="heading-element" id="书签同步"&gt;&lt;span&gt;书签同步&lt;/span&gt;
 &lt;a href="#%e4%b9%a6%e7%ad%be%e5%90%8c%e6%ad%a5" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;多设备间同步书签，推荐使用 &lt;a href="https://floccus.org/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Floccus&lt;/a&gt; + WebDAV（如 &lt;a href="https://www.jianguoyun.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;坚果云&lt;/a&gt;）。Floccus 能够将书签同步到云存储，通过 WebDAV 安全存储，实现跨设备一致访问。&lt;/p&gt;
&lt;h2 class="heading-element" id="书签搜索"&gt;&lt;span&gt;书签搜索&lt;/span&gt;
 &lt;a href="#%e4%b9%a6%e7%ad%be%e6%90%9c%e7%b4%a2" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;大多数浏览器的地址栏支持书签搜索，结合命名规范，输入关键词即可快速定位。&lt;/p&gt;
&lt;p&gt;如果使用 Firefox 并希望更精细地控制书签搜索，可通过扩展或设置优化，详见《&lt;a href="https://arianote.top/firefox-search" target="_blank" rel="external nofollow noopener noreferrer"&gt;Firefox 搜索：地址栏与右键菜单&lt;/a&gt;》，进一步提升管理效率。&lt;/p&gt;</description></item><item><title>基于金字塔原理的文件管理</title><link>https://arianote.top/file-management/</link><pubDate>Thu, 02 Apr 2026 09:47:04 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/file-management/</guid><category domain="https://arianote.top/categories/work/">Work</category><description>&lt;img src="https://arianote.top/images/20260507_tCxacu.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;文件数量激增常导致信息混乱与查找困难；芭芭拉·明托提出的金字塔原理（结论先行、以上统下、归类分组、逻辑递进）能将零散内容组织为清晰结构。&lt;/p&gt;
&lt;p&gt;下面将金字塔原理引入文件管理，以结构化视角重新审视信息的组织与流转，并展开具体实践方法。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 class="heading-element" id="结论先行"&gt;&lt;span&gt;结论先行&lt;/span&gt;
 &lt;a href="#%e7%bb%93%e8%ae%ba%e5%85%88%e8%a1%8c" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;金字塔原理的第一原则是 &lt;strong&gt;结论先行&lt;/strong&gt;。在文件管理中，这意味着首先要明确管理的最终目标：不是简单存储文件，而是能够 &lt;strong&gt;快速定位和立即使用&lt;/strong&gt;。具体来说，目标是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;快速找到需要的文件，避免重复搜索和反复整理。&lt;/li&gt;
&lt;li&gt;用完后顺畅归档，确保系统长期运转不失控。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;换句话说，文件管理的核心目标是通过清晰的结构和流程，实现 &lt;strong&gt;用完即取，用后即归&lt;/strong&gt;。这一目标将直接指导后续分类结构、命名规范及流转规则。&lt;/p&gt;
&lt;h2 class="heading-element" id="以上统下"&gt;&lt;span&gt;以上统下&lt;/span&gt;
 &lt;a href="#%e4%bb%a5%e4%b8%8a%e7%bb%9f%e4%b8%8b" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;明确目标后，接下来是构建一个稳固的顶层架构。金字塔原理中的 &lt;strong&gt;以上统下&lt;/strong&gt; 要求顶层分类清晰统领下层内容。借助 &lt;strong&gt;MECE 原则&lt;/strong&gt;（不重叠、不遗漏）&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;，将文件划分为四类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Inbox&lt;/strong&gt;：收集未完成判断的内容。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work&lt;/strong&gt;：工作相关文件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Life&lt;/strong&gt;：生活相关文件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tech&lt;/strong&gt;：软件、脚本、配置等技术资料。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其中，Inbox 是 &lt;strong&gt;收集区&lt;/strong&gt;（未决策状态），Work、Life、Tech 是 &lt;strong&gt;归档区&lt;/strong&gt;（已决策状态），构成稳定的归档结构，确保信息在流转中始终有明确位置。&lt;/p&gt;
&lt;h2 class="heading-element" id="归类分组"&gt;&lt;span&gt;归类分组&lt;/span&gt;
 &lt;a href="#%e5%bd%92%e7%b1%bb%e5%88%86%e7%bb%84" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;在顶层分类明确后，接下来的任务是进一步细化分组结构。借助 &lt;strong&gt;杜威十进制图书分类法&lt;/strong&gt; 的数字编号 &lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;，可实现自动排序且层级不超过三层：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;├─000 - Inbox-----------
├─010 - 临时文件
├─020 - 待处理项
├─100 - Work------------
├─110 - 求职面试
├─120 - 通用办公
├─130 - 工作项目
├─200 - Life------------
├─210 - 个人图库
├─220 - 本地音乐
├─230 - 图书阅读
├─300 - Tech------------
├─310 - 装机软件
├─320 - 编程开发
└─330 - 字体字库&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;其中，&lt;strong&gt;占位目录&lt;/strong&gt;（如 000、100、200、300）用于视觉分区，实际文件放在 &lt;strong&gt;编号子目录&lt;/strong&gt;（如 010、110、210、310）中，保持路径简洁。&lt;/p&gt;
&lt;p&gt;文件命名的核心原则是：&lt;strong&gt;在不打开文件的前提下，尽量降低判断成本&lt;/strong&gt;。例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;音乐文件：&lt;code&gt;Apologize - OneRepublic.mp3&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;照片：&lt;code&gt;20231027 - 西湖秋游.jpg&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;项目文件：&lt;code&gt;项目A-会议纪要-1.0.docx&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;软件包：&lt;code&gt;Everything-1.4.1.1024-Setup.exe&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如需批量调整文件名，可使用 &lt;a href="https://www.den4b.com/products/renamer" target="_blank" rel="external nofollow noopener noreferrer"&gt;Renamer&lt;/a&gt; 或 &lt;a href="http://www.ffhome.com/works/1406.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;菲菲更名宝贝&lt;/a&gt; 等工具。其中，Renamer 点击 &lt;strong&gt;设置 &amp;gt; 筛选器&lt;/strong&gt;，勾选 &lt;strong&gt;仅包含文件夹名&lt;/strong&gt;，可批量修改文件夹名称。&lt;/p&gt;
&lt;h2 class="heading-element" id="逻辑递进"&gt;&lt;span&gt;逻辑递进&lt;/span&gt;
 &lt;a href="#%e9%80%bb%e8%be%91%e9%80%92%e8%bf%9b" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;金字塔原理中的 &lt;strong&gt;逻辑递进&lt;/strong&gt; 强调信息的有序流转。借助 &lt;strong&gt;GTD 工作流&lt;/strong&gt; &lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;，文件系统可分为三个角色：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;收集区&lt;/strong&gt;（Inbox）：未处理、未明确归属的信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;桌面&lt;/strong&gt;：当前正在处理的内容。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;归档区&lt;/strong&gt;（Work / Life / Tech）：已完成、已归属的文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260215_2ZQ3xn.webp" title="操作流程" data-thumbnail="/images/20260215_2ZQ3xn.webp" data-sub-html="&lt;h2&gt;操作流程&lt;/h2&gt;&lt;p&gt;操作流程&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260215_2ZQ3xn.webp' alt="操作流程" height="804" width="1701"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;操作流程&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;桌面是 &lt;strong&gt;临时工作区&lt;/strong&gt;，而非最终存储。文件处理完成后从桌面移入归档区（Work / Life / Tech）；零散或未立项的内容返回 Inbox，避免桌面堆积。&lt;/p&gt;
&lt;p&gt;在本文的硬盘功能区划分中，系统盘与软件盘各司其职，所有文档集中于文档盘（E 盘）。Inbox 与归档区共同构成文档盘内部结构，桌面仅表示 &lt;strong&gt;进行中状态&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://arianote.top/images/20260510_3imn2p.webp" title="快捷方式" data-thumbnail="/images/20260510_3imn2p.webp" data-sub-html="&lt;h2&gt;快捷方式&lt;/h2&gt;&lt;p&gt;快捷方式&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://arianote.top/images/20260510_3imn2p.webp' alt="快捷方式" height="539" width="990"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;快捷方式&lt;/figcaption&gt;
 &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;实际使用中，可通过 &lt;strong&gt;快捷方式&lt;/strong&gt; 降低文件流转成本：文件存放在归档区，将快捷方式置于桌面；项目期间通过快捷方式访问，完成后删除快捷方式即视为归档，避免文件反复移动。&lt;/p&gt;
&lt;p&gt;配合 &lt;a href="https://www.voidtools.com/zh-cn/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Everything&lt;/a&gt;，在文档集中存放、命名清晰的前提下，可快速定位目标文件，减少层级浏览依赖。&lt;/p&gt;
&lt;p&gt;至此，文件管理方法已介绍完毕。如需扩展信息管理效率，详见《&lt;a href="https://arianote.top/bookmark-management" target="_blank" rel="external nofollow noopener noreferrer"&gt;浏览器书签管理：从收藏到取用&lt;/a&gt;》。&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;金字塔原理是前麦肯锡顾问芭芭拉·明托提出的结构化思考方法，核心是结论先行、以上统下、归类分组、逻辑递进。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;MECE 全称 Mutually Exclusive, Collectively Exhaustive（相互独立，完全穷尽），要求分类互不重叠，且整体覆盖全部内容。&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;杜威十进制图书分类法是美国图书馆学家麦尔威·杜威提出的图书分类体系，以纯数字编码表示层级关系，便于排序和扩展。&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;GTD 全称 Getting Things Done，是大卫·艾伦提出的个人效率管理方法，核心流程为收集 → 处理 → 组织 → 执行 → 回顾。&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Hugo 添加 Markdown 表格标题</title><link>https://arianote.top/table-caption/</link><pubDate>Wed, 01 Apr 2026 17:56:05 +0800</pubDate><author>contact@arianote.top (Aria)</author><guid>https://arianote.top/table-caption/</guid><category domain="https://arianote.top/categories/tech/">Tech</category><description>&lt;img src="https://arianote.top/images/20260508_O78fLt.webp" alt="featured image" referrerpolicy="no-referrer"&gt;&lt;p&gt;表格是博客中常用的信息展示方式，而表题能够帮助读者理解表格内容并方便文内引用，但 Hugo 默认的 Markdown 表格语法不包含表题功能。&lt;/p&gt;
&lt;table caption="**表 1**：核心团队成员"&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;姓名&lt;/th&gt;
 &lt;th&gt;角色&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;张三&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;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;下面介绍渲染钩子和属性块的配置步骤，以及如何在 Markdown 中为表格添加表题，以实现如上效果。&lt;/p&gt;
&lt;h2 class="heading-element" id="开启-hugo-属性块支持"&gt;&lt;span&gt;开启 Hugo 属性块支持&lt;/span&gt;
 &lt;a href="#%e5%bc%80%e5%90%af-hugo-%e5%b1%9e%e6%80%a7%e5%9d%97%e6%94%af%e6%8c%81" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Hugo 默认使用 Goldmark 作为 Markdown 渲染器，它支持为块级元素（如表格）添加自定义属性。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;修改主题配置文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[markup.goldmark.parser.attribute]
 block = true&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;启用此配置后，Goldmark 将解析表格下方的 &lt;code&gt;{ caption=&amp;quot;...&amp;quot; }&lt;/code&gt; 属性块，并渲染为表格标题。&lt;/p&gt;
&lt;h2 class="heading-element" id="创建表格渲染钩子"&gt;&lt;span&gt;创建表格渲染钩子&lt;/span&gt;
 &lt;a href="#%e5%88%9b%e5%bb%ba%e8%a1%a8%e6%a0%bc%e6%b8%b2%e6%9f%93%e9%92%a9%e5%ad%90" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;创建以下文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{- /* 覆盖来源：FixIt/layouts/_markup/render-table.html */ -}}

{{- /*
 Add a table wrapper to better style overflow tables
 The reset of the template is the same as the default render-table.html
 See https://gohugo.io/render-hooks/tables/
*/ -}}
&amp;lt;div class=&amp;#34;table-wrapper&amp;#34;&amp;gt;
 &amp;lt;table
 {{- range $k, $v := .Attributes }}
 {{- if $v }}
 {{- printf &amp;#34; %s=%q&amp;#34; $k $v | safeHTMLAttr }}
 {{- end }}
 {{- end }}&amp;gt;

 {{- /* ======================== 修改点 1：开始 ======================== */ -}}
 {{- /* 支持 `caption` 属性，渲染表格表题，样式由 SCSS 控制 */ -}}
 {{- with .Attributes.caption }}
 &amp;lt;caption&amp;gt;{{ . | $.Page.RenderString }}&amp;lt;/caption&amp;gt;
 {{- end }}
 {{- /* ======================== 修改点 1：结束 ======================== */ -}}
 
 &amp;lt;thead&amp;gt;
 {{- range .THead }}
 &amp;lt;tr&amp;gt;
 {{- range . }}
 &amp;lt;th
 {{- /* ======================== 修改点 2：开始 ======================== */ -}}
 {{- /* 修改对齐方式，便于 SCSS 统一样式 */ -}}
 {{- with .Alignment }}
 {{- printf &amp;#34; class=%q&amp;#34; (printf &amp;#34;text-align-%s&amp;#34; .) | safeHTMLAttr }}
 {{- end -}}
 {{- /* ======================== 修改点 2：结束 ======================== */ -}}
 &amp;gt;
 {{- .Text -}}
 &amp;lt;/th&amp;gt;
 {{- end }}
 &amp;lt;/tr&amp;gt;
 {{- end }}
 &amp;lt;/thead&amp;gt;
 &amp;lt;tbody&amp;gt;
 {{- range .TBody }}
 &amp;lt;tr&amp;gt;
 {{- range . }}
 &amp;lt;td
 {{- /* ======================== 修改点 3：开始 ======================== */ -}}
 {{- /* 修改对齐方式，便于 SCSS 统一样式 */ -}}
 {{- with .Alignment }}
 {{- printf &amp;#34; class=%q&amp;#34; (printf &amp;#34;text-align-%s&amp;#34; .) | safeHTMLAttr }}
 {{- end -}}
 {{- /* ======================== 修改点 3：结束 ======================== */ -}}
 &amp;gt;
 {{- .Text -}}
 &amp;lt;/td&amp;gt;
 {{- end }}
 &amp;lt;/tr&amp;gt;
 {{- end }}
 &amp;lt;/tbody&amp;gt;
 &amp;lt;/table&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;模板保留了 FixIt 主题的 &lt;code&gt;table-wrapper&lt;/code&gt; 滚动容器，并新增对 &lt;code&gt;&amp;lt;caption&amp;gt;&lt;/code&gt; 标签的支持。&lt;/li&gt;
&lt;li&gt;通过 &lt;code&gt;{{- with .Attributes.caption }}&lt;/code&gt; 判断是否存在 &lt;code&gt;caption&lt;/code&gt; 属性，如果存在则渲染。&lt;/li&gt;
&lt;li&gt;其余部分与默认的表格渲染钩子保持一致，确保表格能够正确显示。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 class="heading-element" id="添加-css-样式"&gt;&lt;span&gt;添加 CSS 样式&lt;/span&gt;
 &lt;a href="#%e6%b7%bb%e5%8a%a0-css-%e6%a0%b7%e5%bc%8f" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;创建以下文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:root {
 --c-meta: #8b949e;
}

[data-theme=&amp;#34;dark&amp;#34;] {
 --c-meta: #7d8792;
} &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;创建以下文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:root {
 // 字号
 --c-font-base: clamp(0.96875rem, 0.85rem &amp;#43; 0.2vw, 1rem);
 --c-font-xxs: calc(0.625 * var(--c-font-base));
 --c-font-xs: calc(0.75 * var(--c-font-base));
 --c-font-s: calc(0.875 * var(--c-font-base));
 --c-font-m: var(--c-font-base); 
 --c-font-l: calc(1.125 * var(--c-font-base));
 --c-font-xl: calc(1.25 * var(--c-font-base));
 --c-font-xxl: calc(1.5 * var(--c-font-base));
 --c-font-xxxl: calc(1.75 * var(--c-font-base));

 // 边距
 --c-space-1: 0.25rem; /* 1 unit = 4px */
 --c-space-2: calc(var(--c-space-1) * 2); /* 0.5rem */
 --c-space-4: calc(var(--c-space-1) * 4); /* 1rem */
 --c-space-6: calc(var(--c-space-1) * 6); /* 1.5rem */
 --c-space-8: calc(var(--c-space-1) * 8); /* 2rem */
 --c-space-10: calc(var(--c-space-1) * 10); /* 2.5rem */
 --c-space-12: calc(var(--c-space-1) * 12); /* 3rem */

 @media (max-width: 680px) { --c-space-1: 0.22rem; }
 @media (min-width: 681px) and (max-width: 1200px) { --c-space-1: 0.23rem; } 

 // 颜色
 --c-meta: #8b949e;
}

[data-theme=&amp;#34;dark&amp;#34;] {
 // 颜色 
 --c-meta: #7d8792;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;创建以下文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// ========= 全局 =========

// 全局字体
body { font-size: var(--c-font-m); }
h1 { font-size: var(--c-font-xxl); }
h2 { font-size: var(--c-font-xl); }
h3, h4 { font-size: var(--c-font-l); }

// ========= 文章页 =========

.single {
 .content {
 .table-wrapper {
 text-align: left;
 overflow-x: auto;
 font-size: var(--c-font-s);

 &amp;gt; table {
 width: 100%;
 max-width: none;
 white-space: nowrap;
 min-width: max-content;
 -webkit-overflow-scrolling: touch;
 }

 caption {
 caption-side: top;
 text-align: center;
 color: var(--c-meta);
 font-size: var(--c-font-s);
 margin-bottom: var(--c-space-2);
 }
 }
 }
}&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;表题显示在表格下方：&lt;code&gt;caption-side: top&lt;/code&gt; 改为 &lt;code&gt;bottom&lt;/code&gt;，&lt;code&gt;margin-bottom&lt;/code&gt; 改为 &lt;code&gt;margin-top&lt;/code&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="heading-element" id="在-markdown-中使用"&gt;&lt;span&gt;在 Markdown 中使用&lt;/span&gt;
 &lt;a href="#%e5%9c%a8-markdown-%e4%b8%ad%e4%bd%bf%e7%94%a8" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;表格下方紧贴一行添加属性块即可添加表题，例如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;| 姓名 | 角色 |
| :--- | :--- |
| 张三 | 作者 |
| 李四 | 编辑 |
{ caption=&amp;#34;**表 1**：核心团队成员&amp;#34; }&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;注意事项&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;属性块 &lt;code&gt;{ caption=&amp;quot;...&amp;quot; }&lt;/code&gt; &lt;strong&gt;必须紧贴表格的最后一行&lt;/strong&gt;，否则 Goldmark 将无法识别。&lt;/li&gt;
&lt;li&gt;表题支持 Markdown 语法（如 &lt;code&gt;**加粗**&lt;/code&gt;），渲染后会居中显示在表格的上方。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="heading-element" id="编辑器兼容提示"&gt;&lt;span&gt;编辑器兼容提示&lt;/span&gt;
 &lt;a href="#%e7%bc%96%e8%be%91%e5%99%a8%e5%85%bc%e5%ae%b9%e6%8f%90%e7%a4%ba" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Typora&lt;/strong&gt;：普通编辑视图中的属性块会显示在表格内部，需切换至源代码模式（&lt;code&gt;Ctrl+/&lt;/code&gt;），确保属性块紧贴表格下方，以便正确渲染。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VSCode + Prettier&lt;/strong&gt;：启用 Prettier 后，保存 Markdown 文件可能会插入空行，导致 Goldmark 无法渲染表题，可在项目根目录创建 &lt;code&gt;.prettierignore&lt;/code&gt; 文件并添加 &lt;code&gt;*.md&lt;/code&gt;，忽略其格式化。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://gohugo.io/configuration/markup/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Configure markup - Hugo&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>