Initial commit: caddy static file server workspace
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
45
caddy/www/qiji-luopan/README.md
Normal file
45
caddy/www/qiji-luopan/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 旗跡羅盤(建議目錄名稱:`qiji-luopan`)
|
||||
|
||||
利用 Leaflet 與 REST Countries / g0v GeoJSON 打造的國旗互動地圖。依區域分頁檢視所有國家,搜尋國碼或中英名稱,點擊國旗即可將地圖移動到該國並描出邊界,台灣使用 g0v 的 GeoJSON 來源補上輪廓。
|
||||
|
||||
## 功能摘要
|
||||
- 區域分頁與快速搜尋:支援國碼、中英文名稱模糊比對。
|
||||
- 國旗卡片:顯示 ISO 3166-1 alpha-2 國碼、中英名稱、次區域。
|
||||
- Leaflet 地圖整合:點擊卡片會移動地圖、顯示國旗 popup,並載入對應 polygon;缺資料時會 fallback。
|
||||
- 依照台灣常用中文名稱覆寫 REST Countries 的英文資料,呈現更符合在地習慣的翻譯。
|
||||
|
||||
## 專案結構
|
||||
```
|
||||
qiji-luopan/
|
||||
├── index.html # 主頁面與 DOM 結構
|
||||
├── styles.css # 介面樣式(含 popup 旗幟樣式)
|
||||
├── constants.js # 國家代碼、中文名稱、區域排序與標籤
|
||||
├── app.js # 搜尋、分組、Leaflet 地圖與 popup 邏輯
|
||||
├── flags/ # 國旗 SVG(ISO 3166-1 alpha-2 檔名,例如 tw.svg)
|
||||
└── download_country_flags.py # 輔助腳本,可批次下載國旗
|
||||
```
|
||||
|
||||
## 開發 / 使用方式
|
||||
1. 使用任意 HTTP 伺服器提供靜態檔案,常見方式:
|
||||
- Python:
|
||||
```bash
|
||||
python -m http.server 8000
|
||||
```
|
||||
- Docker + Nginx(唯讀掛載當前目錄):
|
||||
```bash
|
||||
docker run --rm -it \
|
||||
-p 8080:80 \
|
||||
-v "$(pwd)":/usr/share/nginx/html:ro \
|
||||
nginx:alpine
|
||||
```
|
||||
2. 瀏覽 `http://localhost:8000`(若用 Docker 則為 `http://localhost:8080`)。
|
||||
3. 留意瀏覽器 Console,如有 REST Countries 或 g0v 的遠端請求失敗會在此顯示警告。
|
||||
|
||||
## 主要資料來源
|
||||
- [REST Countries API](https://restcountries.com/):國家基本資料、座標與區域資訊。
|
||||
- [datasets/geo-countries](https://github.com/datasets/geo-countries):世界國家邊界 GeoJSON。
|
||||
- [g0v/twgeojson](https://github.com/g0v/twgeojson):台灣縣市級 GeoJSON,多重合併成國家輪廓。
|
||||
|
||||
## 未來想法
|
||||
- 加入更多圖層(例如人口或經濟指標)並以 tooltip 或 legend 呈現。
|
||||
- 線上快取 REST Countries 結果,減少載入時間。
|
||||
Reference in New Issue
Block a user