<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web Development | Dr. Yu-Ting Sun - Biophysicist &amp; Researcher</title><link>https://yutingsun.netlify.app/tags/web-development/</link><atom:link href="https://yutingsun.netlify.app/tags/web-development/index.xml" rel="self" type="application/rss+xml"/><description>Web Development</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 30 Oct 2025 00:00:00 +0000</lastBuildDate><image><url>https://yutingsun.netlify.app/media/icon_hu_982c5d63a71b2961.png</url><title>Web Development</title><link>https://yutingsun.netlify.app/tags/web-development/</link></image><item><title>Building Your Academic Website | Hugo Academic 建站指南</title><link>https://yutingsun.netlify.app/hugo-guide/</link><pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate><guid>https://yutingsun.netlify.app/hugo-guide/</guid><description>&lt;div class="language-selector"&gt;
&lt;p&gt;📖 &lt;strong&gt;Language / 語言&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
|
&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h1 id="english-version"&gt;English Version&lt;/h1&gt;
&lt;h2 id="building-your-academic-website-a-complete-guide"&gt;Building Your Academic Website: A Complete Guide&lt;/h2&gt;
&lt;h3 id="-about-this-guide"&gt;🎓 About This Guide&lt;/h3&gt;
&lt;p&gt;As a researcher seeking academic positions, I needed a professional website to showcase my research accomplishments. This guide documents my complete journey of building this website using Hugo Academic (Hugo Blox) with the assistance of Claude AI (Anthropic).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is a real story&lt;/strong&gt; - someone with limited website experience successfully building a professional academic website.&lt;/p&gt;
&lt;h3 id="book--why-this-guide"&gt;&amp;#x1f4d6; Why This Guide?&lt;/h3&gt;
&lt;p&gt;After spending considerable time exploring different approaches, I want to share:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Essential AI tips&lt;/strong&gt; - How to effectively use AI assistants and what to do when stuck&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key decisions that save time&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Common pitfalls to avoid&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practical solutions that work&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backup strategies that prevent data loss&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-ai-can-help-you-build-this"&gt;💡 AI Can Help You Build This&lt;/h3&gt;
&lt;p&gt;Modern AI assistants like Claude, ChatGPT, and others can help you solve virtually any technical problem you encounter.&lt;/p&gt;
&lt;p&gt;🔧 &lt;strong&gt;Pro Tip: When AI Gets Stuck&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you find the AI going in circles,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Open a new conversation window&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organize your problem clearly:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;What you&amp;rsquo;re trying to achieve&lt;/li&gt;
&lt;li&gt;What you&amp;rsquo;ve tried&lt;/li&gt;
&lt;li&gt;Error messages you&amp;rsquo;re seeing&lt;/li&gt;
&lt;li&gt;Links to previous conversations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Give the AI the big picture&lt;/strong&gt; - Let it approach the problem from a fresh, holistic perspective&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This &amp;ldquo;reset and reorganize&amp;rdquo; strategy often breaks through technical bottlenecks. &lt;strong&gt;It worked when I met persistent GitHub Actions deployment failures.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="table-of-contents"&gt;Table of Contents&lt;/h3&gt;
&lt;ol&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;li&gt;
⚠️⚠️⚠️&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="en-understanding"&gt;1. Understanding Hugo Academic&lt;/h3&gt;
&lt;p&gt;Hugo Academic (now Hugo Blox) is a static site generator specifically designed for academics and researchers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is a Static Site Generator?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Converts Markdown files → HTML websites&lt;/li&gt;
&lt;li&gt;No database needed&lt;/li&gt;
&lt;li&gt;Fast loading, easy hosting&lt;/li&gt;
&lt;li&gt;Perfect for academic portfolios&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Key Advantages:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ Professional academic design&lt;/li&gt;
&lt;li&gt;✅ Publication management&lt;/li&gt;
&lt;li&gt;✅ CV/Resume integration&lt;/li&gt;
&lt;li&gt;✅ Research project showcase&lt;/li&gt;
&lt;li&gt;✅ Active community support&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="en-platform"&gt;2. Deployment Platform: Why Netlify&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;The Critical Decision&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Setup Time&lt;/th&gt;
&lt;th&gt;Difficulty&lt;/th&gt;
&lt;th&gt;Recommendation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Netlify&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10 minutes&lt;/td&gt;
&lt;td&gt;⭐ Easy&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Pages&lt;/td&gt;
&lt;td&gt;2-8 hours&lt;/td&gt;
&lt;td&gt;⭐⭐⭐ Hard&lt;/td&gt;
&lt;td&gt;⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;My Experience:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Initial attempt: GitHub Pages
&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;Encountered TailwindCSS compilation errors
&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;Spent 6+ hours debugging
&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;Switched to Netlify
&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;Deployed successfully in 10 minutes ✅
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Understanding the Workflow:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Both approaches require GitHub for code hosting, but differ in deployment:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Your Code (Local)
&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;GitHub Repository (Required for both)
&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&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;GitHub Pages OR Netlify
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(Direct deploy) (Better build system)
&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;Your Website Your Website
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;yourname.github.io yourname.netlify.app
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Why Netlify Works Better:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Same GitHub account needed&lt;/strong&gt; - Your code still lives on GitHub&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Official Hugo Blox recommendation&lt;/strong&gt; - Tested and supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automatic dependency handling&lt;/strong&gt; - Solves TailwindCSS issues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zero configuration needed&lt;/strong&gt; - Just connect and deploy&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Free tier sufficient&lt;/strong&gt; - Perfect for academic sites&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuous deployment&lt;/strong&gt; - Auto-updates when you push to GitHub&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Key Point:&lt;/strong&gt; You&amp;rsquo;ll still use GitHub to store and manage your code. Netlify simply reads from your GitHub repository and builds your website with better tools.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="en-setup"&gt;3. Step-by-Step Setup&lt;/h3&gt;
&lt;h4 id="phase-1-prerequisites"&gt;Phase 1: Prerequisites&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Install Hugo (macOS with Homebrew)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install hugo
&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="c1"&gt;# Verify installation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo version &lt;span class="c1"&gt;# Should be &amp;gt;= 0.148.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="phase-2-local-setup"&gt;Phase 2: Local Setup&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Clone the official template&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/HugoBlox/theme-academic-cv.git my-academic-site
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; my-academic-site
&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="c1"&gt;# Remove template git history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -rf .git
&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="c1"&gt;# Initialize your own repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch -M main
&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="c1"&gt;# Connect to your GitHub repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git remote add origin https://github.com/YourUsername/YourUsername.github.io.git
&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="c1"&gt;# First commit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Initial commit: Hugo Academic site&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="phase-3-basic-configuration"&gt;Phase 3: Basic Configuration&lt;/h4&gt;
&lt;p&gt;Edit &lt;code&gt;config/_default/hugo.yaml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&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;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Your Name, PhD&amp;#39;&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;baseURL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://yourname.netlify.app/&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Edit &lt;code&gt;content/authors/admin/_index.md&lt;/code&gt; with your information.&lt;/p&gt;
&lt;h4 id="phase-4-deploy-to-netlify"&gt;Phase 4: Deploy to Netlify&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Sign up at
using GitHub&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Import your repository&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Configure build settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Branch&lt;/strong&gt;: &lt;code&gt;main&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build command&lt;/strong&gt;: &lt;code&gt;hugo --gc --minify&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publish directory&lt;/strong&gt;: &lt;code&gt;public&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Add environment variables:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;HUGO_VERSION = 0.152.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NODE_VERSION = 20
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Deploy! Your site will be live at &lt;code&gt;https://random-name.netlify.app&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; Customize your URL in Site Settings → Domain Management&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="en-issues"&gt;4. Common Issues &amp;amp; Solutions&lt;/h3&gt;
&lt;h4 id="issue-1-tailwindcss-error"&gt;Issue 1: TailwindCSS Error&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Error Message:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Error: TAILWINDCSS: failed to transform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;binary with name &amp;#34;tailwindcss&amp;#34; not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# If error occurs locally, simply ignore it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Push to Netlify - it will work there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&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="c1"&gt;# Or install dependencies locally&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="issue-2-content-not-updating"&gt;Issue 2: Content Not Updating&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Cause:&lt;/strong&gt; Changes not pushed to GitHub&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Update content&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Wait 2-3 minutes for Netlify to redeploy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="issue-3-lost-local-files"&gt;Issue 3: Lost Local Files&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;This is preventable!&lt;/strong&gt; See the next section on backup strategy.&lt;/p&gt;
&lt;h4 id="issue-4-content-folder-ignored-by-git"&gt;Issue 4: Content Folder Ignored by Git&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Local &lt;code&gt;hugo server&lt;/code&gt; displays pages correctly ✅&lt;/li&gt;
&lt;li&gt;Netlify deployment shows &amp;ldquo;Page Not Found&amp;rdquo; ❌&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git status&lt;/code&gt; shows &amp;ldquo;nothing to commit, working tree clean&amp;rdquo;&lt;/li&gt;
&lt;li&gt;You know the files exist locally&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Root Cause:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Your content folder name matches a pattern in &lt;code&gt;.gitignore&lt;/code&gt;, causing Git to ignore it entirely.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# .gitignore contains&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;resources/
&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="c1"&gt;# Your content structure&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;content/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── resources/ &lt;span class="c1"&gt;# ❌ Accidentally ignored!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── hugo-guide/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── _index.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Diagnosis:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check if files are being ignored&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git status --ignored
&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="c1"&gt;# Check specific file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git check-ignore -v content/resources/_index.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Output: .gitignore:10:resources/ content/resources/_index.md&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Solution Options:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Option 1: Rename the folder (Simplest)&lt;/strong&gt; ✅ Recommended&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Rename to avoid the pattern&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git mv content/resources content/resource
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git mv content/resources content/guides
&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="c1"&gt;# Update your menus.yaml accordingly&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;url: &lt;span class="s1"&gt;&amp;#39;/resource/hugo-guide/&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# Updated path&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="c1"&gt;# Commit and push&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Rename folder to avoid .gitignore conflict&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Option 2: Make .gitignore more specific&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Edit .gitignore&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Change: resources/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# To: /resources/ # Only ignores root-level resources/&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="c1"&gt;# Force add the previously ignored files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add -f content/resources/
&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="c1"&gt;# Commit and push&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Fix: Update .gitignore and add content/resources&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Option 3: Add exception to .gitignore&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add to .gitignore&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;resources/ &lt;span class="c1"&gt;# Ignore Hugo&amp;#39;s resources&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;!content/resources/ &lt;span class="c1"&gt;# But allow content/resources&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="c1"&gt;# Force add&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add -f content/resources/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Add content/resources with .gitignore exception&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Prevention Tips:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Check common .gitignore patterns before naming folders:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid: &lt;code&gt;resources/&lt;/code&gt;, &lt;code&gt;public/&lt;/code&gt;, &lt;code&gt;static/&lt;/code&gt;, &lt;code&gt;node_modules/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Safe: &lt;code&gt;guides/&lt;/code&gt;, &lt;code&gt;tutorials/&lt;/code&gt;, &lt;code&gt;docs/&lt;/code&gt;, &lt;code&gt;posts/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Verify files are tracked:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# After creating new content folders&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Should show new files, not empty&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use descriptive, unique names:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;✅ content/research-guides/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;✅ content/tutorials/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;✅ content/documentation/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;❌ content/resources/ (conflicts with Hugo&amp;#39;s resources/)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="en-backup"&gt;5. ⚠️ CRITICAL: Backup Strategy&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;This section might save you hours of frustration.&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="the-problem"&gt;The Problem&lt;/h4&gt;
&lt;p&gt;During development, you might accidentally:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Overwrite files with &lt;code&gt;git reset --hard&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Lose content during merge conflicts&lt;/li&gt;
&lt;li&gt;Delete files unintentionally&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Without backups, your content is gone.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="the-solution-multiple-backup-layers"&gt;The Solution: Multiple Backup Layers&lt;/h4&gt;
&lt;h5 id="layer-1-local-folder-backups-"&gt;&lt;strong&gt;Layer 1: Local Folder Backups&lt;/strong&gt; 💾&lt;/h5&gt;
&lt;p&gt;&lt;strong&gt;THIS IS THE MOST IMPORTANT&lt;/strong&gt;❗&lt;/p&gt;
&lt;p&gt;After every significant editing session, backup your entire project folder:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Basic backup command (recommended)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r my-academic-site my-academic-site-backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&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="c1"&gt;# If you get &amp;#34;Permission denied&amp;#34; error, use rsync:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -av --exclude&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;.git&amp;#39;&lt;/span&gt; my-academic-site/ my-academic-site-backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&gt;)&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Why this matters:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Most direct and reliable backup method&lt;/li&gt;
&lt;li&gt;Complete snapshot independent of Git&lt;/li&gt;
&lt;li&gt;Takes 10 seconds, can save hours of work&lt;/li&gt;
&lt;li&gt;Easy to browse and restore&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Recommended Backup Schedule:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ After each major content addition&lt;/li&gt;
&lt;li&gt;✅ Before any risky Git operations&lt;/li&gt;
&lt;li&gt;✅ At the end of each editing session&lt;/li&gt;
&lt;li&gt;✅ Before updating Hugo or dependencies&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Where to store backups:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create a dedicated backup folder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p ~/Desktop/website-backups
&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="c1"&gt;# Backup there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r my-academic-site ~/Desktop/website-backups/backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h5 id="layer-2-git-commits-"&gt;&lt;strong&gt;Layer 2: Git Commits&lt;/strong&gt; 📦&lt;/h5&gt;
&lt;p&gt;Commit frequently:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# After editing 1-3 files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Update: specific description&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Version history tracking&lt;/li&gt;
&lt;li&gt;Can roll back to any point&lt;/li&gt;
&lt;li&gt;Automatically synced to GitHub&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h5 id="layer-3-backup-branches-"&gt;&lt;strong&gt;Layer 3: Backup Branches&lt;/strong&gt; 🌿&lt;/h5&gt;
&lt;p&gt;Create periodic backup branches before major changes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Weekly backup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch backup-weekly-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin backup-weekly-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span class="k"&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="c1"&gt;# Before major redesign&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch backup-before-redesign
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin backup-before-redesign
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h5 id="layer-4-ai-conversation-archives-"&gt;&lt;strong&gt;Layer 4: AI Conversation Archives&lt;/strong&gt; 🤖&lt;/h5&gt;
&lt;p&gt;&lt;strong&gt;When everything else fails, AI conversations can be a lifesaver.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re using AI assistance extensively:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Create milestone snapshots:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you complete a major phase (e.g., &amp;ldquo;Initial setup complete&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;Start a new conversation with: &amp;ldquo;This is a backup conversation for [date]&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Paste your complete current working version&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store outside your project folder&lt;/strong&gt; to avoid accidental deletion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why this works:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI chat history persists even if local files are lost&lt;/li&gt;
&lt;li&gt;Can reconstruct your project from conversation history&lt;/li&gt;
&lt;li&gt;Documents your decision-making process&lt;/li&gt;
&lt;li&gt;Useful reference when similar issues arise&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Don&amp;rsquo;t save every small code snippet. Instead, create comprehensive milestone backups when you reach stable states.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="backup-workflow-summary"&gt;&lt;strong&gt;Backup Workflow Summary&lt;/strong&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# === Daily Workflow ===&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="c1"&gt;# 1. Start editing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/my-academic-site
&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="c1"&gt;# 2. Make changes to content&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="c1"&gt;# 3. Test locally (optional)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo server -D
&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="c1"&gt;# 4. Local backup (PRIORITY #1 - DO NOT SKIP!)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r ~/my-academic-site ~/Desktop/website-backups/backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&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="c1"&gt;# 5. Git commit (PRIORITY #2)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Update: what you changed&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&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="c1"&gt;# 6. Verify deployment on Netlify&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="c1"&gt;# 7. (Optional) Create backup branch before major changes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch backup-before-major-change
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin backup-before-major-change
&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="c1"&gt;# 8. (Milestone) Archive complete version in AI conversation if needed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Remember:&lt;/strong&gt; Backups are cheap, recreating lost work is expensive. Local backups are your first and most reliable safety net.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="en-lessons"&gt;6. Key Lessons Learned&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1. Follow Official Recommendations&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use Netlify (not GitHub Pages)&lt;/li&gt;
&lt;li&gt;Use official templates&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t over-customize initially&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. Commit Frequently&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# After editing 1-3 files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add . &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git commit -m &lt;span class="s2"&gt;&amp;#34;description&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. AI is Your Co-Pilot&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Don&amp;rsquo;t hesitate to ask for help&lt;/li&gt;
&lt;li&gt;Organize your questions clearly&lt;/li&gt;
&lt;li&gt;Start fresh conversations when stuck&lt;/li&gt;
&lt;li&gt;Keep chat histories as documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. Multiple Backups Are Essential&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Local folder copies (use &lt;code&gt;cp&lt;/code&gt; or &lt;code&gt;rsync&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Git commits&lt;/li&gt;
&lt;li&gt;Backup branches&lt;/li&gt;
&lt;li&gt;AI conversation history&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5. Content &amp;gt; Technology&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;80% time: Quality content&lt;/li&gt;
&lt;li&gt;20% time: Website styling&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;6. Incremental Progress&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Small steps&lt;/li&gt;
&lt;li&gt;Continuous validation&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t try to do everything at once&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="en-checklist"&gt;7. Success Checklist&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Initial Setup:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Hugo and Git installed&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; GitHub repository created&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Template cloned and configured&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; First backup created&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Deployed to Netlify&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Custom URL set&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Content Development:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Personal profile updated&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Research content added&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Publications listed&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; CV/Resume page created&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; All links tested&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Regular backups maintained&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Maintenance:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Backup strategy established&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; AI conversation history organized&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Mobile version tested&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Peer feedback collected&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="conclusion"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Building an academic website is an investment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;💼 Showcase your research&lt;/li&gt;
&lt;li&gt;🌐 Establish online presence&lt;/li&gt;
&lt;li&gt;📚 Organize your work&lt;/li&gt;
&lt;li&gt;🤝 Network with colleagues&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Key Takeaways:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;AI tools make this accessible&lt;/strong&gt; - You don&amp;rsquo;t need to be a developer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Start fresh when stuck&lt;/strong&gt; - New AI conversations offer new perspectives&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backup religiously&lt;/strong&gt; - Use &lt;code&gt;cp -r&lt;/code&gt; or &lt;code&gt;rsync&lt;/code&gt; after every session&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organize your AI chats&lt;/strong&gt; - They&amp;rsquo;re documentation and backups&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Done &amp;gt; Perfect&lt;/strong&gt; - Launch and iterate&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Good luck! 🚀&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="about-this-guide"&gt;About This Guide&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Yu-Ting Sun, PhD&lt;br&gt;
&lt;strong&gt;Built with:&lt;/strong&gt; Claude AI (Anthropic)&lt;br&gt;
&lt;strong&gt;Last Updated:&lt;/strong&gt; October 30, 2025&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Source Code:&lt;/strong&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="related-resources"&gt;Related Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hugo Documentation:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugo Blox Docs:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Netlify Docs:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;div style="margin: 4rem 0; border-top: 3px solid #e5e7eb;"&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;h1 id="chinese-version"&gt;中文版本&lt;/h1&gt;
&lt;h2 id="hugo-academic-建站完整指南"&gt;Hugo Academic 建站完整指南&lt;/h2&gt;
&lt;h3 id="-關於本指南"&gt;🎓 關於本指南&lt;/h3&gt;
&lt;p&gt;作為求職中的研究者，我需要一個專業網站來展示研究成果。本指南記錄了我使用 Hugo Academic (Hugo Blox) 並在 Claude AI (Anthropic) 協助下建立本網站的完整歷程。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;這是本人的故事&lt;/strong&gt; &amp;ndash; 一個編程經驗有限的人成功建立專業學術網站。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="-為什麼寫這份指南"&gt;📖 為什麼寫這份指南？&lt;/h3&gt;
&lt;p&gt;在探索了多種方案後，我想分享：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AI 使用要點&lt;/strong&gt; - 如何有效使用 AI 助手以及遇到瓶頸時的應對方法&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;節省時間的關鍵決策&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;常見的坑和避免踩坑的方法&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;真正有效的解決方案&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;防止資料丟失的備份策略&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="-ai-可以幫你建站"&gt;💡 AI 可以幫你建站&lt;/h3&gt;
&lt;p&gt;現代 AI 助手如 Claude、ChatGPT 等，可以幫你解決幾乎任何技術問題。&lt;/p&gt;
&lt;p&gt;🔧 &lt;strong&gt;進階技巧：當 AI 鬼打牆時&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;新開一個對話窗口&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;有條理地整理你的問題：&lt;/strong&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;/li&gt;
&lt;li&gt;&lt;strong&gt;給 AI 完整的大局觀&lt;/strong&gt; - 讓它從一個全新的、更高的維度來解決問題&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這個策略通常能突破技術瓶頸。&lt;strong&gt;當我遇到持續的 GitHub Actions 部署失敗時，這個方法起了作用。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="目錄"&gt;目錄&lt;/h3&gt;
&lt;ol&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;li&gt;
⚠️⚠️⚠️&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="zh-understanding"&gt;1. 理解 Hugo Academic&lt;/h3&gt;
&lt;p&gt;Hugo Academic（現稱 Hugo Blox）是專為學術研究者設計的靜態網站生成器。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;什麼是靜態網站生成器？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;將 Markdown 文件 → 轉換為 HTML 網站&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;strong&gt;核心優勢：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 專業的學術設計&lt;/li&gt;
&lt;li&gt;✅ 論文管理功能&lt;/li&gt;
&lt;li&gt;✅ CV/簡歷整合&lt;/li&gt;
&lt;li&gt;✅ 研究專案展示&lt;/li&gt;
&lt;li&gt;✅ 活躍的社群支持&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="zh-platform"&gt;2. 部署平台：為何選 Netlify&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;最關鍵的決策&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;平台&lt;/th&gt;
&lt;th&gt;設置時間&lt;/th&gt;
&lt;th&gt;難度&lt;/th&gt;
&lt;th&gt;推薦度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Netlify&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10分鐘&lt;/td&gt;
&lt;td&gt;⭐ 簡單&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Pages&lt;/td&gt;
&lt;td&gt;2-8小時&lt;/td&gt;
&lt;td&gt;⭐⭐⭐ 困難&lt;/td&gt;
&lt;td&gt;⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;我的經驗：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;初次嘗試：GitHub Pages
&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;遇到 TailwindCSS 編譯錯誤
&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;花費 6+ 小時調試
&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;改用 Netlify
&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;10 分鐘成功部署 ✅
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;理解工作流程：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;兩種方式都需要 GitHub 來存放程式碼，但部署方式不同：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;GitHub Repository（兩種方式都需要）
&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&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;GitHub Pages 或 Netlify
&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&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;yourname.github.io yourname.netlify.app
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Netlify 的優勢：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;同樣需要 GitHub 帳號&lt;/strong&gt; - 你的程式碼仍然存放在 GitHub&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugo Blox 官方推薦&lt;/strong&gt; - 經過測試和支援&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自動處理依賴&lt;/strong&gt; - 解決 TailwindCSS 問題&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;零配置需求&lt;/strong&gt; - 只需連接即可部署&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;免費方案足夠&lt;/strong&gt; - 非常適合學術網站&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;持續部署&lt;/strong&gt; - 推送到 GitHub 時自動更新&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;重點：&lt;/strong&gt; 你仍然使用 GitHub 來存放和管理程式碼。Netlify 只是從你的 GitHub repository 讀取資料，並用更好的工具建置你的網站。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="zh-setup"&gt;3. 完整建站步驟&lt;/h3&gt;
&lt;h4 id="階段-1準備工作"&gt;階段 1：準備工作&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安裝 Hugo（macOS + Homebrew）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install hugo
&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="c1"&gt;# 驗證安裝&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo version &lt;span class="c1"&gt;# 應該 &amp;gt;= 0.148.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="階段-2本地設置"&gt;階段 2：本地設置&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Clone 官方模板&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/HugoBlox/theme-academic-cv.git my-academic-site
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; my-academic-site
&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="c1"&gt;# 移除模板的 git 歷史&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -rf .git
&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="c1"&gt;# 初始化你自己的 repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch -M main
&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="c1"&gt;# 連接到 GitHub repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git remote add origin https://github.com/YourUsername/YourUsername.github.io.git
&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="c1"&gt;# 首次提交&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Initial commit: Hugo Academic site&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="階段-3基本配置"&gt;階段 3：基本配置&lt;/h4&gt;
&lt;p&gt;編輯 &lt;code&gt;config/_default/hugo.yaml&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&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;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;你的名字, PhD&amp;#39;&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;baseURL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://yourname.netlify.app/&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;編輯 &lt;code&gt;content/authors/admin/_index.md&lt;/code&gt; 填入你的資訊。&lt;/p&gt;
&lt;h4 id="階段-4部署到-netlify"&gt;階段 4：部署到 Netlify&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;步驟 1：&lt;/strong&gt; 在
用 GitHub 註冊&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;步驟 2：&lt;/strong&gt; 導入你的 repository&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;步驟 3：&lt;/strong&gt; 配置構建設定：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Branch&lt;/strong&gt;: &lt;code&gt;main&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build command&lt;/strong&gt;: &lt;code&gt;hugo --gc --minify&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publish directory&lt;/strong&gt;: &lt;code&gt;public&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;步驟 4：&lt;/strong&gt; 添加環境變數：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;HUGO_VERSION = 0.152.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NODE_VERSION = 20
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;步驟 5：&lt;/strong&gt; 部署！網站會上線到 &lt;code&gt;https://random-name.netlify.app&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;步驟 6：&lt;/strong&gt; 在 Site Settings → Domain Management 自訂網址&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="zh-issues"&gt;4. 常見問題與解決&lt;/h3&gt;
&lt;h4 id="問題-1tailwindcss-錯誤"&gt;問題 1：TailwindCSS 錯誤&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;錯誤訊息：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Error: TAILWINDCSS: failed to transform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;binary with name &amp;#34;tailwindcss&amp;#34; not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;解決方案：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 如果本地出現此錯誤，直接忽略&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 推送到 Netlify，那邊會正常運行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&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="c1"&gt;# 或者本地安裝依賴&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="問題-2內容沒有更新"&gt;問題 2：內容沒有更新&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;原因：&lt;/strong&gt; 變更沒有推送到 GitHub&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解決方案：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;更新內容&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 等 2-3 分鐘讓 Netlify 重新部署&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="問題-3本地文件丟失"&gt;問題 3：本地文件丟失&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;這是可以預防的！&lt;/strong&gt; 請參考下一節的備份策略。&lt;/p&gt;
&lt;h4 id="問題-4內容資料夾被-git-忽略"&gt;問題 4：內容資料夾被 Git 忽略&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;症狀：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地 &lt;code&gt;hugo server&lt;/code&gt; 正常顯示頁面 ✅&lt;/li&gt;
&lt;li&gt;Netlify 部署後顯示 &amp;ldquo;Page Not Found&amp;rdquo; ❌&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git status&lt;/code&gt; 顯示 &amp;ldquo;nothing to commit, working tree clean&amp;rdquo;&lt;/li&gt;
&lt;li&gt;你確定檔案存在於本地&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;根本原因：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;你的內容資料夾名稱符合 &lt;code&gt;.gitignore&lt;/code&gt; 中的規則，導致 Git 完全忽略它。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;範例：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# .gitignore 包含&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;resources/
&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="c1"&gt;# 你的內容結構&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;content/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── resources/ &lt;span class="c1"&gt;# ❌ 被意外忽略了！&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── hugo-guide/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── _index.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;診斷方法：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 檢查檔案是否被忽略&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git status --ignored
&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="c1"&gt;# 檢查特定檔案&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git check-ignore -v content/resources/_index.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 輸出：.gitignore:10:resources/ content/resources/_index.md&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;解決方案：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方案 1：重新命名資料夾（最簡單）&lt;/strong&gt; ✅ 推薦&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 重新命名以避開規則&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git mv content/resources content/resource
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git mv content/resources content/guides
&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="c1"&gt;# 相應更新 menus.yaml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;url: &lt;span class="s1"&gt;&amp;#39;/resource/hugo-guide/&amp;#39;&lt;/span&gt; &lt;span class="c1"&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="c1"&gt;# 提交並推送&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;重新命名資料夾以避免 .gitignore 衝突&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;方案 2：讓 .gitignore 更精確&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 編輯 .gitignore&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 將：resources/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 改為：/resources/ # 只忽略根目錄的 resources/&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="c1"&gt;# 強制添加之前被忽略的檔案&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add -f content/resources/
&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="c1"&gt;# 提交並推送&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;修正：更新 .gitignore 並添加 content/resources&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;方案 3：在 .gitignore 中添加例外&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 在 .gitignore 中添加&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;resources/ &lt;span class="c1"&gt;# 忽略 Hugo 的 resources&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;!content/resources/ &lt;span class="c1"&gt;# 但允許 content/resources&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="c1"&gt;# 強制添加&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add -f content/resources/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;添加 content/resources 與 .gitignore 例外規則&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;預防技巧：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;命名資料夾前檢查常見的 .gitignore 規則：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;避免：&lt;code&gt;resources/&lt;/code&gt;、&lt;code&gt;public/&lt;/code&gt;、&lt;code&gt;static/&lt;/code&gt;、&lt;code&gt;node_modules/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;安全：&lt;code&gt;guides/&lt;/code&gt;、&lt;code&gt;tutorials/&lt;/code&gt;、&lt;code&gt;docs/&lt;/code&gt;、&lt;code&gt;posts/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;驗證檔案被追蹤：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 創建新內容資料夾後&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 應該顯示新檔案，而不是空的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;使用描述性、獨特的名稱：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;✅ content/research-guides/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;✅ content/tutorials/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;✅ content/documentation/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;❌ content/resources/ (與 Hugo 的 resources/ 衝突)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="zh-backup"&gt;5. ⚠️ 關鍵：備份策略&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;這一節可能會為你節省數小時的挫折感。&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="問題所在"&gt;問題所在&lt;/h4&gt;
&lt;p&gt;在開發過程中，你可能會不小心：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 &lt;code&gt;git reset --hard&lt;/code&gt; 覆蓋文件&lt;/li&gt;
&lt;li&gt;在合併衝突中丟失內容&lt;/li&gt;
&lt;li&gt;不小心刪除文件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;沒有備份，你的內容就沒了。&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="解決方案多層備份"&gt;解決方案：多層備份&lt;/h4&gt;
&lt;h5 id="第一層本地資料夾備份-"&gt;&lt;strong&gt;第一層：本地資料夾備份&lt;/strong&gt; 💾&lt;/h5&gt;
&lt;p&gt;&lt;strong&gt;這個很重要&lt;/strong&gt;❗&lt;strong&gt;這個很重要&lt;/strong&gt;❗&lt;strong&gt;這個很重要&lt;/strong&gt;❗&lt;/p&gt;
&lt;p&gt;每次重要的編輯完成後，備份你的整個專案資料夾：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 基本備份指令（推薦）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r my-academic-site my-academic-site-backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&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="c1"&gt;# 如果遇到「Permission denied」錯誤，使用 rsync：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -av --exclude&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;.git&amp;#39;&lt;/span&gt; my-academic-site/ my-academic-site-backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&gt;)&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;為什麼這很重要：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最直接、最可靠的備份方法&lt;/li&gt;
&lt;li&gt;完整的快照，不依賴 Git&lt;/li&gt;
&lt;li&gt;只需要 10 秒，能節省數小時工作&lt;/li&gt;
&lt;li&gt;容易瀏覽和還原&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;建議的備份時間表：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 每次重大內容新增後&lt;/li&gt;
&lt;li&gt;✅ 任何危險的 Git 操作前&lt;/li&gt;
&lt;li&gt;✅ 每次編輯結束時&lt;/li&gt;
&lt;li&gt;✅ 更新 Hugo 或branch之前&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;備份儲存位置：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 創建專門的備份資料夾&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p ~/Desktop/website-backups
&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="c1"&gt;# 備份到那裡&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r my-academic-site ~/Desktop/website-backups/backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h5 id="第二層git-提交-"&gt;&lt;strong&gt;第二層：Git 提交&lt;/strong&gt; 📦&lt;/h5&gt;
&lt;p&gt;頻繁提交：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 編輯 1-3 個文件後&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;更新：具體描述&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;好處：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;版本歷史追蹤&lt;/li&gt;
&lt;li&gt;可以回滾到任何時間點&lt;/li&gt;
&lt;li&gt;自動同步到 GitHub&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h5 id="第三層備份分支-"&gt;&lt;strong&gt;第三層：備份分支&lt;/strong&gt; 🌿&lt;/h5&gt;
&lt;p&gt;重大變更前創建定期備份分支：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 每週備份&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch backup-weekly-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin backup-weekly-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span class="k"&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="c1"&gt;# 重大改版前&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch backup-before-redesign
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin backup-before-redesign
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h5 id="第四層ai-對話存檔-"&gt;&lt;strong&gt;第四層：AI 對話存檔&lt;/strong&gt; 🤖&lt;/h5&gt;
&lt;p&gt;&lt;strong&gt;當其他方法都失效時，AI 對話可以是救命稻草。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果你大量使用 AI 協助：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;創建里程碑快照：&lt;/strong&gt;&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;strong&gt;存放在專案資料夾外&lt;/strong&gt; 以避免誤刪&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;為什麼有效：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;即使本地文件丟失，AI 聊天記錄仍然存在&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;strong&gt;進階技巧：&lt;/strong&gt; 不要保存每個小程式碼片段。相反地，在達到穩定狀態時創建完整的里程碑備份。&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="備份工作流程總結"&gt;&lt;strong&gt;備份工作流程總結&lt;/strong&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&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="c1"&gt;# 1. 開始編輯&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/my-academic-site
&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="c1"&gt;# 2. 修改內容&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="c1"&gt;# 3. 本地測試（可選）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo server -D
&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="c1"&gt;# 4. 本地備份（優先級 #1 - 千萬不要跳過！）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r ~/my-academic-site ~/Desktop/website-backups/backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M&lt;span class="k"&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="c1"&gt;# 5. Git 提交（優先級 #2）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;更新：你改了什麼&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin main
&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="c1"&gt;# 6. 在 Netlify 上驗證部署&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="c1"&gt;# 7.（可選）重大變更前創建備份分支&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch backup-before-major-change
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push origin backup-before-major-change
&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="c1"&gt;# 8.（里程碑）必要時在 AI 對話中存檔完整版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;記住：&lt;/strong&gt; 備份很便宜，重建丟失的工作很昂貴。本地備份是你的第一道也是最可靠的安全網。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="zh-lessons"&gt;6. 核心經驗教訓&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1. 跟隨官方推薦&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 Netlify（不是 GitHub Pages）&lt;/li&gt;
&lt;li&gt;使用官方模板&lt;/li&gt;
&lt;li&gt;初期不要過度客製化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. 頻繁提交&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 編輯 1-3 個文件後&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add . &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git commit -m &lt;span class="s2"&gt;&amp;#34;描述&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. AI 是你的副駕駛&lt;/strong&gt;&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;p&gt;&lt;strong&gt;4. 多重備份是必須的&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地資料夾副本（使用 &lt;code&gt;cp&lt;/code&gt; 或 &lt;code&gt;rsync&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;Git 提交&lt;/li&gt;
&lt;li&gt;備份分支&lt;/li&gt;
&lt;li&gt;AI 對話歷史&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5. 內容 &amp;gt; 技術&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;80% 時間：優質內容&lt;/li&gt;
&lt;li&gt;20% 時間：網站樣式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;6. 小步快跑&lt;/strong&gt;&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;/ul&gt;
&lt;hr&gt;
&lt;h3 id="zh-checklist"&gt;7. 成功檢查清單&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;初始設置：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Hugo 和 Git 已安裝&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; GitHub repository 已創建&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 模板已 clone 並配置&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 已創建第一個備份&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 已部署到 Netlify&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 已設置自訂網址&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;內容開發：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 個人資料已更新&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 研究內容已添加&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 論文列表已完成&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; CV/簡歷頁面已創建&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 所有連結已測試&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 保持定期備份&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;維護：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 備份策略已建立&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; AI 對話歷史已整理&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 手機版已測試&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 已收集同儕反饋&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="結語"&gt;結語&lt;/h3&gt;
&lt;p&gt;建立學術網站是一項投資：&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;p&gt;&lt;strong&gt;核心要點：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;AI 工具讓這變得可及&lt;/strong&gt; - 你不需要是開發者&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;卡住時重新開始&lt;/strong&gt; - 新的 AI 對話提供新視角&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;虔誠地備份&lt;/strong&gt; - 每次編輯後使用 &lt;code&gt;cp -r&lt;/code&gt; 或 &lt;code&gt;rsync&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;整理你的 AI 聊天&lt;/strong&gt; - 它們是文檔也是備份&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;完成 &amp;gt; 完美&lt;/strong&gt; - 先上線，再迭代&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;祝建站順利！🚀&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="關於本指南"&gt;關於本指南&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;作者：&lt;/strong&gt; 孫玉婷博士&lt;br&gt;
&lt;strong&gt;協助工具：&lt;/strong&gt; Claude AI (Anthropic)&lt;br&gt;
&lt;strong&gt;最後更新：&lt;/strong&gt; 2025年10月30日&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;網站原始碼：&lt;/strong&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="相關資源"&gt;相關資源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hugo 文檔：&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugo Blox 文檔：&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Netlify 文檔：&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>