Home / Site Wizard / Personal Tech Blog / Content Site

Personal Tech Blog / Content Site

A static writing site: write in Markdown, generate pages automatically, ship RSS and third-party comments.

✍️ Scenario ⏱ 2.5 hours 5 steps Difficulty 0 / 5 steps done
■ Full text · Static content

Personal Tech Blog / Content Site: the complete 5-step walkthrough

This is the full static walkthrough (scripts and checklists included), generated by scripts/seo-prerender.js from data/en/steps.json so that search engines and visitors with JavaScript disabled can read it. The interactive wizard above has exactly the same content.

  1. Step 1 · Pick your writing setup (hand-written vs generator)

    Choose first: raw HTML / static generator (Hugo, VitePress) / hosted platform

    The core of a blog is writing, not fighting with tooling. Decide which of these you want:

    1. Hand-written HTML: one .html per post, you maintain the index page yourself. Zero dependencies, fully transparent — and painful once you have many posts.
    2. Static generator (recommended for beginners): write Markdown, let the tool produce HTML, indexes, archives and RSS. Popular options: Hugo (Go, fastest builds), VitePress (Vue ecosystem, ideal for docs-style blogs), 11ty (flexible).
    3. Hosted platform: Medium, dev.to, Hashnode. Easy, but the traffic and the readers aren't yours.

    My advice: if you want something that compounds, pick Hugo or VitePress — write .md locally and build the site with one command. Don't spend three days choosing tools. The tool doesn't matter; the writing does.

    Checklist
    • One writing setup chosen
    • The tool runs and produces an empty site
    • You know Markdown is your writing format
  2. Step 2 · Set up the local writing workflow

    Directory conventions + front matter + images + categories and tags

    Once the setup is chosen, build the skeleton:

    • Directory conventions: content/ holds your .md posts, public/ or dist/ is the build output (never edit it by hand), and site name / author / navigation live in the config.
    • Front matter: each .md starts with metadata — title, date, category, tags, cover image. The generator uses it to group posts automatically.
    • Images: put post images in static/img/ and reference them with relative paths. Don't hotlink an external image host — when that host dies, your posts break.
    • Categories and tags: few and broad categories (tech / life / notes), many and specific tags (nginx, docker, interviews).

    Write one "Hello World" post and run the whole pipeline once. That beats planning ten outlines.

    Checklist
    • There is a .md with front matter under content/
    • The build produced the matching HTML under public/
    • Images display correctly
  3. Step 3 · Auto-generate index, archive and tag pages

    One command builds lists, categories, tags and RSS

    The best part of a generator: configure once, get everything.

    Build command (Hugo example):
    hugo (for local preview use hugo server -D, it reloads as you save)

    It generates for you:

    • Home page post list, newest first
    • Category and tag pages, aggregated from front matter
    • Archive pages grouped by year and month
    • RSS: on by default, usually at /index.xml — that's your subscription feed

    If you hand-write instead, you still need an index page and an RSS file — generate the RSS XML with a script rather than typing it. The output is plain static files, so any static host will serve them.

    Checklist
    • The home page lists posts after building
    • /categories/ and /tags/ are reachable
    • The RSS file exists and is valid
  4. Step 4 · Add RSS + third-party comments

    Keep readers: RSS feed + backend-free comments (Giscus and friends)

    A blog isn't only writing — it's keeping people.

    RSS: the /index.xml you generated is the feed. Put an RSS icon linking to it and readers can subscribe in Feedly or Inoreader. To aggregate or convert feeds, self-host RSSHub.

    Comments (no backend of your own):

    • Giscus: backed by GitHub Discussions, free, ad-free, looks best; the repo must be public.
    • Disqus: quick to embed, but ad-supported, slow, and flaky in some regions.
    • Waline: self-hostable, ships with an admin panel.

    I'd use Giscus: fill in a few repo settings and you're done in minutes. Readers can talk to you, and you maintain no database.

    Checklist
    • The page shows an RSS entry point
    • Clicking it opens /index.xml
    • The comment box loads and can submit
  5. Step 5 · Deploy + SEO + distribution

    Ship it, enable HTTPS, get indexed, turn readers into an asset

    You've written locally — now put it online.

    Deploy: upload public/ to your server (control panel or plain Nginx), or push to GitHub Pages / Vercel. Vercel connects to the repo and rebuilds on every push; it's the least friction for beginners.

    SEO: give every post a meta description and a proper title; submit your sitemap to Google Search Console; add alt text to images.

    Distribution: a blog is a long-term asset. Link your other products at the end of posts (sparingly), and capture readers through RSS and email.

    Backup: your .md source files *are* the asset. Keep them in Git and push to GitHub — that's an automatic backup, and more reliable than tarballs.

    Checklist
    • The blog is reachable online
    • HTTPS shows no certificate warning
    • The sitemap has been submitted
    • Source files are under Git

More questions about Personal Tech Blog / Content Site

How many steps does Personal Tech Blog / Content Site take, and how long will it take?

5 steps, about 2.5 hours: 1) Pick your writing setup (hand-written vs generator); 2) Set up the local writing workflow; 3) Auto-generate index, archive and tag pages; 4) Add RSS + third-party comments; 5) Deploy + SEO + distribution. Every step ships with instructions, a copy-paste script and a checklist.

What is the first step for Personal Tech Blog / Content Site?

Pick your writing setup (hand-written vs generator) — Choose first: raw HTML / static generator (Hugo, VitePress) / hosted platform. Everything after it builds on this step.

How do I know I did Personal Tech Blog / Content Site right?

Deploy + SEO + distribution — Ship it, enable HTTPS, get indexed, turn readers into an asset. The checklist in that step is your acceptance test: tick every box before you call it live.