<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Liquid Stack</title><link>https://liquid-stack.pages.dev/post/</link><description>Recent content in Posts on Liquid Stack</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>My Blog</copyright><lastBuildDate>Sun, 02 Aug 2026 19:40:00 +0200</lastBuildDate><atom:link href="https://liquid-stack.pages.dev/post/index.xml" rel="self" type="application/rss+xml"/><item><title>Welcome to Liquid Stack: New Theme Features</title><link>https://liquid-stack.pages.dev/p/welcome-to-liquid-stack/</link><pubDate>Sun, 02 Aug 2026 19:40:00 +0200</pubDate><guid>https://liquid-stack.pages.dev/p/welcome-to-liquid-stack/</guid><description>&lt;p&gt;Liquid Stack is built on &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener"
 &gt;Hugo Theme Stack&lt;/a&gt; v4.0.3. It keeps Stack&amp;rsquo;s blogging foundation and expands it through a visual system, homepage widgets, presentation pages, and management tools into a complete personal-site starter.&lt;/p&gt;
&lt;p&gt;Select &lt;strong&gt;Use this template&lt;/strong&gt; on GitHub, replace the sample identity and content, and start from a working framework.&lt;/p&gt;
&lt;h2 id="get-started"&gt;Get started
&lt;/h2&gt;&lt;h3 id="replace-the-site-identity"&gt;Replace the site identity
&lt;/h3&gt;&lt;p&gt;Update the site title, URL, sidebar copy, and social links in &lt;code&gt;hugo.yaml&lt;/code&gt;, then replace the sample avatar, logo, and social-preview image under &lt;code&gt;static/img/liquid-stack/&lt;/code&gt; with your own assets.&lt;/p&gt;
&lt;p&gt;Store each article in its own directory under &lt;code&gt;content/post/&lt;/code&gt;. English posts use &lt;code&gt;index.md&lt;/code&gt;, with a Simplified Chinese translation in &lt;code&gt;index.zh.md&lt;/code&gt; beside it. Keep the &lt;code&gt;slug&lt;/code&gt; stable after publishing so existing links continue to work.&lt;/p&gt;
&lt;h3 id="connect-services-when-needed"&gt;Connect services when needed
&lt;/h3&gt;&lt;p&gt;The public starter is not connected to personal comment, analytics, or deployment accounts. Sveltia CMS, Waline, page views, and management links keep their complete framework and can be enabled with your own repository, service endpoints, and public URLs.&lt;/p&gt;
&lt;h2 id="visual-design"&gt;Visual design
&lt;/h2&gt;&lt;h3 id="liquid-glass-inspiration"&gt;Liquid Glass inspiration
&lt;/h3&gt;&lt;p&gt;Liquid Stack&amp;rsquo;s largest update is its visual design. Inspired by Apple&amp;rsquo;s &lt;strong&gt;Liquid Glass&lt;/strong&gt; design language, it adopts the ideas that translate well to the web, including translucent material, clear content layers, light and dark adaptation, and gentle transformation.&lt;/p&gt;
&lt;p&gt;Management overlays and focused photo views use translucency and background blur. Navigation, shortcuts, and controls form a functional layer above the content. Soft shadows and subtle tonal changes define card boundaries, while light and dark modes tune the canvas, surfaces, and text independently. Hover, expansion, and entrance motion keep attention on the active content.&lt;/p&gt;
&lt;h3 id="rounded-corner-hierarchy"&gt;Rounded-corner hierarchy
&lt;/h3&gt;&lt;p&gt;Different corner sizes communicate the scale and role of each element.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;28-pixel large corners&lt;/strong&gt; appear on homepage widgets, article cards, dashboard panels, the launchpad, and photo-wall content&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;24 to 25-pixel medium corners&lt;/strong&gt; appear on the management menu, compact information panels, and mobile cards&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18 to 19-pixel small corners&lt;/strong&gt; appear on application previews, icon containers, and smaller content modules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pill corners&lt;/strong&gt; appear on selected sidebar items, tags, buttons, language controls, and the dark-mode switch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Circular outlines&lt;/strong&gt; are used for avatars, the emoji badge, and world clocks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This hierarchy keeps large surfaces soft and complete while small controls remain precise.&lt;/p&gt;
&lt;h3 id="icon-theme"&gt;Icon theme
&lt;/h3&gt;&lt;p&gt;The sidebar, homepage widgets, management menu, article actions, and dashboard use &lt;strong&gt;Lucide&lt;/strong&gt; as their shared lightweight line-icon system. Related actions use consistent stroke weight, sizing, and spacing, while selected states rely on background and colour changes throughout the site.&lt;/p&gt;
&lt;h3 id="main-colours"&gt;Main colours
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Light mode&lt;/strong&gt; uses a pale grey-lavender canvas &lt;code&gt;#f5f5fa&lt;/code&gt;, white cards, deep blue-grey accents &lt;code&gt;#34495e&lt;/code&gt;, and soft grey body text &lt;code&gt;#707070&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dark mode&lt;/strong&gt; uses a deep grey canvas &lt;code&gt;#303030&lt;/code&gt;, charcoal cards &lt;code&gt;#424242&lt;/code&gt;, and an off-white accent &lt;code&gt;#ecf0f1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Functional accents&lt;/strong&gt; use small amounts of orange, blue, purple, and green in the world clock and dashboard statuses without changing the neutral foundation&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="homepage-widgets"&gt;Homepage widgets
&lt;/h2&gt;&lt;h3 id="profile-widget"&gt;Profile widget
&lt;/h3&gt;&lt;p&gt;A profile widget at the top of the homepage presents the avatar, greeting, site description, and social links. Its text, image, and links can be replaced while keeping the component structure.&lt;/p&gt;
&lt;h3 id="feature-shortcut-cards"&gt;Feature shortcut cards
&lt;/h3&gt;&lt;p&gt;Shortcut cards lead to the launchpad, About page, dashboard, and photo wall while previewing application icons or gallery content. Replacing their source data automatically updates the previews, and the complete blog feed remains below them.&lt;/p&gt;
&lt;h3 id="content-navigation-widgets"&gt;Content navigation widgets
&lt;/h3&gt;&lt;p&gt;Stack&amp;rsquo;s search, archives, categories, and tag-cloud widgets remain available with Liquid Stack&amp;rsquo;s card, icon, and spacing treatment.&lt;/p&gt;
&lt;h3 id="world-clocks"&gt;World clocks
&lt;/h3&gt;&lt;p&gt;Two analogue world clocks show the visitor&amp;rsquo;s local time and the configured site time, calculate the difference automatically, and allow the site time zone to be changed. The browser supplies the visitor&amp;rsquo;s local zone without requiring manual selection.&lt;/p&gt;
&lt;h2 id="content-and-reading"&gt;Content and reading
&lt;/h2&gt;&lt;h3 id="blog-content-structure"&gt;Blog content structure
&lt;/h3&gt;&lt;p&gt;Articles, archives, categories, tags, related posts, the table of contents, and full-text search continue to use Stack&amp;rsquo;s content model, so existing Hugo posts remain compatible. Liquid Stack gives article cards, taxonomy labels, metadata, and the table of contents a consistent visual treatment.&lt;/p&gt;
&lt;h3 id="localized-dates"&gt;Localized dates
&lt;/h3&gt;&lt;p&gt;Post lists, article pages, and archive lists format dates using the visitor&amp;rsquo;s browser region. Systems using year-month-day, day-month-year, or month-day-year therefore see their familiar order while the page retains a standard machine-readable date.&lt;/p&gt;
&lt;h3 id="printing-and-sharing"&gt;Printing and sharing
&lt;/h3&gt;&lt;p&gt;Article pages add print, copy-link, and system-share actions. Chinese pages support Weibo, QQ, and X; English pages support X, Reddit, LinkedIn, WhatsApp, and email. Printed articles include author and source attribution.&lt;/p&gt;
&lt;h3 id="automatic-language-switching"&gt;Automatic language switching
&lt;/h3&gt;&lt;p&gt;English and Simplified Chinese share the same homepage, sidebar, articles, launchpad, photo wall, About page, and dashboard layouts.&lt;/p&gt;
&lt;p&gt;On a first visit, the site reads the browser&amp;rsquo;s preferred language. A Chinese-language browser opens the matching Chinese page automatically. A manual choice in the sidebar is saved for later visits, and switching language from an article opens the translation of that same article whenever it is available.&lt;/p&gt;
&lt;p&gt;Visitors using another browser language receive a small translation suggestion. Code blocks and other technical text are protected from automatic translation so commands and examples remain intact.&lt;/p&gt;
&lt;h3 id="search-404-and-sitemaps"&gt;Search, 404, and sitemaps
&lt;/h3&gt;&lt;p&gt;The 404 page converts an invalid path into a search query and presents the search interface instead of stopping at an error message.&lt;/p&gt;
&lt;p&gt;Human-readable English and Chinese sitemaps are included alongside multilingual XML sitemaps, helping both visitors and search engines discover content.&lt;/p&gt;
&lt;h2 id="projects-photos-and-the-about-page"&gt;Projects, photos, and the About page
&lt;/h2&gt;&lt;h3 id="project-launchpad"&gt;Project launchpad
&lt;/h3&gt;&lt;p&gt;The launchpad presents software, creative work, research projects, or useful links. Each entry can define bilingual names, an icon, preview image, related article, and repository. Selecting an icon opens an application preview before the full article.&lt;/p&gt;
&lt;p&gt;The public starter includes complete examples. Replacing project data and images updates both the launchpad and its homepage widget.&lt;/p&gt;
&lt;h3 id="interactive-photo-wall"&gt;Interactive photo wall
&lt;/h3&gt;&lt;p&gt;The photo wall supports portrait and landscape images without forcing one crop. Visitors can rearrange photos by dragging them and open a focused view; the arrangement is stored in the current browser.&lt;/p&gt;
&lt;p&gt;It works for photography, travel, design work, events, and project screenshots. Replacing photo-wall data also updates the homepage gallery preview.&lt;/p&gt;
&lt;h3 id="about-page"&gt;About page
&lt;/h3&gt;&lt;p&gt;The About page keeps its entrance animation, timeline, floating menu, and section layout. A fictional résumé demonstrates the design without limiting how the page can be used.&lt;/p&gt;
&lt;p&gt;It can become a personal introduction, site story, team page, portfolio history, or formal résumé without rebuilding the layout and motion.&lt;/p&gt;
&lt;h2 id="management-statistics-and-interaction"&gt;Management, statistics, and interaction
&lt;/h2&gt;&lt;h3 id="site-management-menu"&gt;Site management menu
&lt;/h3&gt;&lt;p&gt;The emoji badge beside the avatar opens a management menu for the CMS, comment moderation, backlink applications, Cloudflare Pages, search consoles, analytics, and deployment platforms. Its entries come from a data file and can be replaced with other tools and addresses.&lt;/p&gt;
&lt;h3 id="sveltia-cms"&gt;Sveltia CMS
&lt;/h3&gt;&lt;p&gt;Sveltia CMS remains available at &lt;code&gt;/admin/&lt;/code&gt;. After connecting a GitHub repository, it can create and edit bilingual posts, categories, launchpad projects, and photo-wall content from the browser.&lt;/p&gt;
&lt;p&gt;The public starter includes the CMS framework and generic configuration without connecting the original author&amp;rsquo;s private services or credentials.&lt;/p&gt;
&lt;h3 id="site-dashboard"&gt;Site dashboard
&lt;/h3&gt;&lt;p&gt;The dashboard derives post counts, total words, days online, category distribution, popular tags, publishing habits, and an annual heatmap from Hugo content. It also presents the configured Hugo, Stack, deployment, comments, and CMS status.&lt;/p&gt;
&lt;p&gt;These summaries work without an external analytics platform.&lt;/p&gt;
&lt;h3 id="waline-comments"&gt;Waline comments
&lt;/h3&gt;&lt;p&gt;Comments continue to use Stack&amp;rsquo;s Waline support with theme-matched cards, typography, and dark mode. The section adds guidance, page-view and comment totals, reply notifications, and reactions, while the footer can show site-wide views.&lt;/p&gt;
&lt;p&gt;Users only need to provide their own Waline endpoint; the demo does not connect to a personal comment database.&lt;/p&gt;
&lt;h3 id="friend-links-and-applications"&gt;Friend links and applications
&lt;/h3&gt;&lt;p&gt;The friend-link module expands the compact link list into site cards, exchange rules, application and contact actions, and an optional embedded form. A separate platform section can link to GitHub, portfolios, or other public profiles.&lt;/p&gt;
&lt;h2 id="open-source-template-and-customization"&gt;Open-source template and customization
&lt;/h2&gt;&lt;h3 id="stack-remains-the-foundation"&gt;Stack remains the foundation
&lt;/h3&gt;&lt;p&gt;Liquid Stack continues to use the official Stack v4.0.3 release as its blog foundation. Project-level Hugo overrides maintain the additions without editing the official files under &lt;code&gt;themes/hugo-theme-stack/&lt;/code&gt;, keeping the upstream structure and Liquid Stack extensions separate.&lt;/p&gt;
&lt;h3 id="generic-examples-and-privacy"&gt;Generic examples and privacy
&lt;/h3&gt;&lt;p&gt;The public starter keeps the pages, homepage widgets, management tools, and bilingual examples without publishing the original author&amp;rsquo;s private posts, real résumé, avatar, or service credentials. Sample projects, images, logos, comments, and management links can all be replaced.&lt;/p&gt;
&lt;h3 id="suitable-sites"&gt;Suitable sites
&lt;/h3&gt;&lt;p&gt;Liquid Stack is suitable for personal blogs, digital gardens, developer or designer portfolios, project showcases, photography journals, and bilingual sites that need a browser-based CMS. Explore the live demo, then select &lt;strong&gt;Use this template&lt;/strong&gt; on GitHub to create your own copy.&lt;/p&gt;</description></item><item><title>Configure Comments, Backlink Forms, and Email Templates</title><link>https://liquid-stack.pages.dev/p/comment-forms-email-templates/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/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 Configure Comments, Backlink Forms, and Email Templates" /&gt;&lt;p&gt;This guide introduces Liquid Stack&amp;rsquo;s comment demonstration, backlink application form, and bilingual email templates, then explains how to connect each example to your own services.&lt;/p&gt;
&lt;h2 id="comment-demo-mode"&gt;Comment demo mode
&lt;/h2&gt;&lt;p&gt;The public Demo enables comment demo mode by default. Article pages show a comment composer, engagement totals, and four sample comments without connecting to a Waline backend database.&lt;/p&gt;
&lt;p&gt;The homepage footer shows a static site-view count marked as a demo value. Every page also shows a sample runtime of 365 days. After connecting Waline and changing &lt;code&gt;demoMode&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt;, the homepage can read the real site-wide count from your Waline service. Add &lt;code&gt;params.footer.launchDate&lt;/code&gt; to calculate the real runtime.&lt;/p&gt;
&lt;p&gt;Text entered in the demo composer is not submitted or recorded by this site. Do not enter a real email address, contact details, or other sensitive information.&lt;/p&gt;
&lt;p&gt;Demo mode is controlled in &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="connect-your-own-waline-service"&gt;Connect your own Waline service
&lt;/h2&gt;&lt;p&gt;Deploy a server by following the &lt;a class="link" href="https://waline.js.org/en/guide/get-started/" target="_blank" rel="noopener"
 &gt;official Waline guide&lt;/a&gt;, then update two values.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Replace &lt;code&gt;serverURL&lt;/code&gt; with your Waline endpoint&lt;/li&gt;
