<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Waline on Liquid Stack</title><link>https://liquid-stack.pages.dev/zh/tags/waline/</link><description>Recent content in Waline on Liquid Stack</description><generator>Hugo -- gohugo.io</generator><language>zh-Hans</language><copyright>我的博客</copyright><lastBuildDate>Sun, 02 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://liquid-stack.pages.dev/zh/tags/waline/index.xml" rel="self" type="application/rss+xml"/><item><title>配置评论、友链申请与邮件模板</title><link>https://liquid-stack.pages.dev/zh/p/comment-forms-email-templates/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/zh/p/comment-forms-email-templates/</guid><description>&lt;img src="https://liquid-stack.pages.dev/img/posts/bilingual-publishing.png" alt="Featured image of post 配置评论、友链申请与邮件模板" /&gt;&lt;p&gt;本文介绍 Liquid Stack 提供的评论演示、友链申请表单与双语邮件模板，并说明如何把这些示例连接到自己的服务。&lt;/p&gt;
&lt;h2 id="评论区演示模式"&gt;评论区演示模式
&lt;/h2&gt;&lt;p&gt;开源 Demo 默认启用评论演示模式。文章底部会显示评论输入框、互动数字和四条示例评论，页面不会连接 Waline 后端数据库。&lt;/p&gt;
&lt;p&gt;主页页脚显示带有演示说明的全站浏览量静态数值，所有页面同时显示 365 天示意运行时间。接入 Waline 并将 &lt;code&gt;demoMode&lt;/code&gt; 改为 &lt;code&gt;false&lt;/code&gt; 后，主页可以从自己的 Waline 服务读取真实全站浏览量。添加 &lt;code&gt;params.footer.launchDate&lt;/code&gt; 后，页脚会计算实际运行天数。&lt;/p&gt;
&lt;p&gt;在演示框中输入的内容不会被本站提交或记录。请勿在演示页面填写真实邮箱、联系方式或其他敏感信息。&lt;/p&gt;
&lt;p&gt;演示模式由 &lt;code&gt;hugo.yaml&lt;/code&gt; 控制。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;waline&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;waline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;serverURL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;https://example.com/waline&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;demoMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="接入自己的-waline"&gt;接入自己的 Waline
&lt;/h2&gt;&lt;p&gt;先按照 &lt;a class="link" href="https://waline.js.org/guide/get-started/" target="_blank" rel="noopener"
 &gt;Waline 官方文档&lt;/a&gt; 部署服务端，再完成下面两项配置。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将 &lt;code&gt;serverURL&lt;/code&gt; 替换为自己的 Waline 服务地址&lt;/li&gt;
&lt;li&gt;将 &lt;code&gt;demoMode&lt;/code&gt; 改为 &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;完成后，Liquid Stack 会加载真实评论、浏览量、评论数、回复通知和文章反应。服务端凭据、管理员令牌和邮件密钥应保存在部署平台的环境变量中。&lt;/p&gt;
&lt;p&gt;更基础的评论接入步骤可继续阅读&lt;a class="link" href="https://liquid-stack.pages.dev/zh/p/configure-waline-comments/" &gt;配置 Waline 评论区&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="友链申请系统"&gt;友链申请系统
&lt;/h2&gt;&lt;p&gt;Demo 的链接页面已经接入一份 Microsoft Forms 友链申请示例。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://forms.cloud.microsoft/Pages/ResponsePage.aspx?id=DQSIkWdsW0yxEjajBLZtrQAAAAAAAAAAAAO__bK_KBBUQ0sxMlZYNVA0OTZIQTMySkxLVjdXTVJNNS4u" target="_blank" rel="noopener"
 &gt;打开友链申请演示&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://forms.cloud.microsoft/Pages/ShareFormPage.aspx?id=DQSIkWdsW0yxEjajBLZtrQAAAAAAAAAAAAO__bK_KBBUQ0sxMlZYNVA0OTZIQTMySkxLVjdXTVJNNS4u&amp;amp;sharetoken=TnsZOZAtRpQBsNnIX6GA" target="_blank" rel="noopener"
 &gt;复制友链申请表单模板&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;演示表单仅供参考。Demo 网站不会保存这里的填写内容，也不会将其用于正式友链审核。Microsoft Forms 由微软提供，打开外部表单前仍应查看其隐私说明，并避免提交真实敏感信息。&lt;/p&gt;
