Want to Contribute? Read This First
Three Steps
1. Pick an Unclaimed URL and Template
Pick an unused topic from the site archive. There are 8 templates (see below):
| Template | Use case | Skeleton |
|---|---|---|
| A | Step-by-step tutorial | TL;DR → Prereqs → Steps 1..N → Verify → FAQ |
| B | Problem–cause–solution troubleshooting | Symptoms → 5-min localization → Common causes → Fallback |
| C | What–why–how concept | Definition → Why → Minimal example → Advanced |
| D | A vs B comparison | TL;DR decision table → Scenario A → Scenario B → Boundaries |
| E | Top N list | Intro → Top 1..N → 3 most-often-missed items |
| F | Cheat sheet | Quick-lookup table → Full reference → Gotchas |
| G | Roadmap | Starting assessment → Stages 1..4 → Outputs → Pitfalls |
| H | Case study | Timeline → Symptoms → Localization → Root cause → Fix → Hardening |
Rotation rule: no 3 consecutive posts on the same template.
2. Run the Dedup SOP
See Dedup SOP below.
3. Copy Frontmatter Skeleton from Template
---
title: Title (≤ 30 chars, contains primary keyword)
description: 60-80 chars, keyword + concrete benefit
answer: |
3-line core conclusion (≤ 100 chars, GEO-critical)
tags: [primary-tag, longtail-tag-1, longtail-tag-2]
lang: en
date: 2026-10-15
faq:
- q: Q1
a: A1
- q: Q2
a: A2
---
Required Frontmatter Fields
| Field | Required | Notes |
|---|---|---|
title |
✅ | ≤ 30 chars, contains SEO keyword |
description |
✅ | 60-80 chars, keyword + concrete benefit |
answer |
✅ | 3-line core conclusion (Answer Block) |
tags |
✅ | 2-5, lowercase English, hyphenated |
lang |
✅ | zh or en |
date |
✅ | YYYY-MM-DD |
faq |
⚪ | Only if question/answer structure |
Tag Naming
- All lowercase English, hyphen-separated (
reverse-proxy✅,ReverseProxy❌) - 2-5 tags per post (1 primary + 2-4 longtail)
- Same tags shared between zh/en
- Column tags (
network/monitor/homeassistant) optional; only for cross-column grouping
Dedup SOP
Six-step dedup process before publishing:
Step 1 · Extract Dedup Seeds (3-5)
Pick the shortest distinctive keywords from title + H1 + answer + first 3 H2s.
Step 2 · Google Search
Watch three signals: 1. SERP top-10 title similarity 2. Whether AI Overview already answers it 3. Same phrase appearing ≥ 3 times with identical wording = high risk
Step 3 · Bing Search
Same signals; Bing skews to Chinese and longtail tutorials.
Step 4 · Cross-verify with AI Engines
Enter keywords into ChatGPT / Perplexity / DeepSeek, observe cited sources.
Step 5 · Save Evidence
Screenshot each seed's search results, attach to PR description.
Step 6 · Pass → Submit PR
Fail any check: rewrite or take a different angle. Copying is not allowed.
Local Build Verification
pip install -r requirements.txt
python scripts/gen_llms.py
mkdocs build --strict
mkdocs serve --dev-addr 127.0.0.1:8000
What CI Checks
- URL is listed in the site archive
- Frontmatter is complete (including
answer) - Answer Block exists and ≤ 100 chars
- Paragraphs ≤ 4 sentences
- ≥ 3 internal links
- Tags are lowercase English
mkdocs build --strictis warning-free
Pre-submit Checklist
- Frontmatter complete (title / description / answer / tags / lang / date)
- 6-step Dedup SOP run with evidence
-
mkdocs build --strictpasses (no warnings) - ≥ 3 internal links
- ≥ 1 whitelisted external link (if applicable)
- Official-doc quotes ≤ 200 chars with attribution
- ≥ 3 H2 headings
- Paragraphs ≤ 4 sentences
Submit Flow
- Contact the author via email (ops@jiunotes.top)
- Branch from
main:git checkout -b article/<col>/<slug> - Write the article (put it in
docs/<lang>/<col>/<slug>.md) - Run
mkdocs build --strictlocally - Open PR to
main, attach dedup screenshots
Merged after CI passes; published within 1 business day.