- Add MaxMind GeoLite2-City mmdb auto-download and IP-based geo lookup (covers all 249 countries globally, replacing limited 8-country regex) - Add RenameOptions with 5 toggleable fields (flag/alias/country/city/index) stored as rename_options_json on collections - Collection rename pipeline uses DetectGeoWithServer(name, server) which tries GeoIP lookup first, falls back to name-based regex matching - Chinese country/city names + emoji flag prefix - Country-city dedup: skip city when it equals country (e.g. 香港/香港) - URI fragment encoding: url.QueryEscape -> url.PathEscape (%20 not +) - Egress cache key excludes name field so renamed nodes still match cache - Frontend: 5 toggle buttons in collection edit form, default all on - Migrations: 0004 (source alias + collection rename_enabled), 0005 (collection rename_options_json)
52 lines
822 B
Plaintext
52 lines
822 B
Plaintext
# === Go ===
|
|
# Compiled binary
|
|
/sub-store
|
|
*.exe
|
|
*.exe~
|
|
*.dll
|
|
*.so
|
|
*.dylib
|
|
# Test binary
|
|
*.test
|
|
# Output of go coverage
|
|
*.out
|
|
# Go workspace
|
|
go.work
|
|
go.work.sum
|
|
|
|
# === SQLite / runtime data ===
|
|
# Local runtime DB (keep example/test configs, ignore actual data)
|
|
/data/*.db
|
|
/data/*.db-shm
|
|
/data/*.db-wal
|
|
/data/*.mmdb
|
|
# Production config (keep .example, ignore real secrets)
|
|
/config/config.yaml
|
|
/config/config.local.yaml
|
|
|
|
# === Reference repo (cloned external project, not part of this codebase) ===
|
|
/ref/
|
|
|
|
# === CodeGraph index ===
|
|
/.codegraph/
|
|
|
|
# === Editor / IDE ===
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
|
|
# === Logs ===
|
|
*.log
|
|
|
|
# === Docker ===
|
|
# Don't commit runtime Docker volumes
|
|
docker-data/
|
|
|
|
# === Frontend ===
|
|
# node_modules already excluded above; keep dist tracked for embed
|
|
frontend/node_modules/
|
|
node_modules/
|