diff --git a/config.sh b/config.sh index bdf0670..9882764 100755 --- a/config.sh +++ b/config.sh @@ -520,30 +520,71 @@ load_env_vars() { fi } -# Function to update the map's .env file with domain settings +# Function to update or create the map's .env file with domain settings update_map_env() { local new_domain=$1 - + + # If the map .env file does not exist, create it with defaults if [ ! -f "$MAP_ENV_FILE" ]; then - echo "Warning: Map .env file not found at $MAP_ENV_FILE" - return 1 + echo "Map .env file not found at $MAP_ENV_FILE, creating a new one with defaults." + cat > "$MAP_ENV_FILE" </dev/null || echo "changeme") + +# Map Defaults (Edmonton, Alberta, Canada) +DEFAULT_LAT=53.5461 +DEFAULT_LNG=-113.4938 +DEFAULT_ZOOM=11 + +# Optional: Map Boundaries (prevents users from adding points outside area) +# BOUND_NORTH=53.7 +# BOUND_SOUTH=53.4 +# BOUND_EAST=-113.3 +# BOUND_WEST=-113.7 + +# Cloudflare Settings +TRUST_PROXY=true +COOKIE_DOMAIN=.$new_domain + +# Update NODE_ENV to production for HTTPS +NODE_ENV=production + +# Add allowed origin +ALLOWED_ORIGINS=https://map.$new_domain,http://localhost:3000 +EOL + echo "βœ… Created new map .env file at $MAP_ENV_FILE" + return 0 fi - + echo "Updating map .env file with new domain settings..." - + # Create a backup of the map's .env file local timestamp=$(date +"%Y%m%d_%H%M%S") local backup_file="${MAP_ENV_FILE}.backup_${timestamp}" cp "$MAP_ENV_FILE" "$backup_file" echo "Created backup of map .env at $backup_file" - + # Update COOKIE_DOMAIN if grep -q "^COOKIE_DOMAIN=" "$MAP_ENV_FILE"; then sed -i "s|^COOKIE_DOMAIN=.*|COOKIE_DOMAIN=.$new_domain|" "$MAP_ENV_FILE" else echo "COOKIE_DOMAIN=.$new_domain" >> "$MAP_ENV_FILE" fi - + # Update ALLOWED_ORIGINS local allowed_origins="https://map.$new_domain,http://localhost:3000" if grep -q "^ALLOWED_ORIGINS=" "$MAP_ENV_FILE"; then @@ -551,12 +592,12 @@ update_map_env() { else echo "ALLOWED_ORIGINS=$allowed_origins" >> "$MAP_ENV_FILE" fi - + # Also update the NOCODB URLs if they contain domain references sed -i "s|example\.org|$new_domain|g" "$MAP_ENV_FILE" sed -i "s|changeme\.org|$new_domain|g" "$MAP_ENV_FILE" sed -i "s|albertademocracytaskforce\.org|$new_domain|g" "$MAP_ENV_FILE" - + echo "βœ… Updated map .env file with:" echo " - COOKIE_DOMAIN=.$new_domain" echo " - ALLOWED_ORIGINS=$allowed_origins" diff --git a/mkdocs/.cache/plugin/social/0efb03f86bd9388aaf748992627aca2b.png b/mkdocs/.cache/plugin/social/0efb03f86bd9388aaf748992627aca2b.png new file mode 100644 index 0000000..2a087b8 Binary files /dev/null and b/mkdocs/.cache/plugin/social/0efb03f86bd9388aaf748992627aca2b.png differ diff --git a/mkdocs/.cache/plugin/social/499785a5782a92d89dee51c0bf8b6995.png b/mkdocs/.cache/plugin/social/499785a5782a92d89dee51c0bf8b6995.png new file mode 100644 index 0000000..60d2241 Binary files /dev/null and b/mkdocs/.cache/plugin/social/499785a5782a92d89dee51c0bf8b6995.png differ diff --git a/mkdocs/.cache/plugin/social/607c40b09175ea34f533d65c20cf04a3.png b/mkdocs/.cache/plugin/social/607c40b09175ea34f533d65c20cf04a3.png new file mode 100644 index 0000000..9c80823 Binary files /dev/null and b/mkdocs/.cache/plugin/social/607c40b09175ea34f533d65c20cf04a3.png differ diff --git a/mkdocs/.cache/plugin/social/fb1ef6eb92689bdb34466fc79a8aebdf.png b/mkdocs/.cache/plugin/social/fb1ef6eb92689bdb34466fc79a8aebdf.png new file mode 100644 index 0000000..dc579a3 Binary files /dev/null and b/mkdocs/.cache/plugin/social/fb1ef6eb92689bdb34466fc79a8aebdf.png differ diff --git a/mkdocs/docs/assets/repo-data/admin-changemaker.lite.json b/mkdocs/docs/assets/repo-data/admin-changemaker.lite.json index 5951a1f..f409dbc 100644 --- a/mkdocs/docs/assets/repo-data/admin-changemaker.lite.json +++ b/mkdocs/docs/assets/repo-data/admin-changemaker.lite.json @@ -7,10 +7,10 @@ "stars_count": 0, "forks_count": 0, "open_issues_count": 0, - "updated_at": "2025-06-30T15:50:33-06:00", + "updated_at": "2025-06-30T21:38:32-06:00", "created_at": "2025-05-28T14:54:59-06:00", "clone_url": "https://gitea.bnkops.com/admin/changemaker.lite.git", "ssh_url": "git@gitea.bnkops.com:admin/changemaker.lite.git", "default_branch": "main", - "last_build_update": "2025-06-30T15:50:33-06:00" + "last_build_update": "2025-06-30T21:38:32-06:00" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/coder-code-server.json b/mkdocs/docs/assets/repo-data/coder-code-server.json index f6c21f0..3e3c526 100644 --- a/mkdocs/docs/assets/repo-data/coder-code-server.json +++ b/mkdocs/docs/assets/repo-data/coder-code-server.json @@ -4,13 +4,13 @@ "description": "VS Code in the browser", "html_url": "https://github.com/coder/code-server", "language": "TypeScript", - "stars_count": 72493, - "forks_count": 6061, - "open_issues_count": 133, - "updated_at": "2025-07-01T00:35:58Z", + "stars_count": 72508, + "forks_count": 6062, + "open_issues_count": 142, + "updated_at": "2025-07-01T15:16:52Z", "created_at": "2019-02-27T16:50:41Z", "clone_url": "https://github.com/coder/code-server.git", "ssh_url": "git@github.com:coder/code-server.git", "default_branch": "main", - "last_build_update": "2025-06-25T21:18:52Z" + "last_build_update": "2025-07-01T13:04:15Z" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/gethomepage-homepage.json b/mkdocs/docs/assets/repo-data/gethomepage-homepage.json index fcd24ec..d01b936 100644 --- a/mkdocs/docs/assets/repo-data/gethomepage-homepage.json +++ b/mkdocs/docs/assets/repo-data/gethomepage-homepage.json @@ -4,13 +4,13 @@ "description": "A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.", "html_url": "https://github.com/gethomepage/homepage", "language": "JavaScript", - "stars_count": 24565, - "forks_count": 1520, + "stars_count": 24583, + "forks_count": 1519, "open_issues_count": 1, - "updated_at": "2025-06-30T20:44:09Z", + "updated_at": "2025-07-01T15:20:04Z", "created_at": "2022-08-24T07:29:42Z", "clone_url": "https://github.com/gethomepage/homepage.git", "ssh_url": "git@github.com:gethomepage/homepage.git", "default_branch": "dev", - "last_build_update": "2025-07-01T00:41:49Z" + "last_build_update": "2025-07-01T12:14:06Z" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/go-gitea-gitea.json b/mkdocs/docs/assets/repo-data/go-gitea-gitea.json index 9c163a7..e96b370 100644 --- a/mkdocs/docs/assets/repo-data/go-gitea-gitea.json +++ b/mkdocs/docs/assets/repo-data/go-gitea-gitea.json @@ -4,13 +4,13 @@ "description": "Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD", "html_url": "https://github.com/go-gitea/gitea", "language": "Go", - "stars_count": 49312, - "forks_count": 5886, - "open_issues_count": 2714, - "updated_at": "2025-06-30T22:55:41Z", + "stars_count": 49327, + "forks_count": 5887, + "open_issues_count": 2706, + "updated_at": "2025-07-01T14:28:19Z", "created_at": "2016-11-01T02:13:26Z", "clone_url": "https://github.com/go-gitea/gitea.git", "ssh_url": "git@github.com:go-gitea/gitea.git", "default_branch": "main", - "last_build_update": "2025-06-30T22:55:36Z" + "last_build_update": "2025-07-01T13:44:05Z" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/knadh-listmonk.json b/mkdocs/docs/assets/repo-data/knadh-listmonk.json index f501996..184a06c 100644 --- a/mkdocs/docs/assets/repo-data/knadh-listmonk.json +++ b/mkdocs/docs/assets/repo-data/knadh-listmonk.json @@ -4,10 +4,10 @@ "description": "High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.", "html_url": "https://github.com/knadh/listmonk", "language": "Go", - "stars_count": 17238, + "stars_count": 17242, "forks_count": 1657, "open_issues_count": 104, - "updated_at": "2025-06-30T20:57:12Z", + "updated_at": "2025-07-01T14:26:50Z", "created_at": "2019-06-26T05:08:39Z", "clone_url": "https://github.com/knadh/listmonk.git", "ssh_url": "git@github.com:knadh/listmonk.git", diff --git a/mkdocs/docs/assets/repo-data/lyqht-mini-qr.json b/mkdocs/docs/assets/repo-data/lyqht-mini-qr.json index 429498f..2b77d76 100644 --- a/mkdocs/docs/assets/repo-data/lyqht-mini-qr.json +++ b/mkdocs/docs/assets/repo-data/lyqht-mini-qr.json @@ -6,11 +6,11 @@ "language": "Vue", "stars_count": 1254, "forks_count": 164, - "open_issues_count": 14, - "updated_at": "2025-06-30T20:22:20Z", + "open_issues_count": 13, + "updated_at": "2025-07-01T14:06:12Z", "created_at": "2023-04-21T14:20:14Z", "clone_url": "https://github.com/lyqht/mini-qr.git", "ssh_url": "git@github.com:lyqht/mini-qr.git", "default_branch": "main", - "last_build_update": "2025-06-23T05:55:30Z" + "last_build_update": "2025-07-01T14:06:08Z" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/n8n-io-n8n.json b/mkdocs/docs/assets/repo-data/n8n-io-n8n.json index 75456b6..11ee4cb 100644 --- a/mkdocs/docs/assets/repo-data/n8n-io-n8n.json +++ b/mkdocs/docs/assets/repo-data/n8n-io-n8n.json @@ -4,13 +4,13 @@ "description": "Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.", "html_url": "https://github.com/n8n-io/n8n", "language": "TypeScript", - "stars_count": 113658, - "forks_count": 33263, - "open_issues_count": 1062, - "updated_at": "2025-07-01T00:43:52Z", + "stars_count": 113903, + "forks_count": 33364, + "open_issues_count": 1058, + "updated_at": "2025-07-01T15:22:32Z", "created_at": "2019-06-22T09:24:21Z", "clone_url": "https://github.com/n8n-io/n8n.git", "ssh_url": "git@github.com:n8n-io/n8n.git", "default_branch": "master", - "last_build_update": "2025-06-30T20:59:49Z" + "last_build_update": "2025-07-01T15:23:16Z" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/nocodb-nocodb.json b/mkdocs/docs/assets/repo-data/nocodb-nocodb.json index 6e78b89..d270c13 100644 --- a/mkdocs/docs/assets/repo-data/nocodb-nocodb.json +++ b/mkdocs/docs/assets/repo-data/nocodb-nocodb.json @@ -4,13 +4,13 @@ "description": "\ud83d\udd25 \ud83d\udd25 \ud83d\udd25 Open Source Airtable Alternative", "html_url": "https://github.com/nocodb/nocodb", "language": "TypeScript", - "stars_count": 55468, - "forks_count": 3981, + "stars_count": 55480, + "forks_count": 3987, "open_issues_count": 714, - "updated_at": "2025-06-30T23:29:28Z", + "updated_at": "2025-07-01T14:03:05Z", "created_at": "2017-10-29T18:51:48Z", "clone_url": "https://github.com/nocodb/nocodb.git", "ssh_url": "git@github.com:nocodb/nocodb.git", "default_branch": "develop", - "last_build_update": "2025-06-30T23:13:56Z" + "last_build_update": "2025-07-01T14:26:19Z" } \ No newline at end of file diff --git a/mkdocs/docs/assets/repo-data/squidfunk-mkdocs-material.json b/mkdocs/docs/assets/repo-data/squidfunk-mkdocs-material.json index 31f5b81..de092a5 100644 --- a/mkdocs/docs/assets/repo-data/squidfunk-mkdocs-material.json +++ b/mkdocs/docs/assets/repo-data/squidfunk-mkdocs-material.json @@ -4,13 +4,13 @@ "description": "Documentation that simply works", "html_url": "https://github.com/squidfunk/mkdocs-material", "language": "Python", - "stars_count": 23759, - "forks_count": 3783, + "stars_count": 23763, + "forks_count": 3786, "open_issues_count": 4, - "updated_at": "2025-07-01T00:38:44Z", + "updated_at": "2025-07-01T13:38:53Z", "created_at": "2016-01-28T22:09:23Z", "clone_url": "https://github.com/squidfunk/mkdocs-material.git", "ssh_url": "git@github.com:squidfunk/mkdocs-material.git", "default_branch": "master", - "last_build_update": "2025-06-29T16:43:26Z" + "last_build_update": "2025-07-01T12:56:28Z" } \ No newline at end of file diff --git a/mkdocs/docs/build/index.md b/mkdocs/docs/build/index.md index a431200..608f005 100644 --- a/mkdocs/docs/build/index.md +++ b/mkdocs/docs/build/index.md @@ -224,9 +224,15 @@ Once services are running, access them locally: - **NocoDB**: [http://localhost:8090](http://localhost:8090) β€” No-code database ### πŸ› οΈ Interactive Tools -- **Map Viewer**: [http://localhost:3000](http://localhost:3000) β€” Geographic data visualization - **Mini QR**: [http://localhost:8089](http://localhost:8089) β€” QR code generator +## Map + +!!! warning "Map" + Map is the canvassing application that is custom view of nocodb data. Map is best built **after production deployment** to reduce duplicate build efforts. + +### [Map Manual](map.md) + ## Production Deployment ### Deploy with Cloudflare Tunnels diff --git a/mkdocs/docs/build/map.md b/mkdocs/docs/build/map.md new file mode 100644 index 0000000..45131d4 --- /dev/null +++ b/mkdocs/docs/build/map.md @@ -0,0 +1,143 @@ +# Map + +Map is BNKops canvassing application. It is built from the ground up to serve our community (Edmonton). + +## Prerequisites +- Docker and Docker Compose installed +- NocoDB instance with API access +- Domain name (optional but recommended for production) + +## NocoDB Table Setup + +### Required Columns +Create a table in NocoDB with these required columns. The format here is the `Name of the column - column type - details`: + +1. **Geo Location** (geo-data) - Format: "latitude;longitude" +2. **latitude** (Decimal) - Precision: 10, Scale: 8 +3. **longitude** (Decimal) - Precision: 11, Scale: 8 + +### Recommended Columns + +- First Name (Text) +- Last Name (Text) +- Email (Email) +- Phone (Phone) +- Unit Number (Text) +- Address (LongText) +- Support Level (Single Select) - Values (only enter numbers): + - 1 `Strong Support (Green)` + - 2 `Moderate Support (Yellow)` + - 3 `Low Support (Orange)` + - 4 `No Support (Red)` +- Sign (Checkbox) +- Sign Size (Single Select) - Values: Small, Medium, Large +- Notes (LongText) + +## Login Sheet Setup +Create a separate table for authorized users with: +- Email (Email) - Primary column +- Name (Text) - Optional + +## API Token Setup + +1. In NocoDB, click user icon β†’ Account Settings +2. Go to "API Tokens" tab +3. Create new token with read/write permissions for both tables + +## 6. Finding NocoDB IDs + +- **Project and Table IDs**: Use the full NocoDB view URL in `NOCODB_VIEW_URL` +- **Login Sheet ID**: Use the full URL to your login sheet in `NOCODB_LOGIN_SHEET` + +## Environment Configuration + +!!! note "Config" + The `./config.sh` should have created a new `.env` file. If `.env` file is present, and it has properly defined domain, skip to step 2 + +1. Copy the example env file: + +```bash +cp .env.example .env +``` + +2. Edit .env with your NocoDB details: +```env +NOCODB_API_URL=https://your-nocodb-instance.com/api/v1 +NOCODB_API_TOKEN=your-api-token-here +NOCODB_VIEW_URL=https://your-nocodb-instance.com/dashboard/#/nc/project-id/table-id +NOCODB_LOGIN_SHEET=https://your-nocodb-instance.com/dashboard/#/nc/project-id/login-sheet-id + +# Server Configuration +PORT=3000 +NODE_ENV=production + +# Session Secret (generate with: openssl rand -hex 32) +SESSION_SECRET=your-secure-random-string + +# Map Defaults +DEFAULT_LAT=53.5461 +DEFAULT_LNG=-113.4938 +DEFAULT_ZOOM=11 + +# Optional: Map Boundaries +# BOUND_NORTH=53.7 +# BOUND_SOUTH=53.4 +# BOUND_EAST=-113.3 +# BOUND_WEST=-113.7 + +# Domain Settings (for cookies) +COOKIE_DOMAIN=.yourdomain.com +ALLOWED_ORIGINS=https://map.yourdomain.com,http://localhost:3000 +``` + +## Running the Application + +### Development Mode +```bash +cd app +npm install +npm run dev +``` + +### Production with Docker +```bash +docker-compose up -d +``` + +## First Run + +1. Access the application at `http://localhost:3000` (or your domain) +2. Login with an email from your authorized users list +3. Verify locations appear on the map + +## Maintenance + +- To clear the geocoding cache, restart the application +- To update the application: + ```bash + docker-compose down + git pull origin main + docker-compose up -d --build + ``` + +## Troubleshooting + +- **Locations not showing**: Verify table has required columns and API token has read permissions +- **Cannot add locations**: Check API token has write permissions +- **Authentication issues**: Verify login sheet is properly configured + +## Security Recommendations + +1. Use HTTPS in production +2. Regularly rotate API tokens +3. Restrict API token permissions to only what's needed +4. Set appropriate CORS and cookie domains +5. Keep dependencies updated + +The application will automatically: + +- Parse project/table IDs from view URLs +- Sync geo fields between different formats +- Cache geocoding results for performance +- Rate limit API endpoints +- Validate all inputs \ No newline at end of file diff --git a/mkdocs/docs/overrides/home.html b/mkdocs/docs/overrides/home.html index 7508dcb..a81bc0f 100644 --- a/mkdocs/docs/overrides/home.html +++ b/mkdocs/docs/overrides/home.html @@ -17,8 +17,8 @@
🀯 This Site Runs On Changemaker Lite
-

