June 11, 2026 in AI对话2 minutes
与 AI 协作时的一组问答记录,涵盖 Hugo 短代码、搜索、目录、性能优化与 Claude Code 配置。
问: 如何在 Hugo 中创建自定义短代码(Shortcode)?
答: 在 Hugo 中创建自定义短代码需要在 layouts/shortcodes/ 目录下创建 .html 文件。例如,如果你想创建一个 alert 短代码,可以创建 layouts/shortcodes/alert.html 文件,内容包含 HTML 模板逻辑,通过 .Get 和 .Inner 函数访问参数。
然后在 Markdown 中引用该短代码,Hugo 会在渲染时自动解析并替换为对应的 HTML 输出。
短代码支持命名参数和位置参数,非常灵活。
问: 如何在 Hugo 静态网站中实现搜索功能?
答: Doks 主题内置了搜索功能,它使用 Lunr.js 库进行客户端搜索。搜索是通过扫描所有内容页面并构建搜索索引来实现的。
如果你想自定义搜索,可以:
config/_default/params.toml 中的搜索配置assets/js/ 目录中的搜索脚本搜索索引在构建时自动生成,你不需要手动维护。
问: 怎样为博客文章添加目录(Table of Contents)?
答: Hugo 可以自动为 Markdown 内容生成目录。你需要在布局模板中使用 .TableOfContents 变量。
在 layouts/blog/single.html 中添加(注:{{ }} 为 Hugo 模板语法):
{# Hugo 模板代码示例 #}
<aside class="toc">
<h3>目录</h3>
</aside>具体实现需要使用 Hugo 的模板语法来检查目录是否存在,并动态显示。
为了控制目录深度,可以在 front matter 中配置:
---
toc: true
toc_depth: 3
---Doks 主题通常已经内置了目录支持。
问: Hugo 的性能优化有哪些最佳实践?
答: Hugo 构建速度已经非常快,但你可以通过以下方式进一步优化:
.hugo_stats.json 来消除未使用的 CSS问: 如何在 Hugo 中实现自定义分页?
答: Hugo 的分页系统非常灵活。在列表模板中,你可以使用 .Paginate 函数来分页内容,然后通过 .Pager 访问分页信息。
具体实现可以在列表模板中使用 Hugo 的模板语法来配置分页,支持自定义每页数量。
问: 在claude中安装了一个插件,一般会改变哪些配置文件的内容?
答: 在 Claude Code 中安装插件后,通常会修改以下几个配置文件的内容:
这是最核心的配置文件,安装插件后会自动写入以下内容:
enabledPlugins:记录已安装的插件及其启用状态extraKnownMarketplaces:如果插件来自新添加的 marketplace,会在此注册市场源permissions:部分插件会要求修改权限配置statusLine:某些插件(如 claude-hud)会添加状态行配置~/.claude/settings.json(全局生效,所有项目可用).claude/settings.json(项目级,随仓库共享).claude/settings.local.json(仅本机生效,通常被 gitignore)hooks/hooks.json,会被合并到用户的钩子配置.mcp.json,会被添加到用户的 MCP 配置总结:安装一个插件,一定会修改的是 settings.json 中的 enabledPlugins 字段;可能修改的包括 permissions、extraKnownMarketplaces、hooks.json 和 .mcp.json,具体取决于插件的功能需求。
问: cc switch切换服务商后,安装的插件为啥没了?
答: 插件"消失"并不是真的被卸载了,而是因为 CC-Switch 切换供应商时会覆盖 Claude Code 的配置文件,而不同供应商的配置是相互独立的。
原因:CC-Switch 的核心机制是每个供应商(Provider)都维护一套独立的配置文件,包含 env、permissions、enabledPlugins 等字段。当你从供应商 A 切换到供应商 B 时,CC-Switch 会把供应商 B 的配置写入 Claude Code 的配置路径,覆盖掉原来的配置。如果供应商 B 的配置中没有 enabledPlugins 字段,切换后插件列表就"没了"。
解决方法:
enabledPlugins 等字段~/.cc-switch/backups/问: "model": "haiku" 这个配置的意思是什么?
答: "model": "haiku" 这个配置的意思是指定使用 Claude Haiku 模型。
Haiku 是 Anthropic 提供的三大模型系列之一(Opus / Sonnet / Haiku),定位是轻量、快速、低成本的模型,适合处理简单、高频的任务。
| 模型 | 定位 | 适用场景 |
|---|---|---|
| Opus | 最强、最贵 | 复杂推理、大型任务 |
| Sonnet | 均衡 | 日常编码主力 |
| Haiku | 最快、最便宜 | 简单任务、快速响应、自动评估 |
/goal 功能时,Claude Code 会用 Haiku 模型来检查任务是否完成——它是一个"小裁判",快速判断当前结果是否满足完成条件所以简单来说,"model": "haiku" 就是告诉系统:在这个场景下用最快最便宜的那个模型。