大家好,我是熊叔,今天我们继续逛 GitHub。
前阵子重读《赤壁赋》,我被一个很小的问题卡住了。
黄州在今天哪儿,那几年北宋的版图长什么样,苏轼又是怎么一路走过去的。
查了几页资料,地名找到了,年份和人对不上。
后来我把这三个问题丢给一张在线地图,几分钟就有了答案。
这个项目叫「江山时序」,GitHub 上的开源中国历史交互地图,浏览器打开就能用,不用装任何东西。
作者把战国到今天的疆域做成了一根可以拖的时间轴,18 个历史时期,183 幅版图快照,跨度两千四百多年。
我把年份拖到 1082,左下角跳出「北宋 · 阶段 9/12」,括号里是 1072 到 1103 这一段。
1082 年正好是元丰五年,也就是《赤壁赋》开头那个壬戌之秋。
时间轴是一段一段走的,每一段里发生的仗、迁都、改制,都挂在阶段卡上。
卡片上写着这一段的大事,王韶熙河开边,收复熙、河、洮、岷、叠、宕六州,新置熙河路。
同一年份里,宋、辽、西夏、大理一起摆着,边界用不同颜色压在一张图上。
看版图只能看大势,我还想知道黄州自己是什么建制。
在搜索框里输入黄州,地图飞过去,右侧弹出一张卡。
卡上把黄州从战国排到中华人民共和国,十八行,每行写着那个时期归谁、算哪一级。
北宋这一行是淮南路黄州,下面挂着一行小字,1080 年,贬谪黄州 · 东坡赤壁。
再往下,今天的对应是湖北省黄冈市,经纬度也标好了。
让我停了一下的是它更早的名字。
同一块地,三国那会儿叫武昌,孙权在这儿建过都,孙皓也在这儿待过。
一张卡把两千四百年串成一条线,读诗时对不上号的地名,大多能在这里落地。
我想确认的重点还是人。
搜索框里打「苏轼」,候选里有一项是人物,点进去,地图上立刻拉出一条朱红色的虚线。
十二站,1037 年眉州出生,1056 年出蜀,1057 年汴京及第,1079 年在湖州被抓。
1080 年这一站到了黄州,往后是 1094 年惠州,1097 年儋州,1101 年常州。
每一站底下压着一小段缘由,还配了那几年他写下的句子,黄州给的是「竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生」。
我更看重的是这个组合的用法。
查到一个地名之后,能顺手对齐人到那里的那一年,再看他的整条路线,前后就通了。
地名、年份、人物这三样,平时散在地名词典、年表和传记里,它把三样接在了同一张图上。
v1.1.0 之后,这样的人物有 104 位,帝王、文臣、诗人、僧人、航海家都收在里面。
从原来的 7 条一路扩到这个数,又按二十四史校了 471 项事件,工程量不小。
物件也能这么查。
传国玉玺被做成了像人物一样的一条线,从公元前 283 年邯郸完璧归赵,一直到 936 年李从珂登楼自焚。
13 站,跨 10 个朝代 1219 年,每一站底下压一句《资治通鉴》原文,卷次也标了。
水系也随年份动。黄河五次改道、云梦泽和罗布泊的消长都在里面,二十座名关、长城、大运河、丝路和郑和航线也画着。
从实现上看,它是一堆静态文件,没有构建步骤,clone 下来起个本地服务就能跑。
交互几乎都写在 app.js 这一个文件里,六百多 KB,快照数据另存了接近两兆的一个文件。
数据是按年份组织的,不按朝代标签回填。
挑到 208 年,图上是曹操、孙权、刘备、刘璋、张鲁这些割据势力,阶段写着东汉。要到 220 年以后,魏、蜀汉、吴三种颜色才出来。
对想接自动化的人,作者留了几个口子。一个零依赖的 MCP server 和三个查询工具,一个 GeoJSON 导出脚本,一个按年份出图的命令行脚本。
这几样我只是在文档里看到,没有真的跑起来,只当线索记在这里。
边界也得说清楚。
图上的界线是示意,看大势可以,拿来量距离不行。
数据里有一部分来自 CHGIS 和 Hartwell,这两个来源对商用有限制,作者写明只适合学术和非商业用途。
项目 2026 年 7 月才建,三个多月推到两千八百多 star,人气旺,问题也跟着来。
issue 里有人直接说卡,作者随后连着提了几版性能改动。
也有人问能不能往前做到春秋,方便读《左传》,还有人问能不能扩到世界史里看中国,这两条都还开着。
想直接看,作者挂了在线版,浏览器打开就能拖。想本地跑,clone 之后一条命令起服务,不装依赖。
适合谁呢。
读古诗古文的,给孩子讲历史的,写历史类内容的,都能用上这张图。
如果只是想确认某个地名今天在哪儿,搜一下也就够了。
它的价值在把地名、年份和人的行迹放在一起看,让人少走一段对不上的路。
开源地址:https://github.com/DeanChensj/jiangshan-map
最后点击下面卡片,关注开源日记。
持续发现有趣的开源项目,分享技术世界里的小惊喜。感谢阅读,我们下期见!