Skip to content

Updated website with a new homepage, animated backgrounds, config wizard and events tab#44

Open
susface wants to merge 4 commits into
CentralValleyMesh:mainfrom
susface:main
Open

Updated website with a new homepage, animated backgrounds, config wizard and events tab#44
susface wants to merge 4 commits into
CentralValleyMesh:mainfrom
susface:main

Conversation

@susface
Copy link
Copy Markdown

@susface susface commented Mar 23, 2026

so here is a list of everything i have added

  1. the homepage has been redesigned to to learn more into the whole mesh network with a interactive background of connection webs that have a line that will always connect to where your mouse currently is, signifying of course a mesh device moving throughout the network. also added here is a iframe of the mesh network map that you can use and see where connections currently are, also glassmorphism design was integrated into the whole front page design.
  2. animated backgrounds for each section. as was said before now the backgrounds of websites are no longer static and have a animation to them, nothing crazy of course but it makes them feel alive and each section of the site has a unique background.
  3. node configuration generator wizard. on the docs page i have added a interactive cli command generator so that anyone who joins and sets up their device can have the settings best suited for use in the mesh.
  4. hardware bounty board. located in the community tab there is now a new section called hardware bounty board where we can post bounties for places and materials that we need to further expand/ strengthen the mesh.
  5. the new events section. as i have been hearing in the discord there are plans of doing things as a community and so for that i have added the events sections to the site so we can more cleanly have these events here for when they do happen, also clicking on the dates for the events will automatically add them to your calendar
  6. data from mesh map on the homepage. as it is right now this isn't enabled and can be enabled by simply changing the value from false to true in telemetry.json. this is because it wasnt updating correctly all the time and would most of the time not even show any data, but to not delay this update any further i have left it as disabled so i or someone else can figure it out and have the data show up correctly.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refreshes the Hugo/Docsy-based Central Valley Mesh website with a redesigned homepage, new interactive shortcodes (telemetry blocks, recent builds, config wizard), a bounty board area, and a new events section.

Changes:

  • Redesign homepage with a particle hero background, live map embed, telemetry blocks, and recent builds section.
  • Add new docs “Config Generator” page + shortcode wizard for generating Meshtastic CLI commands.
  • Add events section (list template + calendar download) and community bounty board content; update Discord invite links.

Reviewed changes

Copilot reviewed 17 out of 22 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
static/images/earth_exploding.gif Adds a new GIF asset.
layouts/shortcodes/telemetry_blocks.html Shortcode to optionally render and fetch live telemetry stats.
layouts/shortcodes/recent_builds.html Shortcode to show a “Recent User Builds” card grid.
layouts/shortcodes/config-generator.html Shortcode implementing a 3-step CLI config wizard.
layouts/partials/hooks/head-end.html Adds section-based animated background CSS in the document head.
layouts/events/list.html Custom events list template with downloadable ICS invite links.
hugo.yaml Fixes YAML structure and updates Discord invite URL in params.
data/telemetry.json Introduces a show toggle for telemetry blocks.
content/en/events/_index.md Adds events section landing page content.
content/en/docs/faq.md Updates Discord invite link in FAQ.
content/en/docs/configuration/_index.md Adds new docs page that embeds the config generator shortcode.
content/en/docs/_index.md Adjusts docs index content/formatting.
content/en/community/bounty-board/index.md Adds a new bounty board page under Community.
content/en/community/_index.md Redesigns community landing content and adds bounty board CTA.
content/en/builds/_index.md Updates builds index and Discord invite link.
content/en/about/index.md Redesigns About page with animated background and glassmorphism card.
content/en/_index.md Major homepage redesign with new sections, embeds, and scripts.
assets/icons/logo.svg Adds an SVG wrapper referencing the existing PNG icon.
README.md Touches README formatting (Discord link still present).
.gitignore Adds ignores for additional generated/temporary files.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread layouts/shortcodes/recent_builds.html Outdated
Comment thread layouts/shortcodes/recent_builds.html Outdated
Comment thread layouts/events/list.html Outdated
Comment thread content/en/builds/_index.md
Comment thread content/en/_index.md
Comment thread content/en/_index.md Outdated
Comment thread content/en/_index.md
Comment thread README.md
Comment thread content/en/events/_index.md Outdated
Comment thread content/en/docs/_index.md
Copy link
Copy Markdown
Author

@susface susface left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should fix all the bigger issues

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 22 changed files in this pull request and generated 8 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +36 to +40
<style>
.card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 25px rgba(0,0,0,0.1) !important;
}
Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hover CSS is written as .card:hover, which will affect every Bootstrap card on any page where this shortcode is rendered (not just the build cards). Consider scoping the selector to this component (e.g., a wrapper class on this shortcode) to avoid unintended global styling changes.

Copilot uses AI. Check for mistakes.
Comment on lines +50 to +53
const proxyUrl = 'https://api.allorigins.win/raw?url=' + encodeURIComponent(targetUrl);