&lt;li&gt;Change &lt;code&gt;demoMode&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Liquid Stack will then load real comments, page views, comment totals, reply notifications, and reactions. Keep server credentials, administrator tokens, and mail secrets in deployment environment variables.&lt;/p&gt;
&lt;p&gt;For the basic integration steps, continue with &lt;a class="link" href="https://liquid-stack.pages.dev/p/configure-waline-comments/" &gt;Configure Waline Comments&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="backlink-application-system"&gt;Backlink application system
&lt;/h2&gt;&lt;p&gt;The Demo links page includes a Microsoft Forms backlink application example.&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;Open the backlink application demo&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;Copy the backlink application form template&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The demo form is provided for reference. The Demo site does not retain the entries or use them for a formal backlink review. Microsoft provides the external form, so review its privacy information and avoid submitting real sensitive information.&lt;/p&gt;
&lt;p&gt;If the structure suits your site, use the copy link to create your own form, then replace the title, site details, privacy notice, notification rules, and review flow.&lt;/p&gt;
&lt;p&gt;The links-page buttons and embed URL live under &lt;code&gt;content/page/links/&lt;/code&gt;. The management-menu entry is configured in &lt;code&gt;data/management_links.yaml&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="bilingual-email-templates"&gt;Bilingual email templates
&lt;/h2&gt;&lt;p&gt;Five sanitized responsive HTML email files and a Waline notification subject file are available under &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;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reader reply in English&lt;/li&gt;
&lt;li&gt;Reader reply in Simplified Chinese&lt;/li&gt;
&lt;li&gt;Backlink approval in English&lt;/li&gt;
&lt;li&gt;Backlink approval in Simplified Chinese&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="waline-reply-notification"&gt;Waline reply notification
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;waline-comment-reply-bilingual.html&lt;/code&gt; is a ready-to-adapt bilingual reply-notification body for Waline. &lt;code&gt;waline-comment-reply-subject.txt&lt;/code&gt; provides the matching subject line. The template detects &lt;code&gt;/zh/&lt;/code&gt; in the post URL to select Simplified Chinese; other pages use English.&lt;/p&gt;
&lt;p&gt;It preserves the Waline variables for the original commenter, reply author, reply body, and post URL. Replace &lt;code&gt;[SITE NAME]&lt;/code&gt; and &lt;code&gt;[站点名称]&lt;/code&gt; with your own public site name, then paste the body and subject into your Waline mail configuration. Do not replace the &lt;code&gt;self&lt;/code&gt;, &lt;code&gt;parent&lt;/code&gt;, or &lt;code&gt;site&lt;/code&gt; variables.&lt;/p&gt;
&lt;p&gt;Personal names, private branding, and personal-site URLs have been removed and replaced with bracketed placeholders. Before sending, replace the site name, brand, URLs, recipient name, reply body, and signature.&lt;/p&gt;
&lt;p&gt;The HTML can be adapted for Waline mail workflows, manual replies, email automation, or backlink-review notifications. Providers use different HTML and variable conventions, so send a test message and check mobile layout, links, and dark-mode rendering before production use.&lt;/p&gt;
&lt;h2 id="pre-launch-checklist"&gt;Pre-launch checklist
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Disable &lt;code&gt;demoMode&lt;/code&gt; before testing real comment submission and notifications&lt;/li&gt;
&lt;li&gt;Copy the backlink form into your own Microsoft account&lt;/li&gt;
&lt;li&gt;Update the form privacy notice and review rules&lt;/li&gt;
&lt;li&gt;Replace every bracketed placeholder in the email templates&lt;/li&gt;
&lt;li&gt;Never commit access tokens, administrator URLs, or mail secrets to a public repository&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once these settings are complete, comments, backlink applications, and email notifications can run through your own services while preserving Liquid Stack&amp;rsquo;s interface and bilingual structure.&lt;/p&gt;</description></item><item><title>Designing a Bilingual Publishing Workflow</title><link>https://liquid-stack.pages.dev/p/designing-for-two-languages/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/p/designing-for-two-languages/</guid><description>&lt;img src="https://liquid-stack.pages.dev/img/posts/bilingual-publishing.png" alt="Featured image of post Designing a Bilingual Publishing Workflow" /&gt;&lt;p&gt;Keeping language variants in one page bundle makes translations easier to review, keeps shared images in one place, and lets Hugo expose language switching automatically.&lt;/p&gt;</description></item><item><title>Customize Liquid Stack Styles</title><link>https://liquid-stack.pages.dev/p/customizing-liquid-stack-styles/</link><pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/p/customizing-liquid-stack-styles/</guid><description>&lt;p&gt;This guide explains how to adjust Liquid Stack’s visual style without breaking upgrades or responsive layouts.&lt;/p&gt;
&lt;h2 id="start-with-configuration"&gt;Start with configuration
&lt;/h2&gt;&lt;p&gt;Begin with the title, sidebar subtitle, avatar, and color settings in &lt;code&gt;hugo.yaml&lt;/code&gt;. Prefer front matter and &lt;code&gt;data/&lt;/code&gt; files for content changes instead of editing theme source directly.&lt;/p&gt;
&lt;h2 id="add-scoped-styles"&gt;Add scoped styles
&lt;/h2&gt;&lt;p&gt;Site-level styles live in &lt;code&gt;assets/scss/custom.scss&lt;/code&gt;. Give new components clear class names and avoid broad element overrides, which can unintentionally affect posts, menus, and mobile layouts.&lt;/p&gt;
&lt;h2 id="preview-every-change"&gt;Preview every change
&lt;/h2&gt;&lt;p&gt;After changing color, spacing, or type, check the home page, posts, photo wall, launchpad, and dark mode. Finish with a full Hugo build to catch missing resources and template errors.&lt;/p&gt;</description></item><item><title>A Guide to Hugo Shortcodes</title><link>https://liquid-stack.pages.dev/p/using-shortcodes/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/p/using-shortcodes/</guid><description>&lt;p&gt;Shortcodes are Hugo’s way to insert reusable structures into Markdown, making them useful for callouts, embeds, and repeated layouts.&lt;/p&gt;
&lt;h2 id="start-with-existing-shortcodes"&gt;Start with existing Shortcodes
&lt;/h2&gt;&lt;p&gt;Browse &lt;code&gt;layouts/shortcodes/&lt;/code&gt; to see what the theme already provides. Reuse existing components before adding one-off HTML for a single article.&lt;/p&gt;
&lt;h2 id="when-to-use-one"&gt;When to use one
&lt;/h2&gt;&lt;p&gt;Use a Shortcode when content needs a fixed structure, recurs across posts, or must render as HTML. Keep ordinary paragraphs, lists, and code blocks in Markdown.&lt;/p&gt;
&lt;h2 id="test-the-result"&gt;Test the result
&lt;/h2&gt;&lt;p&gt;Preview the post on desktop and mobile after adding a Shortcode. If it uses an image, video, or external URL, check the resource path and its failure state too.&lt;/p&gt;</description></item><item><title>Start Writing: Markdown and Bilingual Posts</title><link>https://liquid-stack.pages.dev/p/writing-markdown-and-bilingual-posts/</link><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/p/writing-markdown-and-bilingual-posts/</guid><description>&lt;p&gt;Liquid Stack uses Hugo’s multilingual content structure: Chinese and English versions of one post live in the same directory.&lt;/p&gt;
&lt;h2 id="create-a-post-directory"&gt;Create a post directory
&lt;/h2&gt;&lt;p&gt;Create &lt;code&gt;index.md&lt;/code&gt; and &lt;code&gt;index.zh.md&lt;/code&gt; under &lt;code&gt;content/post/your-slug/&lt;/code&gt;. Give both files the same &lt;code&gt;slug&lt;/code&gt; so the language switcher recognises them as translations of one post.&lt;/p&gt;
&lt;h2 id="write-useful-front-matter"&gt;Write useful front matter
&lt;/h2&gt;&lt;p&gt;Every post should have a title, description, date, category, and tags. Localise the title and description for each audience rather than translating word by word; keep product names, commands, and code unchanged.&lt;/p&gt;
&lt;h2 id="keep-it-maintainable"&gt;Keep it maintainable
&lt;/h2&gt;&lt;p&gt;Store images in &lt;code&gt;static/img/your-slug/&lt;/code&gt; and use site-absolute paths such as &lt;code&gt;/img/your-slug/featured.png&lt;/code&gt;. Before release, check links, images, and categories in both languages.&lt;/p&gt;</description></item><item><title>Configure Waline Comments</title><link>https://liquid-stack.pages.dev/p/configure-waline-comments/</link><pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/p/configure-waline-comments/</guid><description>&lt;p&gt;Liquid Stack keeps the Waline comment component, while its example URL is not connected to a real backend.&lt;/p&gt;
&lt;h2 id="prepare-a-server"&gt;Prepare a server
&lt;/h2&gt;&lt;p&gt;Deploy your own service by following the official Waline documentation. When you have its URL, replace the sample value at &lt;code&gt;params.comments.waline.serverURL&lt;/code&gt; in &lt;code&gt;hugo.yaml&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="enable-or-disable-comments"&gt;Enable or disable comments
&lt;/h2&gt;&lt;p&gt;Set &lt;code&gt;params.comments.enabled&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; to enable comments. Individual posts can still use &lt;code&gt;comments: false&lt;/code&gt;, which is useful for privacy pages, documentation, or announcements.&lt;/p&gt;
&lt;h2 id="test-before-release"&gt;Test before release
&lt;/h2&gt;&lt;p&gt;Check that the comment box appears below a post locally, then test submission, moderation, and notifications after deployment. Keep server URLs, tokens, and administrator settings in your own environment rather than in a public theme example.&lt;/p&gt;</description></item><item><title>Quick Start: Deploy Liquid Stack</title><link>https://liquid-stack.pages.dev/p/quick-start-deploying-liquid-stack/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid>https://liquid-stack.pages.dev/p/quick-start-deploying-liquid-stack/</guid><description>&lt;p&gt;This guide shows how to use Liquid Stack as the starting point for your own site and publish a first version.&lt;/p&gt;
&lt;h2 id="copy-the-project"&gt;Copy the project
&lt;/h2&gt;&lt;p&gt;Use GitHub’s template flow or copy this repository. Then edit the title, subtitle, avatar path, and GitHub links in &lt;code&gt;hugo.yaml&lt;/code&gt;. Do not edit &lt;code&gt;public/&lt;/code&gt; or &lt;code&gt;resources/&lt;/code&gt;; Hugo regenerates them during a build.&lt;/p&gt;
&lt;h2 id="preview-locally"&gt;Preview locally
&lt;/h2&gt;&lt;p&gt;Install Hugo Extended and run &lt;code&gt;hugo server -D&lt;/code&gt; from the project root. Open the local address shown in the terminal. Markdown, configuration, and style changes refresh automatically.&lt;/p&gt;
&lt;h2 id="check-before-publishing"&gt;Check before publishing
&lt;/h2&gt;&lt;p&gt;Run &lt;code&gt;hugo --minify --cleanDestinationDir --ignoreCache&lt;/code&gt;. Confirm that the home page, posts, photo wall, launchpad, and admin page open correctly before pushing source files to your repository. The generated &lt;code&gt;public/&lt;/code&gt; directory can be published to Cloudflare Pages or another static host.&lt;/p&gt;
&lt;h2 id="next-step"&gt;Next step
&lt;/h2&gt;&lt;p&gt;Replace the sample values in &lt;code&gt;hugo.yaml&lt;/code&gt;, then write your first post. The launchpad, photo wall, links, and comment configuration are all kept for you to adapt.&lt;/p&gt;</description></item></channel></rss>