<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Comments on My Blog</title><link>https://liu-houliang.github.io/hugo-stack-starter/en/tags/comments/</link><description>Recent content in Comments on My Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://liu-houliang.github.io/hugo-stack-starter/en/tags/comments/index.xml" rel="self" type="application/rss+xml"/><item><title>Set Up Waline Comments</title><link>https://liu-houliang.github.io/hugo-stack-starter/en/post/waline-setup/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://liu-houliang.github.io/hugo-stack-starter/en/post/waline-setup/</guid><description>&lt;p&gt;&lt;a class="link" href="https://waline.js.org/en/" target="_blank" rel="noopener"
 &gt;Waline&lt;/a&gt; is a safe and concise comment system that supports Markdown, offers free deployment, and allows users to comment without registering.&lt;/p&gt;
&lt;p&gt;This template has built-in integration for Waline. You just need to deploy the server-side application and fill in one line of configuration to enable it.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-1-deploy-waline-server"&gt;&lt;a href="#step-1-deploy-waline-server" class="header-anchor"&gt;&lt;/a&gt;Step 1: Deploy Waline Server
&lt;/h2&gt;&lt;p&gt;Please refer to the &lt;strong&gt;Waline Official Quick Start Guide&lt;/strong&gt; to complete the server deployment:&lt;/p&gt;
&lt;p&gt;👉 &lt;a class="link" href="https://waline.js.org/en/guide/get-started/" target="_blank" rel="noopener"
 &gt;https://waline.js.org/en/guide/get-started/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The official documentation provides a &lt;strong&gt;free one-click deployment&lt;/strong&gt; solution on Vercel. The entire process takes about 5 minutes.&lt;/p&gt;
&lt;p&gt;Once deployed, you will receive a Waline service address, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;https://your-waline-project.vercel.app/&lt;/code&gt; (Default Vercel domain)&lt;/li&gt;
&lt;li&gt;Or your bound custom domain&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Save this address; you will need it in the next step.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-2-configure-in-this-template"&gt;&lt;a href="#step-2-configure-in-this-template" class="header-anchor"&gt;&lt;/a&gt;Step 2: Configure in This Template
&lt;/h2&gt;&lt;p&gt;Edit &lt;code&gt;config/_default/params.toml&lt;/code&gt; and fill in your service address:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enabled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;provider&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;waline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;waline&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;serverURL&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://your-waline-project.vercel.app/&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;# ← Fill in your address here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;pageview&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="c"&gt;# Also enable article pageview statistics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# Optional: Custom emoji package (default is Weibo emoji)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;emoji&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://unpkg.com/@waline/emojis@1.0.1/weibo&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# Required fields for comments&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;requiredMeta&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;waline&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;locale&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;admin&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Admin&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;# Administrator badge&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Save and restart &lt;code&gt;hugo server&lt;/code&gt;, and the comment section will appear at the bottom of your article pages.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="features-overview"&gt;&lt;a href="#features-overview" class="header-anchor"&gt;&lt;/a&gt;Features Overview
&lt;/h2&gt;&lt;h3 id="pageview-statistics"&gt;&lt;a href="#pageview-statistics" class="header-anchor"&gt;&lt;/a&gt;Pageview Statistics
&lt;/h3&gt;&lt;p&gt;After setting &lt;code&gt;pageview = true&lt;/code&gt;, pageviews will automatically be displayed at the top of the article (Requires Waline server support).&lt;/p&gt;
&lt;h3 id="comment-management-dashboard"&gt;&lt;a href="#comment-management-dashboard" class="header-anchor"&gt;&lt;/a&gt;Comment Management Dashboard
&lt;/h3&gt;&lt;p&gt;Visit &lt;code&gt;https://your-waline-project.vercel.app/ui/&lt;/code&gt; to access the management interface. The first registered account automatically becomes the administrator, who can review and delete comments.&lt;/p&gt;
&lt;h3 id="email-notifications"&gt;&lt;a href="#email-notifications" class="header-anchor"&gt;&lt;/a&gt;Email Notifications
&lt;/h3&gt;&lt;p&gt;You can be notified via email when someone replies. This requires configuring SMTP information in Vercel environment variables. See the &lt;a class="link" href="https://waline.js.org/en/guide/features/notification.html" target="_blank" rel="noopener"
 &gt;Official Documentation - Notification&lt;/a&gt; for details.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="faq"&gt;&lt;a href="#faq" class="header-anchor"&gt;&lt;/a&gt;FAQ
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Comment section not showing up?&lt;/strong&gt;&lt;br&gt;
Check if there is a trailing slash &lt;code&gt;/&lt;/code&gt; at the end of &lt;code&gt;serverURL&lt;/code&gt;, and ensure the Vercel service is running normally (you should see the Waline welcome page when visiting the serverURL directly).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cookie banner blocking the comment section?&lt;/strong&gt;&lt;br&gt;
If you have enabled the Cookie consent feature, users must accept &amp;ldquo;Functional Cookies&amp;rdquo; before the comment section will appear. You can disable the Cookie prompt in &lt;code&gt;params.toml&lt;/code&gt; or instruct users to accept it.&lt;/p&gt;</description></item></channel></rss>