fetch(proxyUrl)
.then(response => response.json())
Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This telemetry fetch relies on api.allorigins.win as a third-party CORS proxy. That adds a hard external dependency and sends visitor IP/user agent to a proxy outside the site’s control; it may also break if the proxy rate-limits or changes behavior. Prefer calling the stats API from a site-controlled endpoint (e.g., Netlify/Cloudflare function) or enabling CORS on the upstream API.

Suggested change
const proxyUrl = 'https://api.allorigins.win/raw?url=' + encodeURIComponent(targetUrl);
fetch(proxyUrl)
.then(response => response.json())
fetch(targetUrl)
.then(response => {
if (!response.ok) {
throw new Error('HTTP error ' + response.status);
}
return response.json();
})

Copilot uses AI. Check for mistakes.
Comment thread layouts/events/list.html
Comment on lines +27 to +33
{{/* Event start/end using actual time; DTEND kept as +1 day like before */}}
{{ $dtstart := .Date.Format "20060102T150405" }}
{{ $dtend := .Date.AddDate 0 0 1 | time.Format "20060102T150405" }}
{{/* DTSTAMP in UTC as required by RFC 5545 */}}
{{ $dtstamp := now.UTC.Format "20060102T150405Z" }}
{{/* Build ICS with CRLF line endings */}}
{{ $ics := printf "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//%s//EN\r\nBEGIN:VEVENT\r\nUID:%s\r\nDTSTAMP:%s\r\nSUMMARY:%s\r\nDTSTART:%s\r\nDTEND:%s\r\nURL:%s\r\nDESCRIPTION:%s\r\nEND:VEVENT\r\nEND:VCALENDAR" .Site.Title $uid $dtstamp $summary $dtstart $dtend .Permalink $description }}
Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DTSTART/DTEND are emitted as DATE-TIME values without a timezone designator (e.g., trailing Z) or TZID=.... In RFC 5545 this becomes a “floating time” and will be interpreted differently depending on the user’s calendar/timezone. Consider formatting these in UTC with a Z suffix, or adding an explicit TZID parameter if events are meant to be local time.

Copilot uses AI. Check for mistakes.
Comment thread content/en/docs/_index.md
Comment on lines +6 to 9
---



Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page includes an extra standalone --- line immediately after the front matter, which renders as a horizontal rule before the first heading. If that’s not intentional, remove the stray separator to avoid unexpected layout/content.

Suggested change
---

Copilot uses AI. Check for mistakes.
Comment on lines +6 to 9
---



Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page includes an extra standalone --- line immediately after the front matter, which renders as a horizontal rule before the content. If that’s not intentional, remove the stray separator to avoid unexpected layout/content.

Suggested change
---

Copilot uses AI. Check for mistakes.
Comment on lines +17 to +31
.option-btn {
border: 2px solid #1dd1a1;
background: transparent;
color: inherit;
border-radius: 10px;
padding: 1.25rem;
margin-bottom: 1rem;
width: 100%;
text-align: left;
transition: all 0.2s;
cursor: pointer;
}
.option-btn:hover { background: rgba(29, 209, 161, 0.1); transform: translateX(5px); }
.option-btn.selected { background: #1dd1a1; color: #fff; box-shadow: 0 4px 15px rgba(29, 209, 161, 0.4); }
.cli-box {
Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CSS defines a .option-btn.selected state, but the script never adds/removes the selected class on option buttons. Either implement toggling so the UI reflects the user’s current selection, or remove the unused styling to keep the shortcode maintainable.

Copilot uses AI. Check for mistakes.
Comment thread content/en/_index.md
</div>

<div class="card border-0 shadow-lg" style="border-radius: 20px; overflow: hidden; height: 650px; background: #0f172a;">
<iframe src="https://meshinfo.cvme.sh/map" width="100%" height="100%" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This iframe embeds a third-party site without any sandboxing or referrer policy. If you don't need same-origin capabilities, consider adding a restrictive sandbox attribute and referrerpolicy to reduce the security/privacy surface of the embed.

Suggested change
<iframe src="https://meshinfo.cvme.sh/map" width="100%" height="100%" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
<iframe src="https://meshinfo.cvme.sh/map" width="100%" height="100%" style="border:0;" allowfullscreen="" loading="lazy" sandbox="allow-scripts allow-forms allow-popups allow-top-navigation-by-user-activation" referrerpolicy="strict-origin-when-cross-origin"></iframe>

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +3
{{ if eq .Section "docs" }}
<style>
/* Blueprint Grid for Docs */
Copy link

Copilot AI Apr 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description mentions animated backgrounds for each site section, but this hook currently only adds section-specific animated backgrounds for docs, builds, and community (and nothing for events, etc.). If the intent is truly “each section”, consider extending this to the other sections or adjusting the description to match what’s implemented.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants