# 星图 **Repository Path**: ai1950/starmap ## Basic Information - **Project Name**: 星图 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-10-28 - **Last Updated**: 2026-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 星图 · StarMap(五维文化地图) > 把**人物、物件、事件、地点、时间**存成点,把**关系**连成线 —— 让知识与文化的记录,成为人人可走的足迹。 | 演示 | 地址 | |---|---| | 母版(本仓库代码 + 样例数据) | | | 实际站点(同一份代码 + 生产数据,仅作效果参照) | | --- ## ⭐ 来源说明:本项目基于开源项目 **StarMap** 二开 ``` 上游项目:Aisland-SJL/StarMap https://github.com/Aisland-SJL/StarMap 许可 :MIT License(Copyright (c) 2026 Aisland-SJL)—— 见本仓库 LICENSE,未做任何删改 我们的基线:17eebdf(v0.3.2,2026-09-02) 我们的改动:① 多站主题化(一份代码 + theme.env 变出多个站) ② 接入五维+关系数据(travel-map.json),右栏五目与关系图按数据驱动 ③ 中文文案、站点品牌、若干界面与路由修正 ⛔ 我们不是原创者:原始架构、地球引擎与地图交互来自上游;我们是在其之上二开。 ✅ 依 MIT 要求:保留上游版权与许可声明;我们的改动同样以 MIT 释出。 ``` > 若您也要基于**本项目**做分支:请照 [FORK_SYNC.md](FORK_SYNC.md) 的同步义务办 —— > 我们怎么对待上游,就请怎么对待我们(否则会跟着一起脱节)。 --- ## 这是什么 一个**本地优先**的五维文化地图前端:左边是地图与时间轴,右边是「物 / 事 / 人物 / 时间线 / 地」五目, 点一个词条进详情页,详情页里是正文、来源与关系。 - 数据是一份 JSON(`travel-map.json`),**换数据就是换站** - 站点身份是一份 `theme.env`(站名、域名、数据地址、主题色、页签叫法) - 不依赖数据库:静态托管即可(我们的生产站在华为云 AGC 云托管上) --- ## 30 秒跑起来 ```bash git clone https://gitee.com/ai1950/starmap.git cd starmap npm ci # 1) 配站点身份(四个键:站名/英文名/域名/数据地址) cp theme.example.env theme.env # 把 VITE_SITE_NAME_ZH / VITE_SITE_NAME_EN / VITE_SITE_DOMAIN / VITE_CLOUD_DATA_URL 填上 # 想先看效果:VITE_CLOUD_DATA_URL 指到仓库自带样例即可(见下) # 2) 本地起站 npm run dev # http://127.0.0.1:5173 # 3) 出包(静态文件,丢到任意静态托管即可) npm run build # 产物在 dist/ ``` 样例数据:`data/sample/travel-map.json`(54 条,公开人物公开资料)。 把它放到任意可访问的地址,再把 `VITE_CLOUD_DATA_URL` 指过去即可。 > 想放到本地直接看:`npx serve data/sample`,然后把 `VITE_CLOUD_DATA_URL` 指向 `http://127.0.0.1:3000/travel-map.json`。 --- ## 数据长什么样 一份 JSON 三块: ``` entities[] 实体:id / kind(person|thing|event|place|time) / name / summary / description / source / apps … graph.nodes[] 图节点(与实体一一对应) graph.edges[] 关系边:source / target / type / relKind(字段名是 source/target,不是 from/to) ``` 完整字段定义见 [`schema/`](schema/)(七张表的对象类型定义,可直接用于云数据库建表)。 **我们的一条硬规矩**:数据里不放"我们自己的编辑备注"——正文只写给人看的话; 坐标依据、分类用途、取证过程一律进内部台账。样例数据已按此清理。 --- ## 我们不放进这个仓库的东西(以及为什么) | 不放 | 原因 | |---|---| | 生产数据(永州站 1,135 条) | 含大量第三方图文引用与在世人物资料,**再分发**风险高于我们自己上线 | | 第三方图片 / 视频 | 著作权不在我们;我们只在自己站上按"作者+日期+来源"署名使用 | | 内部语料(板贴、台账、审校件) | 这是工作过程记录,不是产品 | | 任何密钥 / 会话 / 环境值 | 见 `.gitignore`;本仓库不含任何凭据 | --- ## 许可 - **代码**:MIT(同上游) - **样例数据** `data/sample/`:CC BY 4.0(可用,注明"星图 StarMap 样例") - **站名、域名 `1950ai.com`、logo 与标识**:不随上述许可授出,保留所有权利 详见 [LICENSE](LICENSE) 与 [NOTICE](NOTICE)。 --- ## 贡献 欢迎 Issue 与 PR。三条口径请一并遵守(这也是我们这个项目的做法): 1. **宁缺毋造**:查不到就不写,标"待考",⛔ 不编 2. **来源分级**:每条事实带来源;A 级(官方名录/志书)> B 级(权威媒体)> C 级(自媒体,仅作线索) 3. **能算出来的不进库**:能由字段推导的(如年份区间、坐标换算)不存第二份 细节见 [CONTRIBUTING.md](CONTRIBUTING.md)。 --- ## 支持我们 如果您觉得这个项目对您有帮助,请扫下方二维码打赏我们一壶普洱。

微信支付二维码

打赏进项目池,用于服务器与数据采集,不归个人。 --- ## 联系 - 组织:问爱() - 问题与建议:本仓库 Issues