chore: Update configuration and documentation files

- Added '*.key' to .gitignore to prevent tracking of key files.
- Changed the default database path in config.ini.example from 'bot_data.db' to 'meshcore_bot.db' for clarity.
- Enhanced documentation files with front matter for better rendering and organization, including Discord Bridge, Feed Management, Map Uploader, Packet Capture, Path Command Configuration, Repeater Management Commands, and Weather Service.
This commit is contained in:
agessaman
2026-02-07 19:14:30 -08:00
parent 500d40c031
commit 5edf09f28f
12 changed files with 99 additions and 10 deletions
+1
View File
@@ -145,6 +145,7 @@ website/
pytest.ini
pymc-test/*
config-pymc.ini
*.key
# Docker data directory (user-specific config, databases, logs)
# Ignore contents but keep directory structure
+1 -1
View File
@@ -1036,7 +1036,7 @@ auto_start = false
# Database path for web viewer data
# Default: bot_data.db
db_path = bot_data.db
db_path = meshcore_bot.db
# Additional hashtag channels to decode in the packet stream
# The web viewer can decrypt GroupText messages from hashtag channels
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Discord Bridge Service
---
# Discord Bridge Service
The Discord Bridge service posts MeshCore channel messages to Discord channels via webhooks. This is a **one-way, read-only bridge** - messages only flow from MeshCore to Discord.
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Feed Management
---
# Feed Management
The Feed Management system allows the bot to subscribe to RSS feeds and REST APIs, automatically polling for new content and posting updates to specified mesh channels.
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Map Uploader Service
---
# Map Uploader Service
Uploads node advertisements to [map.meshcore.dev](https://map.meshcore.dev) for network visualization.
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Packet Capture Service
---
# Packet Capture Service
Captures packets from the MeshCore network and publishes them to MQTT brokers.
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Path Command Configuration
---
# Path Command Configuration Guide
This document explains all configuration parameters for the Path Command, which decodes hex path data to identify repeaters in message routing paths.
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Repeater Management Commands
---
# Repeater Management DM Commands
This document provides comprehensive documentation for all repeater management commands available via direct message (DM) to the bot.
+5
View File
@@ -1,3 +1,8 @@
---
layout: default
title: Weather Service
---
# Weather Service
Provides scheduled weather forecasts, weather alerts, and lightning detection.
+17
View File
@@ -0,0 +1,17 @@
# GitHub Pages / Jekyll config for meshcore-bot documentation
title: meshcore-bot Documentation
description: Documentation for the MeshCore bot and its services
theme: jekyll-theme-cayman
markdown: kramdown
# Set to your repo URL (used for "Project overview" links on index)
repository_url: https://github.com/agessaman/meshcore-bot
repository_branch: main
# Apply default layout to all docs under docs/
defaults:
- scope:
path: ""
type: pages
values:
layout: default
+29
View File
@@ -0,0 +1,29 @@
---
layout: default
title: meshcore-bot Documentation
---
# meshcore-bot Documentation
Documentation for the MeshCore bot: setup, configuration, commands, and services.
## Project overview
- [README]({{ site.repository_url }}/blob/{{ site.repository_branch }}/README.md) Getting started, installation, quick start
- [COMMANDS.md]({{ site.repository_url }}/blob/{{ site.repository_branch }}/COMMANDS.md) Full command reference
- [DOCKER.md]({{ site.repository_url }}/blob/{{ site.repository_branch }}/DOCKER.md) Docker deployment
- [SERVICE-INSTALLATION.md]({{ site.repository_url }}/blob/{{ site.repository_branch }}/SERVICE-INSTALLATION.md) Systemd service setup
- [WEB_VIEWER.md]({{ site.repository_url }}/blob/{{ site.repository_branch }}/WEB_VIEWER.md) Web viewer module
## Guides (this site)
| Document | Description |
|----------|-------------|
| [Path Command Configuration](PATH_COMMAND_CONFIG.html) | Path command presets and options |
| [Repeater Commands](REPEATER_COMMANDS.html) | Repeater management DM commands |
| [Feed Management](FEEDS.html) | RSS/REST feeds and posting to channels |
| [Weather Service](WEATHER_SERVICE.html) | Scheduled weather and alerts |
| [Discord Bridge](DISCORD_BRIDGE.html) | One-way bridge to Discord |
| [Map Uploader](MAP_UPLOADER.html) | Uploading to map.meshcore.dev |
| [Packet Capture](PACKET_CAPTURE.html) | Packet capture and MQTT |
| [Documentation site setup](DOCS_SITE.html) | How to enable and configure this GitHub Pages site |
+16 -9
View File
@@ -646,17 +646,24 @@ class ModernDashboard {
formatUptime(uptimeSeconds) {
const uptimeElement = document.getElementById('uptime');
const hours = Math.floor(uptimeSeconds / 3600);
const totalMinutes = Math.floor(uptimeSeconds / 60);
const totalHours = Math.floor(uptimeSeconds / 3600);
const totalDays = Math.floor(uptimeSeconds / 86400);
const months = Math.floor(totalDays / 30);
const days = totalDays % 30;
const hours = Math.floor((uptimeSeconds % 86400) / 3600);
const minutes = Math.floor((uptimeSeconds % 3600) / 60);
const seconds = uptimeSeconds % 60;
if (hours > 0) {
uptimeElement.textContent = `${hours}h ${minutes}m`;
} else if (minutes > 0) {
uptimeElement.textContent = `${minutes}m ${seconds}s`;
} else {
uptimeElement.textContent = `${seconds}s`;
const seconds = Math.floor(uptimeSeconds % 60);
const parts = [];
if (months > 0) parts.push(`${months}mo`);
if (days > 0) parts.push(`${days}d`);
if (hours > 0) parts.push(`${hours}h`);
if (minutes > 0) parts.push(`${minutes}m`);
if (parts.length === 0 || totalHours < 1) {
if (seconds > 0 || parts.length === 0) parts.push(`${seconds}s`);
}
uptimeElement.textContent = parts.length > 0 ? parts.join(' ') : '0s';
}
startLiveUptime() {