


[{"content":" 🧠 一、 通用大模型 (Foundation Models) # 核心底座，提供文本理解、逻辑推理及多模态处理能力。\n导航名称 简介 官方文档链接 OpenAI ChatGPT 行业标杆，GPT-5.2 系列及推理模型 API 文档。 官方文档 Google Gemini Google 强力多模态模型，支持 Gemini 3 Flash/Pro。 Google AI Studio Anthropic Claude 被誉为最有人味的 AI，Claude 4.6 及 Cowork 代理系统。 开发者文档 DeepSeek (深度求索) 国产之光，开源 V3/R1 系列，极高性价比。 开放平台 Meta Llama 全球最流行的开源大模型系列，Llama 4 最新技术栈。 Llama 官网 💻 二、 AI 编程与开发者工具 (AI for Developers) # 赋能工程效率，从“写代码”进化到“说代码”。\n导航名称 简介 官方文档链接 Claude Code 2026 必工具： Anthropic 推出的原生命令行（CLI）智能体，能常驻终端自主进行代码分析、执行测试并提交代码。 立即查看 Cursor AI 原生 IDE 领跑者，支持全项目索引与自动重构。 使用指南 Trae (字节跳动) 2026 现象级 AI IDE，深度适配中文及本土 API。 官方文档 Hugging Face AI 界的 GitHub，托管数百万模型、数据集和 Demo。 技术文档 LangChain 构建 LLM 应用的编排框架，支持复杂的链式调用。 官方文档 Vercel AI SDK 前端开发者的 AI 集成神器，流式响应支持。 SDK 文档 🎨 三、 多模态生成 (Multimodal AI) # 图像、视频、音频及 3D 内容的生成与编辑。\n导航名称 简介 官方文档链接 Midjourney 顶尖图像生成工具，支持 Discord 及 Web 端操作。 帮助手册 Runway Gen-4 视频生成领域领军者，支持电影级长视频生成。 创作指南 Suno / Udio AI 音乐生成新高度，支持全长高保真歌曲创作。 官方社区 ElevenLabs 全球领先的 AI 配音与语音克隆技术。 API 参考 🤖 四、 智能体与自动化 (Agents \u0026amp; Automation) # Agentic AI：从对话到执行，AI 开始替你工作。\n导航名称 简介 官方文档链接 Claude Cowork Anthropic 推出的桌面级 AI 代理，可操控电脑。 产品详情 Microsoft Copilot 深度集成 Office 365 与 Windows 的生产力助手。 采用指南 Zapier Central 结合 AI 逻辑的自动化流，连接 6000+ 应用。 自动化文档 Manus AI 全才型 AI 数字化员工，支持端到端任务处理。 官方说明 📚 五、 知识库与研究工具 (Knowledge \u0026amp; Research) # 基于 RAG（检索增强生成）技术的知识管理。\n导航名称 简介 官方文档链接 NotebookLM Google AI 笔记神器，支持上传文档生成播客与摘要。 使用说明 Perplexity AI AI 搜索领域的颠覆者，提供实时引用的搜索体验。 开发者平台 Notion AI 将 AI 深度嵌入工作笔记、文档与项目管理系统。 帮助中心 🤖 六、 Agent 专区 (Agentic AI \u0026amp; Computer Use) # 从“对话”进化到“执行”：AI 正在学习像人类一样操作软件与处理复杂任务。\n导航名称 简介 官方文档链接 Claude Computer Use Anthropic 提供的突破性 API，允许 AI 直接操作电脑屏幕、点击按键。 技术文档 OpenAI Operator OpenAI 推出的全能 AI 代理，支持自动预订、调研及复杂的浏览器跨端操作。 官方介绍 Manus AI 全才型 AI 数字化员工，主打“端到端”交付，从需求到结果一站式完成。 产品主页 Microsoft Magentic-One 微软开源的高性能多智能体系统，支持多个 Agent 协同处理通用任务。 GitHub Repo AutoGPT (Forge) 最早的自主智能体框架之一，2026 版大幅提升了任务成功率与容错。 使用文档 CrewAI 专注于“角色扮演”的多 Agent 协同框架，适合构建 AI 虚拟团队。 官方文档 LangGraph LangChain 旗下的循环图框架，是目前构建高度受控 Agent 的主流选型。 开发指南 Skyvern 基于 AI 的浏览器自动化工具，利用视觉能力自动填写复杂的政府/企业表单。 开源主页 MultiOn 个人 AI 浏览器代理，能够理解网页上下文并执行购买、购票等动作。 API 参考 🏗️ 七、 垂直领域 Agent (Vertical AI Agents) # 行业专家级 AI：深度集成行业数据与私有工作流，解决特定领域的复杂问题。\n⚖️ 1. 法律、金融与合规 (Legal \u0026amp; Finance) # 导航名称 简介 官方文档链接 Harvey AI 顶尖法律大模型 Agent，处理尽职调查、合同起草及法规分析。 官方主页 BloombergGPT 专为金融界设计的 Agent，深度集成彭博终端实时行情数据。 技术说明 CRIF Risk Agent 2026 金融风控标配，处理理赔防诈、受益人穿透及信用评估。 行业方案 🩺 2. 医疗与生命科学 (Healthcare) # 导航名称 简介 官方文档链接 Suki AI 医生专属数字助手，自动生成临床文档与电子病历（EHR）录入。 产品主页 Hippocratic AI 安全性优先的医疗 Agent，支持患者术后随访与药物咨询。 官方文档 Ambience Health 实时捕捉门诊对话，并自动转化成结构化医学报告。 技术中心 📣 3. 市场营销与电商 (Marketing \u0026amp; Sales) # 导航名称 简介 官方文档链接 Lindy.ai 无代码营销 Agent，可自动处理销售线索跟进、会议预约与邮件营销。 功能指南 云智科技 (YunZhi) 2026 国内领先营销智能体，实现“决策-创造-触达”全闭环自动化。 官方网站 Jasper Business 企业级内容营销 Agent，支持品牌语调一致性的多平台内容分发。 开发者平台 🛠️ 4. 软件工程与基础设施 (DevOps \u0026amp; Testing) # 导航名称 简介 官方文档链接 Cognition (Devin) 全球首位 AI 软件工程师，能独立完成从架构设计到 Bug 修复的全流程。 产品主页 Tessl 2026 兴起的“AI 原生软件工程”平台，专注于 AI 自动代码迁移与演进。 官方文档 GitHub Copilot Workspace 整个仓库级别的 Agent，直接将 Issue 转化为可运行的 Pull Request。 使用文档 🎮 5. 游戏与娱乐 (Gaming \u0026amp; Meta-Universe) # 导航名称 简介 官方文档链接 Inworld AI 为游戏 NPC 注入灵魂，支持实时语音交互、情感反馈与长期记忆。 开发指南 Convai 专注于虚拟现实与数字人的实时语音 Agent，低延迟交互方案。 API 文档 Secta AI 批量生成专业级商务人像与视频，深度适配个人品牌形象管理。 产品链接 📊 八、 2026 AI Agent 实测报告 (Hands-on Benchmarks) # 基于 2026 年 Q1 季度真实生产环境测试，评估 Agent 的任务完成率与可靠性。\n🧪 1. 软件工程 Agent (Coding Agents) # 测试标准：独立修复 GitHub 真实 Issue，包含代码理解、修改、测试及 PR 提交。\n工具名称 任务完成率 (Success Rate) 综合评价 实测点评 Cognition Devin 82% ⭐⭐⭐⭐⭐ 2026 编码领域的天花板，能处理多仓库依赖的复杂 Bug。 GitHub Copilot Workspace 75% ⭐⭐⭐⭐ 与 GitHub 生态无缝集成，速度极快，但处理超大规模架构时偶有幻觉。 Tessl 78% ⭐⭐⭐⭐ 专注旧代码迁移，自动将 Java 转换为 Swift/SwiftUI 的表现令人惊艳。 🕸️ 2. 浏览器与电脑操作 Agent (Computer Use) # 测试标准：跨多个网站完成复杂预订（机票+酒店+签证材料），处理动态弹窗与验证码。\n工具名称 导航精度 (Action Accuracy) 容错能力 实测点评 Claude Computer Use 89% ⭐⭐⭐⭐⭐ 视觉识别极准，支持精准的像素级点击，但 API 调用成本较高。 OpenAI Operator 91% ⭐⭐⭐⭐⭐ 浏览器操作极其流畅，特别是处理带有 CAPTCHA（验证码）的页面有特效。 MultiOn 84% ⭐⭐⭐⭐ 消费类任务（购物、订票）响应极快，UI 交互最简洁。 🏢 3. 全才型数字员工 (All-in-one Agents) # 测试标准：端到端交付一份包含“市场调研+PPT制作+邮件分发”的完整周报。\n工具名称 逻辑链路完整性 交付质量 实测点评 Manus AI 95% ⭐⭐⭐⭐⭐ 交付物几乎不需要人工二次修改，能够自主调用数十种第三方工具。 Lindy.ai 88% ⭐⭐⭐⭐ 擅长工作流编排，但在处理高难度的非结构化数据调研时略逊于 Manus。 Zapier Central 80% ⭐⭐⭐ 胜在生态连接多，更偏向于高级自动化，而非自主决策。 🔍 4. 深度研究与搜索 Agent (Research Agents) # 测试标准：针对特定技术领域生成 5000 字以上的深度研报，要求引文 100% 真实。\n工具名称 事实准确率 (Factual Accuracy) 深度 (Depth) 实测点评 Perplexity Pro 98% ⭐⭐⭐⭐ 速度最快，引文标注最清晰，适合快速事实核查。 Grok-3 (X.ai) 94% ⭐⭐⭐⭐⭐ 依托 X 平台的实时数据流，在时政、科技趋势分析上有绝对优势。 NotebookLM 99% ⭐⭐⭐⭐⭐ RAG（检索增强生成）的天花板，只要你提供信源，它绝不胡编乱造。 指标说明：⭐ (入门级) -\u0026gt; ⭐⭐⭐⭐⭐ (专家级)；数据来源：2026 Q1 Open-Agent-Eval 开源项目实测。\n🔓 九、 开源 AI Agent 生态 (Open Source AI Agent Ecosystem) # 社区驱动的框架与工具，助力构建透明、可定制的智能体系统。\n🏗️ 9.1 编排与多智能体框架 (Orchestration \u0026amp; Multi-Agent) # 项目名称 核心特性 文档/仓库链接 Microsoft AutoGen 微软出品，支持多个智能体之间进行事件驱动型对话。 GitHub 仓库 CrewAI 基于“角色扮演”的多智能体协同框架，适合处理真实业务流程。 官方文档 LangGraph (OSS) LangChain 旗下的循环图框架，支持构建带状态、可控的复杂 Agent。 项目主页 Pydantic AI 类型安全、面向生产环境的 Python 智能体开发框架。 开发指南 🖥️ 9.2 本地运行与私有化部署 (Local \u0026amp; Self-Hosted) # 项目名称 核心特性 文档/仓库链接 Ollama 在本地（macOS/Linux/Win）极简运行 Llama 4、DeepSeek R1 等大模型。 官网链接 Open WebUI 功能强大的开源本地 UI，支持多模型切换、RAG 和自定义插件。 GitHub 仓库 LocalGPT 100% 本地运行的私有化 RAG 系统，确保数据不外流。 项目主页 Dify (开源版) 零代码/低代码 LLM 应用开发平台，支持工作流编排与 RAG。 Dify 官网 🖱️ 9.3 开源浏览器与操作系统 Agent # 项目名称 核心特性 文档/仓库链接 OpenHands (原 OpenDevin) Devin 的开源替代方案，专注于自主完成软件工程任务。 GitHub 仓库 LaVague 大动作模型 (LAM) 框架，让 AI 能够自主操作浏览器自动化。 官方文档 Self-Operating Computer 让多模态模型直接接管并操作你的 Mac 或 Windows 电脑。 项目仓库 🧠 9.4 智能体记忆与工具集成 (Memory \u0026amp; Tooling) # 项目名称 核心特性 文档/仓库链接 Mem0 (OSS) 为 AI 助手和智能体提供持久化、个性化的长期记忆层。 GitHub 仓库 Phidata 快速构建具备记忆、知识库和工具调用能力的 AI 助手。 官方文档 ToolBench 提供指令微调方案，让智能体掌握超过 16,000 个 API 的调用。 项目主页 Last Updated: 2026-03-30\n","externalUrl":null,"permalink":"/zh-cn/posts/webportal/","section":"Posts","summary":"🧠 一、 通用大模型 (Foundation Models) # 核心底座，提供文本理解、逻辑推理及多模态处理能力。\n","title":"🚀 2026 全球 AI 技术文档导航","type":"posts"},{"content":" Everything Claude Code # 🛠️ 深度解析：Everything Claude Code 生态系统 # 版本： v1.3.0 (Latest 2026)\n核心架构： 28 核心代理 | 125+ 技能 (Skills) | 60 组命令 (Commands)\n🏗️ 一、 核心架构：重新定义 \u0026ldquo;Skills\u0026rdquo; # 在 Claude Code 生态中，Skill 不再仅仅是简单的提示词，而是一个功能完备的轻量化模块。\n组成成分： 包含 skill.md 指令、Python 脚本逻辑、预设模板及素材。 渐进式公开策略 (Progressive Disclosure)： 极简初始化： 初始仅占用 30-50 tokens。 按需加载： 只有当用户指令与 Skill 匹配时，才会完整加载详细逻辑，极大优化了上下文窗口（Context Window）的利用率。 全场景兼容： 完美支持终端 CLI、cla.ai 网页版及 API 调用。 🎯 二、 核心 Skills 分类详解 # 🛡️ 安全与质量控制 (Security \u0026amp; QA) # shannon (渗透测试)： 自动针对测试环境进行漏洞扫描，提供无误报的深度证据报告。 tdd (测试驱动开发)： 强制执行“先写测试，再写代码”流程，确保代码逻辑严密性。 security-audit (原生审计)： 在代码提交前进行深度的静态安全扫描，预防安全隐患。 🎨 前端与设计 (Frontend \u0026amp; UX) # frontend-design：打破 AI 生成页面的“同质化”，在编码前强制锁定视觉风格。 ui-ux-pro-max：内置 50+ UI 风格、97 个调色盘及 57 种字体组合，深度适配 React、Next.js 和 Tailwind。 ⚙️ 自动化与外部集成 (Automation \u0026amp; MCP) # browser-use / agent-browser：赋予 Claude 直接控制浏览器点击、截图及多线程并行操作的能力。 Composio / Connect：核心连接层，一键处理 Gmail、Slack、GitHub 等数百个服务的 OAuth 鉴权。 n8n-MCP：内置 1200+ n8n 节点知识，实现精准的自动化流（Workflow）编写。 📊 产品与项目管理 (Product Management) # 针对 PM 角色定制了 33 个专属技能：\nPRD 撰写 (/write-a-prd)：秒级生成高质量产品需求文档。 优先级排序：支持 RICE / MoSCoW 模型辅助功能筛选。 数据标准：内置留存分析与健康度分析模板。 🚀 三、 安装与快速上手 # 目前推荐通过官方脚本根据开发环境按需安装：\n1. 终端脚本安装 # # 方式 A：全量安装（推荐生产环境） ./install.sh --profile full # 方式 B：按需安装（例如仅针对 TS 和 Python 环境） ./install.sh typescript python 2. 插件市场模式 # # 在 Claude Code 终端执行 /plugin marketplace add affaan-m/everything-claude-code 📈 四、 2026 年最新技术趋势 # Instinct-based Learning (直觉学习)： Skills 现在支持根据“信心评分”进行自我演进。系统会学习你的编码偏好、命名习惯和架构倾向，实现“越用越顺手”的私人定制体验。 📚 参考资料与社区 # [GitHub 仓库] Everything Claude Code\n说明：包含全部 Agents、Skills 及 Commands 源码。 [技术解析] Dev Genius 获胜方案详解\n说明：官方关于 Claude Code 基础功能和进阶配置的权威指南。 ","externalUrl":null,"permalink":"/zh-cn/posts/everythingclaudecode/","section":"Posts","summary":"Everything Claude Code # 🛠️ 深度解析：Everything Claude Code 生态系统 # 版本： v1.3.0 (Latest 2026)\n核心架构： 28 核心代理 | 125+ 技能 (Skills) | 60 组命令 (Commands)\n","title":"12万星Claude Code插件终极生产力：Everything Claude Code 最新 Skills 全景指南","type":"posts"},{"content":"我有一个朋友，前几年做短视频博主，做得还不错，积累了几十万粉丝。去年他告诉我，他现在用AI来创作内容，以前需要三个人干的活，他一个人就能完成，而且质量比以前更好。当时我还觉得他在凡尔赛。\n上个月我们再次聊天，他说自己现在正在考虑怎么“管理”他那几个AI——因为它们已经开始自己规划任务了。\n我没多说什么，但心里一直在想：他用的“管理”这个词，可能很快就会显得很天真，就像二十年前有人说“我在管理我的文件夹”一样。那时候人们也觉得这是一件很严肃的事。\n接着我想起了另一个朋友。他在一家制造业工厂做质检，一个月挣六千块，干了八年，非常熟练。\n去年工厂引入了视觉检测AI，他被调去负责“监督AI”，工资降到了四千八。今年他告诉我，他现在开始送外卖了，因为工厂连“监督AI”的岗位都不再需要了。\n两个朋友，一个在往上走，一个在往下走。\n而他们之间的距离，正在以一种让人来不及反应的速度迅速拉大。\n在这篇文章里，我想说清楚几件事：未来四年，那些往上走的机会在哪里；那条往下走的路最终会通向何方；以及，如果你有孩子，你现在应该如何看待这件事。\n最后这部分，是我最私人的想法，也是我认为最值得认真对待的部分。\n一、先说一个让我久久不能平静的数字 # 2021年，世界上最聪明的AI，做了一套小学数学题，只得了35分。\n这不是玩笑，这是OpenAI自己公布的测试数据。测试集叫GSM8K，就是那种“小明有3个苹果，给了小红2个，还剩几个”的题型。当时最先进的AI，也只拿到了35分。\n（GSM8K：Grade School Math 8K，包含8500道小学水平数学应用题的测试集，曾是衡量AI数学推理能力的标准基准之一。）\n到了2026年，同一类测试的得分变成了99分。用了不到五年时间。\n这条曲线的形状不是缓慢爬升，而是一根几乎垂直插向天空的杆子——陡峭到让出题人都觉得尴尬。这套题后来被废弃了，因为它已经失去了测试意义，就像你不会用“会不会骑自行车”来考驾照一样。\n于是他们出了更难的题。\n全球数百个领域的顶尖专家联手出了一套“AI绝对通不过”的考试，叫做Humanity’s Last Exam（人类的最后考试），我姑且称之为“人类的最后一块自留地”。\n这套题在2024年底推出时，顶尖AI的得分还只是个位数百分比。\n到2026年2月，Claude Opus 4.6已经拿到了53.1%。\n从个位数到超过一半，只用了大约一年半。\n那些出题的顶尖专家们，现在大概要认真思考，什么才叫“只有人类才能做到的事”。因为他们以为的那条界线，正在以他们未曾预料的速度被快速跨越。\n二、在谈预测之前，我要先发明几个词 # 你还记得吗，三年前“Agent”这个词突然火了起来？还有“RAG”、“MCP”？这些词两年前还不存在，或者只有极少数研究员在使用，现在已经成为科技媒体的日常词汇。\n（Agent：智能体，指能自主规划、执行任务、调用工具的AI系统，不只是回答问题，而是会主动做事。\nRAG：检索增强生成，让AI能实时调用你的私有数据来回答问题。\nMCP：Model Context Protocol，让AI与各种外部工具互联互通的标准接口，可以理解为AI的“USB接口”。）\n新技术总是先出现现象，再造出词汇。词汇跟不上的地方，正是变化正在剧烈发生的地方。\n我接下来要说的几个词，目前还没有人这么叫，但我猜五年内它们就会进入教科书。\n第一个：编排者经济（Orchestration Economy）\n过去，“谁能做”决定了谁有价值。医生有价值是因为他懂医学，程序员有价值是因为他会写代码。执行能力是稀缺的。当AI的执行能力全面过剩时，稀缺的就变成了“知道让谁做什么、怎么把它们组合起来”。编排者，就是那个自己不一定亲自动手，但知道如何把一堆AI工具组合起来完成整件事的人。\n第二个：技能蒸发（Skill Evaporation）\n每个人都有花多年时间积累的技能：翻译、校对、排版、基础编程、数据整理、客服话术……过去这些是护城河。技能蒸发，指的是这些技能在极短时间内失去市场价值。不是慢慢贬值，而是直接蒸发。蒸发最快的是那些“有清晰输入输出、可被验证、大量重复”的技能。就像马车夫在1920年代的遭遇，只是速度快了二十倍。\n第三个：静默生产（Silent Production）\n当Agent可以24小时在后台运行，生产活动就开始在你睡觉的时候发生。你早上醒来打开手机，发现你的AI昨晚已经写了三篇草稿、处理了十二封邮件、抓取了竞争对手的价格数据。没有人盯着它，它就是在工作。静默生产的规模，将在2027到2028年间变得可以被统计。\n第四个：意图层（Intent Layer）\n现在我们使用软件的方式是：打开APP、找功能、点击、填表、提交。这种交互模式统治了三十年。意图层是指一种新的范式：你只需要表达你想要什么，就有一个系统帮你路由到正确的工具并执行。你在微信里说“帮我把今天的会议录音整理成三条结论发给我老板”，它就会自己调用三个工具，你不需要知道背后发生了什么。一旦意图层成熟，APP时代就将终结。\n第五个：薄壳公司（Thin-Shell Company）\n人类层极薄，AI基础设施却非常厚实——10个人，借助AI Agent和自动化，就能支撑起传统意义上需要几百人才能运转的业务体量。这将在2029年前后成型。\n三、OpenClaw：一个你必须知道的故事 # 2025年11月的一个深夜，奥地利开发者Peter Steinberger——他曾创办一家PDF工具公司，软件装机量超过十亿台——把WhatsApp的接口和Claude的API连在了一起。\n一个小时后，他就有了一个能工作的原型：你在WhatsApp上发一条消息，AI就在你的电脑上帮你执行任务。\n他以为这太简单了，OpenAI或Anthropic肯定早就做了。但他们没有。“大公司做不了这种事。不是技术问题，是组织结构问题。”\n2026年1月，他把项目开源。72小时内获得6万个GitHub Star。四个月后，超过25万Star——打破了React这个全球最流行前端框架用了整整十年才积累的纪录，成为GitHub历史上增长最快的开源项目。\n这个项目叫OpenClaw。\n英伟达CEO黄仁勋在3月初评价OpenClaw：“这可能是有史以来最重要的一次软件发布。”他说完11天后，英伟达就发布了NemoClaw——专门为OpenClaw打造的企业安全插件。\n当全球最值钱的芯片公司为一个诞生仅四个月的开源项目专门开发配套产品时，一个新时代的轮廓就清晰可见了。\nOpenClaw回答了一个问题：当AI足够强大时，人机交互的入口是什么？\n不是APP，不是网站，而是你的微信、WhatsApp、Telegram。你发一条消息，AI就在你的设备上帮你做事——整理文件、起草邮件、抓取数据、运行代码、执行定时任务。它24小时不下班，有持久记忆，你睡觉的时候它还在工作。\nOpenClaw的Skill系统（ClawHub平台上已有超过3000个社区开发的功能插件）意味着：AI Agent的边界，由它能调用的工具决定。谁在建造这些工具，谁就在建造明天的基础设施。\n四、2027年：第一次让大多数人沉默的时刻 # 有一个叫SWE-bench的测试，专门检验AI能否解决GitHub上真实的代码bug。不是玩具题，而是需要读懂整个项目逻辑、定位问题、修复并提交的真实工程任务。\n2026年初，Claude Code搭配最强模型的得分是80.8%——随机抽取100个真实bug，AI能独立解决80多个。据SemiAnalysis统计，Claude Code目前的年化收入已超过25亿美元，占Anthropic企业营收的一半以上。\n预测：2027年第一季度，SWE-bench得分将首次突破95%。\n初级程序员岗位将在2027年进入招聘冻结期。不是因为大规模裁员，而是公司根本不再开设新岗位。\n但反向来看：那些会“编排”AI完成复杂工程任务的人，在2027年会变得极度稀缺。\n他们懂得拆解任务、设计工作流、评估AI输出质量。培养这样一个人只需要三到六个月，而不是三到六年。这个差异，将让整个行业的人才结构在极短时间内被重写。\n一人公司时代，将在2027年正式到来。\n这不是励志故事，而是一种可复制的方法论。中文互联网上“年入百万的独立开发者”案例，将从稀有物种变成常见现象。\n五、2028年：AI开始帮AI变得更聪明 # 2028年，AI将首次在没有人类提出假设的情况下，独立发现一个此前未被科学界记录的自然规律，并将其发表。\n不是AI写了一篇人类已经知道答案的论文，而是AI自己提出问题、自己设计验证路径、自己得出结论，而这个结论是人类从未想过的。这一刻意味着：知识的生产，将不再是人类的专属能力。\n广告驱动的互联网，同年开始生病。\n当越来越多的搜索和决策被AI代劳，传统广告逻辑就崩塌了。广告主花钱是为了影响人类决策，但如果决策是由AI做出的，广告该投向哪里？\n2028年，至少有一家主流平台会在财报中首次把“AI导致的流量结构变化”列为核心风险项。\n六、关于工作方式，我有一个非常具体的想象 # 未来的工作方式不是“人被AI替代”，而是人类只做人类该做的事，AI去做生产的事。\n想象一个可能发生在2028到2029年之间的场景：\n三个认识多年的朋友，周四下午约在咖啡馆。其中一人说：“我最近一直在想一个问题，某个行业的某个环节现在解决方式非常低效，如果用某种思路改造，或许能做出有价值的东西。”\n另外两人开始回应，一个说“我了解这个行业，这个痛点确实存在”，另一个说“我记得有人做过类似尝试但失败了，原因是XXX”。\n他们就这样聊了大概两个小时。到下午五点，其中一人打开手机，把这两个小时的会议记录发给自己的AI，并加上一句：“帮我把这个想法变成可执行的方案。”\n第二天早上，他收到了一份完整的东西：市场分析、竞品调研、技术可行性评估、产品原型、MVP开发路径、第一批潜在用户名单，以及初步的财务模型。\n（MVP：Minimum Viable Product，最小可行产品，用最小成本和时间验证产品核心功能的开发策略。）\n在这个场景里，三个人做了什么？他们在喝咖啡、争论、回忆、连接彼此的认知。他们在做人类的事：社交、思考、创意、判断。\nAI做了什么？执行、检索、分析、整合、生产——所有有清晰标准的工作。\n人类最稀缺的，将不再是执行力，而是想法的质量、判断的准确度，以及一个至今仍被严重低估的能力：知道什么时候不该信任AI的结论。\n七、2029年：AI从屏幕里爬出来 # 此前所有的变化都发生在数字世界。2029年，它溢出了。\n人形机器人将在2029年前后越过部署拐点。特斯拉Optimus、Figure AI，以及国内多家机器人公司，正在快速积累可靠性数据。当一台能完成多种体力任务的机器人成本跌破5万美元时，仓库、工厂、物流中心的经营逻辑将被彻底重写。\n预测：2029年，全球仓储、物流、基础制造产线的人形机器人部署总量将突破一千万台。\n薄壳公司成型：10个人，就能运营传统意义上需要500人的业务体量。\n八、未来四年里，会出现哪些新职业 # 每次技术变革都会消灭旧职业，也会创造新职业。但新职业的出现总是滞后的。以下是我认为2027-2030年间会真正成形的几个新职业：\nAI编排师（AI Orchestration Designer）\n核心能力：把复杂业务问题拆解成适合AI处理的子任务，设计各Agent之间的协作关系，定义“做对了”是什么样，并在AI出错时知道原因。预测：2027年顶尖AI编排师的市场价值将超过高级软件工程师，2028年会出现专门的培训机构，2029年进入大学课程。\n上下文架构师（Context Architect）\n“提示工程师”会消失——提示会被系统化、工具化。但上下文架构师不同。他们的工作是设计AI系统“应该知道什么”——哪些知识放进系统提示，哪些通过RAG实时检索，哪些通过工具调用获取，哪些根本不需要AI知道。这是一种关于知识结构和信息流的系统设计能力，不会被工具轻易替代。\nAI输出审计员（AI Output Auditor）\n当AI大量生产代码、法律文件、医疗建议时，谁来审查输出是否正确、合规、没有幻觉？\n（幻觉：AI以高度自信的方式输出错误信息的现象，目前所有大语言模型都存在这个问题。）\n医疗行业的审计员需要是医生，法律行业需要是律师。他们的工作范式完全不同——他们必须知道AI在哪些类型任务上容易出错，以及如何高效验证AI结论的可靠性。\nSkill开发者（Skill Developer）\nOpenClaw的ClawHub上现在已有超过3000个插件，未来可能会有3万、30万个。Skill开发者的工作是：理解用户的真实需求，把需求拆解成AI能理解和执行的指令集，并确保这个能力包在各种边界情况下不出错。App Store早期独立开发者靠一款工具App养活自己的窗口期有三四年，Skill经济的窗口期可能更短——十八个月到两年。但回报会很高，因为现在会做的人还很少。\n人机协作培训师（Human-AI Collaboration Trainer）\n帮助不熟悉AI工具的员工完成工作方式转型。不是教人用某个软件，而是帮助他们重建对“工作是什么”的认知——哪些任务该交给AI，哪些该自己做，在哪些地方信任AI是危险的。2028年，这将成为中大型企业内部需求最旺盛的岗位之一。\nAI伦理调解员（AI Ethics Mediator）\n当AI做出一个伤害到某个人的决策时，谁来承担责任？AI伦理调解员横跨技术、法律、心理学、社会学，在AI系统造成真实伤害的案例中，帮助各方理解发生了什么，为受害者争取合理解释和补偿，并推动系统改进。2027年，第一批专门处理AI相关纠纷的仲裁机构将会出现。\n九、现在我要说那些没人想说的 # 以上说的是机会。现在来说让我睡不好觉的那部分。\n有一种流行的叙事，说“AI带来的财富将惠及所有人，全民高收入时代即将到来”。马斯克讲过类似的愿景，OpenAI也描绘过类似图景。听起来很美好，但我并不相信。\n我相信AI能创造巨大财富。\n我不相信的是“这些财富会均匀分配”。\n历史上从来没有哪次技术革命让财富分配变得更平等。\n蒸汽机出现时，工厂主富了，工人从农村进城，最初几十年生活水平其实是下降的。电力普及时，拥有电力基础设施的资本家获益最多，普通工人的工资增长远远落后于生产力提升。互联网经济造就了少数极度富裕的人，同时让大量传统行业就业机会消失，中产空心化在很多国家是肉眼可见的。\nAI这一轮，我认为不会是例外，甚至可能是历史上财富集中速度最快的一次。\n原因很简单：这次被替代的不仅仅是体力劳动，而是几乎所有标准化的认知劳动。\n而认知劳动，正是过去五十年中产阶级赖以存在的护城河。\n十、我真正担心的那个未来 # 让我描述一个可能发生的场景，这不是科幻，而是一个逻辑自洽的推论。\n2028到2030年间，会有一批国家开始推行某种形式的全民基础收入或AI红利分配制度。\n听起来不错，对吧？\n但细节决定一切。\n这种基础收入，金额不会让你过得很好，只够让你不饿死。足够租一个小单间，买一些超加工食品，订一个娱乐服务。不够你投资，不够你创业，不够你送孩子上好学校。\n勉强够活着，但不够向上走。\n而那些向上走的人，那些拥有AI工具、AI资产、AI编排能力的人，他们的财富积累速度将是另一个量级。\n这不是贫富差距，这是物种分化。\n更可怕的是：这种差距会非常稳定。\n为什么稳定？因为维持这种稳定，不再需要暴力，也不再需要明显的压迫，只需要数据和算法。\n十一、大数据维稳与NPC化 # 我们已经生活在一个行为数据被大规模收集的世界。你在哪里停留，你点击了什么，你在某条内容上停顿了几秒，你刷了多久的短视频，你搜索了什么——这些数据正在被用来预测和影响你的行为。\n这还是2026年的状态。\n到2029年，当AI能力全面成熟，传感器无处不在，预测模型更加精准——这套系统的能力将是现在的几十倍。\n当一个系统足够了解你，它就能在你不知不觉中，把你的注意力引导到它希望你去的地方。\n给你推送让你愉悦的内容，让你停留更久，让你买更多东西，让你的情绪保持在一个容易管理的区间：不愤怒、不绝望、不冷静、不深思。就是那种让你感觉“挺好的”，但什么都没发生的状态。\nNPC化，是一个无感的过程。\nNPC——游戏里那些有固定行为模式、你不互动时就循环执行预设动作的角色。它们看起来像在生活，其实只是在运行程序。\n我担心的是：相当一部分人，会在不知情的情况下完成这个转变。\n每天起床，刷一下推送，感觉自己了解了世界；上班，做一些被AI指定的任务，或者不工作领基础收入；下班刷视频、玩游戏、订外卖；睡觉。循环往复。\n不是不幸福，而是不清醒。\n十二、奶头乐的工业化与精准投放 # 1995年，布热津斯基在一次精英会议上提出过一个词：tittytainment——奶头乐。当全球化让大量人口在经济上变得“多余”时，最有效的社会管理方式，就是给他们足够的娱乐和基本物质满足，让他们不会产生威胁性的愤怒或组织能力。\n他说这话时是1995年，那时还没有短视频、算法推荐、精准投放。那时的奶头乐是粗放的：电视、体育、廉价食品。\n现在的奶头乐，是精准的、个性化的、实时调整的。\n它知道你喜欢什么风格的内容，知道多长的视频刚好让你愉快但不会疲惫，知道什么时候推送一条负面内容来调动你的情绪，让你继续停留。\n当AI完全成熟，这套系统的精准度将达到一个令人不安的水平。\n你看到的内容，不再只在你刷视频的那几个小时影响你，它会塑造你对世界的认知，影响你认为什么是正常的、什么是可能的、什么是值得追求的。\n一个始终只看到“普通人也可以躺平”内容的人，和一个始终只看到“这个时代充满机会”内容的人，最终会活在完全不同的现实认知里——即使他们住在同一个城市，走过同一条街道。\n这不是未来，这是现在。AI只会让它变得更彻底。\n十三、那些悬而未决的真实风险 # 监控资本主义的升级\n当AI Agent开始在你的本地设备上运行，深度嵌入你的工作流，访问你的文件、邮件、日历——你的AI助理，可能同时也是这个星球上对你了解最深的数据收集节点。谁拥有这些数据？谁能访问这些数据？当这些数据被用于信用评估、保险定价、就业决策时——这些问题，目前几乎没有国家有足够完善的法律框架来回答。\nAI幻觉的大规模工业化危害\n当AI被大规模用于法律文件、医疗建议、新闻内容生产，幻觉就不再是让用户皱眉的小问题，而是可能造成真实伤害的系统性风险。2027年，预计会出现第一批因AI生成的错误医疗建议导致伤害而进入法律程序的案例。\n权力集中的速度超过任何历史先例\n现在，世界上最重要的AI能力集中在少数几个实验室手中——Anthropic、OpenAI、Google DeepMind、DeepSeek。这种集中程度在人类历史上没有先例。核技术是分散的，电力基础设施是分散的，互联网架构是分散的。但顶级AI能力正在高度集中。谁控制了最聪明的AI，谁就控制了未来的生产力、信息生产、决策支持，甚至科学研究的速度和方向。\n十四、关于我女儿的教育，我有一些很具体的想法 # 前面说了那么多宏观内容，现在说一件最私人的事。\n我有一个女儿。\n每次想到那些数据，想到2027到2030年会发生什么，我都会想：那时候她在哪里？在做什么？她有没有准备好？\n然后我意识到，“准备好”这件事，不是她一个人的事，而是我现在就要开始做的事。\n我目前的想法是：她初中读完后保留学籍，然后用另一种方式学习。\n我知道这听起来很激进。但我想解释一下我的逻辑。\n现在的学校教育，本质上是在培养适应1990年代工业社会需求的人：服从规则、完成指定任务、在标准化考试中取得好成绩，然后进入大机构，做一份稳定的工作。\n这套逻辑，在AI时代已经失效了。\n不是说知识不重要，而是“用背诵和刷题来积累知识”这件事，在AI时代性价比最低。因为AI能记住所有你背过的东西，而且记得更准、调用更快。\n那么，AI时代性价比最高的教育是什么？\n我的答案是：尽早让她接触真实世界里的真实问题，然后学会用各种工具——包括AI工具——去解决它们。\n具体来说，我计划带她做几件事：\n第一件：接触物流行业。\n物流是一个你不深入研究就不知道有多复杂的行业。从仓库货物管理，到最后一公里的派送路径优化，到跨境物流的海关申报，到冷链运输的温控——每一个环节都有真实的痛点，也都有AI可以介入的机会。更重要的是，物流行业将是2027-2029年间“人机协作”形态最先成熟的行业之一。她提前接触，不是为了去做快递员，而是为了理解一个真实的复杂系统如何运转，AI在其中扮演什么角色，又有哪些局限。\n第二件：接触AI服务业。\n所谓AI服务业，就是“帮别人用AI解决问题”。现在大量传统中小企业知道AI有用，但不知道怎么用，也没有能力自己搭建。能为他们做AI工作流设计、Agent部署、数据整理的人，目前严重稀缺。我想让她真正去做几个这样的项目——哪怕规模很小，哪怕是给亲戚的小店做一个AI客服或库存管理工具。重要的不是规模，而是经历真实的需求对接、真实交付和真实反馈循环。\n第三件：接触能源和网络基础设施。\n这两个行业，大多数年轻人觉得很无聊。但它们将是接下来十年增长最快、且最不容易被完全AI化的行业之一——因为它们需要物理世界里的实地判断和操作，这是AI目前最薄弱的地方。更重要的是，AI算力的爆发，本质上是能源消耗的爆发。训练一个顶级大模型消耗的电力，相当于一个中等城市几天的用电量。数据中心的选址、冷却系统、电力供应——这些不性感但极其关键的基础设施，在未来十年会有大量建设需求和人才缺口。让她理解这些，不是为了让她去做电工，而是让她知道“数字世界”的背后是什么，那些算力从哪里来，数据存在哪里，支撑整个AI生态的物理基础是什么。能看见“看不见的基础设施”的人，思维方式会很不一样。\n第四件：心理学——但不是课本上的那种。\n我想让她学的心理学有两个核心方向。\n第一个是自我认知：知道自己在恐惧什么、渴望什么，知道自己的情绪如何被触发，知道当有人试图影响你的想法时，他用的是什么机制。这不是为了让她变得冷漠，而是让她在被影响时，是知情的、主动选择的，而不是被动推着走。\n第二个——坦白说——是PUA的识别与反制。\n这个世界上有大量的人会用各种系统性的话术操控他人——不一定是感情上的，可能是商业谈判、团队管理、网络舆论，甚至内容推荐算法里的。我希望她很早就知道：当有人让你感觉“你还不够好”“你需要依赖我”“只有我理解你”时，这不是真相，而是一种技术。当你能识别这种技术，就很难被它困住。\n第五件：融入各种圈子。\n这件事没有固定方法，只有去做。我会在能力范围内，带她接触不同行业、不同背景、不同年龄层的人。不是为了建立人脉，而是让她知道：世界比她能看到的更大，人们解决问题的方式比她想象的更多样，没有哪一种生活方式是唯一正确的。一个见过足够多不同人的人，有一个重要能力：她不会轻易被某一种叙事框住，告诉她“只有这条路才是对的”。\n第六件：人生题库。\n这是我一直在思考、打算单独写文章详细展开的一个概念，这里先说个轮廓。\n我们在学校刷的是别人出的、有标准答案的题。\n但人生里真正的问题没有标准答案，而且大多数问题只有你亲身遇到时才知道它的存在。\n所谓人生题库，就是主动积累那些“只有自己能遇到并解答”的问题——你做过一个决策，后来发现对或错，你要知道为什么；你和一个人发生冲突，你要能把冲突拆解成一道题去分析；你遇到某个行业的机会，你要能评估它。\n这些题不是从书本来的，而是从生活来的。一个人积累的人生题库越丰富、越经过自己真正的思考，他的判断力就越强，就越不容易被别人的叙事带走，就越能在真实世界里做出属于自己的选择。\n我为什么不让她老老实实把高中读完？\n不是因为我觉得高中没用，而是因为时间是有成本的。\n她在高中刷题的那三年，如果用来做上面这些事，她会积累真实的判断经验、真实的行业认知、真实的人际网络、真实的工具能力，以及一个对“我是谁、我想要什么、我如何面对困难”有初步答案的自我认知框架。\n这些东西，是高考卷子给不了的。而且在AI时代，这些东西的价值，会比一张大学文凭更持久。\n我当然不是说文凭没用。文凭还有用，还会再有用很多年——但它的作用，正在从“证明你有能力”变成“证明你没有明显缺陷”。这是两件不同的事。\n保留学籍，是因为我也不确定。如果她在外面走了一年发现自己还是想去大学，学籍还在，路也还在。我不是要替她做决定，而是要让她有选择。\n我做这件事，不是想搞一个另类的教育实验，而是一件很朴素的事：\n让她在世界真正变天之前，有机会用脚踩过那些她将来要站上去的土地。\n十五、写给那些还没决定往哪走的人 # 我认识的那个质检员，他现在送外卖，不是因为他不够努力，也不是因为他不够聪明，而是因为他在做决定的时候，信息不对称。他不知道那扇门在哪里，也不知道那扇门什么时候会关。\n我不想假装这篇文章能解决这个问题。它解决不了结构性的问题，解决不了信息不对称，也解决不了资本的逻辑。\n但它至少能做到一点：让你知道，有一个窗口，现在是开着的。\n你现在能做什么？\n学会编排，而不仅仅是使用。会用AI工具是基础，会设计让多个AI协作完成复杂任务的工作流，才是真正的竞争力。\n开始建立你自己的知识库。当所有人都用同一个基础模型时，你积累的私有数据和结构化经验，是让你的AI比别人更聪明的唯一方式。\n关注Skill经济。去看看ClawHub和各类Agent插件市场，找到你所在行业里真实存在、但还没有人做插件解决的需求。那就是你的线索。\n还有最重要的一件事：保持清醒。\n不是不要娱乐，不是要你二十四小时工作，而是要知道自己在做什么，为什么在做。知道什么时候你在主动选择，什么时候你只是被推着走。\n去咖啡馆，和人坐下来聊，去产生那些无法被流程化的想法。这正是你维持清醒、不变成NPC的方式。\n因为NPC化的本质，不是你不勤劳，也不是你不聪明，而是你停止了真正意义上的选择。你在运行程序，而不是在做决定。\n写在最后 # 计算机出现的时候，没有消灭工作，它改变了什么样的工作有价值。\n互联网出现的时候，没有消灭工作，它改变了工作发生在哪里。\nAI成熟的时候，不会消灭工作，它将改变——为什么，工作有价值。\n但在它改变这件事的过程中，财富会向少数人集中，权力会向少数机构集中，注意力会被算法捕获，认知会被内容塑造，越来越多的人会在“感觉还不错”的状态下，悄悄失去自我决策的能力。\n这不是预言，这是正在发生的事的自然延伸。\n我认识那个现在送外卖的质检员，也认识那个管理着一堆AI的博主。他们都不是坏人，也都不是蠢人。他们之间的差距，正在变成一道不容易跨越的沟。\n我写这篇文章，不是为了恐吓谁，也不是为了贩卖焦虑。\n是因为那条往下走的路，在刚开始的时候，看起来和往上走的路有着一样的风景。直到走了很远之后，才会发现自己去了哪里。\n而那个发现的时刻，可能已经来不及回头。\n时钟在走。\n窗口在收窄。\n你现在看到的是这篇文章。\n下一步，是你的选择。\n","externalUrl":null,"permalink":"/zh-cn/posts/2030predict/","section":"Posts","summary":"我有一个朋友，前几年做短视频博主，做得还不错，积累了几十万粉丝。去年他告诉我，他现在用AI来创作内容，以前需要三个人干的活，他一个人就能完成，而且质量比以前更好。当时我还觉得他在凡尔赛。\n","title":"2030年大预言：AI进入新纪元","type":"posts"},{"content":"在 2026 年的开发者生态中，AI 已经从“自动补全工具”进化为了“自主贡献者”。作为目前最懂代码逻辑的 AI，Claude 3.5/4 系列在处理大规模重构、单元测试自动化以及系统架构理解方面展现了无可比拟的优势。\n本指南将深入探讨如何压榨 Claude 的最后一分代码潜力。\n结构化上下文提示词 (Structured Context) Claude 的长上下文窗口是其最强武器。为了获得高质量代码，不要直接提问，而是使用 XML 标签构建上下文： \u0026lt;project_context\u0026gt; - 技术栈: SwiftUI, Combine, SwiftData - 架构模式: MVVM - 目标: 为“English Focus” App 实现一个支持 Ebbinghaus 算法的复习逻辑 \u0026lt;/project_context\u0026gt; \u0026lt;coding_standard\u0026gt; - 遵循 iOS 设计标准，UI 保持极简风格 - 必须包含详细的注释 - 优先使用异步函数 (async/await) \u0026lt;/coding_standard\u0026gt; 智能体工作流：从“写代码”到“改 Bug” 在 2026 年，我们不仅让 Claude 写代码，还利用它的推理循环 (Reasoning Loop)。 Chain-of-Thought (思维链)：要求 Claude 在输出代码前先分析代码依赖。\nSelf-Correction (自纠错)：将编译器报错直接丢回给 Claude，使用：“分析此错误并对比当前的上下文，提供三个可能的修复方案并说明优缺点。”\n处理大规模重构的技巧 面对数千行的旧项目，建议采用 \u0026ldquo;Incremental Refactoring\u0026rdquo;（增量重构）： Map the System：先让 Claude 生成当前代码的 Mermaid 流程图或类图。\nDefine Interface：先写 Protocol/Interface，锁定边界。\nModule Migration：一次只迁移一个模块，并让其编写对应的 Unit Test 以确保逻辑一致。\n2026 年的最佳实践 Prompt Caching（提示词缓存）：对于大型工程，合理利用缓存可以节省 90% 的延迟和成本。 MCP (Model Context Protocol)：通过 MCP 协议让 Claude 直接读取你的本地文档和数据库 Schema，实现真正的“全栈理解”。\n","externalUrl":null,"permalink":"/zh-cn/posts/claudecodeskillstutor/","section":"Posts","summary":"在 2026 年的开发者生态中，AI 已经从“自动补全工具”进化为了“自主贡献者”。作为目前最懂代码逻辑的 AI，Claude 3.5/4 系列在处理大规模重构、单元测试自动化以及系统架构理解方面展现了无可比拟的优势。\n","title":"Claude Code Skills 完全指南（2026最新版）","type":"posts"},{"content":" 一、引子 # 还记得你第一次发现 VS Code 有扩展市场时的感觉吗？安装几个插件，编辑器就从一个简陋的文本工具变成了无所不能的开发环境。\nClaude Code 也一样。它的插件系统正在重新定义 AI 编程助手的边界——不只是聊天和写代码，而是能连接你的数据库、管理你的 GitHub 仓库、自动审查代码质量、甚至定时执行任务。而这一切，只需要几条命令。\n目前已经有超过 9000 个 Claude Code 插件可供选择，从代码审查到前端设计，从数据库查询到自动化部署，覆盖了开发工作流的每一个环节。\n这篇文章将带你全面了解 Claude Code 的插件生态：从如何发现和安装插件，到管理你的插件集合，再到自己动手创建一个插件。无论你是刚接触 Claude Code 的新手，还是想深挖插件潜力的老手，都能找到有用的内容。\n二、插件到底是什么 # 简单来说，Claude Code 插件是一个可分享的功能包。它把多种扩展组件打包在一起，让你能一键安装、跨项目复用、和团队共享。\n一个插件可以包含以下组件：\n技能（Skills）：Markdown 格式的指令文件，告诉 Claude 如何完成特定任务。比如代码审查技能、测试驱动开发技能。Claude 会根据上下文自动加载相关技能。\n子代理（Agents）：专门化的 AI 代理，在隔离的上下文中执行复杂任务。你可以同时启动多个子代理并行工作。\n钩子（Hooks）：事件驱动的自动化脚本。在 Claude 执行特定操作时自动触发——比如每次编辑文件后自动格式化代码。\nMCP 服务器：通过 Model Context Protocol 连接外部工具和服务。这是插件最强大的部分，让 Claude 能直接操作数据库、API、浏览器等。\nLSP 服务器：语言服务器协议支持，提供实时代码智能——跳转定义、查找引用、实时诊断。\n可以把插件理解为一个\u0026quot;全能工具包\u0026quot;：安装一个插件，就等于同时配置了多个技能、代理、钩子和工具连接，而且所有组件都经过精心搭配，开箱即用。\n三、如何发现和安装插件 # 打开插件管理器 # 在 Claude Code 会话中，输入 /plugin，就会打开一个图形化的插件管理器界面。它有四个标签页：\n发现（Discover）：浏览所有可用插件 已安装（Installed）：查看和管理已安装的插件 市场（Marketplaces）：管理插件市场源 错误（Errors）：查看加载错误 你也可以直接在浏览器中访问 claude.com/plugins 浏览插件目录。\n官方市场已预配置 # Anthropic 的官方插件市场（claude-plugins-official）在 Claude Code 启动时就已经配置好了，无需额外设置。直接从官方市场安装插件：\n/plugin install github@claude-plugins-official 这条命令会安装 GitHub 集成插件，让 Claude 能直接操作你的仓库、Issue 和 PR。\n添加更多插件市场 # 官方市场之外，你还可以添加社区和团队自建的市场。支持多种来源：\nGitHub 仓库（最常用）：\n/plugin marketplace add anthropics/claude-code 其他 Git 平台：\n/plugin marketplace add https://gitlab.com/company/plugins.git 本地目录（开发测试用）：\n/plugin marketplace add ./my-marketplace 远程 URL：\n/plugin marketplace add https://example.com/marketplace.json 添加后运行 /plugin marketplace list 确认市场已生效。\n安装插件 # 找到心仪的插件后，安装很简单：\n通过交互界面安装：在 /plugin 的 Discover 标签页中浏览，选中插件后按 Enter，选择安装范围即可。\n通过命令直接安装：\n/plugin install plugin-name@marketplace-name 如果你知道明确的市场来源，也可以指定：\n/plugin install commit-commands@anthropics-claude-code 三种安装范围 # 安装时可以选择插件的作用范围：\n用户范围（user）：默认选项。插件在当前机器上的所有项目中可用，配置存储在 ~/.claude/settings.json 项目范围（project）：插件仅在当前项目可用，配置存储在 .claude/settings.json，适合团队共享 本地范围（local）：仅当前项目且不提交到版本控制，适合个人调试 通过命令行指定范围：\nclaude plugin install formatter@my-marketplace --scope project 四、管理你的插件 # 安装完后，日常管理同样方便：\n查看已安装的插件：\n/plugin list 或以 JSON 格式输出：\nclaude plugin list --json 禁用和启用（不卸载）：\n/plugin disable plugin-name@marketplace-name /plugin enable plugin-name@marketplace-name 彻底卸载：\n/plugin uninstall plugin-name@marketplace-name 重要技巧：安装、禁用或启用插件后，运行 /reload-plugins 即可生效，无需重启会话。\nClaude Code 会报告加载了哪些技能、代理、钩子、MCP 和 LSP 服务器，让你清楚知道当前环境的状态。\n管理市场源 # 你还可以管理已添加的市场：\n/plugin marketplace list # 查看所有市场 /plugin marketplace update name # 更新某个市场 /plugin marketplace remove name # 移除某个市场 官方市场默认开启自动更新，第三方市场默认关闭，你可以在 /plugin 界面的 Marketplaces 标签页中切换这个设置。\n五、必装插件推荐 # 以下是根据社区使用量和实际价值精选的插件，覆盖了不同开发场景：\n开发者必装三件套 # Feature Dev（官方出品）：结构化开发工作流。从需求发现、代码库探索到架构设计、实现和审查，全程引导。安装量最高的插件之一。\n/plugin install feature-dev@claude-plugins-official Code Review（官方出品）：多代理代码审查。同时从安全性、性能、可维护性和正确性四个维度审查代码，按置信度排序结果。\n/plugin install code-review@claude-plugins-official Context7（Upstash 出品）：实时文档查询。Claude 的训练数据有截止日期，Context7 直接从源码仓库拉取最新文档，告别过时的 API 示例。\n/plugin install context7@claude-plugins-official 前端开发者 # Frontend Design：前端设计系统技能，让 Claude 输出更高质量的 UI 代码，安装量超过 9.6 万。\n/plugin install frontend-design@claude-plugins-official MCP 服务器插件 # MCP 服务器是插件中最强大的组件，它们连接 Claude 到外部工具：\nGitHub MCP：搜索代码库、管理 Issue 和 PR、与 GitHub API 交互 PostgreSQL MCP：自然语言查询数据库、检查表结构 Playwright MCP：浏览器自动化测试 File System MCP：安全的本地文件操作 安装 MCP 服务器的方式：\nclaude mcp add github -- npx -y @modelcontextprotocol/server-github 团队协作插件 # Hookify（官方出品）：可视化钩子配置工具，让团队轻松设置自动化规则，无需手动编辑配置文件。\n六、注意事项和最佳实践 # 不要贪多 # 每个插件都会增加上下文开销。安装 20 个插件互相竞争，不如精选 5-7 个真正有用的。建议从最核心的需求开始，逐步添加。\n推荐起步配置：\n3 个核心插件：Feature Dev + Code Review + Context7 2-3 个 MCP 服务器：GitHub + 你的技术栈相关 1-2 个自定义技能：团队编码规范、部署流程 选择合适的安装范围 # 个人常用插件 → 用户范围（user scope） 团队工作流插件 → 项目范围（project scope），会提交到 .claude/settings.json，团队成员拉取后自动生效 临时测试插件 → 本地范围（local scope） 安装前先查看内容 # 社区插件是纯文本文件，安装前可以先查看它的 SKILL.md，搞清楚它到底注入了什么指令。模棱两可的指令只会产生模棱两可的结果。\n使用 \u0026ndash;plugin-dir 测试开发中的插件 # 如果你在开发自己的插件，可以用 --plugin-dir 参数本地测试：\nclaude --plugin-dir ./my-plugin 修改插件文件后，运行 /reload-plugins 即可加载更新，无需重启。\n七、自己动手创建一个插件 # 创建一个 Claude Code 插件的门槛非常低。最简单的插件只是一个 Markdown 文件，最复杂的可以包含技能、代理、钩子和 MCP 服务器。\n基本步骤：\n创建目录结构： my-plugin/ ├── .claude-plugin/ │ └── plugin.json # 插件清单（定义名称、版本、描述） ├── skills/ # 技能目录 │ └── hello/ │ └── SKILL.md └── README.md 编写 plugin.json 清单文件： { \u0026#34;name\u0026#34;: \u0026#34;my-first-plugin\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;1.0.0\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;我的第一个 Claude Code 插件\u0026#34; } 创建一个技能（SKILL.md）： --- name: hello description: 一个简单的问候技能 --- # Hello Skill 这是一个示例技能。当安装插件后，可以通过 `/my-first-plugin:hello` 调用。 本地测试： claude --plugin-dir ./my-plugin 完善后，发布到 GitHub，通过市场分发给团队或社区。 重要提醒：只有 plugin.json 放在 .claude-plugin/ 目录中，其他所有组件目录（skills/、agents/、hooks/ 等）都必须放在插件根目录。\n八、总结 # Claude Code 的插件系统正在将 AI 编程从一个对话工具进化为一个完整的开发平台。通过插件，你可以：\n扩展能力：连接数据库、API、浏览器等外部工具 固化流程：将团队最佳实践封装为可复用的技能 自动执行：用钩子在关键时刻自动触发操作 团队共享：通过插件市场一键分发配置 9000+ 个插件、官方市场预配置、安装只需一条命令——现在是开始探索 Claude Code 插件生态的最好时机。\n打开终端，输入 /plugin，你的开发流程即将迎来一次质的飞跃。\n官方文档：https://code.claude.com/docs/en/overview 插件市场：https://claude.com/plugins GitHub 仓库：https://github.com/anthropics/claude-code\n","externalUrl":null,"permalink":"/zh-cn/posts/claude_code_plugins/","section":"Posts","summary":"一、引子 # 还记得你第一次发现 VS Code 有扩展市场时的感觉吗？安装几个插件，编辑器就从一个简陋的文本工具变成了无所不能的开发环境。\n","title":"Claude Code 插件完全指南：从安装到精通，解锁 AI 编程的无限可能","type":"posts"},{"content":"一个源自 Anthropic 黑客马拉松获奖项目的 AI 代理增强系统，已获得 17.4 万+ GitHub 星标。\n什么是 Everything Claude Code？ # Everything Claude Code（ECC） 是一个代理性能优化系统——为 Claude Code、Codex、Cursor、OpenCode、Gemini 等 AI 编程代理提供完整的增强层。\n它始于 @affaan-m 的个人工作流配置。作者完全使用 Claude Code 构建了 zenith.chat，并赢得了 Anthropic x Forum Ventures 黑客马拉松。经过 10 个多月日常用于构建实际产品后，他将整个工作流开源。结果？一个全面的系统，在 GitHub 上已获得 17.4 万+ 星标，超过 2.8 万次 Fork。\nECC 不是一堆配置文件。它是一个完整的、可用于生产的系统：\n300+ 技能 —— 从代码审查到 TDD 再到深度研究的可复用提示包 本能（Instincts） —— 引导 Claude 默认行为的自动化规则 内存优化 —— 面向长期项目的持久化知识图谱 持续学习 —— 自动改进循环，不断优化输出质量 安全扫描 —— 每次提交前的内置漏洞检测 研究优先开发 —— 代码变更前的自动化多源研究 MCP 配置 —— 开箱即用的 Model Context Protocol 服务器设置 而且完全 免费、MIT 协议开源。\n为什么需要 ECC # 如果你用过 Claude Code，你会知道它开箱即用已经很强大了。但当你在实际项目中每天使用时，你会发现：\n你总是重复输入相同的指令 上下文窗口被设置样板填满 每次都要重新告诉 Claude 你的项目约定 缺少持续改进的机制 ECC 通过提供一个结构化的增强层来解决所有这些问题。安装一次，你的 AI 代理就拥有了：\n一套完整的专业化技能库 项目约定和决策的自动记忆 内置的安全和代码审查质量门禁 写代码之前自动启动的研究能力 核心功能 # 技能系统 # 技能是 ECC 的核心工作流界面。它们就像作用域限定的工作流包：可复用的提示、结构、支持文件和代码地图，让 Claude 能快速导航你的项目而不消耗上下文。\n不需要每次都描述你想要什么，只需敲入斜杠命令：\n/tdd → 测试驱动开发工作流 /code-review → 全面代码审查 /e2e → 端到端测试设置 /refactor-clean → 死代码清理 /security-review → 安全漏洞扫描 /deep-research → 多源研究与综合 每个技能包括结构化提示、命令处理器和代码地图——Claude 正确执行该工作流所需的一切。\n本能（Instincts） # \u0026ldquo;本能\u0026quot;是引导 Claude 默认如何响应的自动化行为。ECC 为以下方面配置本能：\n代码质量标准（不可变性、错误处理、命名规范） 项目特定约定（文件组织、测试模式） 安全优先开发（输入验证、密钥检测） 文档规范（何时以及如何编写文档） 内存优化 # ECC 实现了持久化知识图谱，跨会话跟踪项目实体、决策和关系。这意味着你的 AI 代理会记住：\n架构决策及其理由 哪些模式对你的项目有效 关键实体及其关系 应指导未来工作的过往决策 不再需要每次会话都重新教导 Claude。\n持续学习 # ECC 包含自动反馈循环，会随着时间推移不断改进输出：\n运行评估来衡量质量 检测过去成功和失败中的模式 根据结果优化提示和本能 为你的领域构建定制知识库 安全扫描 # 每次提交前，ECC 可以运行安全检查：\n硬编码密钥和 API 令牌 SQL 注入漏洞 XSS 和 CSRF 模式 不安全的加密使用 依赖漏洞 研究优先开发 # ECC 推广\u0026quot;先研究再编码\u0026quot;的工作流。当你要求实现一个功能时，它会自动：\n搜索现有代码和 GitHub 模式 通过 Context7 查阅库文档 综合发现成果形成计划 然后——也只有到了这个时候——才开始写代码 跨平台兼容 # ECC 的突出特性之一是它 跨多个 AI 代理平台工作。你不需要绑定在单一工具上：\n平台 支持 Claude Code ✅ 完全支持 Codex（OpenAI） ✅ 完全支持 Cursor ✅ 完全支持 OpenCode ✅ 完全支持 Gemini ✅ 完全支持 GitHub Copilot ✅ 支持 一次安装，随处使用。\n项目内容 # ECC 包含大量经过生产测试的组件：\n300+ 技能 覆盖开发、测试、安全、研究和运维 100+ 代理 用于专业化任务（代码审查、安全、规划、研究） MCP 服务器配置 用于 Context7、Exa 搜索、数据库、GitHub 等 钩子系统 用于 PostToolUse 格式化、linting 和类型检查 语言特定规则 覆盖 TypeScript、Python、Go、Rust、Swift、PHP 等 VSCode 集成 和编辑器配置 插件系统 实现无缝 Claude Code 集成 模板项目 快速启动 项目跨多种语言——JavaScript（57%）、Rust（33%）、Python（5%）、Shell（3%）、TypeScript（1%）——拥有 170+ 贡献者。\n安装方法 # 方式一：作为插件安装（推荐） # 最简单的方式，将 ECC 安装为 Claude Code 插件：\n# 添加市场源 /plugin marketplace add https://github.com/affaan-m/everything-claude-code # 安装插件 /plugin install ecc@ecc 就这样。你现在可以访问所有命令、代理、技能和钩子。\n方式二：手动安装 # 克隆仓库并按需复制：\ngit clone https://github.com/affaan-m/everything-claude-code.git cd everything-claude-code # 复制你的技术栈所需的规则（例如 TypeScript + Web） cp -r rules/typescript ~/.claude/rules/ cp -r rules/web ~/.claude/rules/ cp -r rules/common ~/.claude/rules/ # 复制你需要的技能 cp -r skills/* ~/.claude/skills/ 方式三：通过 settings.json # 直接添加到你的 Claude 配置：\n{ \u0026#34;extraKnownMarketplaces\u0026#34;: { \u0026#34;ecc\u0026#34;: { \u0026#34;source\u0026#34;: { \u0026#34;source\u0026#34;: \u0026#34;github\u0026#34;, \u0026#34;repo\u0026#34;: \u0026#34;affaan-m/everything-claude-code\u0026#34; } } }, \u0026#34;enabledPlugins\u0026#34;: { \u0026#34;ecc@ecc\u0026#34;: true } } 快速上手 # 安装完成后，试试这些常用命令：\n/hookify → 为项目设置自动化钩子 /init → 为项目初始化 ECC /tdd → 启动测试驱动开发工作流 /code-review → 审查当前变更 /deep-research → 实现前进行深度研究 或者查看速查指南：/projects 查看项目级命令，/plan 进入结构化功能规划。\n为什么这很重要 # AI 编程代理正在以惊人的速度进步，但模型能力只是方程式的一半。另一半是你如何引导它。\nECC 提供了结构、记忆和工作流，将一个 AI 代理从聪明的自动补全转变为可靠、一致的开发伙伴。这就是让 Claude 从\u0026quot;审查一下这段代码\u0026quot;升级为检查安全、风格、测试和架构等 15 个特定质量门禁的差别。\n凭借 17.4 万+ 星标和 170+ 贡献者的活跃社区，ECC 已成为增强 AI 编程代理的事实标准。它不仅是一个工具——更是一场向正确方向发展的代理式开发运动。\n了解更多：\nGitHub：github.com/affaan-m/everything-claude-code 网站：ecc.tools 协议：MIT — 自由使用、修改和分享 ","externalUrl":null,"permalink":"/zh-cn/posts/everythingclaudecodeintro/","section":"Posts","summary":"一个源自 Anthropic 黑客马拉松获奖项目的 AI 代理增强系统，已获得 17.4 万+ GitHub 星标。\n","title":"Everything Claude Code：AI 代理性能系统的终极方案能","type":"posts"},{"content":" Everything OpenCode # 终端之战已经打响 # 两年前，如果你想用 AI 辅助编程，要么打开浏览器里的聊天窗口，要么安装一个 IDE 插件。今天，战场已经转移到了终端——而两个名字主导着这场对话：Claude Code，Anthropic 官方推出的编程代理工具，和 OpenCode，在开发者社区中掀起风暴的开源新秀。\n这两款工具都是运行在终端中的 AI 编程代理，能够理解你的代码库，并自主执行任务。它们都拥有热情的社区、快速的迭代周期和雄心勃勃的路线图。但它们的出发点截然不同。\n本文将从多个维度拆解它们之间的差异、优势和取舍，帮助你找到最适合自己的工具。\n什么是 Claude Code？ # Claude Code 是 Anthropic 官方的编程代理工具，于 2025 年 2 月以研究预览版发布，同年晚些时候正式上线。它的核心设计原则只有一个：让最强大的 AI 模型驱动整个开发流程。\n它运行在一个代理循环中——你描述需求，Claude 制定方案，阅读代码，跨文件修改，运行测试，根据失败结果迭代，最后交付成果。在 Anthropic 内部，现在大部分代码都由 Claude Code 编写，工程师专注于架构设计和任务编排。\n核心特点：\n深度绑定 Anthropic 的 Claude 模型（Opus、Sonnet、Haiku） 代理循环：规划 → 执行 → 观察 → 迭代 内置工具：Read、Write、Edit、Bash、Glob、Grep 扩展系统：skills、hooks、MCP 服务器、subagents、agent teams SWE-bench Verified 得分：80.9%（发布时最高） 安装方式：桌面应用或包管理器 定价：基于 Anthropic 订阅计划（有免费层） 什么是 OpenCode？ # OpenCode 是一个用 Go 语言构建的开源 AI 编程代理。它从一个社区项目起步，迅速增长到超过 15 万 GitHub Star、850+ 贡献者和 650 万月活开发者。它提供终端 TUI、桌面应用和 IDE 扩展三种使用方式。\n它的核心哲学是 提供商自由——你可以自带任何提供商的模型。OpenCode 不会把你锁死在单一的 AI 生态中。无论你喜欢 Claude、GPT-4o、Gemini、通过 Ollama 运行的本地模型，还是 GitHub Copilot，OpenCode 都能连接。\n核心特点：\n开源（MIT 协议），Go 语言构建，Bubble Tea TUI 多提供商：Anthropic、OpenAI、Google、AWS Bedrock、Groq、OpenRouter、本地模型 内置工具：glob、grep、view、write、edit、patch、bash、fetch、agent Plan/Build 双模式系统 LSP 集成，提供代码智能 支持 MCP 扩展协议 自定义命令、主题、快捷键绑定 安装：curl -fsSL https://opencode.ai/install | bash 定价：免费开源（自带 API 密钥） 架构：一体化 vs 模块化 # 两款工具最根本的差异在于架构设计。\nClaude Code：深度整合 # Claude Code 是专门为 Claude 模型打造的运行框架。工具和模型被设计为协同工作。当 Claude 规划一个多文件重构时，其深度推理能力——包括扩展思考——是原生可用的。工具不需要抽象多个提供商或处理模型特有的差异。\n这意味着 Claude Code 能充分利用 Claude 的优势：长上下文窗口、精准的工具调用和结构化推理。但这也意味着你被绑定在 Anthropic 的定价、可用性和模型路线图上。\nOpenCode：提供商抽象 # OpenCode 抽象化了 LLM 层，使任何提供商都能接入。TUI、工具系统和会话管理都是提供商无关的。这给了你最大的灵活性——你可以在同一个会话中用 GPT-4o 处理快速任务，用 Claude Opus 处理复杂推理——但这也意味着工具无法针对单一模型进行深度优化。\nOpenCode 的架构是模块化设计的：CLI 层（Cobra）、TUI 层（Bubble Tea）、LLM 抽象层、数据库层（SQLite）和 LSP 集成层。每个组件都可以独立替换或扩展。\n模型支持对比 # 方面 Claude Code OpenCode 默认模型 Claude Opus / Sonnet / Haiku 无（由你配置） Anthropic Claude 原生支持（最佳优化） 通过 API 密钥 OpenAI GPT 不支持 支持 Google Gemini 不支持 支持 AWS Bedrock 不支持 支持 本地模型（Ollama） 不支持 支持 GitHub Copilot 不支持 支持 OpenRouter 不支持 支持 会话中切换模型 /model 命令 Tab 键切换 扩展思考 原生支持（Opus） 取决于提供商 结论：OpenCode 胜在多样性，Claude Code 胜在深度。如果你需要提供商灵活性或本地模型处理敏感代码，OpenCode 是明确的选择。如果你想要与最强编程模型的最深度整合，Claude Code 的体验是任何多提供商工具无法比拟的。\n工具能力对比 # 两款工具的核心能力相似——文件操作、搜索、Shell 执行、Web 访问——但细节上有显著差异。\nClaude Code 的独特优势 # Subagents（子代理）：生成独立代理，在全新上下文中工作，返回简洁摘要，保持主会话上下文干净 Agent teams（代理团队）：协调多个独立的 Claude Code 会话，支持共享任务和对等通信 Hooks（生命周期钩子）：确定性自动化，在 PreToolUse、PostToolUse、Stop 等事件触发——保存时格式化、编辑后检查、停止时类型检查 Skills（技能）：可复用的工作流和参考知识，通过 /command 调用或由 Claude 自动加载 CLAUDE.md：每次会话自动加载的持久化项目级上下文——适合编码规范和规则 Bare mode（裸模式）：最小化模式，跳过自动发现，适合 CI/CD 脚本调用 Auto mode（自动模式）：让 Claude 基于风险评估自行决定何时询问、何时直接执行 OpenCode 的独特优势 # TUI 体验：全屏终端界面，支持主题、会话选择器、模型切换器、类 Vim 编辑器和文件变更可视化 多会话：在同一个项目上并行运行多个代理 Plan/Build 模式：在规划（只读分析）和构建（完整工具访问）之间用 Tab 切换 LSP 集成：代理直接查询语言服务器，获取实时诊断、定义跳转和引用查找 自定义命令：带命名参数占位符的可复用提示模板 会话分享：通过 opncd.ai 公共 URL 分享任何会话——对所有用户免费 Sourcegraph 集成：搜索公开 GitHub 仓库中的代码 多平台：同一套代码同时支持终端、桌面应用和 IDE 扩展 功能对比表 # 能力 Claude Code OpenCode 读取文件 支持 支持 写入文件 支持 支持 编辑文件 支持 支持 Shell 执行 支持 支持 文件搜索 Glob Glob 内容搜索 Grep Grep 网页抓取 支持 支持 网页搜索 Exa Exa LSP 集成 通过插件 内置 MCP 支持 支持 支持 子代理 完整系统 代理工具 并行执行 Agent teams 多会话 钩子/自动化 生命周期钩子 有限 技能/自定义命令 Skills 自定义命令 图片支持 支持 拖拽支持 会话分享 Pro/Max 计划 免费 撤销/重做 对话撤销 /undo / /redo 桌面应用 支持 支持 IDE 扩展 VS Code、JetBrains VS Code 扩展性 # Claude Code 的分层扩展模型 # Claude Code 的扩展系统按层次组织，每层有明确用途：\nCLAUDE.md — 持久化项目上下文，每次会话自动加载。适合\u0026quot;用 pnpm 不要用 npm\u0026quot;这类规则。 Skills（技能） — 包含指令和工作流程的 Markdown 文件。通过 /command 调用或由 Claude 自动加载。可在子代理中隔离运行。 MCP 服务器 — 标准协议，连接数据库、API、GitHub、Slack 等数千种服务。 Hooks（钩子） — 确定性的脚本，在 PreToolUse、PostToolUse、Stop 等生命周期事件触发。无论模型行为如何，保证执行。 Subagents（子代理） — 隔离的上下文，自定义提示和工具权限。配置专门的审查、研究或调试工作者。 Agent teams（代理团队） — 多个 Claude Code 会话协调工作，通过共享任务通信结果。 Plugins（插件） — 打包层，将 skills、hooks、subagents 和 MCP 服务器打包为可分发的单元。 OpenCode 的可扩展设计 # 自定义命令 — 带命名参数占位符的 Markdown 模板，存储在用户级或项目级。 Agents（代理） — 可在 Markdown 文件中配置的主代理和子代理，通过权限系统控制工具访问。 MCP 服务器 — 标准 MCP 支持，连接外部服务。 主题与快捷键 — TUI 体验的完全自定义。 自定义工具 — 在 opencode.json 中定义自己的工具函数。 Skills — SKILL.md 文件，遵循 Agent Skills 开放标准（与 Claude Code 共享）。 定价对比 # Claude Code OpenCode 工具费用 订阅制 免费（开源） 免费层 有限使用（Haiku/Sonnet） 无限（使用你的 API 密钥） Pro $20/月 $0 Max/Team $100-200/月 $0 模型费用 包含在订阅中 直接向提供商支付 本地模型 不支持 支持（免费） 对成本敏感的团队：OpenCode 胜出。如果你已经有 Claude、GPT 或 Gemini 的 API 密钥，OpenCode 不会带来额外费用。对于使用量不固定的团队，OpenCode 按 token 付费的模式可能比固定订阅便宜得多。支持本地模型也使其适用于离线环境。\n社区与生态 # Claude Code OpenCode GitHub Star ~122K 150K+ 贡献者 ~50 850+ 开源 部分（安装脚本） 完全开源（MIT） 治理 Anthropic（公司） 社区 + 公司 发布节奏 每周 每周多次 三方插件 增长中 丰富 如何选择？ # 选择 Claude Code，如果： # 你想要与最强编程模型（Claude Opus）的最深度整合 你重视通过生命周期钩子实现的确定性自动化 你需要企业级的安全支持和单供应商解决方案 你希望一个订阅、一个 API、一个生态系统 你依赖高级功能如代理团队和扩展思考 基准测试性能是你的首要决策标准 选择 OpenCode，如果： # 你想要提供商自由——今天用 Claude，明天换 Gemini 你偏好可以审查、修改和自托管的开源软件 你需要在离线或敏感环境中使用本地模型 你已有 API 密钥，不想再多一个订阅 你重视精美的 TUI、主题支持、会话管理和键盘驱动的工作流 你在同一项目上并行运行多个代理 你跨不同项目工作，使用不同的工具链 最终结论 # 说实话，两款工具都非常优秀——最佳选择完全取决于你的优先事项。\nClaude Code 是深度路线。 它全力投入单一模型生态系统，提供了任何多提供商工具都无法比拟的整合质量。如果你相信 Claude 是最好的编程模型（基准测试也支持这一点），Claude Code 是自然的选择。\nOpenCode 是广度路线。 它牺牲了一定程度的整合深度来换取最大的灵活性。如果你重视选择权、开放性和随模型格局变化而适应的能力，OpenCode 很难被击败。\n在实践中，很多开发者两者都用——Claude Code 处理繁重的任务和复杂推理，OpenCode 用于快速任务、多提供商工作流以及 Claude Code 不适用或不可用的环境。\n终端已经成为 AI 辅助开发中最激动人心的战场。无论你选择哪一边，你都活在未来的世界里。\n本文对比基于 2026 年 5 月两款工具的状态。两个项目都在快速迭代——请查阅官方文档获取最新功能。\n","externalUrl":null,"permalink":"/zh-cn/posts/opencodevsclaudecode/","section":"Posts","summary":"Everything OpenCode # 终端之战已经打响 # 两年前，如果你想用 AI 辅助编程，要么打开浏览器里的聊天窗口，要么安装一个 IDE 插件。今天，战场已经转移到了终端——而两个名字主导着这场对话：Claude Code，Anthropic 官方推出的编程代理工具，和 OpenCode，在开发者社区中掀起风暴的开源新秀。\n","title":"OpenCode vs Claude Code：AI 编程代理该如何选择？","type":"posts"},{"content":" Everything OpenCode # 一、引子 # 想象这个场景：你坐在终端前，输入 opencode \u0026quot;给用户注册接口加上 JWT 认证\u0026quot;，然后看着一个 AI 代理读取你的整个代码库，规划出实现方案，编写代码，运行测试，最后创建了一个完美的 PR——而你只需要审阅结果。\n这不是 demo 视频，这是 OpenCode 的日常。\nOpenCode 是 GitHub 上增长最快的开源 AI 编程代理，已获得超过 12 万颗星标。它用 Go 语言构建，直接运行在你的终端里，能够理解整个项目，可以通过自然语言对话来编辑文件、执行命令、管理 Git，甚至是部署代码。\n这篇教程会带你从零开始，在 10 分钟内学会使用 OpenCode。\n二、OpenCode 是什么 # 市面上有很多 AI 编程工具，OpenCode 有什么不同？\n它是真正的代理，不是聊天机器人。 传统 AI 助手等你提问然后回答。OpenCode 会主动分析问题、制定计划、执行修改、验证结果——就像一个主动推进工作的资深工程师坐在你身边。\n它驻扎在终端里。 不需要在浏览器标签页和编辑器之间来回切换。OpenCode 是你工作的地方的 AI。\n模型无关。 OpenCode 支持 75+ 个 LLM 提供商——Anthropic、OpenAI、Google Gemini、Groq，甚至通过 Ollama 使用本地模型。你可以在一次会话中用一条命令随时切换模型。\n真正的开源。 MIT 协议授权，可自行托管，你的数据不会离开你的基础设施。\n三、安装：5 种方式任你选 # OpenCode 支持 macOS、Linux 和 Windows（通过 WSL）。\n方式一：快速安装脚本（推荐） # 最快的方式，一条命令搞定：\ncurl -fsSL https://opencode.ai/install | bash 脚本会自动检测你的操作系统和架构，下载对应的二进制文件并配置到 PATH 中。无需任何依赖。\n方式二：Homebrew（macOS / Linux） # 如果你用 Homebrew，这是最干净的方式：\nbrew install anomalyco/tap/opencode 注意：官方 Homebrew 公式（brew install opencode）由 Homebrew 团队维护，更新较慢。上面的 OpenCode tap 始终保持最新版本。\n方式三：npm（跨平台） # 如果你的工作流中已经有 Node.js：\nnpm install -g opencode-ai 方式四：Docker（无需安装） # 想在不安装任何东西到系统的情况下试用？\ndocker run -it --rm ghcr.io/anomalyco/opencode 方式五：平台特定安装 # Arch Linux：sudo pacman -S opencode（稳定版）或 paru -S opencode-bin（最新版） Windows (Scoop)：scoop install opencode Windows (Chocolatey)：choco install opencode Go：go install github.com/anomalyco/opencode@latest 验证安装 # 安装后确认一切正常：\nopencode --version 你应该能看到类似 v0.1.x 的版本号。\n四、配置：连接 AI 模型 # OpenCode 是模型无关的——你选择想用的 AI 模型。\n方案 A：OpenCode Zen（最简单） # 对新手来说最简单的方式是 OpenCode Zen——一系列经过验证的模型集合：\n运行 opencode 启动 TUI 输入 /connect 并选择 opencode 在浏览器中打开 https://opencode.ai/auth 登录后添加支付信息，复制 API key 把 key 粘贴回终端 无需管理 API key，无需配置文件——开箱即用。\n方案 B：使用你自己的 API Key # 设置环境变量：\n# Anthropic Claude export ANTHROPIC_API_KEY=\u0026#34;your-key-here\u0026#34; # OpenAI export OPENAI_API_KEY=\u0026#34;your-key-here\u0026#34; # Google Gemini export GOOGLE_API_KEY=\u0026#34;your-key-here\u0026#34; 把这几个加到 ~/.zshrc 或 ~/.bashrc 中永久生效。\n方案 C：交互式认证 # 在命令行中运行：\nopencode auth login 它会引导你选择提供商并设置凭证。凭证存储在 ~/.local/share/opencode/auth.json。\n五、第一次使用 # 启动 OpenCode # 进入你的项目目录并启动：\ncd /path/to/your/project opencode OpenCode 会启动它的终端用户界面（TUI）——一个运行在终端里的全屏聊天界面。\n初始化项目 # 在 TUI 中运行：\n/init 这会扫描你的项目结构，识别关键文件和模式，在项目根目录创建一个 AGENTS.md 文件。这个文件告诉 OpenCode 你的代码库的架构、约定和风格。\n记得把 AGENTS.md 提交到 Git！你的整个团队都会受益于 OpenCode 理解项目上下文。\n交给它一个任务 # 现在进入最有趣的部分。试试这个：\n解释这个项目的架构 或者更有挑战性一点的：\n给用户注册接口添加输入验证，包括邮箱格式和密码强度检查 OpenCode 会：\n读取相关文件 制定计划（在 Plan 模式下显示） 修改前请求你的确认 实施解决方案 运行测试验证 按 Tab 键切换 Plan 模式（仅建议，不修改文件）和 Build 模式（实际修改代码）。\n六、核心命令速查 # 命令 说明 /init 为当前项目初始化 OpenCode /connect 配置或切换 AI 提供商 /model 在会话中切换模型 /agents 列出和切换代理 opencode run \u0026quot;...\u0026quot; 非交互模式运行任务 opencode serve 启动 HTTP 服务器（OpenAPI） opencode models 列出可用模型 opencode auth login 交互式提供商认证 七、主要功能一览 # 双代理模式 # OpenCode 内置两个代理：\n代码代理（默认）：在工作区中编辑代码 架构代理：分析规划但不修改文件 按 Tab 键切换。复杂任务先用架构代理分析，再切换到代码代理实现。\nLSP 集成 # OpenCode 连接到你项目的语言服务器协议（LSP），获得实时代码智能——跳转到定义、查找引用、实时诊断——支持 TypeScript、Python、Go、Rust 等语言。\n多会话管理 # OpenCode 跨会话跟踪你的对话历史。使用 opencode sessions 列出历史会话，随时继续之前的工作。\n非交互模式 # 用于自动化和 CI/CD 流水线：\nopencode run \u0026#34;把所有 console.log 替换为 logger 工具函数\u0026#34; 这种模式无头运行——不需要 TUI，没有交互提示。非常适合脚本自动化。\nMCP 服务器支持 # OpenCode 支持模型上下文协议（Model Context Protocol），让 AI 连接外部工具，如数据库、API、文件系统。在项目配置 opencode.json 中配置 MCP 服务器。\n八、实用技巧 # 从小任务开始。 先让 OpenCode 在一个明确的小问题上证明自己，再交给它大型重构任务。\n先审查计划。 对复杂任务使用 Plan 模式（Tab 键）——计划阶段就能看出 OpenCode 是否理解了问题。\n改代码前先提交。 OpenCode 基于当前工作状态工作。干净的工作树能帮助它更清晰地推理变更。\n自定义 AGENTS.md。 /init 生成的文件只是一个起点。编辑它，加入项目特定的约定、API 文档和架构决策。\n用 /model 优化成本。 复杂推理任务使用强力模型，简单任务切换成更便宜的模型，一次会话中随时切换。\n九、总结 # OpenCode 代表了一类新的开发工具——终端原生的 AI 编程代理。它开源、模型无关，深度集成在开发者已有的工作流程中。\n10 分钟内，你可以从零到拥有一个理解你代码库、能写生产代码、能跑测试、能管理 Git 工作流的 AI 代理。入门门槛低得惊人：一条安装命令，一次 /init，然后你就开始高效工作了。\n这个项目正在快速发展，拥有活跃的开源社区。无论你是一个想加速工作流的独立开发者，还是一个正在评估 AI 编程工具的团队，OpenCode 都值得你关注。\n官方网站：https://opencode.ai GitHub 仓库：https://github.com/anomalyco/opencode 官方文档：https://dev.opencode.ai/docs\n","externalUrl":null,"permalink":"/zh-cn/posts/opencodetutorial/","section":"Posts","summary":"Everything OpenCode # 一、引子 # 想象这个场景：你坐在终端前，输入 opencode \"给用户注册接口加上 JWT 认证\"，然后看着一个 AI 代理读取你的整个代码库，规划出实现方案，编写代码，运行测试，最后创建了一个完美的 PR——而你只需要审阅结果。\n","title":"OpenCode 完全指南：安装配置到高效使用，10 分钟上手终端 AI 编程助手","type":"posts"},{"content":" Blowfish 包含了大量的特性功能。 Blowfish 的目标是开发一个简单且轻量级的主题。 该主题是 Congo 的一个分支，并进行了大量扩展。\nTailwind CSS 3.0 # Tailwind CSS 是 Blowfish 的核心，当前版本包含了最新的Tailwind CSS version 3。 Tailwind CSS 带来了性能优化，并提供了一些出色的新的 CSS 特性。\n多语言支持 # 这是一个高频需求，Blowfish 现在支持多语言！ 如果你使用多语言发布你的内容，网站将会构建包含所有可用翻译的版本。\n🇬🇧 🇩🇪 🇫🇷 🇪🇸 🇨🇳 🇧🇷 🇹🇷 🇧🇩 感谢社区的贡献，目前 Blowfish 已经翻译成三十种语言，并且随着时间的推移还会支持更多。 顺便一提，欢迎你为支持新语言提交 PR。\n支持 RTL 语言 # 新版本的Tailwind和多语言特性可以支持 RTL 语言。\n启用 RTL 后，整个网站将会从右到左重新生成内容。主题中的所有元素都会重新风格化，以适应这种模式，有助于 RTL 语言者。\nRTL 是基于单独语言控制的，所以你可以在项目中通过支持多语言来混合使用 RTL 和 LTR，主题会相应做出适配。\n自动调整图片大小 # Blowfish 2.0版本的重大变化是增加了自动调整图片大小的功能。基于 Hugo Pipes 提供的能力，实现了 Markdown 中的图片自动缩放到不同尺寸的功能。同时 Blowfish 2.0 还支持了 HTML srcset 以实现响应式图像，这能够为访问者优化图片大小。\n\u0026lt;!-- Markdown: ![My image](image.jpg) --\u0026gt; \u0026lt;img srcset=\u0026#34; /image_320x0_resize_q75_box.jpg 320w, /image_635x0_resize_q75_box.jpg 635w, /image_1024x0_resize_q75_box.jpg 1024w\u0026#34; src=\u0026#34;/image_635x0_resize_q75_box.jpg\u0026#34; alt=\u0026#34;My image\u0026#34; /\u0026gt; 当然这一切都不需要你做任何改动！只需要在 Markdown 中插入标准的图片元素，Blowfish 主题会自动帮你完成这些。\n如果你想要图片变得更可控一些，你可以使用短代码 figure 。 figure 已经被完全重写，用于提供类似调整大小的功能优势。\n站点搜索 # 基于 Fuse.js 提供的模糊搜索，访问者可以快速轻松地找到想要的内容。所有的模糊搜索都在客户端完成，不需要服务端做任何配置，同时保证了搜索的执行速度。只需要你在网站配置中启用这个功能就可以运行！哦，它甚至还支持全键盘导航！\n目录 # 这也是一个高频的需求，Blowfish 现在支持在文章内容页面中使用目录。你可以在本页面看到它的实际效果。目录完全是响应式的，并且会在不同屏幕分辨率下进行自动调整。\n目录可以给予全局或者每篇文章，也可以使用标准的 Hugo 配置来完全定制化，允许你根据自己的项目调整。\n可访问性改进 # 这个版本是至今为止最易访问的！Blowfish 不仅为更多项目提供了 ARIA 描述，还简单地调整了某些文本元素的对比度。\n不仅如此，Blowfish 2.0 引入了 “跳转到内容” 和 “滚动到顶部” 的功能，使得导航更加便捷。你甚至可以仅用键盘快捷键来使用像搜索这样的功能，不需要使用鼠标哦~\n新功能图片大小调节还提供了对 alt 和 title 元素的完全控制，为所有访问者提供一个无障碍的体验。\n更多更多 # 当然还有无数其他的功能等待你的探索。例如在文章和列表页面显示分类、使用 headline 作者参数来定制你的主页，还有使用改进 JSON-LD 结构化数据，从而进一步优化了 SEO 性能等等。\n结语 # 欢迎来尝试和探索强大而轻量的 Blowfish 2.0，打造优雅、个性化的创作之旅！\n如果你对 Blowfish 有更加创意的想法，欢迎随时提交，期待与你共同营造 Blowfish 的开源文化！\n","externalUrl":null,"permalink":"/zh-cn/docs/welcome/","section":"文档","summary":" Blowfish 包含了大量的特性功能。 Blowfish 的目标是开发一个简单且轻量级的主题。 该主题是 Congo 的一个分支，并进行了大量扩展。\n","title":"欢迎来到 Blowfish","type":"docs"},{"content":"SchoolBell logo 提示 再也不用一个接一个地设置闹钟了！无论身处何地，都能规划好你的每一天。SchoolBell 能帮助你利用专业的校时器来安排学习时段和休息时间。\n学校铃声：智能课堂定时器 # 将教室的结构带入您的口袋中。 无论是在家学习的学生、远程授课的教师，还是负责测试课程安排的学校管理人员，SchoolBell 都能为您提供高精度、自动化的上课铃声系统。告别手动定时器，专注于最重要的事情：学习。主要特点：\n真实的钟声：可从高品质的.m4r 和.mp3 学校钟声库中选择，包括传统电铃和现代教室铃声。 全球课程预设：可立即应用来自世界各地的标准课程表，包括中国中学、日本高中、韩国高中以及英国/美国的模块式课程表。 智能背景提醒：我们先进的通知系统能确保即使您的手机处于锁定状态或应用程序已关闭，钟声也能准确响起。 隐私优先：不进行数据收集。您的课程表和设置会保留在您的设备上。 适用场景： 在家上学：让大家保持规律的学习节奏。 自我学习：利用学校日的番茄工作法节奏来提高效率。 学校模拟：测试校铃时间和课程表以供教育机构使用。 自定义schedule，轻松搞定自己的学习计划。 无广告，体验好。 聆听钟声。保持正轨。立即下载 校园铃声（SchoolBell）。 ","externalUrl":null,"permalink":"/zh-cn/posts/schoolbellapp/","section":"Posts","summary":"SchoolBell logo 提示 再也不用一个接一个地设置闹钟了！无论身处何地，都能规划好你的每一天。SchoolBell 能帮助你利用专业的校时器来安排学习时段和休息时间。\n","title":"再也不用一个接一个地设置闹钟了！","type":"posts"},{"content":"如果想快速上手，可以按照标准的 Hugo 快速启动 文档。\n更详细的安装如下，更新主题的教程也可以看此文档。\n前言 # 本文将一步一步指导你学会使用 Hugo 和 Blowfish。本文中提到的大多数依赖项都可以在任意你想使用的平台中使用和安装。\n安装 Hugo # 如果你之前没有使用过 Hugo，你首先需要了解在本地机器安装 Hugo。你可以通过运行命令 hugo version 来检查是否安装完成。\n确保你使用 Hugo 0.141.0 或更高的版本，Blowfish 主题中使用了最新的 Hugo 特性。 你可以在 Hugo 文档 中找到不同平台更加详细的安装指南。\n使用 Blowfish-Tools 工具安装 (推荐) # 我们刚刚推出了一个 CLI 工具，帮助你首次使用 Blowfish。该工具将会为你创建一个新的 Hugo 项目、安装 Blowfish 主题并设置配置文件。但目前该工具仍处于测试阶段，如果遇到任何问题，请随时提交 issues。\n使用 npm 包或其他的包管理器，在全局环境中安装 CLI：\nnpx blowfish-tools 或者\nnpm i -g blowfish-tools 然后运行 blowfish-tools 命令，它将引导你完成创建和配置用例。\nblowfish-tools 你也可以运行 blowfish-tools new 命令来创建一个新的 Hugo 项目，并且一次性地安装主题。查看 CLI 帮助以获取更多信息。\nblowfish-tools new mynewsite 下面是一个简短的视频，介绍了如何使用 CLI 工具快速构建 Blowfish：\n无需 CLI 的安装 # 创建新站点 # 运行 hugo new site mywebsite 命令，可以在mywebsite目录下创建一个新的 Hugo 站点。\n下面会以 mywebsite 为例展开说明。当然你完全可以使用任何你喜欢的目录名称，但在阅读下面的内容时，请记得将mywebsite替换为此。\n下载 Blowfish 主题 # 有多种方法可以将 Blowfish 主题安装在 Hugo 站点中。下面我们由易到难逐一介绍：\n使用 Git 子模块安装 (推荐) 使用 Hugo 模块安装 手动文件复制 如果你不确定用哪一个，请直接选择 Git 子模块的方式。\n使用 Git 子模块安装 # 这个方法可以保证主题简单且快速地安装和更新。除了 Hugo 和 Go，你还需要确保本地机器安装了 Git。\n进入你刚才创建的网站目录 mywebsite，初始化一个新的 git 仓库并将 Blowfish 添加为子模块。\ncd mywebsite git init git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish 然后 设置主题的配置文件。\n使用 Hugo 模板安装 # 这种方法是使用 Hugo 来管理你的主题，Hugo 使用 Go 来初始化和管理模块，所以首先需要确保已经安装了go。\n下载 并安装 Go。你可以使用 go version 命令来检查是否安装。\n确保你使用 Go 1.12 或 更高的版本，Hugo 需要这个版本才能加载模块。 在你刚才创建的网站目录 mywebsite下，为你的网站初始化模块：\n# 如果你在 Github 上管理你的项目 hugo mod init github.com/\u0026lt;username\u0026gt;/\u0026lt;repo-name\u0026gt; # 如果你在本地管理你的项目 hugo mod init my-project 创建一个新文件 config/_default/module.toml，并添加下面的内容来配置主题：\n[[imports]] disable = false path = \u0026#34;github.com/nunocoracao/blowfish/v2\u0026#34; 使用hugo server 命令后，主题将会自动下载。\n然后 设置主题的配置文件.\n手动复制文件 # 下载最新的主题源码。\n从 Github 下载 解压缩, 并将文件夹重命名为 blowfish，将其移动到你的 Hugo 项目根目录下的 themes/ 目录中。\n然后 设置主题的配置文件.\n设置主题的配置文件 # 在你的网站根目录中，删除 Hugo 自动生成的 hugo.toml 文件。从主题中复制 *.toml 文件，粘贴到 config/_default/ 目录中。这将确保你的主题设置准确无误，在此基础上你能够轻松地自定义主题。\n注意: 如果项目中已经存在 module.toml 文件，请不要覆盖它！ 根据你安装主题的不同方式，你可以在以下地方找到主题的配置文件：\nHugo 模块: 在 Hugo 的缓存目录, 或者从 Github 下载副本 from GitHub Git 子模块 或 本地复制文件: themes/blowfish/config/_default 一旦你复制了这些文件，你的 config 目录看起来应该是这样：\nconfig/_default/ ├─ hugo.toml ├─ languages.en.toml ├─ markup.toml ├─ menus.en.toml ├─ module.toml # 通过 Hugo 模块安装 └─ params.toml 重要: 如果你没有使用 Hugo 模块安装 Blowfish，那么你必须在 hugo.toml 文件中添加 theme = \u0026quot;blowfish\u0026quot;。 下一步 # 基本的 Blowfish 安装已经完成。继续阅读 入门指南，了解更多关于主题配置的内容。\n更新主题 # 经常会有 新版本 的主题发布，这些版本主要是修复 bug 和添加新功能。如果想要用到新版本的功能，那么你需要更新网站的主题。\n如何更新主题取决于最初安装主题时选择的安装方式，具体如下：\n使用 Git 子模块安装 使用 Hugo 模块安装 手动文件复制 使用 git 更新 # Git 子模块的方式，可以使用 git 命令更新。只需执行以下命令，最新版的主题将会下载到你的本地仓库中：\ngit submodule update --remote --merge 一旦子模块更新完毕，请检查你的确实是否一切正常。\n使用 Hugo 更新 # Hugo 更新也十分容易。只需要进入网站根目录，并执行以下命令即可：\nhugo mod get -u Hugo 将自动更新项目中所需的任何模块。它通过检查 module.toml 和 go.mod 来实现的。如果你在更新过程中遇到任何问题，请确保这两个文件是正常配置的。\n重建完毕后，请检查网站是否一切正常。\n手动更新 # 手动更新 Blowfish 需要下载主题的最新副本，并替换项目中的旧版本。\n注意：在手动替换过程中，你对主题文件中所做的任何修改都会丢失。 下载主题最新版本的源码。\n从 Github 下载 解压缩, 将文件夹重命名为 blowfish，并移动到根目录 themes/ 目录下。你需要覆盖旧版以替换所有的主题文件。\n重建站点，并检查网站是否一切正常。\n","externalUrl":null,"permalink":"/zh-cn/docs/installation/","section":"文档","summary":"如果想快速上手，可以按照标准的 Hugo 快速启动 文档。\n更详细的安装如下，更新主题的教程也可以看此文档。\n","title":"安装和配置","type":"docs"},{"content":" 本节内容需要已经阅读了 安装 Blowfish 主题。 我们刚刚推出了一个 CLI 工具，用来帮助你快速开始 Blowfish。 它将帮助你安装和配置 Blowfish 主题。 可以使用以下命令全局安装 CLI 工具：\nnpx blowfish-tools Blowfish 中的配置文件中包含了主题需要的所有可能的设置选项。但默认情况下大多数设置都是被注释的，你只需要取消注释就可以激活或者修改设定选项。\n基础设置 # 在刚刚安装完成，创建内容之前，有几个设置需要关注。从 hugo.toml 开始，设置 baseURL 和 languageCode 参数。languageCode参数是用来指定你创作内容的主要语言。\n# config/_default/hugo.toml baseURL = \u0026#34;https://your_domain.com/\u0026#34; languageCode = \u0026#34;en\u0026#34; 下一步是设置语言。尽管 Blowfish 支持多语言，但是 hugo.toml 只能配置一个主语言。\n在 config/_default 文件夹中找到 languages.en.toml。如果你的主语言是英语，你可以直接使用此文件。否则需要重命名为主语言对应的文件名。例如，如果主语言是法语，那么需要将文件命名为 languages.fr.toml。\n注意：语言配置文件名中的语言代码需要与 hugo.toml 中 languageCode 相匹配。 # config/_default/languages.en.toml title = \u0026#34;My awesome website\u0026#34; [params.author] name = \u0026#34;My name\u0026#34; image = \u0026#34;img/author.jpg\u0026#34; headline = \u0026#34;A generally awesome human\u0026#34; bio = \u0026#34;A little bit about me\u0026#34; links = [ { twitter = \u0026#34;https://twitter.com/username\u0026#34; } ] [params.author] 属性决定了作者信息的展示方式。 作者的图片信息应该放在 assets/ 文件夹中。作者相关的链接将会按照排列顺序依次展示。\n如果你还需要额外属性，在配置部分会有详细说明。\n颜色方案 # Blowfish 提供多种预设配色方案。你可以在下面测试可用的配色方案：\nautumn avocado bloody blowfish congo fire forest github marvel neon noir one-light princess slate terminal # config/_default/params.toml colorScheme = \u0026#34;github\u0026#34; Blowfish 中的每个配色方案均基于三色调色板，并在整个主题中保持一致应用。这些主色基于 Tailwind CSS 所提供的十阶色板构建。\n这些是内置的配色方案，你也可以去自定义这一部分，请参阅 高级自定义 。\n整理内容 # 默认情况下， Blowfish 不强制你使用特定类型的内容。这样你可以随意自定义你想要的内容。你可能喜欢用作静态网站页面、博客帖子，或作为作品集中的某个项目。\n这是基本 Blowfish 项目的快速概览。所有内容都放在 content 文件夹中：\n. ├── assets │ └── img │ └── author.jpg ├── config │ └── _default ├── content │ ├── _index.md │ ├── about.md │ └── posts │ ├── _index.md │ ├── first-post.md │ └── another-post │ ├── aardvark.jpg │ └── index.md └── themes └── blowfish 一定要熟练掌握在 Hugo 中组织你想要的内容，此主题也旨在充分利用 Hugo 中页面页面捆绑的逻辑。请阅读 Hugo 官方文档 以获取更多内容。\nBlowfish 在分类方法上面也非常灵活。有的人喜欢使用标签（tags）和类别（categories）来分组内容，而有的人喜欢用话题（topics）。\nHugo 默认是使用帖子、标签和类别，这三种可以开箱即用的。但如果你希望自定义，那么可以创建 taxonomies.toml 配置文件来实现：\n# config/_default/taxonomies.toml topic = \u0026#34;topics\u0026#34; 这将把默认的标签和分类替换成话题。有关 Hugo 中命名分类法的更多内容，可以参考 Hugo 分类方法。\n当你创建了一个新的分类法时，需要调整网站上的导航链接，以确保新分类可以指向正确的内容，下面会详细介绍。\n菜单 # Blowfish 有两个可以定制的菜单，以此来适配网站中的内容和布局。main菜单出现在网站头部，footer菜单出现在页面底部和版权声明上方。\n这两个菜单都是配置在 menus.en.toml 文件中。与语言配置文件类似，如果你希望使用另一种语言，请重命名这个文件并将 en 替换为你所希望的语言代码。\n# config/_default/menus.toml [[main]] name = \u0026#34;Blog\u0026#34; pageRef = \u0026#34;posts\u0026#34; weight = 10 [[main]] name = \u0026#34;Topics\u0026#34; pageRef = \u0026#34;topics\u0026#34; weight = 20 [[main]] pre = \u0026#34;github\u0026#34; name = \u0026#34;GitHub\u0026#34; url = \u0026#34;https://github.com/nunocoracao/blowfish\u0026#34; weight = 30 [[main]] identifier = \u0026#34;github2\u0026#34; pre = \u0026#34;github\u0026#34; url = \u0026#34;https://github.com/nunocoracao/blowfish\u0026#34; weight = 40 [[footer]] name = \u0026#34;Privacy\u0026#34; url = \u0026#34;https://external-link\u0026#34; name 参数用于指定菜单中的文本。你还可以选择性的提供一个 title 标题，它将会被填充到链接的 HTML 代码的 title 属性中。\npageRef 参数用于引用 Hugo 的分类。这是配置菜单最简单的方法，你无需引用任何 Hugo 内容项，它会自动构建正确的链接。如果你需要链接到外部 URL，那么可以使用 url 参数。\npre 参数用于设置菜单条目上的图标，这个图标需要是 Blowfish 图标集中的一个。这个参与可以和 name 一起使用，也可以单独使用。如果你指向展示图标，请设置 identifier 参数，否则 Hugo 将默认使用 name 作为 id，可能不会显示所有菜单项。\n菜单中的多个链接将会根据 weight 权重参数进行从低到高排序，如果权重值一样那么会按照 name 字母顺序排序。\n这两个菜单都是完全可选的，如果不需要也可以注释掉。你可以使用文件中提供的模板作为示例。\n嵌套菜单 # Blowfish 还支持嵌套菜单。你需要在menu.toml 中定义一个父级菜单项及其子菜单，使用 parent 可以指定子菜单项的父级。在上面菜单部分提到的所有参数一样适用于子菜单项，同样地，pageRef 和 url 也可以在父菜单项中使用。还需要注意一点，嵌套菜单只能在 main 菜单中可用，即网站头部的菜单。\n# config/_default/menus.toml [[main]] name = \u0026#34;Parent\u0026#34; weight = 20 [[main]] name = \u0026#34;sub-menu 1\u0026#34; parent = \u0026#34;Parent\u0026#34; pageRef = \u0026#34;samples\u0026#34; weight = 20 [[main]] name = \u0026#34;sub-menu 2\u0026#34; parent = \u0026#34;Parent\u0026#34; pageRef = \u0026#34;samples\u0026#34; weight = 20 [[main]] name = \u0026#34;sub-menu 3\u0026#34; parent = \u0026#34;Parent\u0026#34; pre = \u0026#34;github\u0026#34; pageRef = \u0026#34;samples\u0026#34; weight = 20 子导航菜单 # 此外，你可以设置一个子导航菜单。只需要在 menus.toml 中将新的菜单项定义为 subnavigation 即可。 这将在主菜单下面展示第二行，其中包含子类别项。\n# config/_default/menus.toml [[subnavigation]] name = \u0026#34;An interesting topic\u0026#34; pageRef = \u0026#34;tags/interesting-topic\u0026#34; weight = 10 [[subnavigation]] name = \u0026#34;My Awesome Category\u0026#34; pageRef = \u0026#34;categories/awesome\u0026#34; weight = 20 默认的 name 是 pageRef 的首字母大写。\n缩略图 \u0026amp; 背景 # Blowfish 的创立开端旨在便于为文章添加视觉效果。如果你熟悉 Hugo 的文章结构，只需要在你文章所在的文件夹中，放置一个以feature*开头的图像文件（Blowfish支持所有格式的文件，但更推荐使用 .png 或 .jpg）。就这样，Blowfish 就能够将图像文件作为文章的缩略图，而且能够在社交平台的 \u0026lt;a target=\u0026quot;_blank\u0026quot; href=\u0026quot;https://oembed.com/\u0026quot;\u0026gt;oEmbed\u0026lt;/a\u0026gt; 卡片中使用。\n这里 有一个指南，提供了个人更多的内容和示例。如果你想看看具体如何操作可以看这里。\nBlowfish 还支持在文章和列表中使用背景图。为了使与缩略图不同，可以添加一个名为 background* 开头的图像文件。当然如果你没有设置背景图片，Blowfish 会默认使用缩略图作为背景图。\n详细配置 # 上面的步骤介绍了最基本的配置。如果你现在运行 hugo server，你将会看到一个空白的 Blowfish 网站。更加详细的内容在配置中介绍。\n","externalUrl":null,"permalink":"/zh-cn/docs/getting-started/","section":"文档","summary":" 本节内容需要已经阅读了 安装 Blowfish 主题。 我们刚刚推出了一个 CLI 工具，用来帮助你快速开始 Blowfish。 它将帮助你安装和配置 Blowfish 主题。 可以使用以下命令全局安装 CLI 工具：\n","title":"入门指南","type":"docs"},{"content":"Blowfish 是一个高度定制化的主题，使用到了一些 Hugo 中最新的特性来简化配置方式。\n主题附带了默认配置，可以让你快速启动一个基本的博客或静态网站。\n我们刚刚推出了 CLI 工具，来帮助你快速上手 Blowfish。它将帮助你进行安装和配置。使用以下命令可以全局范围安装 CLI 工具：\nnpx blowfish-tools 配置文件是基于 TOML 格式的，这也是 Hugo 默认支持的语法。当然如果你愿意，也可以将配置转换成 YAML 或 JSON 格式。\n默认情况下，在每个文件中都定义了主题中的可用参数，因此你可以自由调整设置来满足你的需求。\n正如安装说明中的内容，如果你想调整主题配置，可以修改 Hugo 项目中 config/_default/ 文件夹下的文件，并删除项目根目录中的 hugo.toml 文件。 网站配置 # Blowfish 主题支持了 Hugo 框架中定义的所有标准配置变量。但如果希望有更好的体验，需要设置一些特定的配置。\n网站配置是通过 config/_default/hugo.toml 文件管理的。下面的表格展示了 Blowfish 中的所有设置.\n值得注意的是，表格中提供的变量名可以使用点表示法来简化 TOML 数据结构，例如 outputs.home 指的是 [outputs] home。\n名称 默认值 描述 theme \u0026quot;blowfish\u0026quot; 当你使用 Hugo 模块安装时，应该移除这个配置项。但对 Git 子模块或本地文件复制的安装方式，必须将其设置为 blowfish 才能正常工作。 baseURL 无 网站 URL 根地址。 defaultContentLanguage \u0026quot;en\u0026quot; 这个值决定了主题中组件和内容所使用的默认语言。 参考 语言和 i18n 部分来了解 blowfish 支持的所有语言代码。 enableRobotsTXT true 当开启这个值，robots.txt 文件将会被创建在站点根目录， 这将允许搜索引擎抓取整个网站。如果你想要自己提供 robots.txt，那么设置这个值为 false 并把你的文件放置到 static 目录下。 为了实现完全控制，你可以需要提供一个 自定义布局 来生成此文件。 pagination.pagerSize 10 定义文章列表中，每页展示的文章数量。 summaryLength 0 当扉页参数 中没有提供文章摘要时，此参数定义了自动生成文章摘要的单词数量。如果值为0，则默认使用第一句话作为摘要。当摘要被隐藏，这个值没有任何效果。 outputs.home [\u0026quot;HTML\u0026quot;, \u0026quot;RSS\u0026quot;, \u0026quot;JSON\u0026quot;] 为站点自动生成输出格式。Blowfish 要求 HTML、RSS 和 JSON 都需要有，以保证主题组件可以正常运作。 permalinks 无 参考 Hugo 文档 中的自定义文章的固定链接配置。 taxonomies 无 参考 整理内容 中的分类器配置。 缩略图 # Blowfish 的创立开端旨在便于为文章添加视觉效果。如果你熟悉 Hugo 的文章结构，只需要在你文章所在的文件夹中，放置一个以feature*开头的图像文件（Blowfish支持所有格式的文件，但更推荐使用 .png 或 .jpg）。就这样，Blowfish 就能够将图像文件作为文章的缩略图，而且能够在社交平台的 \u0026lt;a target=\u0026quot;_blank\u0026quot; href=\u0026quot;https://oembed.com/\u0026quot;\u0026gt;oEmbed\u0026lt;/a\u0026gt; 卡片中使用。\n这里 可以看到更多内容，同时我们提供了一个示例，以便你具体看看如何操作。\n语言和i18n # Blowfish 针对多语言网站进行了优化，主题的资源素材目前已经翻译成了多个语言版本。语言配置允许你生成多个版本的内容介绍，为网站的访问者提供他们母语的定制化体验。\nBlowfish 主题目前默认支持了以下语言：\n语言 代码 Arabic ar Bulgarian bg Bengali bn Catalan ca Czech cs German de English en Esperanto eo Spanish (Spain) es Finnish fi French fr Hebrew he Croatian hr Hungarian hu Indonesian id Italian it Japanese ja Korean ko Dutch nl Polish pl Portuguese (Brazil) pt-br Portuguese (Portugal) pt-pt Romanian ro Russian ru Thai th Turkish tr Vietnamese vi Simplified Chinese (China) zh-cn Traditional Chinese (Taiwan) zh-tw 组件和静态资源的默认翻译在 i18n/[code].yaml 文件中，当然如果你想自定义，覆盖对应的文件即可。你也可以使用这种方法添加新的语言。如果你想与社区分享心得翻译，请提交PR。\n配置 # 为了让 Blowfish 尽可能的灵活，每个网站都至少语言创建一个语言配置文件。默认情况下，Blowfish 提供了 config/_default/languages.en.toml 文件以默认支持英语。\n默认的文件可以用来作为创建其他语言的一个模板，如果你希望用英语以外的语言撰写网站，也可以对其重命名。只需要格式遵循 languages.[language-code].toml 的命名即可。\n注意： 保证 网站设置 中的 defaultContentLanguage参数和你提供的语言配置文件相匹配。 全局 # 名称 默认值 描述 languageCode \u0026quot;en\u0026quot; Hugo 中的默认语言代码。他可以是一个高层级语言（例如 en），也可以是一个变体子语言（例如 en-au），但一定需要和语言配置文件中的语言代码相匹配。为了符合 HTML 的规范并设置设置大小写敏感的 isoCode，Hugo希望这个值最好是小写。 languageName \u0026quot;English\u0026quot; 语言名称。 weight 1 权重决定了在构建多语言时的语言顺序。 title \u0026quot;Blowfish\u0026quot; 网站的标题。它将在网站头部和底部进行展示。 参数 # 名称 默认值 描述 params.displayName \u0026quot;EN\u0026quot; 语言在网站中的展示名。 params.isoCode \u0026quot;en\u0026quot; 用于 HTML 元数据的 ISO 语言代码。他可以是一个高层级语言（例如 en），也可以是一个变体子语言（例如 en-au）。 params.rtl false 用于指定是否是 RTL 语言。设置为 true 则网站会从右向左重拍内容。Blowfish 完全支持同时使用 RTL 和 LTR 语言，并将动态调整。 params.dateFormat \u0026quot;2 January 2006\u0026quot; 用于指定如何日期格式化。参考 Hugo 文档 了解可以支持的格式。 params.logo 无 assets/ 文件夹中站点 logo 的相对路径。该 logo 文件需要提供 2x 分辨率并支持任何图像尺寸。 params.secondaryLogo 无 assets/ 文件夹中站点次要 logo 的相对路径。该 logo 文件需要提供 2x 分辨率并支持任何图像尺寸。这个 logo 的颜色方案应该是和上面的是相反或对比的。如果设置了这个值，当用户从 defaultAppearance 模式切换时，将会显示这个 logo。 params.description 无 网站表述。此参数将会被用作站点元数据。 params.copyright 无 此参数是一个 Markdown，用于网站页脚的版权声明。此参数可以包含占位符 { year } ，以此动态插入当前年份。 如果没有提供，Blowfish 将会使用网站 title 自动生成版权信息。 作者 # 名称 默认值 描述 params.author.name 无 作者名。此参数将展示在文章页脚。并且如果主页使用了个人资料布局，也会展示此值。 params.author.email 无 作者邮箱。如果启用了“通过邮件回复”功能，则会启用此值。 params.author.image 无 作者头像的文件路径。图像应该是 1:1 的宽高比。可以放在网站的 assets/ 文件夹中，也可以是外部 URL。 params.author.imageQuality 96 作者的头像将被视为“高质量”图像，以最小化首页上的瑕疵。值的范围是 1-100。 params.author.headline 无 包含作者头衔的 Markdown。它将展示在主页中作者姓名打分下方。 params.author.bio 无 包含作者简介的 Markdown。它将展示在文章页脚。 params.author.links 无 与作者详细信息一起显示的链接。配置文件中包含示例链接，取消注释即可启用。链接展示的顺序由他们在数组中定义的顺序决定。如果你想自定义链接，可以在 assets/icons/ 中提供相应的SVG图片。 菜单 # Blowfish 还支持针对特定语言的菜单配置。菜单配置文件的命名规则和语言配置文件的格式类似。只需要在文件名中提供语言代码，Hugo 就可以知道这是针对哪种语言的菜单。\n菜单配置文件的命名格式是 menus.[language-code].toml。请始终确保菜单配置项中使用的语言代码和语言配置相匹配。\n入门指南部分更详细地介绍了这个文件的结构。你还可以参考 Hugo 菜单文档，以获取更多配置示例。\n主题参数 # Blowfish 提供了大量控制主题功能的配置参数，下面的表格中列举了 config/_default/params.toml 文件中所有的可用参数。\n下面列举的文章参数是全局默认值，都可以在每个文章中的前置元数据内容中进行覆盖。详细可以参考 扉页参数。\n全局 # 名称 默认值 描述 colorScheme \u0026quot;blowfish\u0026quot; 主题使用的颜色方案。合法的值有： blowfish （默认）、avocado、fire、ocean、forest、princess、neon、bloody、terminal、marvel、noir、autumn、congo、slate、github 和 one-light。 具体参考颜色方案以获取更多信息。 defaultAppearance \u0026quot;light\u0026quot; 默认的主题外观，可以是 light 或者 dark。 autoSwitchAppearance true 主题外观是否根据访问者操作系统的偏好自动切换。设置为 false 会强制网站始终使用 defaultAppearance。 enableA11y false 是否启用无障碍切换按钮。 enableSearch false 是否开启网站的搜索功能，设为 true 即为启用。注意，搜索功能依赖于站点设置中的 outputs.home 设置，请确保此值配置正确。 enableCodeCopy false 是否可以将\u0026lt;code\u0026gt;代码块复制到剪贴板。想要使用代码复制功能，需要将 highlight.noClasses 参数设置为 false。 阅读 其他配置文件 以获取更多信息。 enableStructuredBreadcrumbs false 是否为 SEO 添加 BreadcrumbList。如果内容路径与 URL 不一致例如复杂的 URL 设置 则不要启用。 replyByEmail false 是否在发布后启用“通过邮件回复”的链接。如果使用，则必须设置 config/_default/languages.en.toml 中的 params.author.email 参数。 forgejoDefaultServer Not set 短代码 forgejo 的默认 server 参数。 giteaDefaultServer Not set 短代码 gitea 的默认 server 参数。 mainSections 无 指定最近文章中应该展示的模块。 如果没有指定，则使用文章数量最多的板块。 showViews 无 是否显示文章和列表页面的阅读量。这需要集成 firebase ，具体可以看下面。 showLikes 无 是否显示文章和列表页面的点赞量。这需要集成 firebase ，具体可以看下面。 robots 无 用于支持搜索引擎爬虫如何处理你的网站。如果设置了该值，它将被输出在页面头部。具体的参数值请参考 Google 文档。 disableImageZoom false 禁用网站上所有图片缩放功能。 disableImageOptimization false 禁用图片上所有图片的调整大小和优化功能，使用 Markdown 语法插入的图片（![](image.jpg)）除外。 disableImageOptimizationMD false 所有以 Markdown 语法（![](image.jpg)）插入的图片，禁用其调整大小和优化功能。 backgroundImageWidth 1200 宽度（以像素为单位）用于缩放背景图像。 disableTextInHeader false 禁用文本类型的标题，对基于 logo 的标题很有用。 defaultBackgroundImage 无 设置默认背景图，用于 background 和 hero 布局下的主页。 defaultFeaturedImage 无 设置默认背景图片，用于所有文章的featured图片，可以通过文章目录中的 featured 图片替换。 defaultSocialImage 无 社交媒体分享（Open Graph 和 Twitter）使用的默认图片，可以通过文章目录中的 featured 图片替换。 hotlinkFeatureImage false 在文章特色图片和文章卡片中外链图片。这些图片不会被 Hugo 处理。 imagePosition 无 使用 object-position 属性设置默认图像的位置。有效值如 MDN 文档 所示。 highlightCurrentMenuArea 无 当菜单被选择时，标记主菜单中的菜单项。 smartTOC 无 开启智能目录，视图中的项目将会被高亮显示。 smartTOCHideUnfocusedChildren 无 当开启智能目录，如果目录级别不再被聚焦时，将会隐藏更深层次的目录。 fingerprintAlgorithm \u0026quot;sha512\u0026quot; CSS/JS文件指纹的哈希算法，防止浏览器缓存问题。有效值为 sha512（默认）、sha384、sha256。 页头 # 名称 默认值 描述 header.layout \u0026quot;basic\u0026quot; 定义整个站点的页头的布局，支持的参数有 basic、fixed、fixed-fill、and fixed-fill-blur. 页脚 # 名称 默认值 描述 footer.showMenu true 显示/隐藏页面底部菜单，该菜单可以在 config/_default/menus.en.toml 文件中的 [[footer]] 部分进行配置。 footer.showCopyright true 是否在底部显示 copyright 版权信息。请注意，如果你想定制，可以在语言配置中使用 copyright 参数。 footer.showThemeAttribution true 是否在网站底部中显示\u0026quot;powered by\u0026quot; 的主题归属信息。如果禁用此参数，请考虑在你网站的其他位置设置主题归属信息，例如在关于页面。 footer.showAppearanceSwitcher false 是否在也页面底部显示外观切换器。浏览器的本地存储会缓存访问者的偏好设置。 footer.showScrollToTop true 当设置为 true 时，显示返回顶部的箭头按钮。 主页 # 名称 默认值 描述 homepage.layout \u0026quot;profile\u0026quot; 首页布局参数。合法的参数值有： page、profile、hero、card、background 或 custom。当你设置为 custom 时，你必须创建 /layouts/partials/home/custom.html 文件以定制自己的布局。参考主页布局来获取更多信息。 homepage.homepageImage 无 在 hero 和 card 布局中使用的图像。图片可以来自于本地的资源目录，也可以是外部图像 URL。参考 主页布局 来获取更多信息。 homepage.showRecent false 是否在主页展示最新文章列表。 homepage.showRecentItems 5 如果将 showRecent 设置为 true，此参数用于显示多少篇文章。如果没有设置或者为0，则默认显示5篇文章。 homepage.showMoreLink false 是否在主页底部添加“显示更多”，该链接会降会用带到一个预定义位置。 homepage.showMoreLinkDest /posts 更多按钮所指向的位置。 homepage.cardView false 将列表展示为卡片容器。 homepage.cardViewScreenWidth false 增强列表中卡片的宽度，使其可以占据可用的全部宽度。 homepage.layoutBackgroundBlur false 向下滚动主页时，是否模糊背景图。 homepage.disableHeroImageFilter false 主页背景是否套用图片滤镜。 文章页 # 名称 默认值 描述 article.showDate true 是否显示日期。 article.showViews false 是否显示文章阅读量。这需要集成 firebase ，具体可以看下面。 article.showLikes false 是否显示文章点赞量。这需要集成 firebase ，具体可以看下面。 article.showDateOnlyInArticle false 是否在文章内显示日期，不影响文章列表或卡片页面的日期显示。 article.showDateUpdated false 是否展示文章的更新日期。 article.showAuthor true 是否在文章底部显示作者框。 article.showAuthorBottom false 作者框显示在每页的底部而不是顶部。 article.showHero false 缩略图是否会在每个页面中作为 hero 图像显示。 article.heroStyle 无 hero 图像的展示样式，可选的参数值有：basic、big、background、thumbAndBackground。仅在 article.showHero = true 时生效。 article.layoutBackgroundBlur true 向下滚动文章页时，是否模糊背景图。 article.layoutBackgroundHeaderSpace true 在标题和正文之间添加空白区域间隔。 article.showBreadcrumbs false 是否在标题栏显示面包屑导航。 article.showDraftLabel true 当使用 --buildDrafts 构建网站时，是否在文章旁边显示草稿。 article.showEdit false 是否展示编辑文章的链接。 article.editURL 无 当激活 article.showEdit 参数，此参数用于设置文章的编辑链接。 article.editAppendPath true 当激活 article.showEdit 参数，是否将文章的路径附加到 article.editURL 参数所设置的 URL 后面。 article.seriesOpened false 是否默认显示打开系列模块、 article.showHeadingAnchors true 是否在文章标题旁添加锚点。 article.showPagination true 是否在文章末尾展示上一篇/下一篇的文章链接。 article.invertPagination false 是否翻转下一篇/上一篇文章链接的方向。 article.showReadingTime true 是否展示文章的阅读时间。如果你的语言包含 CJK 语言，需要在 hugo.toml 中开启 hasCJKLanguage 参数。 article.showTableOfContents false 是否展示文章的目录。 article.showRelatedContent false 为文章显示相关内容。如果你想要启用此功能，请检查 hugo.toml 文件并复制所有 related 相关的参数，如果你想自定义，也可以对 hugo.toml 添加额外配置。更多内容请参考 Hugo 文档 中关于 related 的内容。 article.relatedContentLimit 3 如果启用showRelatedContent，则限制显示相关文章的数量。 article.showTaxonomies false 是否显示文章的分类或标签信息。 article.showAuthorsBadges false 是否在文章或列表中显示 authors 分类。这需要开启多个作者 multiple authors 和 authors 分类法。 请阅读 这个网页 来获取更多内容。 article.showWordCount false 是否显示文章的字数。 如果你的语言属于 CJK 语言，需要在 hugo.toml 中开启 hasCJKLanguage 参数。 article.showComments false 是否在文章末尾添加 评论部分。 article.sharingLinks 无 在文章末尾显示的分享链接。如果没有提供或设置为 false，则不会显示任何分享链接。可用的值包括：\u0026ldquo;bluesky\u0026rdquo;、\u0026ldquo;email\u0026rdquo;、\u0026ldquo;facebook\u0026rdquo;、\u0026ldquo;line\u0026rdquo;、\u0026ldquo;linkedin\u0026rdquo;、\u0026ldquo;mastodon\u0026rdquo;、\u0026ldquo;pinterest\u0026rdquo;、\u0026ldquo;reddit\u0026rdquo;、\u0026ldquo;telegram\u0026rdquo;、\u0026ldquo;twitter\u0026quot;和\u0026quot;whatsapp\u0026rdquo; article.showZenMode false 指定是否激活文章阅读的禅模式，即隐藏常规的界面元素。 article.externalLinkForceNewTab true 是否强制 Markdown 中的外部链接在新标签页中打开。 列表页 # 名称 默认值 描述 list.showHero false 缩略图是否会在每个页面中作为 hero 图像显示。 list.heroStyle 无 hero 图像的展示样式，可选的参数值有：basic、big、background、thumbAndBackground。仅在 list.showHero = true 时生效。 list.showBreadcrumbs false 是否在标题栏显示面包屑导航。 list.layoutBackgroundBlur true 向下滚动列表页时，是否模糊背景图。 list.layoutBackgroundHeaderSpace true 在标题和正文之间添加空白区域间隔。 list.showTableOfContents false 是否展示目录。 list.showSummary false 是否在列表页显示文章摘要。如果在扉页参数中没有提供摘要，那么将会使用站点配置 中的 summaryLength 参数自动生成一个。 list.showViews false 是否显示文章阅读量。这需要集成 firebase ，具体可以看下面。 list.showLikes false 是否显示文章点赞量。这需要集成 firebase ，具体可以看下面。 list.showCards false 是否将每个文章显示为卡片或简单的内联文本。 list.orderByWeight false 是否按照权重（weights）排序文章。 list.groupByYear true 是否根据年做聚合。 list.cardView false 将列表展示为卡片容器。 list.cardViewScreenWidth false 增强列表中卡片的宽度，使其可以占据可用的全部宽度。 list.constrainItemsWidth false 将项目宽度限制为 prose 以提高可读性。在没有 feature 图片的时候非常有用。 list.showTableOfContents false 是否在文章中显示目录表。 网站地图 # 名称 默认值 描述 sitemap.excludedKinds [\u0026quot;taxonomy\u0026quot;, \u0026quot;term\u0026quot;] 从生成的 /sitemap.xml 文件中排除的内容。 具体的配置请参考Hugo 文档。 分类法 # 名称 默认值 描述 taxonomy.showTermCount true 是否在分类列表总显示对应的数量。 taxonomy.showHero false 缩略图是否会在每个页面中作为 hero 图像显示。 taxonomy.heroStyle 无 hero 图像的展示样式，可选的参数值有：basic、big、background、thumbAndBackground。仅在 taxonomy.showHero = true 时生效。 taxonomy.showBreadcrumbs false 是否在标题栏显示面包屑导航。 taxonomy.showViews false 是否显示文章阅读量。这需要集成 firebase ，具体可以看下面。 taxonomy.showLikes false 是否显示文章点赞量。这需要集成 firebase ，具体可以看下面。 taxonomy.showTableOfContents false 是否显示目录。 taxonomy.cardView false 将列表展示为卡片容器。 术语 # 名称 默认值 描述 term.showHero false 缩略图是否会在每个页面中作为 hero 图像显示。 term.heroStyle 无 hero 图像的展示样式，可选的参数值有： basic、big、background、thumbAndBackground。仅在 term.showHero = true 时生效。 term.showBreadcrumbs false 是否在标题栏显示面包屑导航。 term.showViews false 是否显示文章阅读量。这需要集成 firebase ，具体可以看下面。 term.showLikes false 是否显示文章点赞量。这需要集成 firebase ，具体可以看下面。 term.showTableOfContents false 是否显示目录。 term.groupByYear false 是否根据年做聚合。 term.cardView false 将列表展示为卡片容器。 term.cardViewScreenWidth false 增强列表中卡片的宽度，使其可以占据可用的全部宽度。 Firebase(Firebase 平台) # 名称 默认值 描述 firebase.apiKey 无 Firebase apiKey， 与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 firebase.authDomain 无 Firebase authDomain，与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 firebase.projectId 无 Firebase projectId，与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 firebase.storageBucket 无 Firebase storageBucket，与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 firebase.messagingSenderId 无 Firebase messagingSenderId，与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 firebase.appId 无 Firebase appId，与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 firebase.measurementId 无 Firebase measurementId，与 Firebase 集成的必填参数。了解如何将 Firebase 集成进 Blowfish 请参考 这个页面。 Fathom Analytics(一种网站分析工具) # 名称 默认值 描述 fathomAnalytics.site 无 支持 Fathom 站点分析平台。更多详细内容请参考 分析文档。 fathomAnalytics.domain 无 如果使用自定义域名的 Fathom Analytics，请在此提供，以便从自定义域名获取 script.js。 Umami Analytics(一种网站分析工具) # Name Default Description umamiAnalytics.websiteid 无 支持 Umami 站点分析平台。更多详细内容请参考 分析文档。 umamiAnalytics.domain 无 如果使用自定义域名的 Umami Analytics，请在此提供，以便从自定义域名获取 script.js。 umamiAnalytics.dataDomains 无 如果你只想在特别的数个域名中使用 tracker 功能，那么你需要设置它。这个参数的值是逗号分隔的域名列表，如：yoursite.com,yoursite2.com。 umamiAnalytics.scriptName script.js 用于反广告屏蔽的 script.js 名称，由环境变量 TRACKER_SCRIPT_NAME 配置。 umamiAnalytics.enableTrackEvent true 默认会自动添加 Umami Track Event。如果你不想添加 Event，那学需要设置为 false。 Seline Analytics # Name Default Description selineAnalytics.token 无 Seline 站点分析平台的 token。更多详细内容请参考 分析文档。 selineAnalytics.enableTrackEvent true 默认会自动添加 Umami Track Event。如果你不想添加 Event，那学需要设置为 false。 BuyMeACoffee(赞助平台) # 名称 默认值 描述 buymeacoffee.identifier 无 buymeacoffee 账号的用户名。 buymeacoffee.globalWidget 无 激活位于全局的 buymeacoffee 组件。 buymeacoffee.globalWidgetMessage 无 新用户首次访问网站时显示的消息。 buymeacoffee.globalWidgetColor #FFDD00 组件颜色，使用 HEX 格式。 buymeacoffee.globalWidgetPosition 无 组件位置，例如 \u0026ldquo;left\u0026rdquo; 或 \u0026ldquo;right\u0026rdquo;。 验证 # 名称 默认值 描述 verification.google 无 Google 提供的网站验证字符串，用于在网站元数据中包含。 verification.bing 无 Bing 提供的网站验证字符串，用于在网站元数据中包含。 verification.pinterest 无 Pinterest 提供的网站验证字符串，用于在网站元数据中包含。 verification.yandex 无 Yandex 提供的网站验证字符串，用于在网站元数据中包含。 verification.fediverse 无 联邦域用户名，包括在网站元数据中。将服务器域名包含在用户名中，例如 @you@instanceaddress.tld。 RSSNext # 名称 默认值 描述 rssnext.feedId 无 RSSNext/Follow 提供的 feeId，这将被自动添加在 rss.xml 中以便完成订阅源所有权验证，证明该源属于你自己。 rssnext.userId 无 RSSNext/Follow 提供的 userId，这将被自动添加在 rss.xml 中以便完成订阅源所有权验证，证明该源属于你自己 Advertisement # 名称 默认值 描述 advertisement.adsense 无 您的 Google AdSense 发布商 ID (例如 ca-pub-1234567890abcdef)。设置此参数可在您的网站上启用 AdSense 广告。 其他配置文件 # Blowfish 主题还包括 markup.toml 配置文件。这个文件包含了一些重要参数，来确保 Hugo 正确配置以生成使用 Blowfish 创建的网站。\n需要确保次文件在 config 目录中，并设置所需要的值。否则某些功能可能无法正确启用，并可能导致意外行为。\n","externalUrl":null,"permalink":"/zh-cn/docs/configuration/","section":"文档","summary":"Blowfish 是一个高度定制化的主题，使用到了一些 Hugo 中最新的特性来简化配置方式。\n","title":"配置","type":"docs"},{"content":"Blowfish 提供了一个完全灵活的主页布局。你可以选择两种主要模板，并提供了额外的参数来帮助调整设计。当然，你也可以提供自己的模板，完全控制主页的内容。\n主页布局由 params.toml 配置文件中的 homepage.layout 参数来控制的。此外所有布局都默认包括 最近文章。\n个人资料布局 (profile) # 默认的布局是 profile 布局，这非常适合个人网站和博客。它将作者的详细信息置于中心位置，并附带了头像和社交平台的链接。\n作者信息是在语言配置文件中提供的。具体的参数详情，请参考快速入门和语言配置的内容。\n此外，主页内容中提供的任何 Markdown 都会显示在作者资料的下方。这对使用短代码显示简介或其他主页的自定义内容提供了更多的灵活性。\n如果想要启用 profile 布局，请在 params.toml 配置文件中设置 homepage.layout = \u0026quot;profile\u0026quot;。\n页面布局（page） # 页面布局只会简单的显示你的 Markdown 内容，这种方式非常适合静态网站，并提供了很多灵活性。\n如果想要启用 page 布局，请在 params.toml 配置文件中设置 homepage.layout = \u0026quot;page\u0026quot;。\n英雄布局（hero） # 英雄布局（hero）组合了个人资料布局（profile）和卡片布局（card）。它不仅显示了网站作者的个人信息，还在个人资料下方加载了你的 markdown 内容。\n如果想要启用 hero 布局，请在 params.toml 配置文件中设置 homepage.layout = \u0026quot;hero\u0026quot;。\n背景布局（background） # 背景布局（background）相对于英雄布局（hero）更叫平滑。和英雄布局（hero）类似，它也显示了网站作者的信息，并在其下方加载 markdown 内容。\n如果想要启用 background 布局，请在 params.toml 配置文件中设置 homepage.layout = \u0026quot;background\u0026quot; 和 homepage.homepageImage 。\n卡片布局（card） # 卡片模板（card）是在页面布局上的扩展，它同样提供了灵活性。在显示了你的 markdown 内容的同时，展示了一个卡片组件中的图像。\n如果想要启用 card 布局，请在 params.toml 配置文件中设置 homepage.layout = \u0026quot;card\u0026quot; 和 homepage.homepageImage 。\n自定义布局（custom） # 如果以上几个布局还没有满足你的需求，你还可以自己创建自定义布局。这样你可以基于一个空白的画布，来完全控制页面上的内容。\n如果想要启用 custom 布局，请在 params.toml 配置文件中设置 homepage.layout = \u0026quot;custom\u0026quot; 。\n配置好参数后，在 layouts/partials/home 目录下创建一个 custom.html 文件。 custom.html 文件中定义的任何内容都会被放置在网站主页的内容区域。你可以使用 HTML、Tailwind 或 Hugo 模板函数来定义你的布局。\n如果你想在自定义布局上添加 最近文章，请使用 recent-articles/main.html 中的内容。\n如果你想在网站主页使用自定义布局来实现在个人资料和页面布局之间的切换。这里的GitHub 仓库有一个例子可以参考。\n最近文章 # 所有的主页布局都可以在主要内容下方显示最近文章。如果想要启用此功能，只需要在 params.toml 配置文件中将 homepage.showRecent 参数设置为 true 即可。\n这部分会列举出你在 mainSections 参数中设置的文章列表，此参数允许你使用网站上的任何内容类型。例如，如果你想在最新文章中展示 posts 和 projects 内容中的文章，你可以将此值设置为 [\u0026quot;posts\u0026quot;, \u0026quot;projects\u0026quot;]，这两个部分中的所有文章都会填充到最近文章列表中。Blowfish 主题期望这个参数是一个数组，如果你只想设置一个部分的所有文章，你可以设置为 [\u0026quot;blog\u0026quot;] 即可。\n缩略图 # Blowfish 为你的文章提供了视觉支持。如果你熟悉 Hugo 的文章结构，只需要在你的文章对应的文件夹中放置一个以feature*开头的图像文件即可，图像类型几乎支持所有格式，更推荐使用.png 或者 .jpg。这样一来，Blowfish 将会在你的网站内使用该图片作为缩略图，并用在社交媒体平台上的 oEmbed 卡片中。\n这是有更多详细内容，并且有一个便于理解的示例。\n卡片画廊 # Blowfish 支持将标准的文章列表显示为卡片画廊，你可以在主页的最近文章和网站上的文章列表中配置这个选项。\n对于主页可以使用 homepage.cardView 和 homepage.cardViewScreenWidth 参数 对于列表页可以使用 list.cardView 和 list.cardViewScreenWidth 参数 请查看 配置文件 以获取更多信息。 ","externalUrl":null,"permalink":"/zh-cn/docs/homepage-layout/","section":"文档","summary":"Blowfish 提供了一个完全灵活的主页布局。你可以选择两种主要模板，并提供了额外的参数来帮助调整设计。当然，你也可以提供自己的模板，完全控制主页的内容。\n","title":"主页布局","type":"docs"},{"content":"除了所有默认 Hugo 简码 之外，Blowfish 还添加了一些额外的功能。\n醒目框 # alert 可以将其中内容输出为文章中的风格化消息框。它对于吸引读者注意您不想让读者错过的重要信息很有用。\n参数 功能 icon 可选 显示在左侧的图标。\n默认： exclaimation triangle icon (查看图标简码，了解有关使用图标的更多详细信息。) iconColor 可选 基本 CSS 样式中图标的颜色。\n可以是十六进制值 (#FFFFFF) 或颜色名称 (white)\n默认情况下由当前配色方案决定。 cardColor 可选 基本 CSS 样式中卡片背景的颜色。\n可以是十六进制值 (#FFFFFF) 或颜色名称 (white)\n默认情况下由当前配色方案决定。 textColor 可选 基本 CSS 样式中文本的颜色。\n可以是十六进制值 (#FFFFFF) 或颜色名称 (white)\n默认情况下由当前配色方案决定。 输入内容是用 Markdown 语言编写的，因此您可以根据需要设置其格式。\n例1: 无参数\n{{\u0026lt; alert \u0026gt;}} **警告！**此操作具有破坏性！ {{\u0026lt; /alert \u0026gt;}} **警告！**此操作具有破坏性！ 例2: 未命名参数\n{{\u0026lt; alert \u0026#34;twitter\u0026#34; \u0026gt;}} Don\u0026#39;t forget to [follow me](https://twitter.com/nunocoracao) on Twitter. {{\u0026lt; /alert \u0026gt;}} Don\u0026rsquo;t forget to follow me on Twitter. 例3: 命名参数\n{{\u0026lt; alert icon=\u0026#34;fire\u0026#34; cardColor=\u0026#34;#e63946\u0026#34; iconColor=\u0026#34;#1d3557\u0026#34; textColor=\u0026#34;#f1faee\u0026#34; \u0026gt;}} This is an error! {{\u0026lt; /alert \u0026gt;}} This is an error! 提示框 # Admonition 用于在内容中插入醒目提示。\nAdmonition 的用途与 alert shortcode 类似，但其实现方式是通过 Hugo 的 render hooks。两者的关键区别在于语法：admonition 使用 Markdown 语法，因此在不同平台之间具有更好的可移植性；而 shortcode 是 Hugo 专有的。其语法类似 GitHub 的 alerts：\n\u0026gt; [!TIP] \u0026gt; 一个 Tip 类型的提示块。 \u0026gt; [!TIP]+ 自定义标题 \u0026gt; 一个带有自定义标题的可折叠提示块。 {icon=\u0026#34;twitter\u0026#34;} 提示 一个 Tip 类型的提示块。\n自定义标题 一个带有自定义标题的可折叠提示块。\n提示符号（+ 或 -）是可选的，用于控制提示块是否默认折叠。请注意，该提示符号仅在 Obsidian 中兼容。\n支持的类型 可用的 admonition 类型包括 GitHub alert 类型 和 Obsidian callout 类型。类型名称不区分大小写。\nGitHub 类型： NOTE, TIP, IMPORTANT, WARNING, CAUTION\nObsidian 类型： note, abstract, info, todo, tip, success, question, warning, failure, danger, bug, example, quote\n自定义提示框 请参阅 提示框自定义指南。\n文章嵌入 # Article 将把一篇文章嵌入到一个 markdown 文件中。 参数中的 link应该是要嵌入的文件的 .RelPermalink。请注意，如果简码引用其父级文件，则它不会显示任何内容。 注意：如果您在 Blowfish（即 /blowfish/）等子文件夹中运行网站，请在链接中包含该路径。\n参数 功能 link 必填 要嵌入文章的 .RelPermalink showSummary 可选 布尔值，指示是否显示文章摘要。如果未设置，将使用站点的默认配置。 compactSummary 可选 布尔值，指示是否以紧凑模式显示摘要。默认为 false。 例如：\n{{\u0026lt; article link=\u0026#34;/zh-cn/docs/welcome/\u0026#34; showSummary=true compactSummary=true \u0026gt;}} 欢迎来到 Blowfish 3 分钟\u0026middot; loading 新手 文档 Blowfish 包含了大量的特性功能。 Blowfish 的目标是开发一个简单且轻量级的主题。 该主题是 Congo 的一个分支，并进行了大量扩展。 徽章 # badge 输出一个美观的徽章组件，该组件对于显示元数据很有用。\n例如：\n{{\u0026lt; badge \u0026gt;}} New article! {{\u0026lt; /badge \u0026gt;}} New article! 按钮 # button 输出一个样式化的按钮组件，可用于突出显示主要操作。它有三个可选变量 href、target 和 rel，可用于指定链接的 URL、目标和关系。\n例如：\n{{\u0026lt; button href=\u0026#34;#button\u0026#34; target=\u0026#34;_self\u0026#34; \u0026gt;}} Call to action {{\u0026lt; /button \u0026gt;}} Call to action 滑动画册 # carousel 用于生成可交互且具有视觉吸引力的方式展示多个图像的画廊。这允许用户滑动浏览多个图像，同时仅占用单个图像的垂直空间。 所有图像均使用父组件的完整宽度并使用预定义的宽高比 16:9 、 21:9 或 32:9 之一显示。\n参数 功能 images 必填 用于匹配图像名称的正则表达式或 URL。 aspectRatio 可选 画廊的纵横比。16-9 、21-9 或32-9 。默认设置为16-9 。 interval 可选 自动滚动的时间间隔，以毫秒为单位指定。默认为2000（2 秒）。 例1: 16:9 宽高比和 URL 图像列表\n{{\u0026lt; carousel images=\u0026#34;{https://cdn.pixabay.com/photo/2016/12/11/12/02/mountains-1899264_960_720.jpg, gallery/03.jpg, gallery/01.jpg, gallery/02.jpg, gallery/04.jpg}\u0026#34; \u0026gt;}} Previous Next 例2: 21:9 宽高比和正则表达式图像列表\n{{\u0026lt; carousel images=\u0026#34;gallery/*\u0026#34; aspectRatio=\u0026#34;21-9\u0026#34; interval=\u0026#34;2500\u0026#34; \u0026gt;}} Previous Next 图表 # chart 使用 Chart.js 库将图表嵌入到使用简单结构化数据的文章中。它支持多种不同的图表样式，并且所有内容都可以在简码中进行配置。只需在简码中提供图表参数，Chart.js 将完成剩下的工作。\n有关语法和支持的图表类型的详细信息，请参阅 Chart.js 官方文档。\n例如：\n{{\u0026lt; chart \u0026gt;}} type: \u0026#39;bar\u0026#39;, data: { labels: [\u0026#39;Tomato\u0026#39;, \u0026#39;Blueberry\u0026#39;, \u0026#39;Banana\u0026#39;, \u0026#39;Lime\u0026#39;, \u0026#39;Orange\u0026#39;], datasets: [{ label: \u0026#39;# of votes\u0026#39;, data: [12, 19, 3, 5, 3], }] } {{\u0026lt; /chart \u0026gt;}} 您可以在 图表示例 页面上查看一些更多 Chart.js 示例。\n导入源码 # 此短代码用于轻松从外部源导入代码，无需复制和粘贴\nParameter Description url 必需的 外部托管代码文件的 URL. type 用于语法突出显示的代码类型. startLine 可选 从代码文件中导入的起始行. endLine 可选 从代码文件中导入的结束行. Example:\n{{\u0026lt; codeimporter url=\u0026#34;https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html\u0026#34; type=\u0026#34;go\u0026#34; \u0026gt;}} {{ $url := .Get \u0026#34;url\u0026#34; }} {{ with resources.GetRemote (urls.Parse $url) }} {{ .Content | markdownify }} {{ else }} {{ warnf \u0026#34;mdimporter shortcode: unable to fetch %q: %s\u0026#34; $url .Position }} {{ end }} {{\u0026lt; codeimporter url=\u0026#34;https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml\u0026#34; type=\u0026#34;toml\u0026#34; startLine=\u0026#34;11\u0026#34; endLine=\u0026#34;18\u0026#34; \u0026gt;}} enableRobotsTXT = true summaryLength = 0 buildDrafts = false buildFuture = false enableEmoji = true Codeberg Card # codeberg 允许您通过 Codeberg API 快速链接 Codeberg 存储库，提供星号和分叉等统计信息的实时更新.\nParameter Description repo [String] Codeberg 存储库的格式为 username/repo Example 1:\n{{\u0026lt; codeberg repo=\u0026#34;forgejo/forgejo\u0026#34; \u0026gt;}} \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e forgejo/forgejo Beyond coding. We forge. Go 4594 789 Figure # Blowfish 包含一个 figure 简码，用于将图像添加到内容中。该简码取代了基本的 Hugo 功能，且性能更好。\n当提供的图像是页面资源时，将使用 Hugo Pipes 对其进行优化并缩放，以提供适合不同设备分辨率的图像。如果提供了静态资产或外部图像的 URL，它将按原样包含在内，而无需 Hugo 进行任何图像处理。\nfigure 简码接受六个参数：\n参数 功能 src 必填 图像的本地路径/文件名或 URL。当提供路径和文件名时，主题将尝试使用以下查找顺序来查找图像：首先，作为与页面绑定的页面资源；然后是 assets/ 目录中的文件；最后是，static/目录中的文件。 alt 图像的替代文本描述。 caption Markdown 格式的图像标题，将显示在图像下方。 class 应用于图像的其他 CSS 类。 href 图像应链接到的 URL。 target href URL 的目标属性。 nozoom nozoom=true 会禁用图像缩放功能。与 href 结合使用十分有用。 default 用于恢复默认 Hugo figure 行为的特殊参数。只需提供default=true，然后使用正常的 Hugo 简码语法。 Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用以下格式，主题将自动处理：\n![Alt text](image.jpg \u0026#34;Image caption\u0026#34;) Forgejo 卡片 # forgejo allows you to quickly link a Forgejo repository via the forgejo API, providing real-time updates on stats such as stars and forks.\nParameter Description repo [String] forgejo repo in the format of username/repo server [String] server URL like https://v11.next.forgejo.org Example 1:\n{{\u0026lt; forgejo server=\u0026#34;https://v11.next.forgejo.org\u0026#34; repo=\u0026#34;a/mastodon\u0026#34; \u0026gt;}} a/mastodon Your self-hosted, globally interconnected microblogging community Ruby 0 0 例如：\n{{\u0026lt; figure src=\u0026#34;abstract.jpg\u0026#34; alt=\u0026#34;Abstract purple artwork\u0026#34; caption=\u0026#34;Photo by [Jr Korpa](https://unsplash.com/@jrkorpa) on [Unsplash](https://unsplash.com/)\u0026#34; \u0026gt;}} \u0026lt;!-- OR --\u0026gt; ![Abstract purple artwork](abstract.jpg \u0026#34;Photo by [Jr Korpa](https://unsplash.com/@jrkorpa) on [Unsplash](https://unsplash.com/)\u0026#34;) Photo by Jr Korpa on Unsplash 排布画册 # gallery 允许您以响应式一次展示多个图像，并具有更加多样化和有趣的布局的图库。\n为了将图像添加到图库中，请为每个图像使用img标签并添加class =\u0026quot;grid-wXX\u0026quot;，以便图库能够识别每个图像的列宽。默认情况下可用的宽度从 10% 开始，以 5% 的增量一直达到 100%。例如，要将宽度设置为 65%，请将类设置为grid-w65。此外，还可以使用 33% 和 66% 的宽度来构建 3 列的画廊。您还可以利用 Tailwind 的响应指示器来构建响应网格。\n例1: 普通图库\n{{\u0026lt; gallery \u0026gt;}} \u0026lt;img src=\u0026#34;gallery/01.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/02.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/03.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/04.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/05.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/06.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/07.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; {{\u0026lt; /gallery \u0026gt;}} 例2: 响应式图库\n{{\u0026lt; gallery \u0026gt;}} \u0026lt;img src=\u0026#34;gallery/01.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/02.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/03.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/04.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/05.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/06.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/07.jpg\u0026#34; class=\u0026#34;grid-w50 md:grid-w33 xl:grid-w25\u0026#34; /\u0026gt; {{\u0026lt; /gallery \u0026gt;}} Gist # gist 短代码允许你通过指定 Gist 用户名、ID 以及可选的特定文件，直接将 GitHub Gist 嵌入到内容中。\n参数 描述 [0] [字符串] GitHub 用户名 [1] [字符串] Gist ID [2]（可选） [字符串] Gist 中要嵌入的文件名（可选） 示例 1：嵌入整个 Gist\n{{\u0026lt; gist \u0026#34;octocat\u0026#34; \u0026#34;6cad326836d38bd3a7ae\u0026#34; \u0026gt;}} 示例 2：嵌入 Gist 中的特定文件\n{{\u0026lt; gist \u0026#34;rauchg\u0026#34; \u0026#34;2052694\u0026#34; \u0026#34;README.md\u0026#34; \u0026gt;}} Gitea 卡片 # gitea 允许你通过 gitea API 快速链接一个 Gitea 仓库，提供诸如 stars 和 forks 等统计数据的实时更新。\n参数 描述 repo [字符串] 以 用户名/仓库名 格式表示的 gitea 仓库 server [字符串] 服务器 URL，如 https://git.fsfe.org 示例 1：\n{{\u0026lt; gitea server=\u0026#34;https://git.fsfe.org\u0026#34; repo=\u0026#34;FSFE/fsfe-website\u0026#34; \u0026gt;}} FSFE/fsfe-website Source files of fsfe.org, pdfreaders.org, freeyourandroid.org, ilovefs.org, drm.info, and test.fsfe.org. Contribute: https://fsfe.org/contribute/web/ HTML 33 96 GitHub 卡片 # github 允许您快速链接到 github Repo，同时显示和更新有关它的实时统计信息，例如它的 star 和 fork 数。\n参数 功能 repo [字符串] 格式为 username/repo 的 github repo showThumbnail 可选 [布尔值] 是否显示缩略图，默认为 true 例1:\n{{\u0026lt; github repo=\u0026#34;nunocoracao/blowfish\u0026#34; \u0026gt;}} nunocoracao/blowfish Personal Website \u0026amp; Blog Theme for Hugo HTML 2762 717 GitLab 卡片 # gitlab 允许您快速链接 GitLab 项目（GitLab 的 Repo）。 显示有关的实时统计数据，例如它拥有的 star 和 fork 的数量。 与 github 不同，它无法显示项目的主要编程语言。 最后，只要 api/v4/projects/ 可用，就可以提供自定义 GitLab 实例 URL，从而使此简码能够显示大多数自托管/企业组织。\n参数 功能 projectID [String] gitlab 数字项目ID baseURL [String] 可选 gitlab 实例 URL，默认为 https://gitlab.com/ 例1:\n{{\u0026lt; gitlab projectID=\u0026#34;278964\u0026#34; \u0026gt;}} GitLab.org / GitLab GitLab is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider. 6027 12104 Hugging Face 卡片 # huggingface 让您能够快速链接 Hugging Face 模型或数据集，显示实时信息如点赞数和下载量，以及类型和描述。\n参数 描述 model [字符串] 格式为 用户名/模型名 的 Hugging Face 模型 dataset [字符串] 格式为 用户名/数据集名 的 Hugging Face 数据集 注意： 使用 model 或 dataset 参数中的一个，不要同时使用。\n示例1（模型）：\n{{\u0026lt; huggingface model=\u0026#34;google-bert/bert-base-uncased\u0026#34; \u0026gt;}} google-bert/bert-base-uncased fill-mask 2652 6.4748512e\u0026#43;07 示例2（数据集）：\n{{\u0026lt; huggingface dataset=\u0026#34;stanfordnlp/imdb\u0026#34; \u0026gt;}} stanfordnlp/imdb Large Movie Review Dataset. This is a dataset for binary sentiment classification containing substantially more data than previous benchmark datasets. We provide a set of 25,000 highly polar movie reviews for training, and 25,000 for testing. There is additional unlabeled data for use as well. Supported Tasks and Leaderboards More Information Needed Languages More Information Needed Dataset Structure… See the full description on the dataset page: https://huggingface.co/datasets/stanfordnlp/imdb. dataset 370 179838 图标 # icon 输出一个 SVG 图标并以图标名称作为其唯一参数。图标会自动缩放以匹配当前文本大小。\n例如：\n{{\u0026lt; icon \u0026#34;github\u0026#34; \u0026gt;}} Output: 图标使用 Hugo Pipeline 填充，这使得它们非常灵活。 Blowfish 包含许多用于社交、链接和其他内置图标。参考 图标示例 页面以获取支持的图标的完整列表。\n可以通过在项目的 assets/icons/ 目录中提供您自己的图标来添加自定义图标。然后可以使用不带 .svg 扩展名的 SVG 文件名在简码中引用该图标。\n还可以通过调用 iconpartial 在 partials 中使用图标。\nKaTeX # katex 简码可用于使用 KaTeX 包向文章内容添加数学表达式。有关可用语法，请参阅支持的 TeX 函数 的在线参考。\n要在文章中加入数学表达式，只需将简码放在任意位置即可。每篇文章只需加入一次，KaTeX 将自动呈现该页面上的任何标记。支持内联和块表示法。\n可以通过将表达式包装在 \\( 和 \\) 分隔符中来生成内联表示法。或者，可以使用 $$ 分隔符生成块符号。\n例如：\n{{\u0026lt; katex \u0026gt;}} \\(f(a,b,c) = (a^2+b^2+c^2)^3\\) \\(f(a,b,c) = (a^2+b^2+c^2)^3\\)\n查看 数学符号示例 页面以获取更多示例。\n重点突出 # keyword 组件可用于在视觉上突出显示某些重要的单词或短语，例如专业技能等。 keywordList 简码可用于将多个 keyword 组合在一起。每个组件可以具有以下参数。\n参数 功能 icon 可选 关键字中使用的图标 输入内容是用 Markdown 编写的，因此您可以根据需要设置其格式。\n例1 :\n{{\u0026lt; keyword \u0026gt;}} Super skill {{\u0026lt; /keyword \u0026gt;}} Standalone skill 例2 :\n{{\u0026lt; keywordList \u0026gt;}} {{\u0026lt; keyword icon=\u0026#34;github\u0026#34; \u0026gt;}} Lorem ipsum dolor. {{\u0026lt; /keyword \u0026gt;}} {{\u0026lt; keyword icon=\u0026#34;code\u0026#34; \u0026gt;}} **Important** skill {{\u0026lt; /keyword \u0026gt;}} {{\u0026lt; /keywordList \u0026gt;}} {{\u0026lt; keyword \u0026gt;}} *Standalone* skill {{\u0026lt; /keyword \u0026gt;}} Lorem ipsum dolor Important skill Standalone skill 开篇语 # lead 用于强调文章的开头。它可以用来设计介绍的样式，或者指出一条重要的信息。只需将任何 Markdown 内容包装在 lead 简码中即可。\n例如：\n{{\u0026lt; lead \u0026gt;}} When life gives you lemons, make lemonade. {{\u0026lt; /lead \u0026gt;}} When life gives you lemons, make lemonade. 列表 # List 将显示最近文章的列表。此简码需要一个限制值来约束列表。此外，它还支持输入 where 和 value ，以便按参数过滤文章。请注意，此简码不会显示其父页面，但会计入限制值。\n参数 功能 limit 必填 要显示的最近文章数量。 title 可选 列表标题，默认为 Recent cardView 可选 列表启用卡片视图，默认为 false where 用于筛选文章的变量，例如 Type value 需要与 where 中定义的参数匹配的值，以进行文章查询，例如对于 where == Type，可以找到文章 sample where 和 value 值用于简码中进行以下格式的查询 where .Site.RegularPages $where $value 。检查 Hugo 文档 以了解有关可用参数的更多信息。 例 1:\n{{\u0026lt; list limit=2 \u0026gt;}} 最近的文章 欢迎来到 Blowfish 3 分钟\u0026middot; loading 新手 文档 安装和配置 4 分钟\u0026middot; loading 安装 文档 例 2:\n{{\u0026lt; list title=\u0026#34;Samples\u0026#34; cardView=true limit=6 where=\u0026#34;Type\u0026#34; value=\u0026#34;sample\u0026#34; \u0026gt;}} Samples 多作者 1 分钟\u0026middot; loading Nuno Coração ,\u0026nbsp; Dummy Second Author 作者 示例 缩略图 1 分钟\u0026middot; loading 缩略图 示例 图标 1 分钟\u0026middot; loading 图标 示例 简码 Markdown 2 分钟\u0026middot; loading Markdown Css Html 示例 简码示例 1 分钟\u0026middot; loading 简码 隐私 示例 Gist Twitter Youtube Vimeo 文本占位符 更新于: 2022-01-24\u0026middot;1 分钟\u0026middot; loading Markdown 文本 示例 拉丁语 文字书写方向 # ltr 和 rtl 允许您混排内容。许多从左往右书写语言的用户希望在文章中包含部分从右往左的书写内容。使用此简码可以让您做到这一点，并利用 % 作为简码中最外层的标识符 Hugo Shortcodes，其中任何 markdown 内容都会正常渲染。\n例如：\n- This is an markdown list. - Its per default a LTR direction {{% rtl %}} - هذه القائمة باللغة العربية - من اليمين الى اليسار {{% /rtl %}} This is an markdown list. Its per default a LTR direction هذه القائمة باللغة العربية من اليمين الى اليسار Markdown 导入 # 此简码允许您从外部源导入 Markdown 文件。这对于包含来自其他仓库或网站的内容非常有用，而无需复制和粘贴内容。\n参数 功能 url 必填 外部托管 Markdown 文件的 URL。 例如：\n{{\u0026lt; mdimporter url=\u0026#34;https://raw.githubusercontent.com/nunocoracao/nunocoracao/master/README.md\u0026#34; \u0026gt;}} Hi there 👋 # 🧠 Principal PM @ Docker (AI, agents, infra) · Creator of Watchfire and Blowfish · Ex-founder · Mentor \u0026amp; advisor\n🕯️ Creator and maintainer of Afterlight @ afterlight.club\n🔥 Creator and maintainer of Watchfire @ watchfire.io - repo\n🐡 Creator and maintainer of Blowfish @ blowfish.page - repo\n🐳 Principal Product Manager @ Docker - working on cagent\n📚 mentoring @ mentorcruise\n🚀 Personal blog - n9o.xyz\nMermaid # mermaid 允许您使用文本绘制可视化的图表。底层使用 Mermaid，并支持各种图表、图表和其他输出格式。\n只需在 mermaid 简码中编写您的 Mermaid 语法，然后让插件完成其余的工作。\n有关语法和支持的图表类型的详细信息，请参阅官方 Mermaid 文档。\n例如：\n{{\u0026lt; mermaid \u0026gt;}} graph LR; A[Lemons]--\u0026gt;B[Lemonade]; B--\u0026gt;C[Profit] {{\u0026lt; /mermaid \u0026gt;}} graph LR; A[Lemons]--\u003eB[Lemonade]; B--\u003eC[Profit] 您可以在图表和流程图示例 页面上看到一些其他 Mermaid 示例。\n色板 # swatches 输出一组最多三种不同的颜色来展示颜色元素的调色板。该简码采用每种颜色的 HEX 码并为每种颜色创建预览。\n例\n{{\u0026lt; swatches \u0026#34;#64748b\u0026#34; \u0026#34;#3b82f6\u0026#34; \u0026#34;#06b6d4\u0026#34; \u0026gt;}} 输出 Tabs # tabs 简码常用于呈现某个步骤的不同变体。例如，可用于展示在不同平台上安装 VS Code 的方式。\n参数 描述 group 可选。 用于同步切换标签页的组名。具有相同组名的所有标签页将一起切换。 default 可选。 默认激活的标签页的标签。如果未设置，默认激活第一个标签页。 label 必填。 显示在标签按钮上的文本标签。 icon 可选。 在标签前显示的图标名称。 示例 1：基本用法\n{{\u0026lt; tabs \u0026gt;}} {{\u0026lt; tab label=\u0026#34;Windows\u0026#34; \u0026gt;}} 使用 Chocolatey 安装: ```pwsh choco install vscode.install ``` 或使用 WinGet 安装 ```pwsh winget install -e --id Microsoft.VisualStudioCode ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab label=\u0026#34;macOS\u0026#34; \u0026gt;}} ```bash brew install --cask visual-studio-code ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab label=\u0026#34;Linux\u0026#34; \u0026gt;}} 参见[文档](https://code.visualstudio.com/docs/setup/linux#_install-vs-code-on-linux)。 {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} 输出\nWindows macOS Linux 使用 Chocolatey 安装:\nchoco install vscode.install 或使用 WinGet 安装\nwinget install -e --id Microsoft.VisualStudioCode brew install --cask visual-studio-code 参见文档。 示例 2：使用 Group、Default 和 Icon\n{{\u0026lt; tabs group=\u0026#34;lang\u0026#34; default=\u0026#34;Python\u0026#34; \u0026gt;}} {{\u0026lt; tab label=\u0026#34;JavaScript\u0026#34; icon=\u0026#34;code\u0026#34; \u0026gt;}} ```javascript console.log(\u0026#34;Hello\u0026#34;); ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab label=\u0026#34;Python\u0026#34; icon=\u0026#34;sun\u0026#34; \u0026gt;}} ```python print(\u0026#34;Hello\u0026#34;) ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab label=\u0026#34;Go\u0026#34; icon=\u0026#34;moon\u0026#34; \u0026gt;}} ```go fmt.Println(\u0026#34;Hello\u0026#34;) ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} {{\u0026lt; tabs group=\u0026#34;lang\u0026#34; default=\u0026#34;Python\u0026#34; \u0026gt;}} {{\u0026lt; tab label=\u0026#34;JavaScript\u0026#34; icon=\u0026#34;code\u0026#34; \u0026gt;}} ```javascript const add = (a, b) =\u0026gt; a + b; ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab label=\u0026#34;Python\u0026#34; icon=\u0026#34;sun\u0026#34; \u0026gt;}} ```python def add(a, b): return a + b ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab label=\u0026#34;Go\u0026#34; icon=\u0026#34;moon\u0026#34; \u0026gt;}} ```go func add(a, b int) int { return a + b } ``` {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Output\nJavaScript Python Go console.log(\u0026#34;Hello\u0026#34;); print(\u0026#34;Hello\u0026#34;) fmt.Println(\u0026#34;Hello\u0026#34;) JavaScript Python Go const add = (a, b) =\u0026gt; a + b; def add(a, b): return a + b func add(a, b int) int { return a + b } 在这个示例中，两个标签组都使用了相同的 group=\u0026quot;lang\u0026quot; 参数，因此点击任意一个标签时，两个标签组都会同步切换。default=\u0026quot;Python\u0026quot; 参数用于指定 Python 为初始激活的标签，而 icon=\u0026quot;code\u0026quot; 会在每个标签标题前添加一个图标。\n时间线 # timeline 创建了一个可视化时间线，用于展示专业经验、项目成就等。 timeline 简码依赖于 timelineItem 子简码来定义主时间线中的每个项目。每个项目可以具有以下属性。\n参数 功能 md 将内容渲染为 Markdown (true/false) icon 要在时间线中使用的图标 header 每个条目的标题 badge 放置在右上角徽章内的文本 subheader 每个条目的副标题 例如：\n{{\u0026lt; timeline \u0026gt;}} {{\u0026lt; timelineItem icon=\u0026#34;github\u0026#34; header=\u0026#34;header\u0026#34; badge=\u0026#34;badge test\u0026#34; subheader=\u0026#34;subheader\u0026#34; \u0026gt;}} Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non magna ex. Donec sollicitudin ut lorem quis lobortis. Nam ac ipsum libero. Sed a ex eget ipsum tincidunt venenatis quis sed nisl. Pellentesque sed urna vel odio consequat tincidunt id ut purus. Nam sollicitudin est sed dui interdum rhoncus. {{\u0026lt; /timelineItem \u0026gt;}} {{\u0026lt; timelineItem icon=\u0026#34;code\u0026#34; header=\u0026#34;Another Awesome Header\u0026#34; badge=\u0026#34;date - present\u0026#34; subheader=\u0026#34;Awesome Subheader\u0026#34; \u0026gt;}} With html code \u0026lt;ul\u0026gt; \u0026lt;li\u0026gt;Coffee\u0026lt;/li\u0026gt; \u0026lt;li\u0026gt;Tea\u0026lt;/li\u0026gt; \u0026lt;li\u0026gt;Milk\u0026lt;/li\u0026gt; \u0026lt;/ul\u0026gt; {{\u0026lt; /timelineItem \u0026gt;}} {{\u0026lt; timelineItem icon=\u0026#34;star\u0026#34; header=\u0026#34;Shortcodes\u0026#34; badge=\u0026#34;AWESOME\u0026#34; \u0026gt;}} With other shortcodes {{\u0026lt; gallery \u0026gt;}} \u0026lt;img src=\u0026#34;gallery/01.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/02.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/03.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/04.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/05.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/06.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; \u0026lt;img src=\u0026#34;gallery/07.jpg\u0026#34; class=\u0026#34;grid-w33\u0026#34; /\u0026gt; {{\u0026lt; /gallery \u0026gt;}} {{\u0026lt; /timelineItem \u0026gt;}} {{\u0026lt; timelineItem icon=\u0026#34;code\u0026#34; header=\u0026#34;Another Awesome Header\u0026#34;\u0026gt;}} {{\u0026lt; github repo=\u0026#34;nunocoracao/blowfish\u0026#34; \u0026gt;}} {{\u0026lt; /timelineItem \u0026gt;}} {{\u0026lt; /timeline \u0026gt;}} header badge test subheader Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non magna ex. Donec sollicitudin ut lorem quis lobortis. Nam ac ipsum libero. Sed a ex eget ipsum tincidunt venenatis quis sed nisl. Pellentesque sed urna vel odio consequat tincidunt id ut purus. Nam sollicitudin est sed dui interdum rhoncus. Another Awesome Header date - present Awesome Subheader With html code Coffee Tea Milk Shortcodes AWESOME With other shortcodes Another Awesome Header nunocoracao/blowfish Personal Website \u0026amp; Blog Theme for Hugo HTML 2762 717 TypeIt # TypeIt 是用于创建打字机效果的最通用的 JavaScript 工具。通过简单的配置，它允许您键入单个或多个断行、删除和相互替换的字符串，甚至可以处理包含复杂 HTML 的字符串。\nBlowfish 使用简码实现 TypeIt 功能的子集。在 typeit 简码中编写文本，并使用以下参数来配置您想要的行为。\n参数 功能 tag [String] 将用于呈现字符串的 html 标签。 classList [String] 应用于 html 元素的 css 类列表。 initialString [String] 将显示为先写入并将被替换的初始字符串。 speed [number] 每步之间的打字速度，以毫秒为单位。 lifeLike [boolean] 使打字速度不规律，就像真人在打字一样。 startDelay [number] 插件在初始化后到开始输入的延迟时间。 breakLines [boolean] 将多个字符串换行输出 (true)，或者将它们删除并替换 (false)。 waitUntilVisible [boolean] 决定脚本在网站加载时启动还是在目标元素可见时启动。默认为 true loop [boolean] 字符串动画是否会循环 例1:\n{{\u0026lt; typeit \u0026gt;}} Lorem ipsum dolor sit amet {{\u0026lt; /typeit \u0026gt;}} 例2:\n{{\u0026lt; typeit tag=h1 lifeLike=true \u0026gt;}} Lorem ipsum dolor sit amet, consectetur adipiscing elit. {{\u0026lt; /typeit \u0026gt;}} 例3:\n{{\u0026lt; typeit tag=h3 speed=50 breakLines=false loop=true \u0026gt;}} Lorem ipsum dolor sit amet, consectetur adipiscing elit. {{\u0026lt; /typeit \u0026gt;}} Video # Blowfish 提供 video 简码，用于在内容中嵌入本地或外部视频。该简码会渲染一个 \u0026lt;figure\u0026gt; 容器，包含自适应的视频播放器和可选说明。\nvideo 简码支持以下参数：\n参数 说明 src 必填。 视频 URL 或本地路径。本地查找顺序：页面资源 → assets/ → static/。 poster 可选的封面图 URL 或本地路径。未提供时，会尝试在页面 bundle 中寻找同名图片。 caption 可选的 Markdown 说明文字，显示在视频下方。 autoplay true/false。为 true 时自动播放。默认：false。 loop true/false。为 true 时循环播放。默认：false。 muted true/false。为 true 时静音。默认：false。 controls true/false。为 true 时显示浏览器默认播放控制条。默认：true。 playsinline true/false。为 true 时在移动端内联播放。默认：true。 preload metadata（仅加载信息）、none（节省带宽）或 auto（预加载更多）。默认：metadata。 start 可选的开始时间（秒）。 end 可选的结束时间（秒）。 ratio 为播放器预留的宽高比。支持 16/9、4/3、1/1 或自定义 W/H。默认：16/9。 fit 视频在比例中的适配方式：contain（不裁切）、cover（裁切填满）、fill（拉伸）。默认：contain。 如果浏览器无法播放视频，播放器会显示一段简短的英文提示并提供下载链接。\n示例：\n{{\u0026lt; video src=\u0026#34;https://upload.wikimedia.org/wikipedia/commons/5/5a/CC0_-_Public_Domain_Dedication_video_bumper.webm\u0026#34; poster=\u0026#34;https://upload.wikimedia.org/wikipedia/commons/e/e0/CC0.jpg\u0026#34; caption=\u0026#34;**公有领域演示** — CC0 视频与封面。\u0026#34; loop=true muted=true \u0026gt;}} Your browser cannot play this video. Download video.\n公有领域演示 — CC0 视频与封面。 Youtube 嵌入播放器 # 使用 lite-youtube-embed 库嵌入 YouTube 视频的简码。该库是 YouTube 嵌入播放器的轻量级替代品，其设计速度更快、更高效。\n参数 功能 id [String] 要嵌入的 YouTube 视频 ID。 label [String] 视频的标签 例1:\n{{\u0026lt; youtubeLite id=\u0026#34;SgXhGb-7QbU\u0026#34; label=\u0026#34;Blowfish-tools demo\u0026#34; \u0026gt;}} ","externalUrl":null,"permalink":"/zh-cn/docs/shortcodes/","section":"文档","summary":"除了所有默认 Hugo 简码 之外，Blowfish 还添加了一些额外的功能。\n醒目框 # alert 可以将其中内容输出为文章中的风格化消息框。它对于吸引读者注意您不想让读者错过的重要信息很有用。\n","title":"简码","type":"docs"},{"content":"除了 Hugo 中默认的 front matter，Blowfish 主题中还添加了大量的参数选项来自定义单个页面的展示方式。所有可用的扉页参数如下。\nfront matter 参数中的默认值是从基础配置中继承的，所有只有当你想要覆盖默认值时，才需要在当前页面指定这些参数。\n名称 默认值 描述 title 无 文章名称。 description 无 文章的描述信息，它会被添加在 HTML 的 \u0026lt;meta\u0026gt; 元数据中。 externalUrl 无 如果文章发布在第三方网站上，这里提供只想对应文章的 URL 地址。提供 URL 将会组织生成内容页面，对这篇文章的任何引用都会直接跳转到第三方网站的 URL 上面。 editURL article.editURL 当激活 showEdit 参数时，此参数用来设置编辑文章的 URL。 editAppendPath article.editAppendPath 当激活 showEdit 参数时，该参数指定是否将当前文章路径添加到 editURL 设置的 URL 后面。 groupByYear list.groupByYear 是否在列表页面按年份对文章进行分组。 menu 无 当设置此值，这篇内容的链接将会出现在菜单中。有效值是 main 或 footer。 robots 无 支持搜索引擎的爬虫如何处理这篇文章。如果设置了此值，它将在页面头部输出。更多内容请参考 Google 文档。 sharingLinks article.sharingLinks 指定文章结尾显示哪些分享链接。如果没有设置或设置为 false ，则没有分享链接。 showAuthor article.showAuthor 是否在页脚处显示作者框。 showAuthorBottom article.showAuthorBottom 作者框显示在每页的底部而不是顶部。 authors 无 用于展示多创作者的数组，如果设置了将会覆盖 showAuthor 设置。这里使用了多作者的特性，查看这个页面来获取更多信息。 showAuthorsBadges article.showAuthorsBadges 是否在文章和列表页展示authors作者分类。想是它生效需要开启multiple authors多创作者和 authors 作者分类。 查看这个页面来获取更多信息。 featureimage 无 基于连结的特征图片链接。 featureimagecaption 无 特征图片的说明，仅在 hero 样式的 big 风格下展示。 showHero article.showHero 是否在文章页面将所裸土作为文章页面内的 hero 图片显示。 heroStyle article.heroStyle hero 图片的风格，合法的值有： basic、big、background、thumbAndBackground。 imagePosition 无 使用 object-position 属性设置特色图片的位置。有效值如 MDN 文档 所示。 showBreadcrumbs article.showBreadcrumbs or list.showBreadcrumbs 是否在文章或列表页面显示面包屑导航。 showDate article.showDate 是否显示文章的日期。具体日期使用 date 参数设置。 showDateUpdated article.showDateUpdated 是否显示文章的更新日期。具体日期使用 lastmod 参数设置。 showEdit article.showEdit 是否显示编辑文章内容的链接。 showHeadingAnchors article.showHeadingAnchors 是否在文章的标题旁显示锚点链接。 showPagination article.showPagination 是否在文章页脚显示下一篇/上一篇链接。 invertPagination article.invertPagination 是否翻转下一篇/上一篇的链接方向。 showReadingTime article.showReadingTime 是否显示文章的预估阅读时间。 showTaxonomies article.showTaxonomies 是否显示文章关联的分类/标签。 showTableOfContents article.showTableOfContents 是否显示文章目录。 showWordCount article.showWordCount 是否显示文章字数统计。如果你的语言属于 CJK 语言，需要在 hugo.toml 中开启 hasCJKLanguage 参数。 showComments article.showComments 是否在文章页脚显示 评论部分。 showSummary list.showSummary 是否在文章或列表页显示摘要。 showViews article.showViews 是否显示文章和列表页面的阅读量。这需要集成 firebase ，具体可以看这个页面来了解如何在 Blowfish 中集成firebase。 showLikes article.showLikes 是否显示文章和列表页面的点赞量。这需要集成 firebase ，具体可以看这个页面来了解如何在 Blowfish 中集成firebase。 seriesOpened article.seriesOpened 是否打开系列模块。 series 无 文章所属的系列数组，我们建议每篇文章只属于一个系列。 series_order 无 文章在系列中的编号。 summary Auto generated using summaryLength (see site configuration) 当启用 showSummary 时，这是作为这篇文章摘要的Markdown字符串。 xml true unless excluded by sitemap.excludedKinds 是否将这篇文章包含在生成的 /sitemap.xml 文件中。 layoutBackgroundBlur true 向下滚动主页时，是否模糊背景图。 layoutBackgroundHeaderSpace true 在标题和正文之间添加空白区域间隔。 externalLinkForceNewTab article.externalLinkForceNewTab 是否强制 Markdown 中的外部链接在新标签页中打开。 ","externalUrl":null,"permalink":"/zh-cn/docs/front-matter/","section":"文档","summary":"除了 Hugo 中默认的 front matter，Blowfish 主题中还添加了大量的参数选项来自定义单个页面的展示方式。所有可用的扉页参数如下。\n","title":"Front Matter(文件头信息)","type":"docs"},{"content":"一个网站会有多个创作者共同贡献内容，所以需要再整个网站中默认使用多创作者。对于这种情况，Blowfish 允许用户使用多创作者功能拓展创作者列表。\n为了保持向后兼容，这个功能仅允许定义额外的创作者，并不会以任何方式修改之前通过配置文件添加的创作者。\n新建创作者 # 新建创作者的第一步是设置一个 ./data/authors 文件夹。然后，你可以在里面简单的添加新创作者的 json 文件。文件的名称是你在文章引用该作者时需要指定的 key。\n例如，在 ./data/authors 文件夹中新建一个 nunocoracao.json 文件。文件的内容示例如下。name、image、bio 和 social 是目前创作者文件支持的4个参数，这与你在 languages.[language-code].toml 配置文件中的默认创作者配置类似。\n注意：社交参数中的 key 将会默认获取主题的图标 icon，当然你也可以在 assests/icons 文件夹中设置任何图标。\n{ \u0026#34;name\u0026#34;: \u0026#34;Nuno Coração\u0026#34;, \u0026#34;image\u0026#34; : \u0026#34;img/nuno_avatar.jpg\u0026#34;, \u0026#34;bio\u0026#34;: \u0026#34;Theme Creator\u0026#34;, \u0026#34;social\u0026#34;: [ { \u0026#34;linkedin\u0026#34;: \u0026#34;https://linkedin.com/in/nunocoracao\u0026#34; }, { \u0026#34;twitter\u0026#34;: \u0026#34;https://twitter.com/nunocoracao\u0026#34; }, { \u0026#34;instagram\u0026#34;: \u0026#34;https://instagram.com/nunocoracao\u0026#34; }, { \u0026#34;medium\u0026#34;: \u0026#34;https://medium.com/@nunocoracao\u0026#34; }, { \u0026#34;github\u0026#34;: \u0026#34;https://github.com/nunocoracao\u0026#34; }, { \u0026#34;goodreads\u0026#34;: \u0026#34;http://goodreads.com/nunocoracao\u0026#34; }, { \u0026#34;keybase\u0026#34;: \u0026#34;https://keybase.io/nunocoracao\u0026#34; }, { \u0026#34;reddit\u0026#34;: \u0026#34;https://reddit.com/user/nunoheart\u0026#34; } ] } 在文章中引用创作者 # 你已经新建好了创作者，下一步让我们在文章中引用它。在下面的实例中，我们使用前面新建的创作者 key 来引用它。\nBlowfish 将会使用额外创作者对应json文件中的数据，以帮助在文章中渲染此作者。这个功能不会以改变整个站点配置的默认作者，因此你可以分别控制他们。使用 showAuthor 参数，可以配置是否显示默认作者，这适用于单创作者的博客。扉页中的 authors 参数允许你为文章定义额外的创作者，这里的创作者将独立于整个站点中的默认创作者。\n--- title: \u0026#34;多创作者\u0026#34; date: 2020-08-10 draft: false description: \u0026#34;为你的文章设置多个作者。\u0026#34; slug: \u0026#34;multi-author\u0026#34; tags: [\u0026#34;authors\u0026#34;, \u0026#34;config\u0026#34;, \u0026#34;docs\u0026#34;] showAuthor: true authors: - \u0026#34;nunocoracao\u0026#34; showAuthorsBadges : false --- 上面这个示例和当前这个页面一样，将显示默认创作者和新创作者。你可以滚动此页面来查看实际效果。\n新建创作者分类法 # 如果你想要获取每个作者的文章列表，需要配置 authors 分类，这会让你了解到一些更有趣的配置。这个是多创作者模式中的一个可选步骤。 To get lists of articles for each of your authors you can configure the authors taxonomy, which opens up some more configurations that might be interesting. This is an optional step in the process that is not required to display the authors in your articles.\n第一步是在 hugo.toml 文件中配置 authors 分类法，如下所示。尽管 tag 和 category 默认是 Hugo 定义的，但只要你添加了一个特定的分类法，就需要显式添加 tag 和 category，否则基于 Hugo 的文件加载顺序，站点将不会处理 tag 和 category。\n[taxonomies] tag = \u0026#34;tags\u0026#34; category = \u0026#34;categories\u0026#34; author = \u0026#34;authors\u0026#34; 这样一来，你将会有一个所有创作者列表的页面，并且每个创作者都会显示他们参与创作的文章列表。如果你想在每个文章中以徽章的形式中展示作者，有两种方式：在全局配置文件添加 article.showAuthorsBadges 参数 或 在每篇文章的扉页参数中配置 showAuthorsBadges参数。\n最后，你可以为每个创作者页面添加更多细节内容，以便显示简介、链接或者适合你需求的任何其他信息。为了实现这一点，需要在 ./content/authors 文件夹中为每个创作者添加一个目录名为 key 的文件夹，并在文件夹中添加 _index.md 文件，对于上面的例子，我们会得到一个 .content/authors/nunocoracao/_index.md 文件。在这个文件中你可以添加创作者的实际姓名和他们自己的个人信息页面。本文档站点中的作者就是这么配置的，你可以在文档站点中查看实际效果。\n--- title: \u0026#34;Nuno Coração\u0026#34; --- Nuno\u0026#39;s awesome dummy bio. 示例 # 下面这个示例，介绍了演示了如何关闭站点默认创作者，并在文章中添加多创作者。\nMultiple Authors 1 分钟\u0026middot; loading Nuno Coração ,\u0026nbsp; Dummy Second Author Authors Sample ","externalUrl":null,"permalink":"/zh-cn/docs/multi-author/","section":"文档","summary":"一个网站会有多个创作者共同贡献内容，所以需要再整个网站中默认使用多创作者。对于这种情况，Blowfish 允许用户使用多创作者功能拓展创作者列表。\n","title":"多创作者模式","type":"docs"},{"content":" 站点分析 # Blowfish 支持了 Fathom、Google 和 Umami。Fathom 和 Umami 都是开源、简单、且注重隐私的站点分析服务，他们可以很好地替代 Google 分析。Fathom 和 Umami 都有公有云的付费版本，当然你也可以自己手动部署开源版。\nFathom # 要启用 Fathom Analytics 支持，只需在 config/_default/params.toml 文件中提供您的 Fathom 站点代码。如果您还使用 Fathom 的自定义域功能，并希望从您的域中提供脚本，还可以额外提供 domain 配置值。如果不提供 domain 值，脚本将直接从 Fath只需要在 config/_default/params.toml 文件提供你的 Fathom 站点代码，就可以快速支持 Fathom 站点分析。 如果你想使用自定义域名来获取跟踪脚本， 那么需要提供 domain 参数，否则会从 Fathom 云服务版的地址 (＜cdn.usefathom.com＞) 获取脚本。\n# config/_default/params.toml [fathomAnalytics] site = \u0026#34;ABC12345\u0026#34; domain = \u0026#34;llama.yoursite.com\u0026#34; Google # Hugo partial 本身已经支持了 Google 站点分析。只需要在 config/_default/hugo.toml 文件添加 googleAnalytics 参数即可，跟踪脚本会自动添加。\n版本3 (analytics.js) 和版本4 (gtag.js) 都是支持的，参考如下示例：\n# config/_default/hugo.toml # 版本 3 googleAnalytics = \u0026#34;UA-PROPERTY_ID\u0026#34; # 版本 4 googleAnalytics = \u0026#34;G-MEASUREMENT_ID\u0026#34; Umami # 只需要在 config/_default/params.toml 文件提供你的 Umami 跟踪代码，就可以快速支持 Umami 站点分析。 如果你想使用自定义域名来获取跟踪脚本， 那么需要提供 domain 参数，否则会从 Umami 云服务版的地址 (analytics.umami.is) 获取脚本。 如果你只想在特别的数个域名中使用 tracker 功能，那么需要提供 dataDomains 参数。否则任何一个匹配了 websiteid 和 domain 参数值的网站，Umami 脚本都会执行。如果环境变量配置了 TRACKER_SCRIPT_NAME 可以填写自定义的脚本名称 scriptName，如果没有配置就注释掉或者填写默认的 script.js 。\nNote: 开启 Umami 网站分析后, Blowfish 会自动支持 Umami 事件追踪。如果你不想支持此功能，需要把参数 enableTrackEvent 设置为 false。 # config/_default/params.toml [umamiAnalytics] websiteid = \u0026#34;ABC12345\u0026#34; domain = \u0026#34;llama.yoursite.com\u0026#34; dataDomains = \u0026#34;yoursite.com,yoursite2.com\u0026#34; scriptName = \u0026#34;TRACKER_SCRIPT_NAME\u0026#34; enableTrackEvent = true Seline # 只需要在 config/_default/params.toml 文件提供你的 Seline token，就可以快速支持 Seline 站点分析。\nNote: 开启 Seline 网站分析后, Blowfish 会自动支持 Seline 事件追踪。如果你不想支持此功能，需要把参数 enableTrackEvent 设置为 false。 # config/_default/params.toml [selineAnalytics] token = \u0026#34;XXXXXX\u0026#34; enableTrackEvent = true 提供自定义站点分析 # 如果你想在你的网站提供其他站点分析，你可以自己提供脚本，并覆盖 Blowfish 主题中内置的 partial。 只需要创建 layouts/partials/extend-head.html 文件并在内容中提供脚本即可，Blowfish 主题会自动将 extend-head.html 中的内容添加到整个站点的 \u0026lt;head\u0026gt; 中。\n评论 # Blowfish 支持了在每篇文章底部添加一个评论功能。只需要提供一个 layouts/partials/comments.html 文件，并在其中添加显示评论的代码即可。\n你可以使用 Hugo 中内置的 Disqus 模板，也可以提供自定义代码。更多内容和细节可以参考 Hugo 文档.\n一旦提供了评论的 partial，你就可以使用 showComments 更细致地控制评论的显隐。此参数可以在 params.toml 配置文件 中全局设置，也可以在每篇文章的 扉页参数 中单独针对特定文章设置。该参数默认为 false，因此需要在上面两个位置设置为 true 才能显示评论。\n网站图标（Favicons） # Blowfish 提供了一套空白网站图标以便快速上手，但你可以提供自己的资源来覆盖他们。想要获取新的图标资源最简单的方法是使用第三方提供商，如 favicon.io。\n网站图标资源的位置在 static/ 文件夹中，并务必按照如下的名称命名。如果你使用了favicon.io，那么下载下来的文件名和下面的示例完全一致；当然你也可以通过别的方式提供，记得重命名就行。\nstatic/ ├─ android-chrome-192x192.png ├─ android-chrome-512x512.png ├─ apple-touch-icon.png ├─ favicon-16x16.png ├─ favicon-32x32.png ├─ favicon.ico └─ site.webmanifest 或者，您也可以完全覆盖默认的 favicon 行为，提供自己的 favicon HTML 标签和资源。只需在项目中提供一个 layouts/partials/favicons.html 文件，该文件就会被加入网站的 \u0026lt;head\u0026gt; 中，取代默认资源。\nIcon 图标 # 与 [图标简码]（https://opcompany.org/zh-cn/docs/shortcodes/#icon）类似，您也可以通过使用 Blowfish 的 icon.html partial，在自己的模板和 partial 中加入图标。该部分包含一个参数，即要包含的图标名称。\n示例：\n{{ partial \u0026#34;icon.html\u0026#34; \u0026#34;github\u0026#34; }} 图标使用 Hugo 管道填充，因此非常灵活。Blowfish 内置了大量用于社交、链接和其他用途的图标。请查看[图标示例]（https://opcompany.org/zh-cn/samples/icons/）页面，查看支持图标的完整列表。\n可以通过在项目的 assets/icons/ 目录中提供自己的图标资源来添加自定义图标。然后，可以通过使用 SVG 文件名（不含.svg扩展名）在局部中引用图标。\n图标还可通过调用[图标简码]（https://opcompany.org/zh-cn/docs/shortcodes/#icon）在文章内容中使用。\n扩展 # Blowfish 还提供了许多扩展 partial，可以扩展基本功能。\n文章链接 # 如果您希望在文章链接后插入附加代码，请创建一个 layouts/partials/extend-article-link.html 文件。如果与badge简码结合使用，该功能将尤为强大，可用于突出显示某些文章的元数据。\n头部和尾部 # 本主题允许在模板的\u0026lt;head\u0026gt;和\u0026lt;footer\u0026gt;部分直接插入附加代码。这些代码可用于提供不属于主题的脚本或其他逻辑。\n只需创建layouts/partials/extend-head.html或layouts/partials/extend-footer.html，这些部分就会自动包含在网站构建中。这两个 partial 将作为最后一项注入到 \u0026lt;head\u0026gt; 和 \u0026lt;footer\u0026gt; 中，因此它们可用于覆盖主题默认值。\n非缓存的 Head 扩展 # extend-head.html 是被缓存的，Blowfish 同时支持一种非缓存的 head 扩展方式，用于根据页面属性条件性地插入脚本或元数据。要使用此功能，请在项目中创建 layouts/partials/extend-head-uncached.html 文件，该文件会被插入到 \u0026lt;head\u0026gt; 标签中。\n此功能适用于根据 shortcode、front matter 标记或其他页面专属数据，动态添加脚本或元数据，避免内容在构建时被缓存。\n例如，可在 extend-head-uncached.html 中使用 HasShortcode 方法，根据 shortcode 是否存在动态加载 CDN JavaScript 文件。\n","externalUrl":null,"permalink":"/zh-cn/docs/partials/","section":"文档","summary":"站点分析 # Blowfish 支持了 Fathom、Google 和 Umami。Fathom 和 Umami 都是开源、简单、且注重隐私的站点分析服务，他们可以很好地替代 Google 分析。Fathom 和 Umami 都有公有云的付费版本，当然你也可以自己手动部署开源版。\n","title":"局部模板(Partials)","type":"docs"},{"content":" 缩略图 # Blowfish 对视觉支持进行了增强，可以让你轻松地为文章添加缩略图。你只需要将一个以 feature* 开头的图像文件（支持几乎所有格式，但更推荐 .png 或 .jpg）放置在文章所在的目录中，如下面所示：\ncontent └── awesome_article ├── index.md └── featured.png 这将告诉 Blowfish 这篇文章有一个特征图片，这个图片可以在网站作为缩略图使用，也可以用于社交平台上的 oEmbed 卡片。\n文件结构 # 如果你仅仅使用一个 .md 文件作为文章，文件结构如下所示：\ncontent └── awesome_article.md 如果想添加缩略图，你需要将单个 Markdown 文件放在文件夹中。创建一个与文章同名的目录，在其中创建 index.md 文件。文件结构如下所示：\ncontent └── awesome_article └── index.md 然后你只需要像之前那样添加一个特征图片。如果你想看示例，你可以参 这个示例。\nHero 图片 # 缩略图将默认用作每篇文章的 hero 图片。开启此功能，可以使用全局的 article.showHero 参数来控制整个站点所有文章，或者扉页参数 showHero 来控制其中一个文章。如果你想覆盖 hero 图片的样式，你可以在 ./layouts/partials/ 文件夹中创建一个名为 hero.html 的文件，它会覆盖主题中的默认部分。\n","externalUrl":null,"permalink":"/zh-cn/docs/thumbnails/","section":"文档","summary":"缩略图 # Blowfish 对视觉支持进行了增强，可以让你轻松地为文章添加缩略图。你只需要将一个以 feature* 开头的图像文件（支持几乎所有格式，但更推荐 .png 或 .jpg）放置在文章所在的目录中，如下面所示：\n","title":"缩略图","type":"docs"},{"content":"如果你已经按顺序阅读了文档，那么你现在应该已经了解了 Blowfish 中所有的功能和配置信息。这个页面旨在把所有内容整合在一起，并提供一些你会在 Hugo 项目中使用的示例。\n提示: 如果你是Hugo的新用户，请务必阅读官方文档，了解更多关于页面捆绑和资源的概念。 这个页面上的示例都可以根据不同的场景进行调整，期待你在做自己项目的同时，提出一些对特定内容格式化的想法。\n分支页面 # Hugo 中的分支页面包括主页、部分列表页面和分类页面等内容，请记住，这些分支页面的文件名都是 _index.md。\nBlowfish 支持在分支页面中设置扉页参数，在扉页中设置的参数将会覆盖在配置文件中设置的参数默认值。例如，在分支页面中的 title 参数将会覆盖页面标题的默认值。\n主页 # Layout: layouts/index.html Content: content/_index.md Blowfish 中的主页比较特殊，它的整体设计是由主页的布局参数控制的。你可以在 主页布局 来获取更多内容。\n如果你想自定义主页的内容，你仅需创建一个 content/_index.md 文件。该文件中的任何内容都会包含在你的主页中。\n示例：\n--- title: \u0026#34;欢迎来到 Blowfish ！\u0026#34; description: \u0026#34;这是往主页中添加内容的例子。\u0026#34; --- 欢迎来到我的网站！我很高兴你的来访。 这个例子设置了一个自定义标题，并在页面正文中添加了一些额外的内容。当然任何的 Markdown 都是可接受的，包括短代码、图片和连接。\n列表页 # Layout: layouts/_default/list.html Content: content/../_index.md 列表页将所有页面聚合到一个目录下，并为访问者提供了一种浏览页面的方式。博客或者作品集是一个典型案例，因为这两种类型的网站会将帖子或项目整合到一个列表页中。\n创建一个列表页就如同创建子目录一样简单。例如，要创建一个 \u0026ldquo;Projects\u0026rdquo; 列表页，你可以创建content/projects/。然后为你的项目创建一个 Markdown 文件。\n列表页面默认会自动生成，如果你想在列表添加一些页自定义内容，还需要在此目录创建一个 _index.md 文件。\n. └── content └── projects ├── _index.md # /projects ├── first-project.md # /projects/first-project └── another-project ├── index.md # /projects/another-project └── project.jpg Hugo 将会自动为目录中对应的项目页面生成 URL。\n类似于主页，列表页面也可以通过 _index.md 文件来添加自定义的内容。Blowfish将会在自定义内容的下方，展示这个列表所包含的所有子页面。\n示例：\n--- title: \u0026#34;项目\u0026#34; description: \u0026#34;了解我的一些项目。\u0026#34; cascade: showReadingTime: false --- 本节包含了我所有的当前项目。 在上面的示例中，这里的 cascade 参数被用来隐藏该列表页下任何子页面的阅读时间。这样做是的任何子页面都不会显示阅读时间，这是一种为整个部分添加默认参数的好方法。\n样本部分提供了列表页面的例子。\n分类页面 # List layout: layouts/_default/taxonomy.html Term layout: layouts/_default/term.html Content: content/../_index.md 分类页面有两种形式：分类列表和分类术语。列表页面显示给定分类中每个属于的列表，术语页面显示与给定术语相关的页面列表。\n术语这个词可能会有些令人困惑，所以这里让我们举个例子，假设将 animals 分类。\n首先，想要在 Hugo 中使用分类，需要先进行配置。通过创建 config/_default/taxonomies.toml 文件并定义分类名称来完成创建。\n# config/_default/taxonomies.toml animal = \u0026#34;animals\u0026#34; Hugo 期望分类定义式 单数 = “复数” 的形式，所以这里添加单数 animal 等于复数 animals 来创建我们的分类示例。\n现在 animals 分类就有了，需要在内容中添加它。下面是一个简单的在扉页参数中添加分类的例子：\n--- title: \u0026#34;进入狮子的巢穴\u0026#34; description: \u0026#34;这周我们学习狮子。\u0026#34; animals: [\u0026#34;lion\u0026#34;, \u0026#34;cat\u0026#34;] --- 现在我们已经在 animals 分类中添加了 lion 和 cat 两个术语。\n目前看起来还不太明显，但是 Hugo 将会为这个分类自动生成分类列表页和两个术语页。默认情况下可以在 /animals/ 地址访问列表页，在 /animals/lion/ 和 /animals/cat/ 访问术语页。\n这个列表页会列举出所有包含在这个分类中的术语。在上面的例子中，/animals/ 页面会包含 \u0026ldquo;lion\u0026rdquo; 和 \u0026ldquo;cat\u0026rdquo; 的链接，以此将访问者导向至具体的术语页。\n术语页将会列举出包含这个术语的所有页面。这些术语页面本质上和列表页面相同，并且以类似的方式运作。\n如果你想在分类页面中添加自定义的内容，只需要对应文件夹的目录中创建 _index.md 文件即可。\n. └── content └── animals ├── _index.md # /animals └── lion └── _index.md # /animals/lion 这些 _index.md 中的内容都会放置在生成的分类页面上。与其他页面一样，扉页参数中设置的变量也可以用来覆盖默认值。比如你可以有一个标签名是lion，但是可以将其覆盖成 \u0026ldquo;Lion\u0026rdquo;。\n想要查看实际效果，可以看标签分类列表。\n叶子页面 # Layout: layouts/_default/single.html Content (standalone): content/../page-name.md Content (bundled): content/../page-name/index.md Hugo 中的页面叶子页面是一个标准的内容页面，它不包含子页面的页面。可以作为关于页面，或者位于个人博客网站中的文章。\n最重要的是，与分支页面不同，叶子页面应该被命名为 index.md，而不是带下划线的_index.md。叶子页面比较特殊，它可以是一个在列表页面中的一个有唯一名称的文件，也可以是在一个有唯一名称的页面捆绑包。\n. └── content └── blog ├── first-post.md # /blog/first-post ├── second-post.md # /blog/second-post └── third-post ├── index.md # /blog/third-post └── image.jpg 当页面中包含类似图片的资源，应该使用页面捆绑包，即子目录的方式。页面捆绑包时一个包含 index.md 文件的子目录。将资源和页面内容打包在同一个目录中是必要的，因为许多短代码和其他主题逻辑假设资源和页面捆绑在一起，\n示例：\n--- title: \u0026#34;我的第一篇博客文章\u0026#34; date: 2022-01-25 description: \u0026#34;欢迎来到我的博客\u0026#34; summary: \u0026#34;了解更多关于我和我创建博客的初衷。\u0026#34; tags: [\u0026#34;welcome\u0026#34;, \u0026#34;new\u0026#34;, \u0026#34;about\u0026#34;, \u0026#34;first\u0026#34;] --- _这_ 是博客的内容。 叶子页面有很多的扉页参数，来帮你你自定义展示它。\n外部链接 # Blowfish 允许外部页面链接和文章列表一起显示在列表页。如果你在第三方网站（如Medium）有文章，或者你想连接到研究论文，而不想在 Hugo 中复制内容，这将非常有用。\n为了创建一个外部链接文章，需要设置一些特殊的扉页参数：\n--- title: \u0026#34;我的 Medium 文章\u0026#34; date: 2022-01-25 externalUrl: \u0026#34;https://medium.com/\u0026#34; summary: \u0026#34;我在Medium上写了一篇文章。\u0026#34; showReadingTime: false build: render: \u0026#34;false\u0026#34; list: \u0026#34;local\u0026#34; --- 除了像 title 和 summary 这种普通的扉页参数外，需要设置 externalUrl 参数来告诉 Blowfish 这不是一篇普通的文章。访问者在访问后，会被重定向到这里提供的 URL。\n此外，我们使用了 build 参数来避免 Hugo 生成一个普通页面。因为我们是一个连接到外部的 URL，生成页面是没有意义的。\nHugo 中可以通过命令来快速生成一个外部链接的文件，在创建新的外部链接是，只需要指定 -k external 即可。这让生成外部链接文章变得更简单。\nhugo new -k external posts/my-post.md 简单页面 # Layout: layouts/_default/simple.html Front Matter: layout: \u0026quot;simple\u0026quot; Blowfish 包含了一个用于简单页面的布局。简单布局是一个全宽的模板，并仅仅展示 Markdown 中的内容，不包含任何主题中的特性。\n简单布局中唯一可用的特性是面包屑导航和分享链接。这个行为也是通过 扉页参数 来控制。\n如果想在特定页面上启用简单布局，添加 layout 扉页参数，并设置为 \u0026quot;simple\u0026quot;：\n--- title: \u0026#34;我的着陆页\u0026#34; date: 2022-03-08 layout: \u0026#34;simple\u0026#34; --- 这个页面的内容是全宽的。 自定义布局 # Hugo 的其中一个好处就是它让整个站点、单独内容或页面创建自定义布局变得容易。\n自定义布局遵循所有 Hugo 的模板规则，更多信息可以在 Hugo 官方文档 中找到。\n覆盖默认布局 # 上面讨论的每种内容类型都列出了其对应的布局文件。如果你在本地项目中创建了这个文件，它将覆盖主题的默认模板，由此可以来自定义网站的样式布局。\n例如，创建一个 layouts/_default/single.html 文件，此文件将允许用户完全自定义叶子页面的布局。\n自定义部分布局 # 如果你想为个别内容创建自定义布局也很简单。这在使用特定样式列出某种类型内容时会非常有效。\n让我们简单看一个例子，来了解如何为\u0026quot;Projects\u0026quot;页面创建自定义的特殊布局。\n为了做到这一点，使用常规的Hugo规则来在 content 目录下组织你的内容。此外，在和 layout 目录中创建和内容部分相同的目录结构，并在此目录下添加一个 list.html 文件，此文件是 \u0026ldquo;projects\u0026rdquo; 内容的一个新的列表页布局。\n. └── content │ └── projects │ ├── _index.md │ ├── first-project.md │ └── second-project.md └── layouts └── projects └── list.html list.html 文件将会覆盖默认的模板，但只会作用在 projects 部分。我们先看看 _index.md 文件的内容。\n--- title: \u0026#34;Blowfish\u0026#34; date: 2021-08-11 icon: \u0026#34;github\u0026#34; description: \u0026#34;用Tailwind CSS构建的Hugo主题。\u0026#34; topics: [\u0026#34;Hugo\u0026#34;, \u0026#34;Web\u0026#34;, \u0026#34;Tailwind\u0026#34;] externalUrl: \u0026#34;https://github.com/nunocoracao/blowfish/\u0026#34; --- 在这个例子中，我们为每个项目添加了一些参数，然后我们在列表模板中可以使用他们。虽然这个例子没有页面的内容，但这并不组织你添加内容。这是自己的的自定义模板，完全可以随心所欲！\n定义了项目内容后，现在我们可以创建一个列表模板来输出项目中的信息。\n{{ define \u0026#34;main\u0026#34; }} \u0026lt;section class=\u0026#34;mt-8\u0026#34;\u0026gt; {{ range .Pages }} \u0026lt;article class=\u0026#34;pb-6\u0026#34;\u0026gt; \u0026lt;a class=\u0026#34;flex\u0026#34; href=\u0026#34;{{ .Params.externalUrl }}\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;mr-3 text-3xl text-neutral-300\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;relative inline-block align-text-bottom\u0026#34;\u0026gt; {{ partial \u0026#34;icon.html\u0026#34; .Params.icon }} \u0026lt;/span\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div\u0026gt; \u0026lt;h3 class=\u0026#34;flex text-xl font-semibold\u0026#34;\u0026gt; {{ .Title }} \u0026lt;/h3\u0026gt; \u0026lt;p class=\u0026#34;text-sm text-neutral-400\u0026#34;\u0026gt; {{ .Description }} \u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/a\u0026gt; \u0026lt;/article\u0026gt; {{ end }} \u0026lt;/section\u0026gt; {{ end }} 尽管这是一个比较简单的例子，但你可以看到这里的 list.html 文件遍历了本节中的所有子页面，然后输出了每个页面的 HTML 链接 和图标。每个项目的扉页参数被用来确定显示哪些信息。 Although this is quite a straightforward example, you can see that it steps through each of the pages in this section (ie. each project), and then outputs HTML links to each project alongside an icon. The metadata in the front matter for each project is used to determine which information is displayed.\n请记住，构建网站的时候需要重新编译 Tailwind CSS，一定要确保相关的样式和类可用。这在高级定制部分有更详细的说明。\n当尝试使用自定义模板时，请务必先了解默认的 Blowfish 模板是如何工作的，然后将其作为指南或模板。补充一点，Hugo 文档 也是学习创建自定义模板的宝贵资源。\n","externalUrl":null,"permalink":"/zh-cn/docs/content-examples/","section":"文档","summary":"如果你已经按顺序阅读了文档，那么你现在应该已经了解了 Blowfish 中所有的功能和配置信息。这个页面旨在把所有内容整合在一起，并提供一些你会在 Hugo 项目中使用的示例。\n","title":"内容示例","type":"docs"},{"content":"Blowfish 提供了将一组文章分组到“系列”下的功能。将文章放在系列下将在每个页面中显示该系列文章的其余部分，并在它们之间提供快速导航。您可以在上面看到一个例子。\n创建分类 # 启用系列的第一步是创建 series 分类法。为此，只需将 series 分类法添加到 hugo.toml 中的分类法列表中即可。\n[taxonomies] tag = \u0026#34;tags\u0026#34; category = \u0026#34;categories\u0026#34; author = \u0026#34;authors\u0026#34; series = \u0026#34;series\u0026#34; 标记文章 # 然后你只需要添加 series 和 series_order 参数。 series 参数将是您要将文章放入的系列名称。 series_order 定义了文章在该系列中的顺序。在下面的示例中，文章是 Documentation 系列中的第 11 篇文章。\nseries: [\u0026#34;Documentation\u0026#34;] series_order: 11 系列的表现形式 # 将文章标记为系列的一部分将自动显示系列模块，例如您在下方看到的这样。您可以使用 params.toml 中的 article.seriesOpened 全局变量或参数 seriesOpened 来选择该模块是否开始打开，以指定文章级别的覆盖。\n","externalUrl":null,"permalink":"/zh-cn/docs/series/","section":"文档","summary":"Blowfish 提供了将一组文章分组到“系列”下的功能。将文章放在系列下将在每个页面中显示该系列文章的其余部分，并在它们之间提供快速导航。您可以在上面看到一个例子。\n","title":"系列","type":"docs"},{"content":"您可以通过多种方式对 Blowfish 进行高级自定义。请阅读下文，了解更多可自定义的内容以及实现想要效果的最佳方法。\n如果您需要更多指导，请在 GitHub Discussions 上提问。\nHugo 项目结构 # 在开始讨论之前，首先简要介绍一下 Hugo 项目结构 以及管理内容和主题自定义的最佳方式。\n总结： 切勿直接编辑主题文件。一定要仅在 Hugo 项目的子目录中进行自定义，而不是在主题目录中进行自定义。 Blowfish 旨在利用所有标准的 Hugo 参数操作。它旨在允许在不更改任何核心主题文件的情况下自定义和覆盖主题的所有方面。这也给您提供了一种无缝升级的体验，同时让您完全控制网站的外观和感觉。\n为了实现这一点，您永远不应该直接手动更改任何主题核心文件。无论你是使用 Hugo 模块安装，还是作为 git 子模块安装，还是手动将主题安装在 themes/ 目录中，你都应该始终保持这些主题文件不变。\n调整主题行为的正确方法是通过使用 Hugo 强大的文件查找顺序覆盖文件。总之，查找顺序确保了包含在你的项目目录中的文件都会优先于主题文件。\n例如，如果您想覆盖 Blowfish 中的主要文章模板， 您可以创建自己的 layouts/_default/single.html 文件并将其放在项目的根目录中。然后，此文件将覆盖主题文件中的 single.html 同时也不会对主题文件本身进行更改。 这适用于任何主题文件：HTML 模板、partials、shortcodes、config 文件、data、assets 等等。\n只要您遵循这个方法，您将始终能够无缝更新主题（或测试不同的主题版本），而不必担心会丢失任何自定义更改。\n修改图片优化设置 # Hugo 有各种内置的方法来调整大小，裁剪和优化图像。\n举个例子，如果在 layouts/partials/article-link/card.html 中，您有以下代码：\n{{ with .Resize \u0026#34;600x\u0026#34; }} \u0026lt;div class=\u0026#34;w-full thumbnail_card nozoom\u0026#34; style=\u0026#34;background-image:url({{ .RelPermalink }});\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; {{ end }} Hugo 将默认把图像大小调整为 600px 同时保持比例不变。\n值得注意的是，默认的图像设置比如锚点 也可以在你的 站点配置 中修改，就和修改模板一样。\n想要了解更多信息，请再参考 有关图像处理的 Hugo 文档。\n配色方案 # Blowfish 附带了多种开箱即用的配色方案。想要更改基本配色方案，您可以设置 colorScheme 主题参数。请参阅快速上手#配色方案 以了解更多内置方案。\n除了默认方案之外，您还可以创建自己的方案并根据自己的喜好重新设计整个网站的样式。 通过在 assets/css/schemes/ 中创建 \u0026lt;scheme-name\u0026gt;.css 文件可以创建新的配色方案。创建文件后，只需在主题配置中按名称引用它即可。\n注意： 手动生成这些文件可能会比较困难，我编写了一个 nodejs 工具 Fugu 来帮助解决这个问题。简而言之，您只需要提供调色板的三个主要 hex 值，程序将生成一个可以直接导入到 Blowfish 中的 css 文件。 Blowfish 使用一种定义了整个主题中使用的三色调色板。这三种颜色被定义为 neutral 、 primary 和 secondary 颜色，每种颜色包含十种色调。\n由于 Tailwind CSS 3.0 计算不透明度颜色值的方式，方案中指定的颜色需要通过提供红色、绿色和蓝色值来符合特定格式 。\n:root { --color-primary-500: 139, 92, 246; } 此示例为一个 primary-500 的 CSS 颜色变量，红色值为 139，绿色值为 92，蓝色值为 246。\n您可以使用现有主题样式表之一作为模板并自由配置自己的颜色。如果想要寻求一些灵感，请查看官方 Tailwind 调色板参考 。\n覆盖样式 # 有时您需要添加自定义样式来设置您自己的 HTML 元素的样式。 Blowfish 允许您覆盖自己的 CSS 样式表中的默认样式来进行自定义。只需在项目的 assets/css/ 文件夹中创建一个 custom.css 文件即可。\ncustom.css 文件将被 Hugo 优化并在所有其他主题样式之后自动加载，这意味着自定义文件中的任何内容都将优先于默认值。\n使用附加字体 # Blowfish 可以让您轻松更改网站的字体。在项目的 assets/css/ 文件夹中创建 custom.css 文件后，将字体文件放入 static/fonts 文件夹中。\n. ├── assets │ └── css │ └── custom.css ... └─── static └── fonts └─── font.ttf 这样，该字体便可供网站使用。现在，可以将字体导入到您的 custom.css 中，并在您认为合适的地方进行替换。下面的示例展示了替换整个 html 字体的方法。\n@font-face { font-family: font; src: url(\u0026#39;/fonts/font.ttf\u0026#39;); } html { font-family: font; } 调整字体大小 # 我们也提供更改网站的字体大小的示例。 Blowfish 使这一切变得简单，因为它在整个主题中使用源自基本 HTML 语言的缩放字体大小方法。默认情况下，Tailwind 将默认大小设置为 12pt ，但您可以将其更改为喜欢的大小。\n参考上面的说明 创建一个 custom.css 文件并添加以下 CSS 声明：\n/* Increase the default font size */ html { font-size: 13pt; } 只需更改此值，您网站上的所有字体大小都将调整为此新大小。因此，要增加使用的整体字体大小，请将该值设置为大于 12pt 。同样，要减小字体大小，请将值设置为小于 12pt 。\n更换语法高亮主题 # 要更换语法高亮主题，请创建 assets/css/custom.css，然后添加以下内容：\n.chroma, .chroma *, .chroma:is(.dark *), .chroma:is(.dark *) * { color: unset; font-weight: unset; font-style: unset; } 这会清除预设的 Chroma 样式，下一步我们使用 hugo gen chromastyles 指令将 Chroma 样式加入到您的 css 档案中：\n# Mac/Linux (echo \u0026#39;html:not(.dark) {\u0026#39;; hugo gen chromastyles --style=emacs; echo \u0026#39;}\u0026#39;) \u0026gt;\u0026gt; assets/css/custom.css (echo \u0026#39;html.dark {\u0026#39;; hugo gen chromastyles --style=evergarden; echo \u0026#39;}\u0026#39;) \u0026gt;\u0026gt; assets/css/custom.css # Windows PowerShell # 此命令不能在 CMD 中运行，必须在 PowerShell 中运行 @(\u0026#34;html:not(.dark) {\u0026#34;; (hugo gen chromastyles --style=emacs); \u0026#34;}\u0026#34;) | Add-Content -Path \u0026#34;assets/css/custom.css\u0026#34; @(\u0026#34;html.dark {\u0026#34;; (hugo gen chromastyles --style=evergarden); \u0026#34;}\u0026#34;) | Add-Content -Path \u0026#34;assets/css/custom.css\u0026#34; 在 Hugo 文档中查看所有可用的样式。\n从源码构建主题 CSS # 如果你需要进行较大的改动，可以从零开始重新构建整个主题的 CSS。这在你希望调整 Tailwind 配置或向主样式表中添加额外的 Tailwind 类时非常有用。\n信息 手动构建主题仅适用于高级用户。\n工作原理 # Tailwind 会以纯文本方式扫描你的项目文件，查找类似类名的标记，并只为它能够识别且实际出现在这些文件中的工具类生成 CSS。\n接下来的步骤将重点介绍如何安装 Tailwind 并进行相关配置，以确保主题源码文件能够被正确纳入扫描范围。所有命令均以通过 Git submodule 安装主题的用户为示例；如果你使用的是 Hugo Module，则需要先通过 hugo mod vendor 将主题源码 vendor 到 _vendor 目录中，并相应调整命令中的路径。\n安装依赖项 # 为了使 Tailwind 正常工作，您需要更改终端工作目录为 themes/blowfish/ 并安装项目依赖项。您需要安装 npm。\ncd themes/blowfish npm install 运行 Tailwind 编译器 # 安装依赖项后，接下来可以使用 Tailwind CLI 来调用 JIT 编译器。返回 Hugo 项目的根目录并在终端输入以下命令：\ncd ../.. node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit 这个命令稍微有点复杂，因为涉及到几个路径。但本质上你是在调用 Tailwind CLI 并提供下面三个参数：\nTailwind 配置文件 tailwind.config.js 主题的 main.css 文件 编译产出后的 CSS 文件的位置 assets/css/compiled/main.css Tailwind 将自动检查项目中的所有内容和布局，并构建新的 main.css，其中包含网站所需的所有 CSS。由于 Hugo 处理文件层次结构的方式，此文件现在将自动覆盖主题附带的 main.css。\n每次更改布局并需要新的 Tailwind CSS 样式时，您只需重新运行命令并生成新的 CSS 文件即可。您还可以在命令末尾添加 -w 以在监视模式下运行 JIT 编译器。\n制作构建脚本 # 要完成此解决方案，您可以通过为这些命令添加别名来简化整个过程，或者参照我的操作，将该 package.json 添加到包含必要脚本的项目的根目录：\n// package.json { \u0026#34;name\u0026#34;: \u0026#34;my-website\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;1.0.0\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;scripts\u0026#34;: { \u0026#34;server\u0026#34;: \u0026#34;hugo server -b http://localhost -p 8000\u0026#34;, \u0026#34;dev\u0026#34;: cross-env \u0026#34;NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w\u0026#34;, \u0026#34;build\u0026#34;: cross-env \u0026#34;NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit\u0026#34; }, // and more... } 现在，当您想要设计站点时，可以调用 npm run dev ，编译器将以监视模式运行。当您准备好部署时，运行 npm run build ，您将生成一个编译好的 Tailwind CSS。\n🙋‍♀️ 如果您需要帮助，请随时在 GitHub Discusions 上提问。\n","externalUrl":null,"permalink":"/zh-cn/docs/advanced-customisation/","section":"文档","summary":"您可以通过多种方式对 Blowfish 进行高级自定义。请阅读下文，了解更多可自定义的内容以及实现想要效果的最佳方法。\n","title":"进阶自定义","type":"docs"},{"content":"有许多方法可以部署基于 Blowfish 主题的 Hugo 网站。这个主题几乎在任何部署场景中都很灵活。\nBlowfish 主题是通过将目录转换成相对 URL 路径来构建的。这让网站可以轻松地将子文件夹部署到类似 GitHub Pages 的托管服务中。只要在 hugo.toml 文件中配置了 baseURL 参数即可，通常不需要其他特殊的配置就能正常工作。\nHugo 官方托管与部署文档是了解如何部署网站的最佳方案。下面会介绍详细介绍一些方案，希望能帮助你在以下平台顺利部署。\n选择你喜欢的服务商：\nGitHub Pages Netlify Render Cloudflare Pages 共享主机，VPS 或者 私有服务器 GitHub Pages # GitHub 允许你使用 Actions 在 GitHub Pages 上托管静态网站。如果想要启用此功能，需要你在代码库中启用 Pages 并创建一个新的 Actions 工作流，以此来构建和部署你的网站。\n工作流文件需要是 YAML 格式，放置在 GitHub 仓库的 .github/workflows/ 目录下，并以 .yml 后缀命名即可。\n重要： 确保你需要部署的分支 branches 分支下和 YAML 的部署步骤中 if 参数一致，保证部署正确的分支。 # .github/workflows/gh-pages.yml name: GitHub Pages on: push: branches: - main jobs: build-deploy: runs-on: ubuntu-24.04 concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: - name: Checkout uses: actions/checkout@v3 with: submodules: true fetch-depth: 0 - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: \u0026#34;latest\u0026#34; - name: Build run: hugo --minify - name: Deploy uses: peaceiris/actions-gh-pages@v3 if: ${{ github.ref == \u0026#39;refs/heads/main\u0026#39; }} with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_branch: gh-pages publish_dir: ./public 将配置文件推动到 Github，Github 会自动运行工作流。你需要访问 Github 代码库的 Settings \u0026gt; Pages 部分，检查 YAML 配置是否正确。它应该被设置为使用 gh-pages 分支。\n一旦配置完成后，重新运行 Actions 工作流，网站会正确构建和部署，你就可以查看 Actions 的日志来检查是否部署成功。\nNetlify # 想要部署 Netlify，需要创建一个新的 CI 并关联到你的源码。在 Netlify UI 中，构建的设置可以置空，你只需要配置你要绑定的域名。\n然后在你的代码库根目录下创建一个 netlify.toml 文件，具体内容如下：\n# netlify.toml [build] command = \u0026#34;hugo mod get -u \u0026amp;\u0026amp; hugo --gc --minify -b $URL\u0026#34; publish = \u0026#34;public\u0026#34; [build.environment] NODE_ENV = \u0026#34;production\u0026#34; GO_VERSION = \u0026#34;1.16\u0026#34; TZ = \u0026#34;UTC\u0026#34; # Set to preferred timezone [context.production.environment] HUGO_VERSION = \u0026#34;0.104.1\u0026#34; HUGO_ENV = \u0026#34;production\u0026#34; [context.deploy-preview.environment] HUGO_VERSION = \u0026#34;0.104.1\u0026#34; 这个配置默认使用的是 Hugo module 的安装方式来加载 Blowfish 主题的。如果你是通过别的方式加载 Blowfish，请将构建命令改为 hugo --gc --minify -b $URL。\n当你将配置文件推动到你的代码库时，Netlify 会自动触发并部署你的网站。你可以在 Netlify UI 中查看日志，以检查是否报错。\nRender # 部署到 Render 非常地简单易懂，所有的配置都可以通过 Render UI 来完成。\n创建一个 静态网站 并关联到你的代码库。然后只需要配置你的构建命令为 hugo --gc --minify 和发布目录为 public 即可。\n当你更新你的代码库时，Render 总会自动构建并重新部署。\nCloudflare Pages # Cloudflare 提供了 Pages 服务来托管 Hugo 站点。只需要从 Git 仓库构建并托管到 Cloudflare 的 CDN 即可。这部分可以参考 Hugo 部署指南。\nCloudflare 提供的 Rocket Loader™ 可以通过 JavaScript 来加速网页渲染，但是会破坏 Blowfish 主题中的外观切换器，甚至还有可能因为错误的加载顺序导致网站出现或亮或暗的屏幕闪烁。\n可以通过禁用它来解决：\n点击 Cloudflare 控制台 点击你的域名 点击 Speed 中的 Optimization 选项 滚动到 Rocket Loader™ 并禁用它 即使不需要这个功能，基于 Blowfish 主题的 Hugo 站点本身加载就比较快。\n共享主机，VPS 或者 私有服务器 # 不论你是使用传统的网站托管，或是部署到你自己的服务器中，这和构建 Hugo 网站并传输文件到你的服务一样简单。\n确保 hugo.toml 文件中的 baseURL 参数是你的网站根目录的完整 URL（包括任何子域名或子文件夹）。\n然后使用 hugo 构建你的网站，并将输出目录复制到你的服务器根目录，至此你已经部署完毕了。需要注意的是，默认情况下构建好的网站目录是 public。\n如果你需要一个托管提供商，你可以尝试 Vultr 或者 DigitalOcean。注册这些产品默认会给你100美元的免费额度，以便你托管服务。\n","externalUrl":null,"permalink":"/zh-cn/docs/hosting-deployment/","section":"文档","summary":"有许多方法可以部署基于 Blowfish 主题的 Hugo 网站。这个主题几乎在任何部署场景中都很灵活。\n","title":"托管和部署","type":"docs"},{"content":"为了能够在网站中获取动态数据，我们支持了对 Firebase 的集成。这将允许你在列表和文章中使用阅读量功能。\n访问 Firebase 并创建一个账户 创建一个新项目 选择分析位置 Blowfish 是通过 params.toml 配置文件中的 firebase 相关参数，来和 firebase 集成的，更多的细节内容可以参考 这个页面。你可以在下面找到集成 firebase 的文件示例，请注意 FirebaseConfig 对象内的参数。 // 从你需要的 SDK 中导入所需的函数 import { initializeApp } from \u0026#34;firebase/app\u0026#34;; import { getAnalytics } from \u0026#34;firebase/analytics\u0026#34;; // TODO: Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries // 你 Web 应用的 Firebase 配置 // 对于 Firebase JS SDK v7.20.0 以及更高版本，measurementId 参数是可选的 const firebaseConfig = { apiKey: \u0026#34;AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY\u0026#34;, authDomain: \u0026#34;blowfish-21fff.firebaseapp.com\u0026#34;, projectId: \u0026#34;blowfish-21fff\u0026#34;, storageBucket: \u0026#34;blowfish-21fff.appspot.com\u0026#34;, messagingSenderId: \u0026#34;60108104191\u0026#34;, appId: \u0026#34;1:60108104191:web:039842ebe1370698b487ca\u0026#34;, measurementId: \u0026#34;G-PEDMYR1V0K\u0026#34; }; // 初始化 Firebase const app = initializeApp(firebaseConfig); const analytics = getAnalytics(app); 设置 Firestore - 选择 Build 并打开 Firestore. 创建一个数据库，并在生产环境中启动。选择服务器位置然后等待其部署完成。启动之后你需要配置规则。只需要复制并粘贴下面的内容，然后点击发布即可。这些规则确保阅读量只能增加1，点赞量只能增加或减少1（且不会低于0）。 rules_version = \u0026#39;2\u0026#39;; service cloud.firestore { match /databases/{database}/documents { // Views - read anyone, only increment by 1 match /views/{document} { allow read: if request.auth != null; allow create: if request.auth != null \u0026amp;\u0026amp; request.resource.data.keys().hasOnly([\u0026#39;views\u0026#39;]) \u0026amp;\u0026amp; request.resource.data.views == 1; allow update: if request.auth != null \u0026amp;\u0026amp; request.resource.data.diff(resource.data).affectedKeys().hasOnly([\u0026#39;views\u0026#39;]) \u0026amp;\u0026amp; request.resource.data.views == resource.data.views + 1; } // Likes - read anyone, only +1 or -1 match /likes/{document} { allow read: if request.auth != null; allow create: if request.auth != null \u0026amp;\u0026amp; request.resource.data.keys().hasOnly([\u0026#39;likes\u0026#39;]) \u0026amp;\u0026amp; request.resource.data.likes == 1; allow update: if request.auth != null \u0026amp;\u0026amp; request.resource.data.diff(resource.data).affectedKeys().hasOnly([\u0026#39;likes\u0026#39;]) \u0026amp;\u0026amp; (request.resource.data.likes == resource.data.likes + 1 || request.resource.data.likes == resource.data.likes - 1) \u0026amp;\u0026amp; request.resource.data.likes \u0026gt;= 0; } // Deny everything else match /{document=**} { allow read, write: if false; } } } 开启匿名授权 - 选择 Build 并打开 Authentication。选择开始，点击 Anonymous 并开启，保存。 享受 - 现在可以激活 Blowfish 中文章阅读量和点赞量的功能。 ","externalUrl":null,"permalink":"/zh-cn/docs/firebase-views/","section":"文档","summary":"为了能够在网站中获取动态数据，我们支持了对 Firebase 的集成。这将允许你在列表和文章中使用阅读量功能。\n","title":"Firebase: 阅读量 \u0026 点赞量","type":"docs"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/categories/blowfish/","section":"Categories","summary":"","title":"Blowfish","type":"categories"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/tags/blowfish/","section":"标签","summary":"","title":"Blowfish","type":"tags"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/tags/hugo/","section":"标签","summary":"","title":"Hugo","type":"tags"},{"content":"假装这里有一份 Nuno 的简介。\n","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/authors/nunocoracao/","section":"作者列表示例","summary":"假装这里有一份 Nuno 的简介。\n","title":"Nuno Coração","type":"authors"},{"content":"","date":"4 October 2023","externalUrl":null,"permalink":"/categories/open-source/","section":"Categories","summary":"","title":"Open-Source","type":"categories"},{"content":"","date":"4 October 2023","externalUrl":null,"permalink":"/tags/tutorial/","section":"Tags","summary":"","title":"Tutorial","type":"tags"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/","section":"Welcome to OPC! 🎉","summary":"","title":"Welcome to OPC! 🎉","type":"page"},{"content":"Blowfish 支持基于 Hugo 的所有分类方法。同时，当前的标签预览页也支持展示自定义内容。\n在这里可以为每个分类添加额外的描述信息。查看下面的高级标签页面，了解更多。\n","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/tags/","section":"标签","summary":"Blowfish 支持基于 Hugo 的所有分类方法。同时，当前的标签预览页也支持展示自定义内容。\n","title":"标签","type":"tags"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/categories/%E5%BC%80%E6%BA%90/","section":"Categories","summary":"","title":"开源","type":"categories"},{"content":"一年前我创建了 Blowfish，这是一个为了打造我的个人主页而精心设计的 Hugo 主题。我决定将其作为一个开源项目。直到今天，Blowfish 已经变成了一个蓬勃发展的开源项目，在 GitHub 上拥有超过900个 star 和数百名用户。在本教程中，我将向你展示如何搭建并在几分钟内让你的网站运行起来。\nnunocoracao/blowfish Personal Website \u0026amp; Blog Theme for Hugo HTML 2762 717 TL;DR # 本指南的目标是指导新用户如何使用 Hugo 快速安装、管理和发布自己的网站。最终的版本可以看这个代码库——如果你想直接跳到结尾的话可以直接看这里。\n视觉风格只是 Blowfish 提供的众多特性之一。想要了解更多，我们鼓励你浏览文档，学习如何根据自己的需求自定义主题。另外，已经有许多其他用户使用该主题并提供了十分优秀的示例，来为你提供灵感。Blowfish 还提供了一些额外的基于 短代码 的功能——你可以在这里查看它们以获取更多灵感。\n设置你的环境 # 让我们从安装工具开始。本指南涵盖了在 Mac 操作系统下的步骤，这些命令可能不适用于你的硬件和操作系统。如果你使用的是 Windows 或 Linux，请参考文档：安装 Hugo 和GitHub CLI。\n无论如何，如果你使用的是 MacOS，那么首先需要安装 brew ——一个专为 MacOS 的包管理器，这将有助于安装和管理其他工具。\n/bin/bash -c \u0026#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\u0026#34; 安装完成 brew 后，让我们安装 Git, Hugo 和 GitHub CLI。\nbrew install git brew install hugo brew install gh 为你的网站代码创建一个文件夹，并在终端中打开（我在下面创建了 blowfish-tutorial 文件夹，当然你可以将其重命名为任何名称）。\nmkdir blowfish-tutorial cd blowfish-tutorial 进入文件夹后的下一步，就是初始化你本地的 git 仓库。\ngit init -b main 现在，让我们创建并同步本地仓库到 GitHub 仓库，这样你的代码就可以在远程存储。\ngh auth login gh repo create git push --set-upstream origin main 查看下面的图片，这是我的远程仓库的地址。同样地，你也可以随意更改以适应你自己的 GitHub 仓库。\n最后，创建一个 .gitignore 文件，它会自动排除某些文件，以防止这些文件传到远程仓库。下面的例子是我在 .gitignore 文件中添加的文件和文件夹。\n#others node_modules .hugo_build.lock # OS generated files .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes # Hugo public 最后一步是保存所有更改，并推送到你的远程仓库中。 The last step is to save all the changes to the repo.\ngit add . git commit -m “initial commit” git push 创建并配置站点 # 所有的准备工作就绪后，创建和配置你的站点将会很容易。继续在上一部分你创建的文件夹内，让我们首先创建一个空的 Hugo 网站（不关联任何主题）。\nhugo new site --force . 执行完成后，尝试用下面的命令来运行你的网站。打开浏览器并访问 https://localhost:1313 即可查看你的网站。\nhugo server emmmm… 页面未找到404了，是吧？ 这是预期内的，你创建了一个空白网站，Hugo 不会添加任何默认的页面——换句话说，你的网站还没有任何页面可以显示。\n下一步，让我门使用 git submodules 来安装 Blowfish。通过 git submodules 安装可以让以后管理和升级 Blowfish 主题更加方便。\ngit submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish 接下来，在你的代码根目录下创建 config/_default/ 文件夹。现在你需要下载这些文件，并把它们放在刚刚创建的 _default 文件夹内。最终的文件结构看起来应该是这样的。\nconfig/_default/ ├─ hugo.toml ├─ languages.en.toml ├─ markup.toml ├─ menus.en.toml └─ params.toml ` 打开 hugo.toml 并把 theme = \u0026ldquo;blowfish” 这一样的注释取消掉，目前为止你已经准备好了。再次尝试运行网站，并打开浏览器在_https://localhost:1313_查看效果。\nhugo server 你应该能看到下面这样。目前我们还没有添加任何内容，所以还没有页面，但是 Blowfish 主题已经准备就绪，下面只需要配置。\n现在我们来配置主题。\n仅供参考 本指南不会详细介绍 Blowfish 中的所有特性和参数——如果想要了解所有的功能特性和参数，以及如何使用它们，请参考Blowfish 文档。 menus.en.toml # 这个文件定义了你的顶部（banner）和底部（footer）的菜单结构。对于本指南，我们只使用菜单的这两部分：Posts 和 Tags。\nPosts - 用于展示网站中的所有内容条目的完整列表 Tags - 自动生成每篇文章的标签 为了实现这一点，请确保 menus.en.toml 文件中设置了以下参数。完成修改后，重新运行hugo server，你将会看到顶部菜单。\n[[main]] name = \u0026#34;Posts\u0026#34; pageRef = \u0026#34;posts\u0026#34; weight = 10 [[main]] name = \u0026#34;Tags\u0026#34; pageRef = \u0026#34;tags\u0026#34; weight = 30 languages.en.toml # 这个文件配置了网站作者的详细信息。修改下面的内容来定义你自己的信息。\n[author] name = \u0026#34;名字在这\u0026#34; image = \u0026#34;profile.jpg\u0026#34; headline = \u0026#34;我是个好人\u0026#34; bio = \u0026#34;关于我的二三事\u0026#34; # 出现在每篇文章的作者卡片中 网站的图片需要防止在 assets 文件夹内。针对这一步，请将一张你的个人图片添加到这个文件夹，并命名为 profile.jpg。 你可以修改这个文件名，确保文件名和上面个人信息中 image 的参数值对应就行。如果你没有个人图片可用，你可以使用下面的图片继续教程。\nassets/profile.jpg 最后一步是配置你的链接——社交媒体、GitHub 等等。该文件包含了所有支持的链接选项，不过他们被注释掉了。你可以将你希望展示的个人链接的配置项接触注释，也可以替换他们的展示顺序。\nparams.toml # 这个文件是 Blowfish 的配置文件。大部分的视觉选项或自定义的选项可以通过它进行配置，它涵盖了 Blowfish 主题的多个功能特性。 对于本指南，我决定使用 background 布局，你也可以查看Blowfish主题其他的主页布局；同时使用了 Neon 颜色方案，你可以查看完整的颜色方案列表或者创建自己的颜色方案。\n将 image.jpg 文件添加到 assets 文件夹，它将会作为网站的背景。你可以挑选自己喜欢的，当然也可以用本指南中使用的这张图。\nassets/image.jpg 现在让我们打开 params.toml 并开始配置。在这里我只会关注需要修改的值，不要再没看文档的情况下，删除此文件的其余部分。\n首先让我们确保上面提到的正确的颜色方案，开启图片优化，并设置默认背景图片。\ncolorScheme = \u0026#34;neon\u0026#34; disableImageOptimization = false defaultBackgroundImage = \u0026#34;image.jpg\u0026#34; # used as default for background images 接下来，让我们配置首页。我们选择了 background 布局，配置首页图片和最近文章。此外，可以使用 card view 卡片展示的方式来展现最新文章。最后让我们配置头部固定。\n[homepage] layout = \u0026#34;background\u0026#34; # valid options: page, profile, hero, card, background, custom homepageImage = \u0026#34;image.jpg\u0026#34; # used in: hero, and card showRecent = true showRecentItems = 6 showMoreLink = true showMoreLinkDest = \u0026#34;/posts/\u0026#34; cardView = true cardViewScreenWidth = false layoutBackgroundBlur = true # only used when layout equals background [header] layout = \u0026#34;fixed\u0026#34; 现在配置文章和列表页面的展示。下面是他们的配置。\n[article] showHero = true heroStyle = \u0026#34;background\u0026#34; showSummary = true showTableOfContents = true showRelatedContent = true relatedContentLimit = 3 [list] showCards = true groupByYear = false cardView = true 如果你再次运行hugo server，你会看到类似下面这张图的效果。 If you run hugo server again, you should see something like the image below.\n在你的网站中添加内容 # 创建一个文件夹/content/posts，在这个文件夹下添加你的帖子或文章。这也是你在菜单所配置的所有文章的根目录。在这个文件夹内，让我们创建一个新目录并命名为 myfirstpost。在这个目录中创建一个index.md文件作为你的文章，同样也在这个目录中添加featured.jpg或featured.png作为文章的缩略图。 参考下面这个示例。文件中的前几行是扉页参数（Front Matter），它定义了 Hugo 如何展示文章，更多的参数可以参考这里。\n--- title: \u0026#34;我的第一篇帖子\u0026#34; date: 2023-08-14 draft: false summary: \u0026#34;这是网站的第一篇你帖子\u0026#34; tags: [\u0026#34;space\u0026#34;] --- ## 一个副标题 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nibh nisl, vulputate eu lacus vitae, maximus molestie libero. Vestibulum laoreet, odio et sollicitudin sollicitudin, quam ligula tempus urna, sed sagittis eros eros ac felis. In tristique tortor vitae lacinia commodo. Mauris venenatis ultrices purus nec fermentum. Nunc sit amet aliquet metus. Morbi nisl felis, gravida ac consequat vitae, blandit eu libero. Curabitur porta est in dui elementum porttitor. Maecenas fermentum, tortor ac feugiat fringilla, orci sem sagittis massa, a congue risus ipsum vel massa. Aliquam sit amet nunc vulputate, facilisis neque in, faucibus nisl. 你可以创建其他文章，来查看和验证站点的效果。你的网站应该像下面的图片一样。 主页显示最近的文章，每篇文章通过相关部分自动关联其他文章，有标签聚合和全文搜索。\n发布它 # 现在只剩下发布你的网站了。我将会使用 Firebase 作为托管服务——这是一个免费的替代方案，如果你创建了更复杂的东西，它提供了高级功能。前往 Firebase 创建一个新项目，然后我们切换到 CLI 终端，这将是配置 Firebase 更加简单。\n让我们安装 Firebase CLI 工具 —— 如果你不是 MacOS，请查看 Firebase安装指南。\nbrew install firebase 现在登录并为你的项目初始化firebase托管服务。\nfirebase login firebase init 选择托管并继续。\n按照下面的图片进行，这是我推荐的方式。确保设置了 GitHub actions 工作流文件。这将保证你的 GitHub 仓库一旦有变化，就会立刻同步部署。\n然而，这些文件不会立刻开始运行，因为 Hugo 需要额外的步骤来提前构建。将下面的代码复制并粘贴到 .github 文件夹，同时保留文件中 firebase 生成的projectId。\nfirebase-hosting-merge.yml # # This file was auto-generated by the Firebase CLI # https://github.com/firebase/firebase-tools name: Deploy to Firebase Hosting on merge \u0026#39;on\u0026#39;: push: branches: - main jobs: build_and_deploy: runs-on: ubuntu-latest steps: - name: Hugo setup uses: peaceiris/actions-hugo@v2.6.0 env: ACTIONS_ALLOW_UNSECURE_COMMANDS: \u0026#39;true\u0026#39; - name: Check out code into the Go module directory uses: actions/checkout@v4 with: submodules: true # Fetch Hugo themes (true OR recursive) fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod - name: Build with Hugo env: # For maximum backward compatibility with Hugo modules HUGO_ENVIRONMENT: production HUGO_ENV: production run: hugo -E -F --minify -d public - name: Deploy Production uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: \u0026#39;${{ secrets.GITHUB_TOKEN }}\u0026#39; firebaseServiceAccount: \u0026#39;${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOWFISH_TUTORIAL }}\u0026#39; channelId: live projectId: blowfish-tutorial firebase-hosting-pull-request.yml # # This file was auto-generated by the Firebase CLI # https://github.com/firebase/firebase-tools name: Deploy to Firebase Hosting on PR \u0026#39;on\u0026#39;: pull_request jobs: build_and_preview: if: \u0026#39;${{ github.event.pull_request.head.repo.full_name == github.repository }}\u0026#39; runs-on: ubuntu-latest steps: - name: Hugo setup uses: peaceiris/actions-hugo@v2.6.0 env: ACTIONS_ALLOW_UNSECURE_COMMANDS: \u0026#39;true\u0026#39; - name: Check out code into the Go module directory uses: actions/checkout@v4 with: submodules: true # Fetch Hugo themes (true OR recursive) fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod - name: Build with Hugo env: # For maximum backward compatibility with Hugo modules HUGO_ENVIRONMENT: production HUGO_ENV: production run: hugo -E -F --minify -d public - name: Deploy preview uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: \u0026#39;${{ secrets.GITHUB_TOKEN }}\u0026#39; firebaseServiceAccount: \u0026#39;${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOWFISH_TUTORIAL }}\u0026#39; expires: 30d channelId: preview-${{ github.event.number }} projectId: blowfish-tutorial 最后一步是将你的代码提交到 GitHub，提交成功后 GitHub actions 工作流将会自动触发，并构建和部署你的网站。\ngit add . git commit -m \u0026#34;add github actions workflows\u0026#34; git push 你的 GitHub 仓库中的 actions 模块，将会显示类似下图的内容。\n当所有步骤完成之后，你的 Firebase 控制台将会显示类似下图的内容，包括一个可以查看网站的链接。我在https://blowfish-tutorial.web.app/中运行了这个教程。 Once all the steps finish, your Firebase console should show something like the image below - including the links to see your app – I got a version of this tutorial running on https://blowfish-tutorial.web.app/.\n结论和下一步 # 现在你有了主页的第一个版本。你可以在本地进行更改，只要你提交代码，将会自动展示在你的网站中。 那么接下来要做什么呢？我给你留了一下链接，相信会对你有所帮你，其它这些链接会让你获得灵感并了解更多 Blowfish 和 Hugo 的内容。 Now you have your first version of your homepage. You can make changes locally and once you commit your code they will automatically be reflected online. What shall you do next? I’ll leave you with some useful links to get you inspired and learn more about Blowfish and Hugo.\nhttps://blowfish.page/docs/ https://blowfish.page/docs/configuration/ https://blowfish.page/docs/shortcodes/ https://blowfish.page/examples/ https://blowfish.page/users/ https://gohugo.io/documentation/ ","date":"2023-10-04","externalUrl":"https://n9o.xyz/posts/202310-blowfish-tutorial/","permalink":"/zh-cn/guides/202310-blowfish-tutorial/","section":"使用指南","summary":"一年前我创建了 Blowfish，这是一个为了打造我的个人主页而精心设计的 Hugo 主题。我决定将其作为一个开源项目。直到今天，Blowfish 已经变成了一个蓬勃发展的开源项目，在 GitHub 上拥有超过900个 star 和数百名用户。在本教程中，我将向你展示如何搭建并在几分钟内让你的网站运行起来。","title":"使用 Blowfish和 Hugo 构建你的主页","type":"guides"},{"content":" Blowfish 的使用指南和教程 您是 Blowfish 的用户吗? 要将您自己编写的指南添加到此列表，请查看参考模板。\n本部分包含有关如何配置主题的各种指南。如果您是新用户，请查看 安装 指南或查看 示例 部分来了解 Blowfish 能做出什么效果的网页。\n","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/guides/","section":"使用指南","summary":" Blowfish 的使用指南和教程 您是 Blowfish 的用户吗? 要将您自己编写的指南添加到此列表，请查看参考模板。\n","title":"使用指南","type":"guides"},{"content":"","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/tags/%E6%8C%87%E5%8D%97/","section":"标签","summary":"","title":"指南","type":"tags"},{"content":"在你的文章中添加不同作者的简单示例。\n","date":"2023-10-04","externalUrl":null,"permalink":"/zh-cn/authors/","section":"作者列表示例","summary":"在你的文章中添加不同作者的简单示例。\n","title":"作者列表示例","type":"authors"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.de/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.es/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.it/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2023-10-02","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/zh-cn/examples/blowfish-tutorial/","section":"Showcase","summary":"","title":"Blowfish Tutorial","type":"examples"},{"content":"","date":"2 October 2023","externalUrl":"https://blowfish-tutorial.web.app/","permalink":"/examples/blowfish-tutorial/_index.ja/","section":"Showcase","summary":"","title":"Blowfish チュートリアル","type":"examples"},{"content":" See what\u0026rsquo;s possible with Blowfish. This section contains links to example templates and pages created using Blowfish to get you inspired.\n","date":"2023-10-02","externalUrl":null,"permalink":"/zh-cn/examples/","section":"Showcase","summary":" See what’s possible with Blowfish. This section contains links to example templates and pages created using Blowfish to get you inspired.\n","title":"Showcase","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Dépôt","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.de/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Repo","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.it/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Repo","type":"examples"},{"content":"","date":"2023-10-01","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/zh-cn/examples/repo-blowfish-tutorial/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Repo","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Repositório","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Repositório","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.es/","section":"Showcase","summary":"","title":"Blowfish Tutorial - Repositorio","type":"examples"},{"content":"","date":"1 October 2023","externalUrl":"https://github.com/nunocoracao/blowfish-tutorial","permalink":"/examples/repo-blowfish-tutorial/_index.ja/","section":"Showcase","summary":"","title":"Blowfish チュートリアル - レポジトリ","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.de/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.es/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.it/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.ja/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"7 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/examples/blowfish-lite/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"2022-11-07","externalUrl":"https://nunocoracao.github.io/blowfish_lite/","permalink":"/zh-cn/examples/blowfish-lite/","section":"Showcase","summary":"","title":"Blowfish Lite","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.de/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.es/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.it/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.ja/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/examples/blowfish-artist/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"2022-11-06","externalUrl":"https://nunocoracao.github.io/blowfish_artist/","permalink":"/zh-cn/examples/blowfish-artist/","section":"Showcase","summary":"","title":"Blowfish Artist","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.de/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.es/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.it/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.ja/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"6 November 2022","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/examples/blowfish-lowkey/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"2022-11-06","externalUrl":"https://nunocoracao.github.io/blowfish_lowkey/","permalink":"/zh-cn/examples/blowfish-lowkey/","section":"Showcase","summary":"","title":"Blowfish Lowkey","type":"examples"},{"content":"","date":"12 October 2022","externalUrl":null,"permalink":"/tags/authors/","section":"Tags","summary":"","title":"Authors","type":"tags"},{"content":"假装这里有一份第二位作者的简介。\n","date":"2022-10-12","externalUrl":null,"permalink":"/zh-cn/authors/secondauthor/","section":"作者列表示例","summary":"假装这里有一份第二位作者的简介。\n","title":"Dummy Second Author","type":"authors"},{"content":"","date":"12 October 2022","externalUrl":null,"permalink":"/tags/sample/","section":"Tags","summary":"","title":"Sample","type":"tags"},{"content":"这是具有多个作者的文章的示例。\n","date":"2022-10-12","externalUrl":null,"permalink":"/zh-cn/samples/multiple-authors/","section":"示例","summary":"如何使用多个作者的简单示例。","title":"多作者","type":"sample"},{"content":" Blowfish 让你的内容栩栩如生。 \u0026#x1f60d; 本节包含一些示例页面，展示了Blowfish如何呈现不同类型的内容。你还可以参考标签页面的示例。\n旁注： 这个页面只是一个标准的Blowfish文章列表，并且已经配置了Hugo来生成一个 samples 内容类型并显示文章摘要。\n","date":"2022-10-12","externalUrl":null,"permalink":"/zh-cn/samples/","section":"示例","summary":" Blowfish 让你的内容栩栩如生。 😍 本节包含一些示例页面，展示了Blowfish如何呈现不同类型的内容。你还可以参考标签页面的示例。\n","title":"示例","type":"samples"},{"content":"","date":"2022-10-12","externalUrl":null,"permalink":"/zh-cn/tags/%E7%A4%BA%E4%BE%8B/","section":"标签","summary":"","title":"示例","type":"tags"},{"content":"","date":"2022-10-12","externalUrl":null,"permalink":"/zh-cn/tags/%E4%BD%9C%E8%80%85/","section":"标签","summary":"","title":"作者","type":"tags"},{"content":"","date":"26 September 2022","externalUrl":null,"permalink":"/tags/thumbnail/","section":"Tags","summary":"","title":"Thumbnail","type":"tags"},{"content":"这是一个在你的文章使用缩略图的快速示例。\n如果你的文章目录看起来像这样：\ncontent └── awesome_article.md 你需要将他从单个 markdown 文件更改为一个同名文件夹。创建一个与文章同名的目录，并在此目录中添加一个 index.md 文件。目录结构如下所示：\ncontent └── awesome_article └── featured.png 在文件夹内部，你可以添加一个 feature* 开头的特征图片（支持几乎所有格式，但推荐使用 .png 或 .jpg）。目录结构如下所示：\ncontent └── awesome_article ├── index.md └── featured.png 这将告诉 Blowfish 这篇文章有一个特征图片，这个图片可以在网站作为缩略图使用，也可以用于社交平台上的 oEmbed 卡片。 作为一个示例，你可以尝试将这篇文章的 URL 复制粘贴到一个可以显示 oEmbeds 的平台，如 Twitter、WhatsApp、Telegram等等。\n","date":"2022-09-26","externalUrl":null,"permalink":"/zh-cn/samples/thumbnail_sample/","section":"示例","summary":"一个展示如何在你的文章中开始使用缩略图的快速示例。","title":"缩略图","type":"sample"},{"content":"","date":"2022-09-26","externalUrl":null,"permalink":"/zh-cn/tags/%E7%BC%A9%E7%95%A5%E5%9B%BE/","section":"标签","summary":"","title":"缩略图","type":"tags"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Lite - Dépôt","type":"examples"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.de/","section":"Showcase","summary":"","title":"Blowfish Lite - Repo","type":"examples"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.it/","section":"Showcase","summary":"","title":"Blowfish Lite - Repo","type":"examples"},{"content":"","date":"2021-11-07","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/zh-cn/examples/repo-blowfish-lite/","section":"Showcase","summary":"","title":"Blowfish Lite - Repo","type":"examples"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Lite - Repositório","type":"examples"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Lite - Repositório","type":"examples"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.es/","section":"Showcase","summary":"","title":"Blowfish Lite - Repositorio","type":"examples"},{"content":"","date":"7 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lite/","permalink":"/examples/repo-blowfish-lite/_index.ja/","section":"Showcase","summary":"","title":"Blowfish Lite - レポジトリ","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Artist - Dépôt","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.de/","section":"Showcase","summary":"","title":"Blowfish Artist - Repo","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.it/","section":"Showcase","summary":"","title":"Blowfish Artist - Repo","type":"examples"},{"content":"","date":"2021-11-06","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/zh-cn/examples/repo-blowfish-artist/","section":"Showcase","summary":"","title":"Blowfish Artist - Repo","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Artist - Repositório","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Artist - Repositório","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.es/","section":"Showcase","summary":"","title":"Blowfish Artist - Repositorio","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_artist/","permalink":"/examples/repo-blowfish-artist/_index.ja/","section":"Showcase","summary":"","title":"Blowfish Artist - レポジトリ","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Dépôt","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.de/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Repo","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.it/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Repo","type":"examples"},{"content":"","date":"2021-11-06","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/zh-cn/examples/repo-blowfish-lowkey/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Repo","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Repositório","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Repositório","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.es/","section":"Showcase","summary":"","title":"Blowfish Lowkey - Repositorio","type":"examples"},{"content":"","date":"6 November 2021","externalUrl":"https://github.com/nunocoracao/blowfish_lowkey/","permalink":"/examples/repo-blowfish-lowkey/_index.ja/","section":"Showcase","summary":"","title":"Blowfish Lowkey - レポジトリ","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.de/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.es/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.it/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"2020-11-06","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/zh-cn/examples/blowfish-template/","section":"Showcase","summary":"","title":"Blowfish Template","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.fr/","section":"Showcase","summary":"","title":"Blowfish Template - Dépôt GitHub","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.de/","section":"Showcase","summary":"","title":"Blowfish Template - GitHub Repo","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.it/","section":"Showcase","summary":"","title":"Blowfish Template - GitHub Repo","type":"examples"},{"content":"","date":"2020-11-06","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/zh-cn/examples/blowfish-template-repo/","section":"Showcase","summary":"","title":"Blowfish Template - GitHub Repo","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.pt-br/","section":"Showcase","summary":"","title":"Blowfish Template - Repositório GitHub","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.pt-pt/","section":"Showcase","summary":"","title":"Blowfish Template - Repositório GitHub","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.es/","section":"Showcase","summary":"","title":"Blowfish Template - Repositorio GitHub","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://nunocoracao.github.io/blowfish_template/","permalink":"/examples/blowfish-template/_index.ja/","section":"Showcase","summary":"","title":"Blowfish テンプレート","type":"examples"},{"content":"","date":"6 November 2020","externalUrl":"https://github.com/nunocoracao/blowfish_template","permalink":"/examples/blowfish-template-repo/_index.ja/","section":"Showcase","summary":"","title":"Blowfish テンプレート - GitHub レポジトリ","type":"examples"},{"content":"","date":"14 August 2020","externalUrl":null,"permalink":"/tags/icons/","section":"Tags","summary":"","title":"Icons","type":"tags"},{"content":"","date":"14 August 2020","externalUrl":null,"permalink":"/tags/shortcodes/","section":"Tags","summary":"","title":"Shortcodes","type":"tags"},{"content":"","date":"2020-08-14","externalUrl":null,"permalink":"/zh-cn/tags/%E7%AE%80%E7%A0%81/","section":"标签","summary":"","title":"简码","type":"tags"},{"content":"Blowfish 内置了许多 FontAwesome 6 中的图标。你可以使用 图标部分或者图标短代码将这些图标包含在你的网站中。\n当然，Blowfish 完全支持自定义图标。只需要将自己的 SVG 文件放在 assets/icons/ 目录下即可。图标目录中的任何图标可以在整个主题中使用。为了实现自动填充颜色，每个 SVG 图标源码中必须添加 fill=\u0026quot;currentColor\u0026quot; 属性。\n下面是所有的内置图标及其名称。\nIcon name Preview a11y amazon apple bars bell blogger bluesky bomb bug check chevron-down circle-info circle-question cloud-moon cloud code codeberg \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e codepen comment dev discord discourse docker download dribbble edit email envelope expand eye facebook fediverse \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e file-lines fire flickr forgejo fork foursquare ghost gitea github gitlab globe goodreads google-scholar google graduation-cap hackernews hashnode heart-empty heart image instagram itch-io keybase keyoxide kickstarter ko-fi \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e language lastfm lightbulb line link linkedin list-check list-ol list location-dot lock mastodon matrix Matrix medium microsoft moon mug-hot music orcid patreon paypal peertube pencil pgpkey phone pinterest pixelfed poo printables quote-left reddit researchgate rss-square rss scale-balanced search shield signal skull-crossbones slack snapchat soundcloud spotify stack-overflow star steam stripe substack sun tag telegram threads tiktok triangle-exclamation tumblr twitch twitter wand-magic-sparkles whatsapp worktree x-twitter xing Xing xmark youtube ","date":"2020-08-14","externalUrl":null,"permalink":"/zh-cn/samples/icons/","section":"示例","summary":"Blowfish 内置了许多 FontAwesome 6 中的图标。你可以使用 图标部分或者图标短代码将这些图标包含在你的网站中。\n","title":"图标","type":"sample"},{"content":"","date":"2020-08-14","externalUrl":null,"permalink":"/zh-cn/tags/%E5%9B%BE%E6%A0%87/","section":"标签","summary":"","title":"图标","type":"tags"},{"content":"","date":"2019-03-11","externalUrl":null,"permalink":"/zh-cn/tags/css/","section":"标签","summary":"","title":"Css","type":"tags"},{"content":"","date":"2019-03-11","externalUrl":null,"permalink":"/zh-cn/tags/html/","section":"标签","summary":"","title":"Html","type":"tags"},{"content":"本文提供了可在 Blowfish 中使用的基本 Markdown 格式示例，还展示了如何加入一些基本 HTML 元素。\n标题 # 以下 HTML 元素 \u0026lt;h1\u0026gt;—\u0026lt;h6\u0026gt; 表示六个级别的标题。 \u0026lt;h1\u0026gt; 是最高的标题级别，而 \u0026lt;h6\u0026gt; 是最低的。\nH1 # H2 # H3 # H4 # H5 # H6 # 段落 # Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.\nItatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.\n块引用 # 块引用表示从其他来源引用的内容，可以用于位于 footer 或 cite 元素内的引文，并且可以表示一些补充说明（例如注释和缩写）。\n没有参考链接的块引用 # Tiam, ad mint andaepu dandae nostion secatur sequo quae. Note that you can use Markdown syntax within a blockquote.\n有参考链接的块引用 # Don\u0026rsquo;t communicate by sharing memory, share memory by communicating.\n— Rob Pike1\n表格 # 表格不是核心 Markdown 规范的一部分，但 Hugo 支持渲染。\nName Age Bob 27 Alice 23 表格内内联 Markdown # Italics Bold Code italics bold code 代码块 # 一般的代码块 # \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34; /\u0026gt; \u0026lt;title\u0026gt;Example HTML5 Document\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;Test\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; 带有标题和行高亮的代码块 # example.html 1\u0026lt;!DOCTYPE html\u0026gt; 2\u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; 3\u0026lt;head\u0026gt; 4 \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; 5 \u0026lt;title\u0026gt;Example HTML5 Document\u0026lt;/title\u0026gt; 6\u0026lt;/head\u0026gt; 7\u0026lt;body\u0026gt; 8 \u0026lt;p\u0026gt;Test\u0026lt;/p\u0026gt; 9\u0026lt;/body\u0026gt; 10\u0026lt;/html\u0026gt; 列表 # 有序列表 # First item Second item Third item 无序列表 # List item Another item And another item 嵌套列表 # Fruit Apple Orange Banana Dairy Milk Cheese 其他元素 — abbr、sub、sup、kbd、mark # GIF is a bitmap image format.\nH2O\nXn + Yn = Zn\nPress CTRL+ALT+Delete to end the session.\nMost salamanders are nocturnal, and hunt for insects, worms, and other small creatures.\nImages # In addition to the Figure Shortcode, you can define images using the following Markdown syntax:\n![Alt text](image.jpg \u0026#34;Image caption\u0026#34;) Image caption You can also leverage Hugos \u0026lsquo;Markdown attributes\u0026rsquo; feature to add custom attributes to the created HTML element. For example, to set the width of an image to 50%:\n![Alt text](image.jpg \u0026#34;Image caption\u0026#34;) {style=\u0026#34;width:50%;\u0026#34;} Half width image caption Note that the \u0026lsquo;Markdown attributes\u0026rsquo; feature requires configuration of the Goldmark renderer. See the Hugo documentation for more information.\n上述引文摘自 Rob Pike 在 2015 年 11 月 18 日 Gopherfest 期间的谈论“什么都没有”。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2019-03-11","externalUrl":null,"permalink":"/zh-cn/samples/markdown/","section":"示例","summary":"本文提供了可在 Blowfish 中使用的基本 Markdown 格式示例，还展示了如何加入一些基本 HTML 元素。\n","title":"Markdown","type":"sample"},{"content":"","date":"2019-03-11","externalUrl":null,"permalink":"/zh-cn/tags/markdown/","section":"标签","summary":"","title":"Markdown","type":"tags"},{"content":"","date":"2019-03-10","externalUrl":null,"permalink":"/zh-cn/tags/gist/","section":"标签","summary":"","title":"Gist","type":"tags"},{"content":"","date":"10 March 2019","externalUrl":null,"permalink":"/tags/privacy/","section":"Tags","summary":"","title":"Privacy","type":"tags"},{"content":"","date":"2019-03-10","externalUrl":null,"permalink":"/zh-cn/tags/twitter/","section":"标签","summary":"","title":"Twitter","type":"tags"},{"content":"","date":"2019-03-10","externalUrl":null,"permalink":"/zh-cn/tags/vimeo/","section":"标签","summary":"","title":"Vimeo","type":"tags"},{"content":"","date":"2019-03-10","externalUrl":null,"permalink":"/zh-cn/tags/youtube/","section":"标签","summary":"","title":"Youtube","type":"tags"},{"content":"Hugo 附带了几个用于丰富内容的内置简码，以及一个隐私配置 和一组干练的简码，支持各种社交媒体嵌入的静态窗口。\nYouTube # 下面是一个使用内置 youtube 简码的示例。\nTwitter # 此示例使用 x 简码来显示推文。它需要两个参数 user 和 id 。\n“In addition to being more logical, asymmetry has the advantage that its complete appearance is far more optically effective than symmetry.”\n— Jan Tschichold pic.twitter.com/gcv7SrhvJb\n\u0026mdash; Design Reviewed | Graphic Design History (@DesignReviewed) January 17, 2019 或者，tweet 简码可用于生成嵌入式的 Twitter 卡片。\nGist # gist 简码可用于嵌入 GitHub Gist。它需要两个参数：Gist 的用户名和 ID。\nVimeo # vimeo_simple 简码将生成一个嵌入式的 Vimeo 播放器。\n","date":"2019-03-10","externalUrl":null,"permalink":"/zh-cn/samples/rich-content/","section":"示例","summary":"这是简码内容的示例。","title":"简码示例","type":"sample"},{"content":"","date":"2019-03-10","externalUrl":null,"permalink":"/zh-cn/tags/%E9%9A%90%E7%A7%81/","section":"标签","summary":"","title":"隐私","type":"tags"},{"content":"","date":"9 March 2019","externalUrl":null,"permalink":"/tags/latin/","section":"Tags","summary":"","title":"Latin","type":"tags"},{"content":"","date":"9 March 2019","externalUrl":null,"permalink":"/tags/text/","section":"Tags","summary":"","title":"Text","type":"tags"},{"content":"","date":"2019-03-09","externalUrl":null,"permalink":"/zh-cn/tags/%E6%8B%89%E4%B8%81%E8%AF%AD/","section":"标签","summary":"","title":"拉丁语","type":"tags"},{"content":"","date":"2019-03-09","externalUrl":null,"permalink":"/zh-cn/tags/%E6%96%87%E6%9C%AC/","section":"标签","summary":"","title":"文本","type":"tags"},{"content":"Lorem est tota propiore conpellat pectoribus de pectora summo.\nRedit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.\nExierant elisi ambit vivere dedere Duce pollice Eris modo Spargitque ferrea quos palude Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.\nComas hunc haec pietate fetum procerum dixit Post torum vates letum Tiresia Flumen querellas Arcanaque montibus omnes Quidem et Vagus elidunt # The Van de Graaf Canon\nMane refeci capiebant unda mulcebat # Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. Faces illo pepulere tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.\nIubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.\nEurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel mitis temploque vocatus, inque alis, oculos nomen non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides parte.\n","date":"2019-03-09","externalUrl":null,"permalink":"/zh-cn/samples/placeholder-text/","section":"示例","summary":"Lorem est tota propiore conpellat pectoribus de pectora summo.\n","title":"文本占位符","type":"sample"},{"content":"","date":"2019-03-08","externalUrl":null,"permalink":"/zh-cn/tags/katex/","section":"标签","summary":"","title":"Katex","type":"tags"},{"content":"","date":"8 March 2019","externalUrl":null,"permalink":"/tags/maths/","section":"Tags","summary":"","title":"Maths","type":"tags"},{"content":"","date":"2019-03-08","externalUrl":null,"permalink":"/zh-cn/tags/%E6%95%B0%E5%AD%A6/","section":"标签","summary":"","title":"数学","type":"tags"},{"content":"KaTeX 可用于在文章中呈现数学表达式。\n如果您想要使用数学符号，Blowfish 会将 KaTeX 自动加入到您的项目中。只需在文章中包含 katex 短代码 即可。参考下面的例子：\n{{\u0026lt; katex \u0026gt;}} 该页面上的任何 KaTeX 语法都会自动渲染。使用支持的 TeX 函数 的在线参考来获取可用语法。\n内联表示法 # 可以通过将表达式包装在 \\( 和 \\) 分隔符中来生成内联表示法。\n例如：\n% KaTeX inline notation Inline notation: \\(\\varphi = \\dfrac{1+\\sqrt5}{2}= 1.6180339887…\\) Inline notation: \\(\\varphi = \\dfrac{1+\\sqrt5}{2}= 1.6180339887…\\)\n表达式块 # 可以使用 $$ 分隔符生成表达式块。这将在其 HTML 块中输出表达式。\n例如：\n% KaTeX block notation $$ \\varphi = 1+\\frac{1} {1+\\frac{1} {1+\\frac{1} {1+\\cdots} } } $$ $$ \\varphi = 1+\\frac{1} {1+\\frac{1} {1+\\frac{1} {1+\\cdots} } } $$","date":"2019-03-08","externalUrl":null,"permalink":"/zh-cn/samples/mathematical-notation/","section":"示例","summary":"KaTeX 可用于在文章中呈现数学表达式。\n","title":"数学表达式","type":"sample"},{"content":"","date":"6 March 2019","externalUrl":null,"permalink":"/tags/chart/","section":"Tags","summary":"","title":"Chart","type":"tags"},{"content":"","date":"6 March 2019","externalUrl":null,"permalink":"/tags/diagram/","section":"Tags","summary":"","title":"Diagram","type":"tags"},{"content":"","date":"6 March 2019","externalUrl":null,"permalink":"/tags/graph/","section":"Tags","summary":"","title":"Graph","type":"tags"},{"content":"","date":"2019-03-06","externalUrl":null,"permalink":"/zh-cn/tags/mermaid/","section":"标签","summary":"","title":"Mermaid","type":"tags"},{"content":"","date":"2019-03-06","externalUrl":null,"permalink":"/zh-cn/tags/%E8%A1%A8%E6%A0%BC/","section":"标签","summary":"","title":"表格","type":"tags"},{"content":"","date":"2019-03-06","externalUrl":null,"permalink":"/zh-cn/tags/%E6%B5%81%E7%A8%8B%E5%9B%BE/","section":"标签","summary":"","title":"流程图","type":"tags"},{"content":"Blowfish 使用 mermaid 简码可以调用。Blowfish 会根据配置的 colorScheme 参数自动调用 Mermaid 生成流程图或者思维导图。\n有关更多详细信息，请参阅 Mermaid 简码 文档。\n下面的示例是从官方 Mermaid 文档 中选取的一小部分。您还可以在 GitHub 上查看页面源代码 查看书写方法。\n流程图 # graph TD A[Christmas] --\u003e|Get money| B(Go shopping) B --\u003e C{Let me think} B --\u003e G[/Another/] C ==\u003e|One| D[Laptop] C --\u003e|Two| E[iPhone] C --\u003e|Three| F[Car] subgraph Section C D E F G end 时序图 # sequenceDiagram autonumber par Action 1 Alice-\u003e\u003eJohn: Hello John, how are you? and Action 2 Alice-\u003e\u003eBob: Hello Bob, how are you? end Alice-\u003e\u003e+John: Hello John, how are you? Alice-\u003e\u003e+John: John, can you hear me? John--\u003e\u003e-Alice: Hi Alice, I can hear you! Note right of John: John is perceptive John--\u003e\u003e-Alice: I feel great! loop Every minute John--\u003eAlice: Great! end 类图 # classDiagram Animal \"1\" \u003c|-- Duck Animal \u003c|-- Fish Animal \u003c--o Zebra Animal : +int age Animal : +String gender Animal: +isMammal() Animal: +mate() class Duck{ +String beakColor +swim() +quack() } class Fish{ -int sizeInFeet -canEat() } class Zebra{ +bool is_wild +run() } 实体关系图 # erDiagram CUSTOMER }|..|{ DELIVERY-ADDRESS : has CUSTOMER ||--o{ ORDER : places CUSTOMER ||--o{ INVOICE : \"liable for\" DELIVERY-ADDRESS ||--o{ ORDER : receives INVOICE ||--|{ ORDER : covers ORDER ||--|{ ORDER-ITEM : includes PRODUCT-CATEGORY ||--|{ PRODUCT : contains PRODUCT ||--o{ ORDER-ITEM : \"ordered in\" ","date":"2019-03-06","externalUrl":null,"permalink":"/zh-cn/samples/diagrams-flowcharts/","section":"示例","summary":"使用 Mermaid 可以轻松地将图表和流程图添加到文章中。","title":"流程图和思维导图","type":"sample"},{"content":"Blowfish 使用 chart 简码来调用 Chart.js。Blowfish 会自动为图表设置主题以匹配配置的 colorScheme 参数，但是可以使用 Chart.js 语法来自定义图表颜色。\n有关更多详细信息，请参阅 图表简码 文档。\n下面的示例是从 Chart.js 官方文档 中选取的一小部分。您还可以在 GitHub 上查看页面源代码 查看书写方式。\n柱形图 # 折线图 # 扇形图 # ","date":"2019-03-06","externalUrl":null,"permalink":"/zh-cn/samples/charts/","section":"示例","summary":"Blowfish 包含 Chart.js，可实现强大的图表和数据可视化。","title":"图表","type":"sample"},{"content":"","date":"2019-03-06","externalUrl":null,"permalink":"/zh-cn/tags/%E5%9B%BE%E7%89%87/","section":"标签","summary":"","title":"图片","type":"tags"},{"content":"","date":"2019-03-05","externalUrl":null,"permalink":"/zh-cn/tags/emoji/","section":"标签","summary":"","title":"Emoji","type":"tags"},{"content":"Blowfish 支持 Emoji 表情符号。Emoji 表情符号可用于标题、菜单项和文章内容。\n注意: Emoji 的显示效果取决于您的浏览器和操作系统。要设置统一的表情符号样式，您可以使用第三方 Emoji 表情符号字体。 Blowfish 会自动的进行表情符号渲染，因此您可以在内容和 frontmatter 中使用 Emoji 表情代码，它们将在构建时转换为相应的 Emoji。\n例如： see_no_evil \u0026#x1f648;, hear_no_evil \u0026#x1f649;, speak_no_evil \u0026#x1f64a;.\nEmoji 清单 可以很方便的查找 Emoji 对应的表情代码。\n","date":"2019-03-05","externalUrl":null,"permalink":"/zh-cn/samples/emoji/","section":"示例","summary":"📖🏞️🧗🏽🐉🧙🏽‍♂️🧚🏽👸","title":"Emoji 表情符号 🪂","type":"sample"},{"content":"","date":"22 December 1987","externalUrl":null,"permalink":"/tags/template/","section":"Tags","summary":"","title":"Template","type":"tags"},{"content":"","date":"1987-12-22","externalUrl":null,"permalink":"/zh-cn/tags/%E6%A8%A1%E6%9D%BF/","section":"标签","summary":"","title":"模板","type":"tags"},{"content":"感谢您愿意为 Blowfish 社区做出贡献。\n如何开始？ # 这是一篇模板文章，将解释如何为 Blowfish 的指南部分创建新文章。\nClone Blowfish 仓库 # 使用以下命令 clone 此仓库：\ngit clone https://github.com/nunocoracao/blowfish.git 配置您的文档 # 复制并粘贴您要创建的 .md 文档所在的整个文件夹。 使用 YYYYMM-\u0026lt;英文标题\u0026gt; 的格式（例如：200601-tutorial）命名文档，不允许有空格。\n编写您的指南 # 编写您的指南 :)\n在 img 文件夹中储存图像并按下述格式引用它们：\n![]() Image caption 提交 PR # 提交您的 PR ，Blowfish 团队在这里提前感谢您对我们这个项目的贡献。\n","date":"1987-12-22","externalUrl":null,"permalink":"/zh-cn/guides/template/","section":"使用指南","summary":"感谢您愿意为 Blowfish 社区做出贡献。\n如何开始？ # 这是一篇模板文章，将解释如何为 Blowfish 的指南部分创建新文章。\n","title":"使用指南模板","type":"guides"},{"content":"2人目のダミー作者の素晴らしいダミープロフィールです。\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.ja/","section":"Authors Taxonomy Listing Example","summary":"2人目のダミー作者の素晴らしいダミープロフィールです。\n","title":"2人目のダミー作者","type":"authors"},{"content":"This is the advanced tag. Just like other listing pages in Blowfish, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. \u0026#x1f680;\nYou can also use these content pages to define Hugo metadata like titles and descriptions that will be used for SEO and other purposes.\n","externalUrl":null,"permalink":"/tags/advanced/_index.it/","section":"Tags","summary":"This is the advanced tag. Just like other listing pages in Blowfish, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. 🚀\n","title":"Advanced","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/agent/","section":"标签","summary":"","title":"Agent","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/ai/","section":"标签","summary":"","title":"AI","type":"tags"},{"content":" O Blowfish dá vida ao seu conteúdo. \u0026#x1f60d; Esta seção contém algumas páginas de demonstração que mostram como o Blowfish renderiza diferentes tipos de conteúdo. Você também pode ver uma página de exemplo de listagem de taxonomia.\nNota: Esta página é apenas uma listagem de artigos padrão do Blowfish e o Hugo foi configurado para gerar um tipo de conteúdo samples e exibir resumos de artigos.\n","externalUrl":null,"permalink":"/samples/_index.pt-br/","section":"Samples","summary":" O Blowfish dá vida ao seu conteúdo. 😍 Esta seção contém algumas páginas de demonstração que mostram como o Blowfish renderiza diferentes tipos de conteúdo. Você também pode ver uma página de exemplo de listagem de taxonomia.\n","title":"Amostras","type":"samples"},{"content":" O Blowfish dá vida ao seu conteúdo. \u0026#x1f60d; Esta secção contém algumas páginas de demonstração que mostram como o Blowfish renderiza diferentes tipos de conteúdo. Também pode ver uma página de exemplo de listagem de taxonomia.\nNota: Esta página é apenas uma listagem de artigos padrão do Blowfish e o Hugo foi configurado para gerar um tipo de conteúdo samples e apresentar resumos de artigos.\n","externalUrl":null,"permalink":"/samples/_index.pt-pt/","section":"Samples","summary":" O Blowfish dá vida ao seu conteúdo. 😍 Esta secção contém algumas páginas de demonstração que mostram como o Blowfish renderiza diferentes tipos de conteúdo. Também pode ver uma página de exemplo de listagem de taxonomia.\n","title":"Amostras","type":"samples"},{"content":"","externalUrl":null,"permalink":"/tags/analytics/","section":"Tags","summary":"","title":"Analytics","type":"tags"},{"content":"Esta é a tag \u0026ldquo;Avançado\u0026rdquo;. Assim como outras páginas de listagem no Blowfish, você pode adicionar conteúdo personalizado a termos de taxonomia individuais e ele será exibido no topo da listagem de termos.\nVocê também pode usar essas páginas de conteúdo para definir metadados do Hugo, como títulos e descrições, que serão usados para SEO e outros propósitos.\n","externalUrl":null,"permalink":"/tags/advanced/_index.pt-br/","section":"Tags","summary":"Esta é a tag “Avançado”. Assim como outras páginas de listagem no Blowfish, você pode adicionar conteúdo personalizado a termos de taxonomia individuais e ele será exibido no topo da listagem de termos.\n","title":"Avançado","type":"tags"},{"content":"Esta é a tag \u0026ldquo;Avançado\u0026rdquo;. Tal como outras páginas de listagem no Blowfish, pode adicionar conteúdo personalizado a termos de taxonomia individuais e ele será apresentado no topo da listagem de termos.\nTambém pode utilizar estas páginas de conteúdo para definir metadados do Hugo, como títulos e descrições, que serão utilizados para SEO e outros propósitos.\n","externalUrl":null,"permalink":"/tags/advanced/_index.pt-pt/","section":"Tags","summary":"Esta é a tag “Avançado”. Tal como outras páginas de listagem no Blowfish, pode adicionar conteúdo personalizado a termos de taxonomia individuais e ele será apresentado no topo da listagem de termos.\n","title":"Avançado","type":"tags"},{"content":"Ceci est le tag \u0026ldquo;Avancé\u0026rdquo;. Comme pour les autres pages de liste dans Blowfish, vous pouvez ajouter du contenu personnalisé aux termes de taxonomie individuels et il sera affiché en haut de la liste des termes.\nVous pouvez également utiliser ces pages de contenu pour définir des métadonnées Hugo comme les titres et les descriptions qui seront utilisés pour le SEO et d\u0026rsquo;autres fins.\n","externalUrl":null,"permalink":"/tags/advanced/_index.fr/","section":"Tags","summary":"Ceci est le tag “Avancé”. Comme pour les autres pages de liste dans Blowfish, vous pouvez ajouter du contenu personnalisé aux termes de taxonomie individuels et il sera affiché en haut de la liste des termes.\n","title":"Avancé","type":"tags"},{"content":"Esta es la etiqueta \u0026ldquo;Avanzado\u0026rdquo;. Al igual que otras páginas de listado en Blowfish, puedes agregar contenido personalizado a términos de taxonomía individuales y se mostrará en la parte superior del listado de términos.\nTambién puedes usar estas páginas de contenido para definir metadatos de Hugo como títulos y descripciones que se usarán para SEO y otros propósitos.\n","externalUrl":null,"permalink":"/tags/advanced/_index.es/","section":"Tags","summary":"Esta es la etiqueta “Avanzado”. Al igual que otras páginas de listado en Blowfish, puedes agregar contenido personalizado a términos de taxonomía individuales y se mostrará en la parte superior del listado de términos.\n","title":"Avanzado","type":"tags"},{"content":" Blowfish bringt Ihre Inhalte zum Leben. \u0026#x1f60d; Dieser Bereich enthält einige Demo-Seiten, die zeigen, wie Blowfish verschiedene Arten von Inhalten rendert. Sie können auch eine Beispiel-Taxonomie-Auflistung-Seite sehen.\nNebenbei: Diese Seite ist nur eine Standard-Blowfish-Artikelliste und Hugo wurde so konfiguriert, dass ein samples-Inhaltstyp generiert und Artikel-Zusammenfassungen angezeigt werden.\n","externalUrl":null,"permalink":"/samples/_index.de/","section":"Samples","summary":" Blowfish bringt Ihre Inhalte zum Leben. 😍 Dieser Bereich enthält einige Demo-Seiten, die zeigen, wie Blowfish verschiedene Arten von Inhalten rendert. Sie können auch eine Beispiel-Taxonomie-Auflistung-Seite sehen.\n","title":"Beispiele","type":"samples"},{"content":" Blowfish dà vita ai tuoi contenuti. \u0026#x1f60d; Questa sezione contiene alcune pagine demo che mostrano come Blowfish esegue il rendering di diversi tipi di contenuto. Puoi anche vedere una pagina di esempio elenco tassonomia.\nNota a margine: Questa pagina è solo un elenco standard di articoli Blowfish e Hugo è stato configurato per generare un tipo di contenuto \u0026ldquo;campioni\u0026rdquo; e visualizzare riepiloghi degli articoli.\n","externalUrl":null,"permalink":"/samples/_index.it/","section":"Samples","summary":" Blowfish dà vita ai tuoi contenuti. 😍 Questa sezione contiene alcune pagine demo che mostrano come Blowfish esegue il rendering di diversi tipi di contenuto. Puoi anche vedere una pagina di esempio elenco tassonomia.\n","title":"Campioni","type":"samples"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/claude-code/","section":"标签","summary":"","title":"Claude Code","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/comments/","section":"Tags","summary":"","title":"Comments","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/config/","section":"Tags","summary":"","title":"Config","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/content/","section":"Tags","summary":"","title":"Content","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/deployment/","section":"Tags","summary":"","title":"Deployment","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/docs/","section":"标签","summary":"","title":"Docs","type":"tags"},{"content":" Simples, mas poderoso. Aprenda a usar o Blowfish e seus recursos. Esta seção contém tudo o que você precisa saber sobre o Blowfish. Se você é novo, confira o guia de Instalação para começar ou visite a seção de Exemplos para ver o que o Blowfish pode fazer.\n","externalUrl":null,"permalink":"/docs/_index.pt-br/","section":"Documentation","summary":" Simples, mas poderoso. Aprenda a usar o Blowfish e seus recursos. Esta seção contém tudo o que você precisa saber sobre o Blowfish. Se você é novo, confira o guia de Instalação para começar ou visite a seção de Exemplos para ver o que o Blowfish pode fazer.\n","title":"Documentação","type":"docs"},{"content":" Simples, mas poderoso. Aprenda a utilizar o Blowfish e as suas funcionalidades. Esta secção contém tudo o que precisa de saber sobre o Blowfish. Se é novo, consulte o guia de Instalação para começar ou visite a secção de Exemplos para ver o que o Blowfish pode fazer.\n","externalUrl":null,"permalink":"/docs/_index.pt-pt/","section":"Documentation","summary":" Simples, mas poderoso. Aprenda a utilizar o Blowfish e as suas funcionalidades. Esta secção contém tudo o que precisa de saber sobre o Blowfish. Se é novo, consulte o guia de Instalação para começar ou visite a secção de Exemplos para ver o que o Blowfish pode fazer.\n","title":"Documentação","type":"docs"},{"content":" Simple, pero potente. Aprende a usar Blowfish y sus características. Esta sección contiene todo lo que necesitas saber sobre Blowfish. Si eres nuevo, consulta la guía de Instalación para comenzar o visita la sección de Ejemplos para ver lo que Blowfish puede hacer.\n","externalUrl":null,"permalink":"/docs/_index.es/","section":"Documentation","summary":" Simple, pero potente. Aprende a usar Blowfish y sus características. Esta sección contiene todo lo que necesitas saber sobre Blowfish. Si eres nuevo, consulta la guía de Instalación para comenzar o visita la sección de Ejemplos para ver lo que Blowfish puede hacer.\n","title":"Documentación","type":"docs"},{"content":" Simple, mais puissant. Apprenez à utiliser Blowfish et ses fonctionnalités. Cette section contient tout ce que vous devez savoir sur Blowfish. Si vous êtes nouveau, consultez le guide d\u0026rsquo;Installation pour commencer ou visitez la section Exemples pour voir ce que Blowfish peut faire.\n","externalUrl":null,"permalink":"/docs/_index.fr/","section":"Documentation","summary":" Simple, mais puissant. Apprenez à utiliser Blowfish et ses fonctionnalités. Cette section contient tout ce que vous devez savoir sur Blowfish. Si vous êtes nouveau, consultez le guide d’Installation pour commencer ou visitez la section Exemples pour voir ce que Blowfish peut faire.\n","title":"Documentation","type":"docs"},{"content":"","externalUrl":null,"permalink":"/series/documentation/","section":"Series","summary":"","title":"Documentation","type":"series"},{"content":" Semplice ma potente. Scopri come utilizzare Blowfish e le sue funzionalità. Questa sezione contiene tutto ciò che devi sapere su Blowfish. Se sei nuovo, consulta la guida Installazione per iniziare o visita la sezione Esempi per vedere cosa può fare Blowfish.\n","externalUrl":null,"permalink":"/docs/_index.it/","section":"Documentation","summary":" Semplice ma potente. Scopri come utilizzare Blowfish e le sue funzionalità. Questa sezione contiene tutto ciò che devi sapere su Blowfish. Se sei nuovo, consulta la guida Installazione per iniziare o visita la sezione Esempi per vedere cosa può fare Blowfish.\n","title":"Documenti","type":"docs"},{"content":" Einfach, aber leistungsstark. Erfahren Sie, wie Sie Blowfish und seine Funktionen nutzen können. Dieser Abschnitt enthält alles, was Sie über Blowfish wissen müssen. Wenn Sie neu sind, lesen Sie den Installations-Leitfaden, um zu beginnen, oder besuchen Sie den Bereich Beispiele, um zu sehen, was Blowfish kann.\n","externalUrl":null,"permalink":"/docs/_index.de/","section":"Documentation","summary":" Einfach, aber leistungsstark. Erfahren Sie, wie Sie Blowfish und seine Funktionen nutzen können. Dieser Abschnitt enthält alles, was Sie über Blowfish wissen müssen. Wenn Sie neu sind, lesen Sie den Installations-Leitfaden, um zu beginnen, oder besuchen Sie den Bereich Beispiele, um zu sehen, was Blowfish kann.\n","title":"Dokumentation","type":"docs"},{"content":"Die fantastische Beispielbiografie des zweiten Beispielautors.\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.de/","section":"Authors Taxonomy Listing Example","summary":"Die fantastische Beispielbiografie des zweiten Beispielautors.\n","title":"Dummy Second Author","type":"authors"},{"content":"La increíble biografía ficticia del segundo autor ficticio.\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.es/","section":"Authors Taxonomy Listing Example","summary":"La increíble biografía ficticia del segundo autor ficticio.\n","title":"Dummy Second Author","type":"authors"},{"content":"La super bio fictive du deuxième auteur fictif.\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.fr/","section":"Authors Taxonomy Listing Example","summary":"La super bio fictive du deuxième auteur fictif.\n","title":"Dummy Second Author","type":"authors"},{"content":"A incrível bio fictícia do segundo autor fictício.\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.pt-br/","section":"Authors Taxonomy Listing Example","summary":"A incrível bio fictícia do segundo autor fictício.\n","title":"Dummy Second Author","type":"authors"},{"content":"A fantástica biografia fictícia do segundo autor fictício.\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.pt-pt/","section":"Authors Taxonomy Listing Example","summary":"A fantástica biografia fictícia do segundo autor fictício.\n","title":"Dummy Second Author","type":"authors"},{"content":" Blowfish donne vie à votre contenu. \u0026#x1f60d; Cette section contient quelques pages de démonstration qui montrent comment Blowfish rend différents types de contenu. Vous pouvez également voir une page exemple de liste de taxonomie.\nNote : Cette page est juste une liste d\u0026rsquo;articles Blowfish standard et Hugo a été configuré pour générer un type de contenu samples et afficher les résumés d\u0026rsquo;articles.\n","externalUrl":null,"permalink":"/samples/_index.fr/","section":"Samples","summary":" Blowfish donne vie à votre contenu. 😍 Cette section contient quelques pages de démonstration qui montrent comment Blowfish rend différents types de contenu. Vous pouvez également voir une page exemple de liste de taxonomie.\n","title":"Échantillons","type":"samples"},{"content":"Un rapido esempio di come iniziare a utilizzare le tassonomie degli autori nei tuoi articoli.\n","externalUrl":null,"permalink":"/authors/_index.it/","section":"Authors Taxonomy Listing Example","summary":"Un rapido esempio di come iniziare a utilizzare le tassonomie degli autori nei tuoi articoli.\n","title":"Esempio di elenco di tassonomia degli autori","type":"authors"},{"content":"","externalUrl":null,"permalink":"/tags/example/","section":"Tags","summary":"","title":"Example","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/favicons/","section":"Tags","summary":"","title":"Favicons","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/firebase/","section":"标签","summary":"","title":"Firebase","type":"tags"},{"content":"Dies ist das Tag \u0026ldquo;Fortgeschritten\u0026rdquo;. Genau wie bei anderen Auflistungsseiten in Blowfish können Sie benutzerdefinierten Inhalt zu einzelnen Taxonomiebegriffen hinzufügen, der oben in der Begriffsliste angezeigt wird.\nSie können diese Inhaltsseiten auch verwenden, um Hugo-Metadaten wie Titel und Beschreibungen zu definieren, die für SEO und andere Zwecke verwendet werden.\n","externalUrl":null,"permalink":"/tags/advanced/_index.de/","section":"Tags","summary":"Dies ist das Tag “Fortgeschritten”. Genau wie bei anderen Auflistungsseiten in Blowfish können Sie benutzerdefinierten Inhalt zu einzelnen Taxonomiebegriffen hinzufügen, der oben in der Begriffsliste angezeigt wird.\nSie können diese Inhaltsseiten auch verwenden, um Hugo-Metadaten wie Titel und Beschreibungen zu definieren, die für SEO und andere Zwecke verwendet werden.\n","title":"Fortgeschritten","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/front-matter/","section":"标签","summary":"","title":"Front Matter","type":"tags"},{"content":" Mira lo que es posible con Blowfish. Esta sección contiene enlaces a plantillas de ejemplo y páginas creadas con Blowfish para inspirarte.\n","externalUrl":null,"permalink":"/examples/_index.es/","section":"Showcase","summary":" Mira lo que es posible con Blowfish. Esta sección contiene enlaces a plantillas de ejemplo y páginas creadas con Blowfish para inspirarte.\n","title":"Galería","type":"examples"},{"content":" Veja o que é possível com o Blowfish. Esta seção contém links para modelos de exemplo e páginas criadas usando o Blowfish para inspirar você.\n","externalUrl":null,"permalink":"/examples/_index.pt-br/","section":"Showcase","summary":" Veja o que é possível com o Blowfish. Esta seção contém links para modelos de exemplo e páginas criadas usando o Blowfish para inspirar você.\n","title":"Galeria","type":"examples"},{"content":" Veja o que é possível com o Blowfish. Esta secção contém ligações para modelos de exemplo e páginas criadas utilizando o Blowfish para o inspirar.\n","externalUrl":null,"permalink":"/examples/_index.pt-pt/","section":"Showcase","summary":" Veja o que é possível com o Blowfish. Esta secção contém ligações para modelos de exemplo e páginas criadas utilizando o Blowfish para o inspirar.\n","title":"Galeria","type":"examples"},{"content":" Sehen Sie, was mit Blowfish möglich ist. Dieser Bereich enthält Links zu Beispielvorlagen und Seiten, die mit Blowfish erstellt wurden, um Sie zu inspirieren.\n","externalUrl":null,"permalink":"/examples/_index.de/","section":"Showcase","summary":" Sehen Sie, was mit Blowfish möglich ist. Dieser Bereich enthält Links zu Beispielvorlagen und Seiten, die mit Blowfish erstellt wurden, um Sie zu inspirieren.\n","title":"Galerie","type":"examples"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/github/","section":"标签","summary":"","title":"Github","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/homepage/","section":"Tags","summary":"","title":"Homepage","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/hosting/","section":"Tags","summary":"","title":"Hosting","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/icon/","section":"Tags","summary":"","title":"Icon","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/installation/","section":"Tags","summary":"","title":"Installation","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/layouts/","section":"Tags","summary":"","title":"Layouts","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/lead/","section":"标签","summary":"","title":"Lead","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/likes/","section":"Tags","summary":"","title":"Likes","type":"tags"},{"content":" Blowfish da vida a tu contenido. \u0026#x1f60d; Esta sección contiene algunas páginas de demostración que muestran cómo Blowfish renderiza diferentes tipos de contenido. También puedes ver una página de ejemplo de listado de taxonomía.\nNota: Esta página es solo un listado de artículos estándar de Blowfish y Hugo ha sido configurado para generar un tipo de contenido samples y mostrar resúmenes de artículos.\n","externalUrl":null,"permalink":"/samples/_index.es/","section":"Samples","summary":" Blowfish da vida a tu contenido. 😍 Esta sección contiene algunas páginas de demostración que muestran cómo Blowfish renderiza diferentes tipos de contenido. También puedes ver una página de ejemplo de listado de taxonomía.\n","title":"Muestras","type":"samples"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/netlify/","section":"标签","summary":"","title":"Netlify","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/new/","section":"Tags","summary":"","title":"New","type":"tags"},{"content":"La fantastica biografia di Nuno.\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.it/","section":"Authors Taxonomy Listing Example","summary":"La fantastica biografia di Nuno.\n","title":"Nuno Coraçao","type":"authors"},{"content":"Nunos fantastische Beispielbiografie.\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.de/","section":"Authors Taxonomy Listing Example","summary":"Nunos fantastische Beispielbiografie.\n","title":"Nuno Coração","type":"authors"},{"content":"La increíble biografía ficticia de Nuno.\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.es/","section":"Authors Taxonomy Listing Example","summary":"La increíble biografía ficticia de Nuno.\n","title":"Nuno Coração","type":"authors"},{"content":"La super bio fictive de Nuno.\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.fr/","section":"Authors Taxonomy Listing Example","summary":"La super bio fictive de Nuno.\n","title":"Nuno Coração","type":"authors"},{"content":"Nuno の素晴らしいダミープロフィールです。\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.ja/","section":"Authors Taxonomy Listing Example","summary":"Nuno の素晴らしいダミープロフィールです。\n","title":"Nuno Coração","type":"authors"},{"content":"A incrível bio fictícia do Nuno.\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.pt-br/","section":"Authors Taxonomy Listing Example","summary":"A incrível bio fictícia do Nuno.\n","title":"Nuno Coração","type":"authors"},{"content":"A fantástica biografia fictícia do Nuno.\n","externalUrl":null,"permalink":"/authors/nunocoracao/_index.pt-pt/","section":"Authors Taxonomy Listing Example","summary":"A fantástica biografia fictícia do Nuno.\n","title":"Nuno Coração","type":"authors"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/open-code/","section":"标签","summary":"","title":"Open Code","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/partials/","section":"标签","summary":"","title":"Partials","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/plugin/","section":"标签","summary":"","title":"Plugin","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/productivity/","section":"标签","summary":"","title":"Productivity","type":"tags"},{"content":" Receitas, guias e tutoriais para o Blowfish Usuário do Blowfish? Para adicionar seu guia a esta lista, confira o template.\nEsta seção contém guias para vários cenários sobre como configurar seu tema. Se você é novo, confira o guia de Instalação para começar ou visite a seção de Amostras para ver o que o Blowfish pode fazer.\n","externalUrl":null,"permalink":"/guides/_index.pt-br/","section":"Recipes","summary":" Receitas, guias e tutoriais para o Blowfish Usuário do Blowfish? Para adicionar seu guia a esta lista, confira o template.\nEsta seção contém guias para vários cenários sobre como configurar seu tema. Se você é novo, confira o guia de Instalação para começar ou visite a seção de Amostras para ver o que o Blowfish pode fazer.\n","title":"Receitas","type":"guides"},{"content":" Receitas, guias e tutoriais para o Blowfish Utilizador do Blowfish? Para adicionar o seu guia a esta lista, consulte o template.\nEsta secção contém guias para vários cenários sobre como configurar o seu tema. Se é novo, consulte o guia de Instalação para começar ou visite a secção de Amostras para ver o que o Blowfish pode fazer.\n","externalUrl":null,"permalink":"/guides/_index.pt-pt/","section":"Recipes","summary":" Receitas, guias e tutoriais para o Blowfish Utilizador do Blowfish? Para adicionar o seu guia a esta lista, consulte o template.\nEsta secção contém guias para vários cenários sobre como configurar o seu tema. Se é novo, consulte o guia de Instalação para começar ou visite a secção de Amostras para ver o que o Blowfish pode fazer.\n","title":"Receitas","type":"guides"},{"content":" Recetas, guías y tutoriales para Blowfish ¿Usuario de Blowfish? Para añadir tu guía a esta lista, consulta la plantilla.\nEsta sección contiene guías para varios escenarios sobre cómo configurar tu tema. Si eres nuevo, consulta la guía de Instalación para comenzar o visita la sección de Muestras para ver lo que Blowfish puede hacer.\n","externalUrl":null,"permalink":"/guides/_index.es/","section":"Recipes","summary":" Recetas, guías y tutoriales para Blowfish ¿Usuario de Blowfish? Para añadir tu guía a esta lista, consulta la plantilla.\nEsta sección contiene guías para varios escenarios sobre cómo configurar tu tema. Si eres nuevo, consulta la guía de Instalación para comenzar o visita la sección de Muestras para ver lo que Blowfish puede hacer.\n","title":"Recetas","type":"guides"},{"content":" Recettes, guides et tutoriels pour Blowfish Utilisateur de Blowfish ? Pour ajouter votre guide à cette liste, consultez le modèle.\nCette section contient des guides pour divers scénarios de configuration de votre thème. Si vous êtes nouveau, consultez le guide d\u0026rsquo;Installation pour commencer ou visitez la section Échantillons pour voir ce que Blowfish peut faire.\n","externalUrl":null,"permalink":"/guides/_index.fr/","section":"Recipes","summary":" Recettes, guides et tutoriels pour Blowfish Utilisateur de Blowfish ? Pour ajouter votre guide à cette liste, consultez le modèle.\nCette section contient des guides pour divers scénarios de configuration de votre thème. Si vous êtes nouveau, consultez le guide d’Installation pour commencer ou visitez la section Échantillons pour voir ce que Blowfish peut faire.\n","title":"Recettes","type":"guides"},{"content":" Recipes, guides, and tutorials for Blowfish Blowfish user? To add your guide to this list, check the template.\nThis section contains guides for a variety of scenarios on how to configure your theme. If you\u0026rsquo;re new, check out the Installation guide to begin or visit the Samples section to see what Blowfish can do.\n","externalUrl":null,"permalink":"/guides/_index.it/","section":"Recipes","summary":" Recipes, guides, and tutorials for Blowfish Blowfish user? To add your guide to this list, check the template.\nThis section contains guides for a variety of scenarios on how to configure your theme. If you’re new, check out the Installation guide to begin or visit the Samples section to see what Blowfish can do.\n","title":"Recipes","type":"guides"},{"content":"","externalUrl":null,"permalink":"/tags/render/","section":"Tags","summary":"","title":"Render","type":"tags"},{"content":" Rezepte, Anleitungen und Tutorials für Blowfish Blowfish-Nutzer? Um Ihre Anleitung zu dieser Liste hinzuzufügen, schauen Sie sich die Vorlage an.\nDieser Bereich enthält Anleitungen für verschiedene Szenarien zur Konfiguration Ihres Themes. Wenn Sie neu sind, schauen Sie sich die Installations-Anleitung an, um zu beginnen, oder besuchen Sie den Beispiele-Bereich, um zu sehen, was Blowfish kann.\n","externalUrl":null,"permalink":"/guides/_index.de/","section":"Recipes","summary":" Rezepte, Anleitungen und Tutorials für Blowfish Blowfish-Nutzer? Um Ihre Anleitung zu dieser Liste hinzuzufügen, schauen Sie sich die Vorlage an.\nDieser Bereich enthält Anleitungen für verschiedene Szenarien zur Konfiguration Ihres Themes. Wenn Sie neu sind, schauen Sie sich die Installations-Anleitung an, um zu beginnen, oder besuchen Sie den Beispiele-Bereich, um zu sehen, was Blowfish kann.\n","title":"Rezepte","type":"guides"},{"content":"La fantastica biografia fittizia di Dummy Second Author.\n","externalUrl":null,"permalink":"/authors/secondauthor/_index.it/","section":"Authors Taxonomy Listing Example","summary":"La fantastica biografia fittizia di Dummy Second Author.\n","title":"Secondo autore fittizio","type":"authors"},{"content":"","externalUrl":null,"permalink":"/zh-cn/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/tags/series/","section":"Tags","summary":"","title":"Series","type":"tags"},{"content":" See what\u0026rsquo;s possible with Blowfish. This section contains links to example templates and pages created using Blowfish to get you inspired.\n","externalUrl":null,"permalink":"/examples/_index.it/","section":"Showcase","summary":" See what’s possible with Blowfish. This section contains links to example templates and pages created using Blowfish to get you inspired.\n","title":"Showcase","type":"examples"},{"content":"Blowfish ha il pieno supporto per le tassonomie Hugo e si adatterà a qualsiasi impostazione tassonomica. Gli elenchi di tassonomia come questo supportano anche il contenuto personalizzato da visualizzare sopra l\u0026rsquo;elenco dei termini.\nQuest\u0026rsquo;area può essere utilizzata per aggiungere testo descrittivo aggiuntivo a ciascuna tassonomia. Dai un\u0026rsquo;occhiata al tag avanzato di seguito per vedere come portare questo concetto ancora oltre.\n","externalUrl":null,"permalink":"/tags/_index.it/","section":"Tags","summary":"Blowfish ha il pieno supporto per le tassonomie Hugo e si adatterà a qualsiasi impostazione tassonomica. Gli elenchi di tassonomia come questo supportano anche il contenuto personalizzato da visualizzare sopra l’elenco dei termini.\n","title":"Tag","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/tools/","section":"标签","summary":"","title":"Tools","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/vibe-coding/","section":"标签","summary":"","title":"Vibe Coding","type":"tags"},{"content":"","externalUrl":null,"permalink":"/tags/views/","section":"Tags","summary":"","title":"Views","type":"tags"},{"content":" Découvrez ce qui est possible avec Blowfish. Cette section contient des liens vers des modèles et pages d\u0026rsquo;exemple créés avec Blowfish pour vous inspirer.\n","externalUrl":null,"permalink":"/examples/_index.fr/","section":"Showcase","summary":" Découvrez ce qui est possible avec Blowfish. Cette section contient des liens vers des modèles et pages d’exemple créés avec Blowfish pour vous inspirer.\n","title":"Vitrine","type":"examples"},{"content":"","externalUrl":null,"permalink":"/_index.ja/","section":"Welcome to OPC! 🎉","summary":"","title":"Welcome to OPC! 🎉","type":"page"},{"content":" Blowfish はあなたのコンテンツに命を宿します。\u0026#x1f60d; このセクションは、 Blowfish で様々な種類のコンテンツをどのように表示するのかを紹介するデモページを含みます。例としては分類一覧ページも参考になります。\nサイドノート: このページは一般的な Blowfish のリストで、 Hugo が生成した samples コンテンツタイプと記事の要約を表示する様に設定しています。\n","externalUrl":null,"permalink":"/samples/_index.ja/","section":"Samples","summary":" Blowfish はあなたのコンテンツに命を宿します。😍 このセクションは、 Blowfish で様々な種類のコンテンツをどのように表示するのかを紹介するデモページを含みます。例としては分類一覧ページも参考になります。\n","title":"サンプル","type":"samples"},{"content":" Blowfish で何が出来るか見てみる。 このセクションはテンプレートの例やインスピレーションを得ることの出来る Blowfish を使用して作成されたページのリンクがあります。\n","externalUrl":null,"permalink":"/examples/_index.ja/","section":"Showcase","summary":" Blowfish で何が出来るか見てみる。 このセクションはテンプレートの例やインスピレーションを得ることの出来る Blowfish を使用して作成されたページのリンクがあります。\n","title":"ショーケース","type":"examples"},{"content":"Blowfish は Hugo の分類システムを完全にサポートし、どのような分類システムの設定でも適合できます。このような分類システムのリストは、用語リストの上に表示されるカスタムコンテンツもサポートしています。\nこのエリアはそれぞれの分類システムに追加の説明をする時に利用します。以下の高度なタグを確認して、このコンセプトをさらに発展させる方法をご覧ください。\n","externalUrl":null,"permalink":"/tags/_index.ja/","section":"Tags","summary":"Blowfish は Hugo の分類システムを完全にサポートし、どのような分類システムの設定でも適合できます。このような分類システムのリストは、用語リストの上に表示されるカスタムコンテンツもサポートしています。\n","title":"タグ","type":"tags"},{"content":" シンプル、それでいて強力。 Blowfish の利用方法と特徴について学ぶ。 このセクションでは、Blowfish について知っておくべきことをすべて網羅しています。初めての方は、まずインストールガイドをご覧いただくか、サンプルセクションで Blowfish で何ができるかを確認してみてください。\n","externalUrl":null,"permalink":"/docs/_index.ja/","section":"Documentation","summary":" シンプル、それでいて強力。 Blowfish の利用方法と特徴について学ぶ。 このセクションでは、Blowfish について知っておくべきことをすべて網羅しています。初めての方は、まずインストールガイドをご覧いただくか、サンプルセクションで Blowfish で何ができるかを確認してみてください。\n","title":"ドキュメント","type":"docs"},{"content":" Blowfish のためのレシピ、ガイド、チュートリアル Blowfish ユーザーですか? この一覧にあなたのガイドを加える際は、テンプレートを確認してください。\nこのセクションではあなたのテーマの設定方法する様々なシナリオを含んでいます。新しく作成する場合は、開始するためにインストールガイド、または Blowfish が何が出来るかサンプルセクションに訪れてください。\n","externalUrl":null,"permalink":"/guides/_index.ja/","section":"Recipes","summary":" Blowfish のためのレシピ、ガイド、チュートリアル Blowfish ユーザーですか? この一覧にあなたのガイドを加える際は、テンプレートを確認してください。\n","title":"レシピ","type":"guides"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E5%AE%89%E8%A3%85/","section":"标签","summary":"","title":"安装","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E5%B8%83%E5%B1%80/","section":"标签","summary":"","title":"布局","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E9%83%A8%E7%BD%B2/","section":"标签","summary":"","title":"部署","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/series/%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/","section":"Series","summary":"","title":"部署教程","type":"series"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E7%82%B9%E8%B5%9E%E9%87%8F/","section":"标签","summary":"","title":"点赞量","type":"tags"},{"content":"こちらは高度なタグです。 Blowfish の他のページの様に、個々の分類条項にカスタムコンテンツの追加やそれを条項リストの一番上に表示することが可能です。\u0026#x1f680;\nタイトルや説明など SEO や他の目的に利用するためのHugo のメタデータを定義するためにこれらのコンテンツページも利用可能です。\n","externalUrl":null,"permalink":"/tags/advanced/_index.ja/","section":"Tags","summary":"こちらは高度なタグです。 Blowfish の他のページの様に、個々の分類条項にカスタムコンテンツの追加やそれを条項リストの一番上に表示することが可能です。🚀\n","title":"高度なタグ","type":"tags"},{"content":"这是高级标记。类似其他 Blowfish 中的其他列表页面，你可以在分类列表页添加自定义内容，这部分内容会显示在顶部。\u0026#x1f680;\n你也可以用这些内容来定义 Hugo 的元数据，比如标题和描述。这些内容可以被用来增强 SEO 或其他目的。\n","externalUrl":null,"permalink":"/zh-cn/tags/advanced/","section":"标签","summary":"这是高级标记。类似其他 Blowfish 中的其他列表页面，你可以在分类列表页添加自定义内容，这部分内容会显示在顶部。🚀\n","title":"高级","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E9%AB%98%E7%BA%A7/","section":"标签","summary":"","title":"高级","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E5%86%85%E5%AE%B9/","section":"标签","summary":"","title":"内容","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E9%85%8D%E7%BD%AE/","section":"标签","summary":"","title":"配置","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E8%AF%84%E8%AE%BA/","section":"标签","summary":"","title":"评论","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E7%BB%9F%E8%AE%A1%E6%9C%8D%E5%8A%A1/","section":"标签","summary":"","title":"统计服务","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E6%89%98%E7%AE%A1/","section":"标签","summary":"","title":"托管","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E7%BD%91%E7%AB%99%E5%9B%BE%E6%A0%87/","section":"标签","summary":"","title":"网站图标","type":"tags"},{"content":" 了解如何使用简单而强大的 Blowfish。 本章节包含了你需要了解的有关 Blowfish 的所有信息。如果你是新用户，请查阅安装 指南，或者访问示例 来了解 Blowfish 能做什么。\n","externalUrl":null,"permalink":"/zh-cn/docs/","section":"文档","summary":" 了解如何使用简单而强大的 Blowfish。 本章节包含了你需要了解的有关 Blowfish 的所有信息。如果你是新用户，请查阅安装 指南，或者访问示例 来了解 Blowfish 能做什么。\n","title":"文档","type":"docs"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E6%96%87%E6%A1%A3/","section":"标签","summary":"","title":"文档","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E7%B3%BB%E5%88%97/","section":"标签","summary":"","title":"系列","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E6%96%B0%E6%89%8B/","section":"标签","summary":"","title":"新手","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E6%B8%B2%E6%9F%93%E5%99%A8/","section":"标签","summary":"","title":"渲染器","type":"tags"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E9%98%85%E8%AF%BB%E9%87%8F/","section":"标签","summary":"","title":"阅读量","type":"tags"},{"content":"あなたの記事で著者のタクソノミーを使う方法の簡単な例です。\n","externalUrl":null,"permalink":"/authors/_index.ja/","section":"Authors Taxonomy Listing Example","summary":"あなたの記事で著者のタクソノミーを使う方法の簡単な例です。\n","title":"著者のタクソノミーリストの例","type":"authors"},{"content":"","externalUrl":null,"permalink":"/zh-cn/tags/%E4%B8%BB%E9%A1%B5/","section":"标签","summary":"","title":"主页","type":"tags"}]