Grafts the ECHOcommunity website's header, navigation, language switcher, and footer onto the
Discourse forum so conversations.echocommunity.org looks and navigates like the rest of
echocommunity.org.
Part of the ECHOcommunity Discourse setup — the self-hosted Discourse at
conversations.echocommunity.org. Family: infrastructure · echo-login · echo-locale · echo-nav · ECHOcommunity (main site)
The main site exposes its chrome at /{locale}/remote/{header,navigation,language,footer}. This
plugin pulls that markup into Discourse's pages (server-side) and re-implements the small amount of
front-end behavior the markup needs, so the forum carries the same branding/nav as the main site.
- Server-side injection:
register_html_builder('server:header')and('server:before-body-close')fetch the remote header/navigation/language/footer fromwww.echocommunity.org/{I18n.locale}/remote/*, wrap them in.echocommunity_core, and cache them inRails.cache(1 day per locale). - Front-end behavior (
assets/javascripts/discourse/initializers/echo-nav.js, auto-loaded): the remote markup is Bootstrap 3, so the initializer re-implements its dropdowns / mobile collapse, swaps Font Awesome classes for Discourse's SVG sprite icons (incl. the FA6search → magnifying-glassrename), and runs the search-mode switcher — all scoped to.echocommunity_coreso Discourse's own UI is untouched. stylesheets/echo-nav.css: a namespaced snapshot of the main site's compiled styles.
- Discourse v2026.1 (ESR) — Rails 8 / Ruby 3.4.
- Production branch:
v2026.1-compat(currently v3.0.2) — what the deploy clones. - v2026.1 specifics handled: FA6 icon rename (
magnifying-glass); interactive JS lives in an auto-loaded initializer (plainregister_assetJS is compiled to unused AMD modules and never runs on modern Discourse). SeeCLAUDE.mdfor deeper architecture notes. - Note:
mastercurrently matchesv2026.1-compat(the upgrade PR was merged here).
In the Discourse container config / CloudFormation after_code hook:
- git clone --branch v2026.1-compat https://github.com/ECHOInternational/discourse-echo-nav.git- The header/footer markup and CSS are tightly coupled to the main site's output — if
echocommunity.org changes its
/remote/*markup or rebrands, styling/JS here may need updating.