Taiwan Md Knowledge Base

作者 reason-machines2384a003145a无许可证83 个星标收录于 2026年10月8日更新于 2026年10月8日仓库3个月前更新

AI-native open knowledge base about Taiwan built with Astro v5, featuring bilingual content (zh-TW/en), D3.js knowledge graph, and structured Markdown SSOT architecture.

AI 生成的概览

指导向 Taiwan.md 的 Astro 知识库贡献中英双语文章,涵盖结构、frontmatter 与同步流程。

功能
该技能说明如何为 Taiwan.md 开放知识库添加和维护内容;该知识库是基于 Astro v5 的站点,knowledge/ 目录中的 Markdown 文件是唯一事实来源。它规定了十二个分类、文章与分类首页模板、必填与可选 frontmatter 字段、三层文章深度结构以及 Wikimedia Commons 图片政策。它还涵盖同步脚本流程、知识图谱标签与链接、双语路由、PR 与提交信息规范以及故障排查步骤。
适用场景
适用于向 Taiwan.md 知识库新增文章或英文翻译、在本地搭建该项目,或修复该仓库中的构建、图谱、图片与同步问题。
运行要求
Node.js 18+ 以及 npm 或 pnpm;taiwan-md 仓库的克隆;用于克隆、安装依赖和下载 Wikimedia Commons 图片的网络访问;仓库中的 scripts/sync.sh。该技能本身不附带脚本,仅为说明文档。

Taiwan.md Knowledge Base

Skill by ara.so — Daily 2026 Skills collection.

Taiwan.md is an open-source, AI-native knowledge base about Taiwan built with Astro v5. It uses a Single Source of Truth (SSOT) architecture where all content lives in the knowledge/ directory as Markdown files, and the website is a build-time projection. Features include bilingual support (Traditional Chinese as default + English), an interactive D3.js knowledge graph, and 96+ curated articles across 12 categories.


Installation & Setup

Prerequisites

  • Node.js 18+
  • npm or pnpm

Clone and Install

bash
git clone https://github.com/frank890417/taiwan-md.gitcd taiwan-mdnpm install

Development Server

bash
npm run dev# Site available at http://localhost:4321

Build & Preview

bash
npm run buildnpm run preview

Sync Knowledge to Content

bash
bash scripts/sync.sh# Copies knowledge/ → src/content/ for Astro build

Project Architecture

taiwan-md/├── knowledge/               ← SSOT: ALL content lives here│   ├── History/             ← Chinese articles + _Hub.md│   ├── Geography/│   ├── Culture/│   ├── Food/│   ├── Art/│   ├── Music/│   ├── Technology/│   ├── Nature/│   ├── People/│   ├── Society/│   ├── Economy/│   ├── Lifestyle/│   ├── About/               ← Meta content│   └── en/                  ← English translations (mirrors zh-TW)│       ├── History/│       ├── Geography/│       └── ...├── scripts/│   └── sync.sh              ← Syncs knowledge/ → src/content/├── src/│   ├── pages/               ← Astro pages│   ├── layouts/             ← Shared layouts│   └── content/             ← Build-time projection (DO NOT EDIT)├── public/│   └── images/wiki/         ← Cached Wikimedia Commons images└── docs/                    ← Architecture & roadmap docs

Critical rule: Never edit files in src/content/ directly. Always edit knowledge/ and run scripts/sync.sh.


Content Structure

The 12 Categories

SlugChineseEnglish
history歷史History
geography地理Geography
culture文化Culture
food美食Food
art藝術Art
music音樂Music
technology科技Technology
nature自然Nature
people人物People
society社會Society
economy經濟Economy
lifestyle生活Lifestyle

Article File Naming

knowledge/├── Food/│   ├── _Hub.md              ← Category hub page (literary overview)│   ├── bubble-tea.md        ← Individual article (zh-TW)│   └── beef-noodle.md└── en/    └── Food/        ├── _Hub.md          ← English hub page        ├── bubble-tea.md    ← English translation        └── beef-noodle.md

Writing Articles

Chinese Article Template (knowledge/[Category]/article-slug.md)