The Only Free and Open Source Political Campaign Stack

-

Stop paying thousands of dollars a month to corporate platforms just to be surveilled and your supports data sold to the highest bidder. Run your entire political campaign on ~$200 hardware and +

The Only Free and Open Source Political Campaign Platform

+

Stop paying thousands of dollars a month to corporate platforms just to be surveilled. Your supporters data deserves better. Run your entire political campaign on ~$200 hardware and with fewer corporate dependencies every day.

@@ -37,7 +37,7 @@
πŸ‘οΈ Surveillance: Always on
πŸ”’ Vendor lock-in: Trapped forever
πŸ“‰ Data ownership: Not yours
-
😠 Implicitly Supporting Evil Corporations
+
😠 Implicitly Supporting Evil Corporations
diff --git a/mkdocs/docs/cost-comparison.md b/mkdocs/docs/phil/cost-comparison.md similarity index 98% rename from mkdocs/docs/cost-comparison.md rename to mkdocs/docs/phil/cost-comparison.md index 95f7b94..635ca66 100644 --- a/mkdocs/docs/cost-comparison.md +++ b/mkdocs/docs/phil/cost-comparison.md @@ -200,4 +200,4 @@ Most campaigns recover their entire first-year investment in **60-90 days** thro --- -*Ready to stop feeding your budget to corporate surveillance? [Get started with Changemaker Lite today](./build/index.md) and take control of your digital infrastructure.* +*Ready to stop feeding your budget to corporate surveillance? [Get started with Changemaker Lite today](../build/index.md) and take control of your digital infrastructure.* diff --git a/mkdocs/docs/phil/index.md b/mkdocs/docs/phil/index.md index 439ed0c..4487a79 100644 --- a/mkdocs/docs/phil/index.md +++ b/mkdocs/docs/phil/index.md @@ -38,9 +38,9 @@ Corporate platforms don't make money from your subscription feesβ€”they make mon ### Our Principles -#### πŸ³οΈβ€βš§οΈ πŸ‡΅πŸ‡Έ Liberation First +#### πŸ³οΈβ€βš§οΈ πŸ³οΈβ€πŸŒˆ πŸ‡΅πŸ‡Έ Liberation First -Technology that centers the most marginalized voices and fights for collective liberation. Trans rights are human rights, and our tools reflect this commitment. +Technology that centers the most marginalized voices and fights for collective liberation. We believe strongly that the medium is the message; if you the use the medium of fascists, what does that say about your movement? #### 🀝 Community Over Profit diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index 4ffb695..b9e6167 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -151,10 +151,11 @@ nav: - How To Not Get Got Making Content: https://docs.bnkops.com/archive/repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/How%20not%20to%20get%20got%20making%20content%20v2/ - Digital Organizing: https://docs.bnkops.com/archive/repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Distributed%20Digital%20Organizing%20is%20The%20Way%20Out/#why-not-give-it-a-shot - What is Security Culture: https://docs.bnkops.com/archive/repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/What%20Is%20Security%20Culture%20%E2%98%A0/#what-is-security-culture - - Cost Comparison: cost-comparison.md + - Cost Comparison: phil/cost-comparison.md - Getting Started: - build/index.md - Build Server: build/build-server.md + - Build Map: build/map.md - Services: - services/index.md - Homepage: services/homepage.md diff --git a/mkdocs/site/404.html b/mkdocs/site/404.html index d8adddd..880f8cb 100644 --- a/mkdocs/site/404.html +++ b/mkdocs/site/404.html @@ -472,6 +472,8 @@ Changemaker Archive. Learn more + + diff --git a/mkdocs/site/assets/images/social/build/map.png b/mkdocs/site/assets/images/social/build/map.png new file mode 100644 index 0000000..dc579a3 Binary files /dev/null and b/mkdocs/site/assets/images/social/build/map.png differ diff --git a/mkdocs/site/assets/images/social/cost-comparison.png b/mkdocs/site/assets/images/social/phil/cost-comparison.png similarity index 100% rename from mkdocs/site/assets/images/social/cost-comparison.png rename to mkdocs/site/assets/images/social/phil/cost-comparison.png diff --git a/mkdocs/site/assets/repo-data/admin-changemaker.lite.json b/mkdocs/site/assets/repo-data/admin-changemaker.lite.json index 5951a1f..f409dbc 100644 --- a/mkdocs/site/assets/repo-data/admin-changemaker.lite.json +++ b/mkdocs/site/assets/repo-data/admin-changemaker.lite.json @@ -7,10 +7,10 @@ "stars_count": 0, "forks_count": 0, "open_issues_count": 0, - "updated_at": "2025-06-30T15:50:33-06:00", + "updated_at": "2025-06-30T21:38:32-06:00", "created_at": "2025-05-28T14:54:59-06:00", "clone_url": "https://gitea.bnkops.com/admin/changemaker.lite.git", "ssh_url": "git@gitea.bnkops.com:admin/changemaker.lite.git", "default_branch": "main", - "last_build_update": "2025-06-30T15:50:33-06:00" + "last_build_update": "2025-06-30T21:38:32-06:00" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/coder-code-server.json b/mkdocs/site/assets/repo-data/coder-code-server.json index 83a08f7..3e3c526 100644 --- a/mkdocs/site/assets/repo-data/coder-code-server.json +++ b/mkdocs/site/assets/repo-data/coder-code-server.json @@ -4,13 +4,13 @@ "description": "VS Code in the browser", "html_url": "https://github.com/coder/code-server", "language": "TypeScript", - "stars_count": 72492, - "forks_count": 6060, - "open_issues_count": 132, - "updated_at": "2025-06-30T22:24:27Z", + "stars_count": 72508, + "forks_count": 6062, + "open_issues_count": 142, + "updated_at": "2025-07-01T15:16:52Z", "created_at": "2019-02-27T16:50:41Z", "clone_url": "https://github.com/coder/code-server.git", "ssh_url": "git@github.com:coder/code-server.git", "default_branch": "main", - "last_build_update": "2025-06-25T21:18:52Z" + "last_build_update": "2025-07-01T13:04:15Z" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/gethomepage-homepage.json b/mkdocs/site/assets/repo-data/gethomepage-homepage.json index 79fff29..d01b936 100644 --- a/mkdocs/site/assets/repo-data/gethomepage-homepage.json +++ b/mkdocs/site/assets/repo-data/gethomepage-homepage.json @@ -4,13 +4,13 @@ "description": "A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.", "html_url": "https://github.com/gethomepage/homepage", "language": "JavaScript", - "stars_count": 24565, - "forks_count": 1520, + "stars_count": 24583, + "forks_count": 1519, "open_issues_count": 1, - "updated_at": "2025-06-30T20:44:09Z", + "updated_at": "2025-07-01T15:20:04Z", "created_at": "2022-08-24T07:29:42Z", "clone_url": "https://github.com/gethomepage/homepage.git", "ssh_url": "git@github.com:gethomepage/homepage.git", "default_branch": "dev", - "last_build_update": "2025-06-30T12:13:58Z" + "last_build_update": "2025-07-01T12:14:06Z" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/go-gitea-gitea.json b/mkdocs/site/assets/repo-data/go-gitea-gitea.json index 9c163a7..e96b370 100644 --- a/mkdocs/site/assets/repo-data/go-gitea-gitea.json +++ b/mkdocs/site/assets/repo-data/go-gitea-gitea.json @@ -4,13 +4,13 @@ "description": "Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD", "html_url": "https://github.com/go-gitea/gitea", "language": "Go", - "stars_count": 49312, - "forks_count": 5886, - "open_issues_count": 2714, - "updated_at": "2025-06-30T22:55:41Z", + "stars_count": 49327, + "forks_count": 5887, + "open_issues_count": 2706, + "updated_at": "2025-07-01T14:28:19Z", "created_at": "2016-11-01T02:13:26Z", "clone_url": "https://github.com/go-gitea/gitea.git", "ssh_url": "git@github.com:go-gitea/gitea.git", "default_branch": "main", - "last_build_update": "2025-06-30T22:55:36Z" + "last_build_update": "2025-07-01T13:44:05Z" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/knadh-listmonk.json b/mkdocs/site/assets/repo-data/knadh-listmonk.json index 907af47..184a06c 100644 --- a/mkdocs/site/assets/repo-data/knadh-listmonk.json +++ b/mkdocs/site/assets/repo-data/knadh-listmonk.json @@ -4,10 +4,10 @@ "description": "High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.", "html_url": "https://github.com/knadh/listmonk", "language": "Go", - "stars_count": 17238, + "stars_count": 17242, "forks_count": 1657, - "open_issues_count": 103, - "updated_at": "2025-06-30T20:57:12Z", + "open_issues_count": 104, + "updated_at": "2025-07-01T14:26:50Z", "created_at": "2019-06-26T05:08:39Z", "clone_url": "https://github.com/knadh/listmonk.git", "ssh_url": "git@github.com:knadh/listmonk.git", diff --git a/mkdocs/site/assets/repo-data/lyqht-mini-qr.json b/mkdocs/site/assets/repo-data/lyqht-mini-qr.json index 429498f..2b77d76 100644 --- a/mkdocs/site/assets/repo-data/lyqht-mini-qr.json +++ b/mkdocs/site/assets/repo-data/lyqht-mini-qr.json @@ -6,11 +6,11 @@ "language": "Vue", "stars_count": 1254, "forks_count": 164, - "open_issues_count": 14, - "updated_at": "2025-06-30T20:22:20Z", + "open_issues_count": 13, + "updated_at": "2025-07-01T14:06:12Z", "created_at": "2023-04-21T14:20:14Z", "clone_url": "https://github.com/lyqht/mini-qr.git", "ssh_url": "git@github.com:lyqht/mini-qr.git", "default_branch": "main", - "last_build_update": "2025-06-23T05:55:30Z" + "last_build_update": "2025-07-01T14:06:08Z" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/n8n-io-n8n.json b/mkdocs/site/assets/repo-data/n8n-io-n8n.json index 1819e61..11ee4cb 100644 --- a/mkdocs/site/assets/repo-data/n8n-io-n8n.json +++ b/mkdocs/site/assets/repo-data/n8n-io-n8n.json @@ -4,13 +4,13 @@ "description": "Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.", "html_url": "https://github.com/n8n-io/n8n", "language": "TypeScript", - "stars_count": 113638, - "forks_count": 33255, - "open_issues_count": 1062, - "updated_at": "2025-06-30T23:17:40Z", + "stars_count": 113903, + "forks_count": 33364, + "open_issues_count": 1058, + "updated_at": "2025-07-01T15:22:32Z", "created_at": "2019-06-22T09:24:21Z", "clone_url": "https://github.com/n8n-io/n8n.git", "ssh_url": "git@github.com:n8n-io/n8n.git", "default_branch": "master", - "last_build_update": "2025-06-30T20:59:49Z" + "last_build_update": "2025-07-01T15:23:16Z" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/nocodb-nocodb.json b/mkdocs/site/assets/repo-data/nocodb-nocodb.json index 12d5dcd..d270c13 100644 --- a/mkdocs/site/assets/repo-data/nocodb-nocodb.json +++ b/mkdocs/site/assets/repo-data/nocodb-nocodb.json @@ -4,13 +4,13 @@ "description": "\ud83d\udd25 \ud83d\udd25 \ud83d\udd25 Open Source Airtable Alternative", "html_url": "https://github.com/nocodb/nocodb", "language": "TypeScript", - "stars_count": 55467, - "forks_count": 3981, + "stars_count": 55480, + "forks_count": 3987, "open_issues_count": 714, - "updated_at": "2025-06-30T23:16:30Z", + "updated_at": "2025-07-01T14:03:05Z", "created_at": "2017-10-29T18:51:48Z", "clone_url": "https://github.com/nocodb/nocodb.git", "ssh_url": "git@github.com:nocodb/nocodb.git", "default_branch": "develop", - "last_build_update": "2025-06-30T23:13:56Z" + "last_build_update": "2025-07-01T14:26:19Z" } \ No newline at end of file diff --git a/mkdocs/site/assets/repo-data/squidfunk-mkdocs-material.json b/mkdocs/site/assets/repo-data/squidfunk-mkdocs-material.json index 6e46b4d..de092a5 100644 --- a/mkdocs/site/assets/repo-data/squidfunk-mkdocs-material.json +++ b/mkdocs/site/assets/repo-data/squidfunk-mkdocs-material.json @@ -4,13 +4,13 @@ "description": "Documentation that simply works", "html_url": "https://github.com/squidfunk/mkdocs-material", "language": "Python", - "stars_count": 23757, - "forks_count": 3783, + "stars_count": 23763, + "forks_count": 3786, "open_issues_count": 4, - "updated_at": "2025-06-30T21:37:52Z", + "updated_at": "2025-07-01T13:38:53Z", "created_at": "2016-01-28T22:09:23Z", "clone_url": "https://github.com/squidfunk/mkdocs-material.git", "ssh_url": "git@github.com:squidfunk/mkdocs-material.git", "default_branch": "master", - "last_build_update": "2025-06-29T16:43:26Z" + "last_build_update": "2025-07-01T12:56:28Z" } \ No newline at end of file diff --git a/mkdocs/site/blog/index.html b/mkdocs/site/blog/index.html index 522de76..9f07124 100644 --- a/mkdocs/site/blog/index.html +++ b/mkdocs/site/blog/index.html @@ -504,6 +504,8 @@ Changemaker Archive. Learn more + + diff --git a/mkdocs/site/build/build-server/index.html b/mkdocs/site/build/build-server/index.html index 6a4eec5..7ab5428 100644 --- a/mkdocs/site/build/build-server/index.html +++ b/mkdocs/site/build/build-server/index.html @@ -18,7 +18,7 @@ - + @@ -513,6 +513,8 @@ Changemaker Archive. Learn more + + @@ -885,6 +887,29 @@ Changemaker Archive. Learn more +
  • + + + + + + Build Map + + + + + +
  • + + + + + + + + + + @@ -934,7 +959,7 @@ Changemaker Archive. Learn more - + -