trip-map-3d 是做什麼的?
將旅程轉變為一個網站:每個區域都有真實的 3D 地圖、每日一條動畫路線、圖釘、資訊卡、天氣支援以及離線功能。所有內容都來自一個檔案:trip.yaml。
1. 詢問旅程細節
針對你缺少的資訊,一次問幾個問題:
- 地點、時間以及總天數。
- 每天:他們計畫做什麼,以及順序為何。僅需提供名稱即可。
- 住宿地點。請先提醒他們,網站會放在免費的 GitHub 帳號上,因此提供鄰近區域名稱就足夠。除非他們在收到提醒後仍堅持,否則請勿寫下街道地址。
- 語言(
en、pt-BR、es)與單位。 - 選填:衝浪點、潮汐、照片、主題。
照片必須是他們自己的或已獲得授權的照片。請勿為他們從網際網路下載照片。
2. 編寫 trip.yaml
請遵循 examples/trip.example.yaml。只有 title、dates.start 和 days 是必填欄位。請務必在地點名稱中加入城市名稱,例如 "Pantheon, Roma",而不是 "Pantheon"。
3. 建置與審查
python -m pip install -r requirements.txt
python -m pipeline check trip.yaml
逐行與使用者一起閱讀報告。地理編碼器可能會自信地給出錯誤結果,因此請向他們展示找到的每個地點。任何標記為 CHECK 的行都需要檢查。如果某個地點錯誤或遺失,請在 places: 中添加 lat 和 lon,而不是重新嘗試搜尋。
然後進行建置:
python -m pipeline build trip.yaml --out dist
python -m pip install -r requirements-dev.txt
python tools/check_site.py dist --shots shots --hashes "" dia-1
在確認運作正常之前,請先打開截圖查看。檢查每個地點是否都已顯示、沒有路線位於資訊卡下方,並且沒有列印出任何錯誤。
4. 僅在使用者確認後才發布
請確認儲存庫名稱以及它將會是公開的。然後:
- 推送到從此範本建立的儲存庫。
- 在「設定」->「Pages」中,將「來源」設定為「GitHub Actions」。此步驟需手動完成。
- 工作流程會在建置後發布,每次推送都會觸發。
規則
- 公共服務是共享的。請勿對其進行迴圈呼叫。
trip.lock.json會保存每次的答案:請提交它,並且絕不要為了重試而刪除它。 - 本專案不使用公開的 Nominatim API。其政策禁止將其像本工具一樣作為通用地理編碼器內建。如果使用者要求使用 Nominatim,請引導他們參閱使用政策以及
services.geocoder以獲取他們自己的實例。 - 免費的 Open-Meteo API 僅供非商業使用。旅行社需要付費金鑰:請設定
services.open_meteo_key。 - 請在網站中保留資料來源資訊。這是法律要求的(請參閱
DATA_SOURCES.md)。