markdown
---title: 珍珠奶茶description: 台灣最具代表性的飲料文化,從夜市攤車到全球連鎖,珍珠奶茶如何征服世界。category: fooddate: 2024-01-15tags: [飲食文化, 台灣之光, 夜市]image: /images/wiki/bubble-tea-abc123.jpgimageCaption: 台灣珍珠奶茶 | Wikimedia Commons | CC BY-SA 4.0sources:  - title: 珍珠奶茶的起源考證    url: https://example.com/boba-origin  - title: 台灣飲料市場報告    url: https://example.com/beverage-report---
## 30 秒認識
珍珠奶茶(波霸奶茶)誕生於 1980 年代台灣,現已成為全球年產值超過 30 億美元的飲料產業。
## 深度閱讀
### 起源爭議
台南翰林茶館與台中春水堂都聲稱是珍珠奶茶的發明者...
### 全球擴張
2010 年代,珍珠奶茶席捲歐美亞各大城市...
## 為什麼重要
珍珠奶茶不只是一杯飲料,它是台灣軟實力的最佳代言人——在沒有邦交的地方,台灣味道先到了。
## 參考資料
- [珍珠奶茶的起源考證](https://example.com/boba-origin)- [台灣飲料市場報告](https://example.com/beverage-report)

English Article Template (knowledge/en/[Category]/article-slug.md)

markdown
---title: Bubble Teadescription: Taiwan's most iconic beverage culture — how boba conquered the world from night market stalls to global chains.category: fooddate: 2024-01-15tags: [food culture, taiwan pride, night market]image: /images/wiki/bubble-tea-abc123.jpgimageCaption: Taiwanese Bubble Tea | Wikimedia Commons | CC BY-SA 4.0sources:  - title: Origins of Bubble Tea    url: https://example.com/boba-origin  - title: Taiwan Beverage Market Report    url: https://example.com/beverage-report---
## 30-Second Overview
Bubble tea (boba) was born in 1980s Taiwan and has grown into a global industry worth over $3 billion annually.
## Deep Dive
### The Origin Debate
Both Hanlin Tea Room in Tainan and Chun Shui Tang in Taichung claim to have invented bubble tea...
### Global Expansion
In the 2010s, bubble tea swept across cities in Europe, America, and Asia...
## Why This Matters
Bubble tea isn't just a drink — it's Taiwan's finest soft power ambassador. Where there's no diplomatic recognition, Taiwanese flavor arrived first.
## References
- [Origins of Bubble Tea](https://example.com/boba-origin)- [Taiwan Beverage Market Report](https://example.com/beverage-report)

Hub Page Template (knowledge/[Category]/_Hub.md)

markdown
---title: 美食titleEn: Fooddescription: 台灣的飲食文化是移民歷史、地理環境與創意精神的完美結晶。category: food---
## 關於這個分類
台灣是一個以食物說故事的地方...
## 精選文章
這個分類收錄了台灣飲食文化最具代表性的面向...

Frontmatter Reference

Required Fields

yaml
---title: "文章標題"           # Display titledescription: "一句話說明"   # Meta description (150 chars max)category: food             # Must match one of 12 category slugsdate: 2024-01-15           # ISO date format---

Optional Fields

yaml
---tags: [tag1, tag2]         # Array of tags for knowledge graphimage: /images/wiki/...    # Must be from Wikimedia Commons cacheimageCaption: "..."        # Attribution: Title | Source | Licensesources:                   # REQUIRED: clickable URLs, no plain-text refs  - title: "Source Name"    url: https://...---

Adding Images (Wikimedia Commons Policy)

All images must be from Wikimedia Commons with verified CC licenses. Cache them locally:

bash
# Download and cache a Wikimedia image# Images are stored with MD5-hashed filenamescurl -o public/images/wiki/$(echo "filename.jpg" | md5sum | cut -d' ' -f1).jpg \  "https://commons.wikimedia.org/wiki/Special:FilePath/Taiwan_landscape.jpg"

Image attribution format in frontmatter:

yaml
imageCaption: "Description | Wikimedia Commons | CC BY-SA 4.0"

Knowledge Graph Integration

Articles automatically appear in the D3.js knowledge graph at /graph. Nodes are created from articles; edges are created from shared tags and cross-references.

Linking Articles

Reference other articles within content using relative paths:

markdown
台灣的[半導體產業](/technology/tsmc)是台積電...
See also: [Bubble Tea](/food/bubble-tea) for more on Taiwan's soft power.

Tagging for Graph Connections

Use consistent tags to create knowledge graph bridges:

markdown
# Both articles tagged [democratic transition] will be connectedtags: [democratic transition, civil society, 1990s]

Sync Workflow

After editing any file in knowledge/, always sync before building:

bash
# 1. Edit contentvim knowledge/Food/new-article.mdvim knowledge/en/Food/new-article.md
# 2. Sync to src/content/bash scripts/sync.sh
# 3. Verify buildnpm run build
# 4. Previewnpm run preview

Three-Layer Depth Pattern

Every article should follow this structure for AI-readability and varied reading levels:

markdown
## 30 秒認識 / 30-Second Overview[2-3 sentences, the essential fact]
## 深度閱讀 / Deep Dive### Subsection 1[Detailed exploration with data]
### Subsection 2[Historical context or comparison]
## 為什麼重要 / Why This Matters[Curatorial perspective — answer "why should the world care?"]
## 參考資料 / References[Clickable URLs only — no plain-text citations]

Contributing via PR

Full PR Workflow

bash
# 1. Fork and clonegit clone https://github.com/YOUR_USERNAME/taiwan-md.gitcd taiwan-md
# 2. Create branchgit checkout -b add/food/scallion-pancake
# 3. Add zh-TW articlecat > knowledge/Food/scallion-pancake.md << 'EOF'---title: 蔥抓餅description: ...category: fooddate: 2024-01-20sources:  - title: Source    url: https://...---Content here...EOF
# 4. Add English translationmkdir -p knowledge/en/Foodcat > knowledge/en/Food/scallion-pancake.md << 'EOF'---title: Scallion Pancake...EOF
# 5. Sync and testbash scripts/sync.shnpm run build
# 6. Commit and PRgit add knowledge/git commit -m "feat(food): add scallion pancake article (zh+en)"git push origin add/food/scallion-pancake

Commit Message Convention

feat(category): add [article name] article (zh+en)fix(category): correct [article name] factual errori18n(category): add English translation for [article name]feat(graph): add knowledge graph connections for [topic]

AI-Native Features

llms.txt

The site exposes /llms.txt for AI consumption. When writing content, use structured headers that AI can parse:

markdown
# Title
**Key fact:** One-sentence essential truth.
## Context...
## Significance...

Meta AI Summary Tag

Pages include <meta ai-summary> — write descriptions that work as standalone AI context:

yaml
description: "台積電(TSMC)生產全球90%最先進晶片,是台灣的「矽盾」——台灣的地緣政治生存策略。"

Astro Page Patterns

Category Page (src/pages/[category].astro)

astro
---import { getCollection } from 'astro:content';
const category = 'food';const articles = await getCollection('knowledge', ({ data }) =>  data.category === category);---
<ul>  {articles.map(article => (    <li>      <a href={`/${category}/${article.slug}`}>{article.data.title}</a>      <p>{article.data.description}</p>    </li>  ))}</ul>

Bilingual Route Pattern

/food/bubble-tea        ← zh-TW (default)/en/food/bubble-tea     ← English

Content Quality Checklist

Before submitting a PR, verify:

  • Both knowledge/[Category]/article.md (zh-TW) and knowledge/en/[Category]/article.md (en) exist
  • All sources entries have clickable url fields (no plain-text-only references)
  • Article follows three-layer depth: 30-sec → deep dive → why it matters
  • Images sourced from Wikimedia Commons with proper imageCaption attribution
  • category slug matches one of the 12 valid categories exactly
  • bash scripts/sync.sh && npm run build completes without errors
  • Factual claims are verified against cited sources

Troubleshooting

Build fails after adding article

bash
# Check frontmatter syntaxcat knowledge/Food/my-article.md | head -20
# Common issue: missing required fields# Ensure title, description, category, date are all present
# Re-sync and rebuildbash scripts/sync.shnpm run build 2>&1 | grep ERROR

Article not appearing in knowledge graph

bash
# Ensure tags array is populated# Check category slug matches exactly (case-sensitive)# Verify sync was run after editingbash scripts/sync.sh

English article not showing at /en/...

bash
# Verify file exists at correct pathls knowledge/en/Food/my-article.md
# Check category field matches zh-TW article exactlygrep "category:" knowledge/Food/my-article.mdgrep "category:" knowledge/en/Food/my-article.md

Images not loading

bash
# Images must be cached locally in public/images/wiki/ls public/images/wiki/
# Verify frontmatter path starts with /images/wiki/grep "image:" knowledge/Food/my-article.md# Should be: image: /images/wiki/filename-hash.jpg

Sync script permission error

bash
chmod +x scripts/sync.shbash scripts/sync.sh

Resources

来源与署名

来源:reason-machines/trending-skills位于skills/taiwan-md-knowledge-base提交2384a00

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架