33 KiB
categories, tags, created, source, type, aliases, relations
| categories | tags | created | source | type | aliases | relations | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
2026-04-11 | 《大国大民》王志纲/《大国大民》第三章-发现山西.md | concept |
|
|
地点 Wiki 文件生成规范
基于《大国大民》系列地点笔记的实践经验,定义地点类 Wiki 文件的生成规则、数据流关系和模板体系。
一、体系架构:Place 文件 × Base 视图
1.1 三层架构
┌─────────────────────────────────────────────────────┐
│ Place Type 笔记 (References/) │
│ 定义 type 的 icon 和 color │
│ 如:Landmark.md → icon: 📍, color: "#3498db" │
│ 标签:tags: places/types │
└──────────────────────┬──────────────────────────────┘
│ type 字段引用(wikilink)
▼
┌─────────────────────────────────────────────────────┐
│ Place 笔记 (wiki/*.md) │
│ 双重身份:LLM Wiki 知识页 + Places 地图数据 │
│ categories: [[LLM Wiki]] + [[Places]] │
│ type: [[Landmark]] / [[Region]] / [[Historic site]] │
│ loc / coordinates / rating / address │
└──────────────────────┬──────────────────────────────┘
│ embed 引用
▼
┌─────────────────────────────────────────────────────┐
│ Base 视图 (Templates/Bases/) │
│ Places.base → 表格 + 地图(直接取 note.icon) │
│ Map.base → 全局地图(formula 从 Type 继承 icon) │
│ Trips.base → 旅行关联 │
└─────────────────────────────────────────────────────┘
1.2 数据流详解
Place 文件 → Places.base
| 文件字段 | Base 引用方式 | 用途 | |
------|--------------|------|
| categories 含 [[Places]] | filters: categories.contains(link("Places")) | 筛选入口 |
| type | properties: note.type | 表格列、Type 视图筛选 |
| loc | properties: note.loc | Location 视图:list(loc).contains(this) |
| coordinates | coordinates: note.coordinates | 地图定位 |
| icon | markerIcon: note.icon | 地图标记图标(直接取值) |
| color | markerColor: note.color | 地图标记颜色(直接取值) |
| rating | properties: note.rating | 排序 |
| last | properties: note.last | 排序(最近更新) |
Place 文件 → Map.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
categories 含 [[Places]] |
filters |
筛选入口 |
type(wikilink) |
formula.Icon = list(type)[0].asFile().properties.icon |
从 Place Type 继承 icon |
type(wikilink) |
formula.Color = list(type)[0].asFile().properties.color |
从 Place Type 继承 color |
coordinates |
coordinates: note.coordinates |
地图定位 |
loc |
Location 视图:list(loc).contains(this) |
按地区筛选 |
last |
sort |
排序 |
Place 文件 → Trips.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
loc |
filters: list(loc).contains(this) |
按地区筛选旅行 |
Trips 笔记 → Trips.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
categories 含 [[Trips]] |
filters |
筛选入口 |
start / end |
properties |
旅行时间 |
loc |
properties |
旅行关联地点 |
1.3 两套 icon/color 取值机制
| 视图 | 取值方式 | 对 Place 文件的要求 |
|---|---|---|
| Places.base | note.icon / note.color 直接取 |
每条笔记自身有 icon 和 color 字段 |
| Map.base | formula.Icon / formula.Color 从 Place Type 继承 |
type 必须是 wikilink,指向 References/ 下的 Place Type 笔记 |
⚠️ 兼容策略:Place 文件应同时包含自身 icon/color 字段(供 Places.base)和使用 wikilink 的 type 字段(供 Map.base formula)。
1.4 Place Type 笔记
| 文件 | icon | color | 适用范围 |
|---|---|---|---|
References/Landmark.md |
📍 | #3498db |
具体景点、地标 |
References/Region.md |
🗺️ | #2ecc71 |
城市、省份、行政区域 |
References/Historic site.md |
🏛️ | #e67e22 |
历史遗迹、古城 |
Place Type 笔记格式(参考 References/Parks.md):
---
tags:
- places/types
icon: {emoji}
color: "{hex}"
---
## Places
![[Map.base#Type]]
![[Places.base#Type]]
二、Frontmatter 规范
2.1 完整字段模板
---
categories:
- "[[LLM Wiki]]" # LLM Wiki 知识库身份
- "[[Places]]" # Places 地图体系身份
tags:
- wiki
- places
- {type-tag} # landmark | region | historic-site
- china
created: YYYY-MM-DD
last: YYYY-MM-DD # 最近更新日期,用于排序
source: "[[来源路径]]" # ⚠️ 单行字符串,不是列表
type: place
- "Landmark" # ⚠️ wikilink 指向 Place Type 笔记loc:
- "[[上级地区]]" # wikilink,如 "[[山西]]"
coordinates:
- "{纬度}" # 字符串格式
- "{经度}" # 字符串格式
rating: 5 # 1-7 整数
address: 完整中文地址
icon: 📍 # emoji,与 Place Type 的 icon 一致
color: "#3498db" # hex 颜色,与 Place Type 的 color 一致
---
2.2 type 字段映射
| type 值 | 对应 Place Type | tags 中的 type-tag | 说明 |
|---|---|---|---|
"Landmark" |
References/Landmark.md |
landmark |
具体景点、地标 |
"Region" |
References/Region.md |
region |
城市、省份 |
"Historic site" |
References/Historic site.md |
historic-site |
历史遗迹 |
2.3 关键格式规则(2026-04-13 修正)
⚠️ 经过实际测试,以下是正确的格式:
| 规则 | ✅ 正确 | ❌ 错误 |
|---|---|---|
| type 格式 | type:\n - "Landmark" |
type: - "[[Landmark]]" |
| type 值 | 用引号:"Landmark" |
不用引号:Landmark |
| type 不能用 wikilink | "Landmark" |
[[Landmark]] |
| loc 格式 | loc:\n - "[[山西]]" |
loc: 山西 |
| loc 必须 wikilink | [[山西]] |
山西 |
| source 格式 | source: "[[路径]]" |
source:\n - "[[路径]]" |
| coordinates | 字符串列表,每行一个 | 数字类型 |
| color | 引号包裹 "#3498db" |
裸值 #3498db |
| 布尔值 | marp: "true" |
marp: true |
2.4 source 字段规范(重点)
source 必须单行字符串格式:
# ✅ 正确
source: "[[《大国大民》王志纲/《大国大民》第十一章-阴阳巴蜀]]"
# ❌ 错误 - 不要用列表
source:
- "[[《大国大民》王志纲/《大国大民》第十一章-阴阳巴蜀]]"
三、内容结构规范
3.1 标准章节模板(景点型 — Landmark)
# {地点名}
> **一句话定义**:{15字以内概括}
## 简介
{客观描述,50-100字}
## 历史背景
{从原始来源中提取的相关内容,引用原文关键段落}
## {特色章节}(可选,按需命名)
## 文化价值 / 建筑特色 / 文明意义 等
## 地理位置与交通
{简要交通信息}
## 游览建议
{编号列表,3-5条}
## 关联内容
- 相关地点
## 参考资料
- raw/来源路径
## Trips
![[Templates/Bases/Trips.base#Location]]
## Places
![[Templates/Bases/Map.base#Location]]
![[Templates/Bases/Places.base#Location]]
3.2 标准章节模板(区域型 — Region)
# {区域名}
> **一句话定义**:{15字以内概括}
## 简介
{客观描述}
## 地理特征
{分区描述,如陕西三副面孔}
## 历史贡献
{表格 + 叙述}
## 核心概念
{该区域对文明的贡献}
## 关联内容
### 地点
- 下属地点1
- 下属地点2
### 人物
- 相关人物
### 概念
- 相关概念
## 参考资料
- raw/来源路径
## Trips
![[Templates/Bases/Trips.base#Location]]
## Places
![[Templates/Bases/Map.base#Location]]
![[Templates/Bases/Places.base#Location]]
3.3 引用规则
- 优先引用原文:将原始来源中与该地点直接相关的段落以
>blockquote 形式引用 - 标注出处:使用"王志纲在《发现山西》中指出"等前缀
- 适度改写:非直接引用部分用自己语言概括,但保持核心观点不变
- 不做主观评价:除原始来源中已有的评价外,不添加个人观点
3.4 底部 embed(所有地点文件必须有)
## Trips
![[Templates/Bases/Trips.base#Location]]
## Places
![[Templates/Bases/Map.base#Location]]
![[Templates/Bases/Places.base#Location]]
这三个 embed 使地点文件自动出现在:
- Trips.base 的 Location 视图:当旅行笔记的 loc 包含本地点时显示
- Map.base 的 Location 视图:以本地点为中心的地图
- Places.base 的 Location 视图:同地区的地点列表
四、模板体系
4.1 可用模板
| 模板文件 | 适用场景 | type 默认值 |
|---|---|---|
Templates/Place Template.md |
景点、地标 | [[Landmark]] |
Templates/City Template.md |
城市、省份 | [[Region]] |
4.2 Place Type 模板
Templates/Place Type Template.md — 创建新的地点类型时使用(如"寺庙""博物馆"等)。
4.3 使用流程
- 在 Obsidian 中新建笔记
- 选择模板:景点 → Place Template,城市 → City Template
- 填写 frontmatter(source、type wikilink、loc、coordinates 等)
- 编写内容
- 确认底部 embed 存在
五、坐标获取规范
5.1 必须使用真实坐标
禁止使用占位坐标。每个地点必须通过腾讯位置服务 API 获取真实经纬度。
API 凭证:
- Key:
ZXMBZ-GTICB-2FUUC-JCOM6-NZ4YV-ZOFKP - SK:
Nu5fywkMyVQxLMgLWk6zUJSHie7FvfjJ
5.2 签名算法
sig = MD5(request_path + "?" + sorted_raw_params + SK)
关键要点:
request_path= 路径部分(如/ws/geocoder/v1),不是完整 URL- 参数按 key 字母排序
- 签名计算用原始未编码的参数值
- 实际 HTTP 请求中参数需要 URL 编码
- 使用 Python 调用,PowerShell 在 Windows 上有 GBK 编码问题
5.3 Python 脚本位置
复用脚本:.sisyphus/get-coordinates.py(已验证可用)
5.4 离线参考
- Kiwix 离线 Wikipedia:
https://kiwix.haiguang.xyz:14004 - 可用于核实地点的准确坐标和地址
六、文件命名规范
| 类型 | 格式 | 示例 |
|---|---|---|
| 具体景点 | {景点全名}.md |
云冈石窟.md、壶口瀑布.md |
| 城市 | {城市名}.md 或 {城市名}城.md |
成都.md、太原城.md |
| 省份/区域 | {区域名}.md |
山西省.md |
| 特殊景点 | {景点全名}.md |
洪洞大槐树.md |
七、工作流程
7.1 标准流程
1. 读取原始来源 → 提取地点列表
2. 为每个地点确定 type(Landmark / Region / Historic site)
3. 调用腾讯地图 API → 获取真实坐标
4. 选择对应模板(Place / City)创建地点文件
5. 确认 frontmatter 完整性(categories、type wikilink、loc、coordinates、icon、color)
6. 确认底部 embed 存在(Trips + Map + Places)
7. 创建关联实体文件(人物、书籍等)
8. 更新 wiki/index.md
9. 更新 wiki/log.md
10. 验证:文件存在 + frontmatter 格式 + 坐标正确 + Base 视图可查
7.2 验证清单
每个地点文件完成后必须检查:
- 文件实际存在于磁盘(
read目录列表确认) categories同时包含[[LLM Wiki]]和[[Places]]type是 wikilink 格式,指向References/下的 Place Typeloc是 wikilink 格式,指向正确的上级地区source是单行字符串格式coordinates是两个字符串值(纬度在前、经度在后)icon和color与对应的 Place Type 一致color值用引号包裹- 引用的原文段落准确无误
- 底部 embed 正确(Trips.base + Map.base + Places.base)
八、常见陷阱
8.1 type 格式(2026-04-13 修正)
⚠️ 经过实际测试验证,type 值必须是带引号的纯文本,不能使用 wikilink。
# ✅ 正确格式(实测验证通过)
type: place
- "Landmark"
- "Region"
- "Historic site"
# ❌ 错误格式 - wikilink 会导致 Base 视图无法正确显示
type: place
- "[[Landmark]]"
# ❌ 错误格式 - 缺少引号
type: place
- Landmark
原因:Places.base 和 Map.base 直接读取 note.type 字符串值进行匹配,wikilink 格式会导致匹配失败。
8.2 Windows 中文文件名
在 Windows 系统上,write 工具报告成功但文件可能未实际持久化。必须通过 read 目录列表确认文件存在。
8.3 source 格式混淆
最常见错误。记住:source 是单行字符串,不是列表。参考已确认正确的文件(如 王志纲.md)。
8.4 坐标顺序
腾讯 API 返回 lat(纬度)和 lng(经度)。frontmatter 中 coordinates 的顺序是纬度在前、经度在后。
8.5 PowerShell 编码
Windows 上 PowerShell 处理中文有 GBK 编码问题。坐标获取脚本必须用 Python。
九、现有文件迁移计划
9.1 需要迁移的文件
巴蜀系列(第十一章,2026-04-13 创建)
| 文件 | 当前状态 | 需要补充 |
|---|---|---|
| 成都.md | 缺 type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 重庆.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 都江堰.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 宽窄巷子.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 钓鱼城.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 鹤鸣山.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
省份系列(需纳入 Places 体系)
| 文件 | 当前状态 | 需要补充 |
|---|---|---|
| 陕西省.md | 无 Places category,无坐标 | 全量补充 |
| 湖北省.md | 无 Places category,无坐标 | 全量补充 |
已有 Places 格式(需更新 type 为 wikilink)
| 文件 | 当前状态 | 需要补充 |
|---|---|---|
| 大同古城.md | type: historic-site(纯文本) | 改为 "[[Historic site]]" |
| 云冈石窟.md | type: landmark(纯文本) | 改为 "[[Landmark]]" |
| 武汉.md | type: landmark(纯文本) | 改为 "[[Landmark]]" |
| 其他山西/湖北地点 | 同上 | 同上 |
9.2 迁移执行顺序
- 第一批:更新 Place Type(将现有纯文本 type 统一改为 wikilink)— 批量 ast-grep
- 第二批:补充巴蜀系列的完整 Places 数据 — 逐个获取坐标
- 第三批:省份纳入 Places 体系 — 用省会坐标
十、参考文件
| 文件 | 说明 |
|---|---|
wiki/大同古城.md |
最佳参考:Landmark 完整格式(待更新 type 为 wikilink) |
wiki/云冈石窟.md |
Landmark 格式参考(待更新 type) |
wiki/武汉.md |
城市级 Landmark 格式参考(待更新 type) |
wiki/陕西省.md |
Region 格式参考(待纳入 Places 体系) |
References/Landmark.md |
Place Type:景点地标 |
References/Region.md |
Place Type:区域城市 |
References/Historic site.md |
Place Type:历史遗迹 |
Templates/Place Template.md |
景点型模板 |
Templates/City Template.md |
城市/区域型模板 |
Templates/Place Type Template.md |
新建类型时使用 |
.sisyphus/get-coordinates.py |
坐标获取脚本(已验证可用) |
来源
规范文档
详见 地点Wiki文件生成规范
- 《大国大民》王志纲/《大国大民》第三章-发现山西.md
- 《大国大民》第十一章-阴阳巴蜀
地点 Wiki 文件生成规范
基于《大国大民》系列地点笔记的实践经验,定义地点类 Wiki 文件的生成规则、数据流关系和模板体系。
一、体系架构:Place 文件 × Base 视图
1.1 三层架构
┌─────────────────────────────────────────────────────┐
│ Place Type 笔记 (References/) │
│ 定义 type 的 icon 和 color │
│ 如:Landmark.md → icon: 📍, color: "#3498db" │
│ 标签:tags: places/types │
└──────────────────────┬──────────────────────────────┘
│ type 字段引用(wikilink)
▼
┌─────────────────────────────────────────────────────┐
│ Place 笔记 (wiki/*.md) │
│ 双重身份:LLM Wiki 知识页 + Places 地图数据 │
│ categories: [[LLM Wiki]] + [[Places]] │
│ type: [[Landmark]] / [[Region]] / [[Historic site]] │
│ loc / coordinates / rating / address │
└──────────────────────┬──────────────────────────────┘
│ embed 引用
▼
┌─────────────────────────────────────────────────────┐
│ Base 视图 (Templates/Bases/) │
│ Places.base → 表格 + 地图(直接取 note.icon) │
│ Map.base → 全局地图(formula 从 Type 继承 icon) │
│ Trips.base → 旅行关联 │
└─────────────────────────────────────────────────────┘
1.2 数据流详解
Place 文件 → Places.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
categories 含 [[Places]] |
filters: categories.contains(link("Places")) |
筛选入口 |
type |
properties: note.type |
表格列、Type 视图筛选 |
loc |
properties: note.loc |
Location 视图:list(loc).contains(this) |
coordinates |
coordinates: note.coordinates |
地图定位 |
icon |
markerIcon: note.icon |
地图标记图标(直接取值) |
color |
markerColor: note.color |
地图标记颜色(直接取值) |
rating |
properties: note.rating |
排序 |
last |
properties: note.last |
排序(最近更新) |
Place 文件 → Map.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
categories 含 [[Places]] |
filters |
筛选入口 |
type(wikilink) |
formula.Icon = list(type)[0].asFile().properties.icon |
从 Place Type 继承 icon |
type(wikilink) |
formula.Color = list(type)[0].asFile().properties.color |
从 Place Type 继承 color |
coordinates |
coordinates: note.coordinates |
地图定位 |
loc |
Location 视图:list(loc).contains(this) |
按地区筛选 |
last |
sort |
排序 |
Place 文件 → Trips.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
loc |
filters: list(loc).contains(this) |
按地区筛选旅行 |
Trips 笔记 → Trips.base
| 文件字段 | Base 引用方式 | 用途 |
|---|---|---|
categories 含 [[Trips]] |
filters |
筛选入口 |
start / end |
properties |
旅行时间 |
loc |
properties |
旅行关联地点 |
1.3 两套 icon/color 取值机制
| 视图 | 取值方式 | 对 Place 文件的要求 |
|---|---|---|
| Places.base | note.icon / note.color 直接取 |
每条笔记自身有 icon 和 color 字段 |
| Map.base | formula.Icon / formula.Color 从 Place Type 继承 |
type 必须是 wikilink,指向 References/ 下的 Place Type 笔记 |
⚠️ 兼容策略:Place 文件应同时包含自身 icon/color 字段(供 Places.base)和使用 wikilink 的 type 字段(供 Map.base formula)。
1.4 Place Type 笔记
| 文件 | icon | color | 适用范围 |
|---|---|---|---|
References/Landmark.md |
📍 | #3498db |
具体景点、地标 |
References/Region.md |
🗺️ | #2ecc71 |
城市、省份、行政区域 |
References/Historic site.md |
🏛️ | #e67e22 |
历史遗迹、古城 |
Place Type 笔记格式(参考 References/Parks.md):
---
tags:
- places/types
icon: {emoji}
color: "{hex}"
---
## Places
![[Map.base#Type]]
![[Places.base#Type]]
二、Frontmatter 规范
2.1 完整字段模板
---
categories:
- "[[LLM Wiki]]" # LLM Wiki 知识库身份
- "[[Places]]" # Places 地图体系身份
tags:
- wiki
- places
- {type-tag} # landmark | region | historic-site
- china
created: YYYY-MM-DD
last: YYYY-MM-DD # 最近更新日期,用于排序
source: "[[来源路径]]" # ⚠️ 单行字符串,不是列表
type: place
- "Landmark" # ⚠️ wikilink 指向 Place Type 笔记loc:
- "[[上级地区]]" # wikilink,如 "[[山西]]"
coordinates:
- "{纬度}" # 字符串格式
- "{经度}" # 字符串格式
rating: 5 # 1-7 整数
address: 完整中文地址
icon: 📍 # emoji,与 Place Type 的 icon 一致
color: "#3498db" # hex 颜色,与 Place Type 的 color 一致
---
2.2 type 字段映射
| type 值 | 对应 Place Type | tags 中的 type-tag | 说明 |
|---|---|---|---|
"Landmark" |
References/Landmark.md |
landmark |
具体景点、地标 |
"Region" |
References/Region.md |
region |
城市、省份 |
"Historic site" |
References/Historic site.md |
historic-site |
历史遗迹 |
2.3 关键格式规则(2026-04-13 修正)
⚠️ 经过实际测试,以下是正确的格式:
| 规则 | ✅ 正确 | ❌ 错误 |
|---|---|---|
| type 格式 | type:\n - "Landmark" |
type: - "[[Landmark]]" |
| type 值 | 用引号:"Landmark" |
不用引号:Landmark |
| type 不能用 wikilink | "Landmark" |
[[Landmark]] |
| loc 格式 | loc:\n - "[[山西]]" |
loc: 山西 |
| loc 必须 wikilink | [[山西]] |
山西 |
| source 格式 | source: "[[路径]]" |
source:\n - "[[路径]]" |
| coordinates | 字符串列表,每行一个 | 数字类型 |
| color | 引号包裹 "#3498db" |
裸值 #3498db |
| 布尔值 | marp: "true" |
marp: true |
2.4 source 字段规范(重点)
source 必须单行字符串格式:
# ✅ 正确
source: "[[《大国大民》王志纲/《大国大民》第十一章-阴阳巴蜀]]"
# ❌ 错误 - 不要用列表
source:
- "[[《大国大民》王志纲/《大国大民》第十一章-阴阳巴蜀]]"
三、内容结构规范
3.1 标准章节模板(景点型 — Landmark)
# {地点名}
> **一句话定义**:{15字以内概括}
## 简介
{客观描述,50-100字}
## 历史背景
{从原始来源中提取的相关内容,引用原文关键段落}
## {特色章节}(可选,按需命名)
## 文化价值 / 建筑特色 / 文明意义 等
## 地理位置与交通
{简要交通信息}
## 游览建议
{编号列表,3-5条}
## 关联内容
- 相关地点
## 参考资料
- raw/来源路径
## Trips
![[Templates/Bases/Trips.base#Location]]
## Places
![[Templates/Bases/Map.base#Location]]
![[Templates/Bases/Places.base#Location]]
3.2 标准章节模板(区域型 — Region)
# {区域名}
> **一句话定义**:{15字以内概括}
## 简介
{客观描述}
## 地理特征
{分区描述,如陕西三副面孔}
## 历史贡献
{表格 + 叙述}
## 核心概念
{该区域对文明的贡献}
## 关联内容
### 地点
- 下属地点1
- 下属地点2
### 人物
- 相关人物
### 概念
- 相关概念
## 参考资料
- raw/来源路径
## Trips
![[Templates/Bases/Trips.base#Location]]
## Places
![[Templates/Bases/Map.base#Location]]
![[Templates/Bases/Places.base#Location]]
3.3 引用规则
- 优先引用原文:将原始来源中与该地点直接相关的段落以
>blockquote 形式引用 - 标注出处:使用"王志纲在《发现山西》中指出"等前缀
- 适度改写:非直接引用部分用自己语言概括,但保持核心观点不变
- 不做主观评价:除原始来源中已有的评价外,不添加个人观点
3.4 底部 embed(所有地点文件必须有)
## Trips
![[Templates/Bases/Trips.base#Location]]
## Places
![[Templates/Bases/Map.base#Location]]
![[Templates/Bases/Places.base#Location]]
这三个 embed 使地点文件自动出现在:
- Trips.base 的 Location 视图:当旅行笔记的 loc 包含本地点时显示
- Map.base 的 Location 视图:以本地点为中心的地图
- Places.base 的 Location 视图:同地区的地点列表
四、模板体系
4.1 可用模板
| 模板文件 | 适用场景 | type 默认值 |
|---|---|---|
Templates/Place Template.md |
景点、地标 | [[Landmark]] |
Templates/City Template.md |
城市、省份 | [[Region]] |
4.2 Place Type 模板
Templates/Place Type Template.md — 创建新的地点类型时使用(如"寺庙""博物馆"等)。
4.3 使用流程
- 在 Obsidian 中新建笔记
- 选择模板:景点 → Place Template,城市 → City Template
- 填写 frontmatter(source、type wikilink、loc、coordinates 等)
- 编写内容
- 确认底部 embed 存在
五、坐标获取规范
5.1 必须使用真实坐标
禁止使用占位坐标。每个地点必须通过腾讯位置服务 API 获取真实经纬度。
API 凭证:
- Key:
ZXMBZ-GTICB-2FUUC-JCOM6-NZ4YV-ZOFKP - SK:
Nu5fywkMyVQxLMgLWk6zUJSHie7FvfjJ
5.2 签名算法
sig = MD5(request_path + "?" + sorted_raw_params + SK)
关键要点:
request_path= 路径部分(如/ws/geocoder/v1),不是完整 URL- 参数按 key 字母排序
- 签名计算用原始未编码的参数值
- 实际 HTTP 请求中参数需要 URL 编码
- 使用 Python 调用,PowerShell 在 Windows 上有 GBK 编码问题
5.3 Python 脚本位置
复用脚本:.sisyphus/get-coordinates.py(已验证可用)
5.4 离线参考
- Kiwix 离线 Wikipedia:
https://kiwix.haiguang.xyz:14004 - 可用于核实地点的准确坐标和地址
六、文件命名规范
| 类型 | 格式 | 示例 |
|---|---|---|
| 具体景点 | {景点全名}.md |
云冈石窟.md、壶口瀑布.md |
| 城市 | {城市名}.md 或 {城市名}城.md |
成都.md、太原城.md |
| 省份/区域 | {区域名}.md |
山西省.md |
| 特殊景点 | {景点全名}.md |
洪洞大槐树.md |
七、工作流程
7.1 标准流程
1. 读取原始来源 → 提取地点列表
2. 为每个地点确定 type(Landmark / Region / Historic site)
3. 调用腾讯地图 API → 获取真实坐标
4. 选择对应模板(Place / City)创建地点文件
5. 确认 frontmatter 完整性(categories、type wikilink、loc、coordinates、icon、color)
6. 确认底部 embed 存在(Trips + Map + Places)
7. 创建关联实体文件(人物、书籍等)
8. 更新 wiki/index.md
9. 更新 wiki/log.md
10. 验证:文件存在 + frontmatter 格式 + 坐标正确 + Base 视图可查
7.2 验证清单
每个地点文件完成后必须检查:
- 文件实际存在于磁盘(
read目录列表确认) categories同时包含[[LLM Wiki]]和[[Places]]type是 wikilink 格式,指向References/下的 Place Typeloc是 wikilink 格式,指向正确的上级地区source是单行字符串格式coordinates是两个字符串值(纬度在前、经度在后)icon和color与对应的 Place Type 一致color值用引号包裹- 引用的原文段落准确无误
- 底部 embed 正确(Trips.base + Map.base + Places.base)
八、常见陷阱
8.1 type 格式(2026-04-13 修正)
⚠️ 经过实际测试验证,type 值必须是带引号的纯文本,不能使用 wikilink。
# ✅ 正确格式(实测验证通过)
type: place
- "Landmark"
- "Region"
- "Historic site"
# ❌ 错误格式 - wikilink 会导致 Base 视图无法正确显示
type: place
- "[[Landmark]]"
# ❌ 错误格式 - 缺少引号
type: place
- Landmark
原因:Places.base 和 Map.base 直接读取 note.type 字符串值进行匹配,wikilink 格式会导致匹配失败。
8.2 Windows 中文文件名
在 Windows 系统上,write 工具报告成功但文件可能未实际持久化。必须通过 read 目录列表确认文件存在。
8.3 source 格式混淆
最常见错误。记住:source 是单行字符串,不是列表。参考已确认正确的文件(如 王志纲.md)。
8.4 坐标顺序
腾讯 API 返回 lat(纬度)和 lng(经度)。frontmatter 中 coordinates 的顺序是纬度在前、经度在后。
8.5 PowerShell 编码
Windows 上 PowerShell 处理中文有 GBK 编码问题。坐标获取脚本必须用 Python。
九、现有文件迁移计划
9.1 需要迁移的文件
巴蜀系列(第十一章,2026-04-13 创建)
| 文件 | 当前状态 | 需要补充 |
|---|---|---|
| 成都.md | 缺 type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 重庆.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 都江堰.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 宽窄巷子.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 钓鱼城.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
| 鹤鸣山.md | 缺 categories:Places/type/loc/coordinates/icon/color/address/embed | 全量补充 |
省份系列(需纳入 Places 体系)
| 文件 | 当前状态 | 需要补充 |
|---|---|---|
| 陕西省.md | 无 Places category,无坐标 | 全量补充 |
| 湖北省.md | 无 Places category,无坐标 | 全量补充 |
已有 Places 格式(需更新 type 为 wikilink)
| 文件 | 当前状态 | 需要补充 |
|---|---|---|
| 大同古城.md | type: historic-site(纯文本) | 改为 "[[Historic site]]" |
| 云冈石窟.md | type: landmark(纯文本) | 改为 "[[Landmark]]" |
| 武汉.md | type: landmark(纯文本) | 改为 "[[Landmark]]" |
| 其他山西/湖北地点 | 同上 | 同上 |
9.2 迁移执行顺序
- 第一批:更新 Place Type(将现有纯文本 type 统一改为 wikilink)— 批量 ast-grep
- 第二批:补充巴蜀系列的完整 Places 数据 — 逐个获取坐标
- 第三批:省份纳入 Places 体系 — 用省会坐标
十、参考文件
| 文件 | 说明 |
|---|---|
wiki/大同古城.md |
最佳参考:Landmark 完整格式(待更新 type 为 wikilink) |
wiki/云冈石窟.md |
Landmark 格式参考(待更新 type) |
wiki/武汉.md |
城市级 Landmark 格式参考(待更新 type) |
wiki/陕西省.md |
Region 格式参考(待纳入 Places 体系) |
References/Landmark.md |
Place Type:景点地标 |
References/Region.md |
Place Type:区域城市 |
References/Historic site.md |
Place Type:历史遗迹 |
Templates/Place Template.md |
景点型模板 |
Templates/City Template.md |
城市/区域型模板 |
Templates/Place Type Template.md |
新建类型时使用 |
.sisyphus/get-coordinates.py |
坐标获取脚本(已验证可用) |
来源
规范文档
详见 地点Wiki文件生成规范
- 《大国大民》王志纲/《大国大民》第三章-发现山西.md
- 《大国大民》第十一章-阴阳巴蜀