&lt;p&gt;喜欢这套申请结构时，可以使用复制链接创建自己的表单，再替换标题、站点资料、隐私提示、通知规则和审核流程。&lt;/p&gt;
&lt;p&gt;友链页面的按钮与嵌入地址位于 &lt;code&gt;content/page/links/&lt;/code&gt;，网站管理菜单中的入口位于 &lt;code&gt;data/management_links.yaml&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="双语邮件模板"&gt;双语邮件模板
&lt;/h2&gt;&lt;p&gt;仓库在 &lt;a class="link" href="https://github.com/Jingyuan-Zheng/Liquid-Stack/tree/main/examples/email-templates" target="_blank" rel="noopener"
 &gt;&lt;code&gt;examples/email-templates&lt;/code&gt;&lt;/a&gt; 中提供五份已去敏的响应式 HTML 邮件和一份 Waline 通知主题文件。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;中文读者来信回复&lt;/li&gt;
&lt;li&gt;英文读者来信回复&lt;/li&gt;
&lt;li&gt;中文友链申请通过通知&lt;/li&gt;
&lt;li&gt;英文友链申请通过通知&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="waline-评论回复通知"&gt;Waline 评论回复通知
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;waline-comment-reply-bilingual.html&lt;/code&gt; 是一份可直接改用的 Waline 中英双语回复通知正文，&lt;code&gt;waline-comment-reply-subject.txt&lt;/code&gt; 提供对应主题。模板会根据文章 URL 是否包含 &lt;code&gt;/zh/&lt;/code&gt; 选择简体中文，其余页面显示英文。&lt;/p&gt;
&lt;p&gt;模板保留评论者、回复者、回复内容和文章链接所需的 Waline 变量。将 &lt;code&gt;[SITE NAME]&lt;/code&gt; 与 &lt;code&gt;[站点名称]&lt;/code&gt; 替换为自己的公开站点名称后，再把正文和主题粘贴到 Waline 邮件配置中。不要替换 &lt;code&gt;self&lt;/code&gt;、&lt;code&gt;parent&lt;/code&gt; 与 &lt;code&gt;site&lt;/code&gt; 变量。&lt;/p&gt;
&lt;p&gt;模板已经移除真实姓名、个人网站和身份信息，统一改成方括号占位符。发送前需要替换网站名称、品牌、网址、收件人称呼、回复正文和署名。&lt;/p&gt;
&lt;p&gt;这些 HTML 可以用于 Waline 邮件工作流、人工回复、自动化邮件服务或友链审核通知。不同邮件服务对 HTML 和变量语法的要求不同，接入前应先发送测试邮件，检查移动端布局、链接和深色模式显示。&lt;/p&gt;
&lt;h2 id="上线前检查"&gt;上线前检查
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;关闭 &lt;code&gt;demoMode&lt;/code&gt; 后再测试真实评论提交与通知&lt;/li&gt;
&lt;li&gt;将友链表单复制到自己的 Microsoft 账户&lt;/li&gt;
&lt;li&gt;更新表单中的隐私说明和审核规则&lt;/li&gt;
&lt;li&gt;替换邮件模板中的全部方括号占位符&lt;/li&gt;
&lt;li&gt;不要把访问令牌、管理员地址和邮件密钥提交到公开仓库&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;完成这些设置后，评论、友链申请与通知邮件就会进入自己的服务流程，主题界面和双语结构可以继续保留。&lt;/p&gt;</description></item><item><title>配置 Waline 评论区</title><link>https://liquid-stack.pages.dev/zh/p/configure-waline-comments/</link><pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/zh/p/configure-waline-comments/</guid><description>&lt;p&gt;Liquid Stack 已保留 Waline 评论组件；示例地址不会连接到任何真实后端。&lt;/p&gt;
&lt;h2 id="准备服务端"&gt;准备服务端
&lt;/h2&gt;&lt;p&gt;先按照 Waline 官方文档部署自己的服务端。获得服务地址后，在 &lt;code&gt;hugo.yaml&lt;/code&gt; 的 &lt;code&gt;params.comments.waline.serverURL&lt;/code&gt; 中替换示例 URL。&lt;/p&gt;
&lt;h2 id="启用与关闭"&gt;启用与关闭
&lt;/h2&gt;&lt;p&gt;将 &lt;code&gt;params.comments.enabled&lt;/code&gt; 设为 &lt;code&gt;true&lt;/code&gt; 可启用评论。单篇文章也可以在前置数据中设为 &lt;code&gt;comments: false&lt;/code&gt;，例如隐私页、说明页或不希望讨论的公告。&lt;/p&gt;
&lt;h2 id="发布前测试"&gt;发布前测试
&lt;/h2&gt;&lt;p&gt;本地预览时检查文章底部是否出现评论框；发布后再测试提交、审核和邮件通知。服务器地址、访问令牌和管理员配置应放在自己的部署环境中，不应保留在公开主题示例里。&lt;/p&gt;</description></item></channel></rss>