Engage page rebranding/improvements#16229
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Engage page templates and resource-listing behavior as part of a Discourse proof-of-concept, including layout changes and a new “Additional resources” section powered by the /engage/resources.json endpoint.
Changes:
- Refactors
templates/engage/base.htmllayout (hero + grid) and adds a sticky right column plus a new resources section/template. - Extends
static/js/src/resources.jsto support custom templates and additional rendering behavior (fallback image, resource type, dividers). - Adjusts Engage Marketo form templates (fieldset border styling) and switches
canonicalwebteam.discourseto a Git branch dependency.
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| templates/engage/shared/_en_engage_form.html | Refactors Marketo form markup and CTA styling. |
| templates/engage/shared/_de_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_es_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_it_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_kr_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_pt_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_ru_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_tr_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/shared/_zh-TW_engage_form.html | Removes fieldset border via inline style. |
| templates/engage/base.html | Reworks Engage page structure, adds sticky form column and “Additional resources” rendering. |
| templates/engage/base_engage.html | Changes default nav visibility on Engage pages. |
| static/sass/styles.scss | Adds .u-sticky-col utility for sticky grid columns. |
| static/js/src/resources.js | Adds support for custom templates, fallback images, resource type output, and dividers. |
| requirements.txt | Replaces pinned Discourse dependency with a Git branch reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks @petesfrench!! Could you set up example pages with an image in the hero? Also perhaps recreating an events/roadshow and webinar page to see what the new layout looks like for those page types (designs here btw).
Responsiveness:
|
I don't understand this one.
This happened when a heading is below a |
|
Thanks @petesfrench! Are the BrightTalk embeds in webinars not showing because of the demo? (example) General:
Forms and primary CTA:
Screen.Recording.2026-04-29.at.13.32.44.movHero:
Responsiveness
|
308c659 to
78274c8
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #16229 +/- ##
=======================================
Coverage 48.33% 48.33%
=======================================
Files 37 37
Lines 5905 5905
=======================================
Hits 2854 2854
Misses 3051 3051 🚀 New features to boost your workflow:
|
|
Thanks @petesfrench! As mentioned on MM I have a wider q on how we're using the primary_cta field for the button on the right in case there are no forms. For example here, since the primary_cta related fields are currently being used as anchor links in the hero, the button takes you to a #register-section that isn't on the page. I'm not sure what's technically feasible but the idea was to house URLs in the primary_link field (meeting notes). Does it introduce too much complexity to reuse an existing field in a different way? Should we instead set up new fields on Discourse for this button on the right and remove the guidelines around using the primary_cta field so we don't break this functionality for existing pages? Other than that -
Forms:
Related pages section:
|
| const fetchAndRenderResources = ( | ||
| tag = "", | ||
| resource = "", | ||
| language = "", |
There was a problem hiding this comment.
The language param isn't used, are there plans to implement it later? Also with this change, the JSDoc above no longer reflects the method accurately.
| {% if metadata["webinar_date"] is defined %} | ||
| {% if not metadata["webinar_date"] | date_has_passed %} | ||
| {% include "engage/shared/_webinar-embed.html" %} | ||
| {% endif %} | ||
| {% else %} | ||
| {% include "engage/shared/_webinar-embed.html" %} | ||
| {% endif %} |
There was a problem hiding this comment.
Is there a valid case where only webinar_date is present without youtube_id and vimeo_id? In that case we wouldn't be handling the deep padding correctly.









Done
QA
whitepaper
blog
roadshow
Issue / Card
Fixes
https://warthogs.atlassian.net/browse/WD-35872
https://warthogs.atlassian.net/browse/WD-21992