feat: parameterize community info (#55)

* feat: parameterize community info

* chore: restore test data and document env defaults

* also make default channel configurable
This commit is contained in:
l5y
2025-09-15 12:15:51 +02:00
committed by GitHub
parent 003db7c36a
commit da2e5fbde1
4 changed files with 45 additions and 15 deletions
+16 -1
View File
@@ -8,6 +8,14 @@ DB_PATH = ENV.fetch("MESH_DB", File.join(__dir__, "../data/mesh.db"))
WEEK_SECONDS = 7 * 24 * 60 * 60
set :public_folder, File.join(__dir__, "public")
set :views, File.join(__dir__, "views")
SITE_NAME = ENV.fetch("SITE_NAME", "Meshtastic Berlin")
DEFAULT_CHANNEL = ENV.fetch("DEFAULT_CHANNEL", "#MediumFast")
MAP_CENTER_LAT = ENV.fetch("MAP_CENTER_LAT", "52.502889").to_f
MAP_CENTER_LON = ENV.fetch("MAP_CENTER_LON", "13.404194").to_f
MAX_NODE_DISTANCE_KM = ENV.fetch("MAX_NODE_DISTANCE_KM", "137").to_f
MATRIX_ROOM = ENV.fetch("MATRIX_ROOM", "#meshtastic-berlin:matrix.org")
def query_nodes(limit)
db = SQLite3::Database.new(DB_PATH, readonly: true, results_as_hash: true)
@@ -155,5 +163,12 @@ ensure
end
get "/" do
send_file File.join(settings.public_folder, "index.html")
erb :index, locals: {
site_name: SITE_NAME,
default_channel: DEFAULT_CHANNEL,
map_center_lat: MAP_CENTER_LAT,
map_center_lon: MAP_CENTER_LON,
max_node_distance_km: MAX_NODE_DISTANCE_KM,
matrix_room: MATRIX_ROOM
}
end