diff --git a/templates/v3/examples/_v3_example_section.html b/templates/v3/examples/_v3_example_section.html
index 021b5d17c..2321d80b2 100644
--- a/templates/v3/examples/_v3_example_section.html
+++ b/templates/v3/examples/_v3_example_section.html
@@ -1,14 +1,10 @@
{% comment %}V3 examples section for testing. To be removed – everything under v3/examples/ is disposable.{% endcomment %}
V3 Examples for testing
-
Buttons
-
- {% include "v3/examples/_v3_example_buttons_block.html" %}
-
+
{% include "v3/examples/_v3_example_buttons_block.html" %}
-
Tooltip button
@@ -26,7 +22,6 @@
Tooltip button
-
Avatar
@@ -111,37 +106,28 @@
Avatar
-
-
-
Carousel buttons
-
- {% include "v3/includes/_carousel_buttons.html" %}
-
+
{% include "v3/includes/_carousel_buttons.html" %}
-
Detail card carousel
{% include "v3/includes/_cards_carousel_v3.html" with carousel_id="post-cards-carousel-demo" heading="Libraries categories" cards=demo_cards_carousel_cards %}
-
Detail card carousel with autoplay
{% include "v3/includes/_cards_carousel_v3.html" with carousel_id="post-cards-carousel-demo-autoplay" heading="Libraries categories" cards=demo_cards_carousel_cards autoplay=True autoplay_delay=5000 %}
-
Detail card carousel with infinite looping and autoplay
{% include "v3/includes/_cards_carousel_v3.html" with carousel_id="post-cards-carousel-demo-infinite-autoplay" heading="Libraries categories" cards=demo_cards_carousel_cards infinite=True autoplay=True autoplay_delay=5000 %}
+ {% include "v3/includes/_button.html" with label="View all posts" url="#" %}
-
Detail card (single)
@@ -181,72 +166,82 @@
Detail card (single)
{% endwith %}
-
Search Card
{% include "v3/includes/_search_card.html" with heading="What are you trying to find?" action_url="#" popular_terms=popular_terms %}
-
{% if library_intro %}
-
-
Library Intro Card
-
- {% with intro=library_intro %}
- {% include "v3/includes/_library_intro_card.html" with library_name=intro.library_name description=intro.description authors=intro.authors cta_url=intro.cta_url %}
- {% endwith %}
+
+
Library Intro Card
+
+ {% with intro=library_intro %}
+ {% include "v3/includes/_library_intro_card.html" with library_name=intro.library_name description=intro.description authors=intro.authors cta_url=intro.cta_url %}
+ {% endwith %}
+
-
{% endif %}
-
{% if example_library_choices %}
-
-
Commits per release (by library)
-
-
- {% if example_library_not_found %}
-
Library “{{ example_library_not_found }}” not found.
- {% elif example_library_commits_bars %}
-
- {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="default" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
- {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="yellow" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
- {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="green" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
- {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="teal" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
-
-
-
Full width
- {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Takes full width of container; up to 20 bars." bars=example_library_commits_bars theme="green" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
-
-
-
-
5 bars only
- {% with example_bars_5=example_library_commits_bars|slice:":5" %}
- {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Same data limited to 5 bars." bars=example_bars_5 theme="teal" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
- {% endwith %}
+
+
Commits per release (by library)
+
+
+ {% if example_library_not_found %}
+
Library “{{ example_library_not_found }}” not found.
+ {% elif example_library_commits_bars %}
+
+ {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="default" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
+ {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="yellow" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
+ {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="green" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
+ {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Commit count by Boost release for this library." bars=example_library_commits_bars theme="teal" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
-
- {% endif %}
+
+
Full width
+ {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Takes full width of container; up to 20 bars." bars=example_library_commits_bars theme="green" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
+
+
+
+
5 bars only
+ {% with example_bars_5=example_library_commits_bars|slice:":5" %}
+ {% include "v3/includes/_stats_in_numbers.html" with heading="Commits per release" description="Same data limited to 5 bars." bars=example_bars_5 theme="teal" primary_cta_label="View library" primary_cta_url=example_library_detail_url %}
+ {% endwith %}
+
+
+ {% endif %}
+
-
{% endif %}
-
{% include "v3/examples/_v3_example_section_wysiwyg.html" %}
-
Create Account Card
{% include "v3/includes/_create_account_card.html" with heading="Contribute to earn badges, track your progress and grow your impact" body_html=create_account_card_body_html preview_image_url=create_account_card_preview_url cta_url="#" cta_label="Start contributing" %}
-
Form inputs
@@ -260,17 +255,15 @@
Form inputs
-
-
Basic Card
{% with basic_card_data as card %}
-
-
Card with two buttons
- {% include "v3/includes/_basic_card.html" with title=card.title text=card.text primary_button_url=card.primary_button_url primary_button_label=card.primary_button_label secondary_button_url=card.secondary_button_url secondary_button_label=card.secondary_button_label %}
-
Card with one button
- {% include "v3/includes/_basic_card.html" with title=card.title text=card.text primary_button_url=card.primary_button_url primary_button_label=card.primary_button_label %}
-
+
+
Card with two buttons
+ {% include "v3/includes/_basic_card.html" with title=card.title text=card.text primary_button_url=card.primary_button_url primary_button_label=card.primary_button_label secondary_button_url=card.secondary_button_url secondary_button_label=card.secondary_button_label %}
+
Card with one button
+ {% include "v3/includes/_basic_card.html" with title=card.title text=card.text primary_button_url=card.primary_button_url primary_button_label=card.primary_button_label %}
+
{% endwith %}
@@ -291,37 +284,29 @@
Learn Card
{% endwith %}
-
-
+
Testimonial Card
{% include "v3/includes/_testimonial_card.html" with heading=testimonial_data.heading testimonials=testimonial_data.testimonials %}
-
Thread Archive Card
{% with basic_card_data as card %}
-
- {% include "v3/includes/_thread_archive_card.html" %}
-
+
{% include "v3/includes/_thread_archive_card.html" %}
{% endwith %}
-
Vertical Layout Card
{% with basic_card_data as card %}
-
- {% include "v3/includes/_vertical_card.html" with title=card.title text=card.text primary_button_url=card.primary_button_url primary_button_label=card.primary_button_label primary_style="secondary-grey" image_url=card.image %}
-
+
+ {% include "v3/includes/_vertical_card.html" with title=card.title text=card.text primary_button_url=card.primary_button_url primary_button_label=card.primary_button_label primary_style="secondary-grey" image_url=card.image %}
+
{% endwith %}
-
Mailing List Card
-
- {% include "v3/includes/_mailing_list_card.html" %}
-
+
{% include "v3/includes/_mailing_list_card.html" %}
Why Boost
@@ -345,51 +330,62 @@
Why Boost?
-
Category tags
{% include "v3/includes/_category_cards.html" with show_version_tags=True %}
-
Event cards
-
- {% include "v3/includes/_event_cards.html" %}
-
+
{% include "v3/includes/_event_cards.html" %}
-
Content event list – clickable cards (link wraps each card)
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" card_url="#event-0" card_aria_label="Boost 1.90.0 closed for major changes" event_card_wrapper=False %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" card_url="#event-1" card_aria_label="C++ Now 2025 call for submissions" event_card_wrapper=False %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" card_url="#event-2" card_aria_label="Boost 1.89.0 released" event_card_wrapper=False %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" card_url="#event-0" card_aria_label="Boost 1.90.0 closed for major changes" event_card_wrapper=False %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" card_url="#event-1" card_aria_label="C++ Now 2025 call for submissions" event_card_wrapper=False %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" card_url="#event-2" card_aria_label="Boost 1.89.0 released" event_card_wrapper=False %}
+
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" card_url="#event-0" card_aria_label="Boost 1.90.0 closed for major changes" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" card_url="#event-1" card_aria_label="C++ Now 2025 call for submissions" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" card_url="#event-2" card_aria_label="Boost 1.89.0 released" event_card_wrapper=True %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" card_url="#event-0" card_aria_label="Boost 1.90.0 closed for major changes" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" card_url="#event-1" card_aria_label="C++ Now 2025 call for submissions" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" card_url="#event-2" card_aria_label="Boost 1.89.0 released" event_card_wrapper=True %}
+
{% include "v3/includes/_button.html" with label="View all" url="#" %}
-
Content detail card
@@ -409,7 +405,6 @@
Content detail card
-
Code blocks
diff --git a/templates/v3/includes/_basic_card.html b/templates/v3/includes/_basic_card.html
index 1bed48c2d..6f69f6406 100644
--- a/templates/v3/includes/_basic_card.html
+++ b/templates/v3/includes/_basic_card.html
@@ -6,7 +6,6 @@
Primary Button Url, Label, and Style: Optional. Url is the destination of the button, label is the text of the button, style is from the style list
Secondary Button Url, Label, and Style: Optional, same use as primary
{% endcomment %}
-
{{ title }}
@@ -16,12 +15,12 @@
{{ text }}
-
+
{% if primary_button_url and primary_button_label %}
- {% include 'v3/includes/_button.html' with style=primary_style url=primary_button_url label=primary_button_label extra_classes="btn-flex" only %}
+ {% include "v3/includes/_button.html" with style="primary" url=primary_button_url label=primary_button_label only %}
{% endif %}
{% if secondary_button_url and secondary_button_label %}
- {% include 'v3/includes/_button.html' with style=secondary_style url=secondary_button_url label=secondary_button_label extra_classes="btn-flex" only %}
+ {% include "v3/includes/_button.html" with style="secondary" url=secondary_button_url label=secondary_button_label only %}
{% endif %}
diff --git a/templates/v3/includes/_button.html b/templates/v3/includes/_button.html
index 03c2c2b95..f2cdf7661 100644
--- a/templates/v3/includes/_button.html
+++ b/templates/v3/includes/_button.html
@@ -1,27 +1,32 @@
{% comment %}
V3 foundation button: style able button. Optional leading icon.
Variables:
- label (required),
- url (optional),
- icon_html (optional; HTML for icon, use with |safe),
- type (optional)
- style (optional): Choice between
- - primary
+ - label (required),
+ - url (optional),
+ - icon_html (optional; HTML for icon, use with |safe),
+ - type (optional): button type (e.g. "button", "submit"); defaults to "button" if url is not provided, otherwise "a"
+ - style (optional): Choice between
+ - primary (default)
- secondary
- - primary-outline
- - secondary-grey
- green
- yellow
- teal
- error
- Defaults to primary
- extra classes (optional) : Any extra classes that the button should have, as a string
- aria_label (optional): An optional label for assistive technology. Defaults to the button label
+ - extra_classes (optional) : Any extra classes that the button should have, as a string
+ - aria_label (optional): An optional label for assistive technology. Defaults to the button label
Icon must be wrapped in ....
Usage: {% include "v3/includes/_button.html" with label="Get started" icon_html='' style="secondary" extra_classes="btn-flex" %}
{% endcomment %}
{% if url %}
-{% if icon_html %}{{ icon_html|safe }}{% endif %}{{ label }}
+
+ {% if icon_html %}{{ icon_html|safe }}{% endif %}
+ {{ label }}
{% else %}
-
+
{% endif %}
diff --git a/templates/v3/includes/_button_hero.html b/templates/v3/includes/_button_hero.html
new file mode 100644
index 000000000..2679fab98
--- /dev/null
+++ b/templates/v3/includes/_button_hero.html
@@ -0,0 +1,32 @@
+{% comment %}
+ V3 foundation button: hero (larger, for hero sections). Always includes an icon.
+ Defaults to arrow-right if icon_html is not provided.
+ Variables:
+ - label (required)
+ - url (optional)
+ - icon_name (optional): defaults to "arrow-right". Please use icons from the _icon.html include for consistency.
+ - style (optional): "primary" or "secondary", defaults to "primary"
+ - type (optional)
+ - extra_classes (optional): string of additional styling classes to add to the button
+
+ Usage:
+ {% include "v3/includes/_button_hero.html" with label="Learn more" style="secondary" %}
+ {% include "v3/includes/_button_hero.html" with label="Custom icon" icon_name="get-help" %}
+{% endcomment %}
+{% if url %}
+
+
+ {% include "includes/icon.html" with icon_name=icon_name|default:"arrow-right" icon_size=16 %}
+
+ {{ label }}
+
+{% else %}
+
+{% endif %}
diff --git a/templates/v3/includes/_button_hero_primary.html b/templates/v3/includes/_button_hero_primary.html
deleted file mode 100644
index bd898871e..000000000
--- a/templates/v3/includes/_button_hero_primary.html
+++ /dev/null
@@ -1,11 +0,0 @@
-{% comment %}
- V3 foundation button: hero primary (larger, for hero section). Optional leading icon.
- Variables: label (required), url (optional), icon_html (optional; HTML for icon, use with |safe), type (optional), extra_classes (optional), aria_label(optional).
- Icon must be wrapped in ....
- Usage: {% include "v3/includes/_button_hero_primary.html" with label="Get started" icon_html='' %}
-{% endcomment %}
-{% if url %}
-{% if icon_html %}{{ icon_html|safe }}{% endif %}{{ label }}
-{% else %}
-
-{% endif %}
diff --git a/templates/v3/includes/_button_hero_secondary.html b/templates/v3/includes/_button_hero_secondary.html
deleted file mode 100644
index 17312a423..000000000
--- a/templates/v3/includes/_button_hero_secondary.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{% comment %}
- V3 foundation button: hero secondary.
- Variables: label (required), url (optional), icon_html (optional), type (optional), extra_classes (optional), aria_label (optional).
- Usage: {% include "v3/includes/_button_hero_secondary.html" with label="Learn more" %}
-{% endcomment %}
-{% if url %}
-{% if icon_html %}{{ icon_html|safe }}{% endif %}{{ label }}
-{% else %}
-
-{% endif %}
diff --git a/templates/v3/includes/_code_block_card.html b/templates/v3/includes/_code_block_card.html
index 063f3fb60..d7ae99cd3 100644
--- a/templates/v3/includes/_code_block_card.html
+++ b/templates/v3/includes/_code_block_card.html
@@ -14,15 +14,11 @@
{% endcomment %}
{{ heading }}
- {% if description %}
-
{{ description }}
- {% endif %}
+ {% if description %}
{{ description }}
{% endif %}
{% include "v3/includes/_code_block.html" with code=code code_html=code_html language=language variant=block_variant|default:"grey-bg" %}
{% if button_text %}
-
{{ heading|default:"Contribute to earn badges, track you
-
- {% include "v3/includes/_button.html" with url=cta_url|default:'#' label=cta_label|default:"Start contributing" extra_classes="btn-flex" %}
+
+ {% include "v3/includes/_button.html" with url=cta_url|default:'#' label=cta_label|default:"Start contributing" %}
diff --git a/templates/v3/includes/_event_cards.html b/templates/v3/includes/_event_cards.html
index d19c2cd57..7aa372c68 100644
--- a/templates/v3/includes/_event_cards.html
+++ b/templates/v3/includes/_event_cards.html
@@ -4,7 +4,7 @@
Variables (for dynamic use from view):
event_list (optional) — list of events. Each item: title, description, date, datetime (optional).
- variant (optional) — "white" | "grey" | "yellow" | "beige" | "teal". If omitted, shows the variant gallery.
+ variant (optional) — "white" | "grey" | "yellow" | "green" | "teal". If omitted, shows the variant gallery.
section_heading (optional) — section heading, default "Upcoming Events"
primary_btn_text (optional) — primary button text
primary_btn_url (optional) — primary button URL
@@ -20,90 +20,132 @@
{% if event_list and variant %}
{% include "v3/includes/_event_cards_section.html" with section_heading=section_heading event_list=event_list variant=variant primary_btn_text=primary_btn_text primary_btn_url=primary_btn_url secondary_btn_text=secondary_btn_text secondary_btn_url=secondary_btn_url %}
{% else %}
- {% comment %}Gallery: all 5 variants (white, grey, yellow, beige, teal) with sample content.{% endcomment %}
+ {% comment %}Gallery: all 5 variants (white, grey, yellow, green, teal) with sample content.{% endcomment %}
-
+
Upcoming Events
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=False %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=False %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=False %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=False %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=False %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=False %}
+
+ {% include "v3/includes/_button.html" with label="Download latest release" url="#" style="primary" %}
+ {% include "v3/includes/_button.html" with label="View events calendar" url="#" style="secondary" %}
-
+
Upcoming Events
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_button.html" with label="Primary action" url="#" style="primary" %}
+ {% include "v3/includes/_button.html" with label="Secondary action" url="#" style="secondary" %}
-
+
Upcoming Events
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_button.html" with label="Primary action" url="#" style="yellow" %}
+ {% include "v3/includes/_button.html" with label="Secondary action" url="#" style="secondary" %}
-
-
Upcoming Events
+
+
Upcoming Events
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_button.html" with label="Primary action" url="#" style="green" %}
+ {% include "v3/includes/_button.html" with label="Secondary action" url="#" style="secondary" %}
-
+
Upcoming Events
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True %}
+
+ {% include "v3/includes/_button.html" with label="Primary action" url="#" style="teal" %}
+ {% include "v3/includes/_button.html" with label="Secondary action" url="#" style="secondary" %}
{% comment %}Event cards with clickable cards (link wraps each card).{% endcomment %}
-
+
Upcoming Event
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True card_url="#release-1" card_aria_label="Boost 1.90.0 closed for major changes" %}
-
{% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True card_url="#cpp-now" card_aria_label="C++ Now 2025 call for submissions" %}
-
{% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True card_url="#release-89" card_aria_label="Boost 1.89.0 released" %}
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.90.0 closed for major changes" description="Release closed for major code changes. Still open for serious problem fixes and docs changes without release manager review." date="29/10/25" datetime="29/10/25" event_card_wrapper=True card_url="#release-1" card_aria_label="Boost 1.90.0 closed for major changes" %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="C++ Now 2025 call for submissions" description="C++ Now conference is accepting talk proposals until March 15. Topics include modern C++, Boost libraries, and tooling." date="12/02/25" datetime="12/02/25" event_card_wrapper=True card_url="#cpp-now" card_aria_label="C++ Now 2025 call for submissions" %}
+
+
+ {% include "v3/includes/_content_event_card_item.html" with title="Boost 1.89.0 released" description="Boost 1.89.0 is available with updates to Asio, Beast, and several other libraries. See release notes for details." date="15/01/25" datetime="15/01/25" event_card_wrapper=True card_url="#release-89" card_aria_label="Boost 1.89.0 released" %}
+
- {% include 'v3/includes/_button.html' with style=button_style url=button_url label=button_label extra_classes="btn-flex" only %}
+
+ {% include 'v3/includes/_button.html' with style=button_style url=button_url label=button_label only %}
{% endif %}
diff --git a/templates/v3/includes/_learn_card.html b/templates/v3/includes/_learn_card.html
index c3ae9b6fc..e4787e550 100644
--- a/templates/v3/includes/_learn_card.html
+++ b/templates/v3/includes/_learn_card.html
@@ -8,7 +8,6 @@
- url (required) - Url for the hero button
- image_src (required) - Url at which the image can be found
{% endcomment %}
-
+ {% include "v3/includes/_button.html" with url=cta_url label=cta_label|default:"Use "|add:library_name only %}
+
{% endif %}
diff --git a/templates/v3/includes/_mailing_list_card.html b/templates/v3/includes/_mailing_list_card.html
index f82fbc5a3..c2d5904e1 100644
--- a/templates/v3/includes/_mailing_list_card.html
+++ b/templates/v3/includes/_mailing_list_card.html
@@ -1,5 +1,4 @@
{% comment %}Card with an input to sign up for the mailing list{% endcomment %}
-
Join the Boost Developers Mailing List
@@ -9,7 +8,5 @@
Get the latest on releases, features, security patches, fixes and all major announcements.
{% include 'v3/includes/_field_text.html' with name='mailing_email' placeholder='Email Address' required='True' type='email' submit_icon='arrow-right' %}
-
- {% include 'v3/includes/_button.html' with style='secondary-grey' type='submit' label='Subscribe' extra_classes='btn-flex' only %}
-
+
{% include "v3/includes/_button.html" with type="submit" label="Subscribe" only %}
diff --git a/templates/v3/includes/_post_cards_v3.html b/templates/v3/includes/_post_cards_v3.html
index 6250e9773..5d84ce3b7 100644
--- a/templates/v3/includes/_post_cards_v3.html
+++ b/templates/v3/includes/_post_cards_v3.html
@@ -5,34 +5,32 @@
No defaults for content; only output what is passed.
{% endcomment %}
{% if heading or posts or view_all_url or secondary_cta_url %}
-
- {% if heading %}
-
{% include "v3/includes/_post_card_v3.html" with post=item %}
+ {% endfor %}
+
{% endif %}
- {% if secondary_cta_url %}
- {{ secondary_cta_label }}
+ {% if view_all_url or secondary_cta_url %}
+
+ {% if view_all_url %}
+ {% include "v3/includes/_button.html" with label=view_all_label|default:"View all" url=view_all_url style="primary" only %}
+ {% endif %}
+ {% if secondary_cta_url %}
+ {% include "v3/includes/_button.html" with label=secondary_cta_label url=secondary_cta_url style="secondary" only %}
+ {% endif %}
+
{% endif %}
-
- {% endif %}
-
+
{% endif %}
diff --git a/templates/v3/includes/_stats_in_numbers.html b/templates/v3/includes/_stats_in_numbers.html
index c32b98a12..71492c3f5 100644
--- a/templates/v3/includes/_stats_in_numbers.html
+++ b/templates/v3/includes/_stats_in_numbers.html
@@ -15,27 +15,29 @@
Usage:
{% include "v3/includes/_stats_in_numbers.html" with heading="Boost in numbers" description="Some detail about a graph in here" bars=stats_bars theme="default" primary_cta_label="Boost Org on GitHub" primary_cta_url="#" secondary_cta_label="Button" secondary_cta_url="#" %}
{% endcomment %}
-
-
{{ heading }}
+
+
{{ heading }}
{{ description }}
{% for bar in bars|slice:":20" %}
-
-
-
{{ bar.label }}
-
+
+
+
{{ bar.label }}
+
{% endfor %}
-
+
{% if theme == 'default' or not theme %}
- {{ primary_cta_label }}
+ {% include "v3/includes/_button.html" with label=primary_cta_label url=primary_cta_url style="primary" only %}
{% else %}
- {{ primary_cta_label }}
+ {% include "v3/includes/_button.html" with label=primary_cta_label url=primary_cta_url style=theme only %}
{% endif %}
{% if secondary_cta_label %}
- {{ secondary_cta_label }}
+ {% include "v3/includes/_button.html" with label=secondary_cta_label url=secondary_cta_url style="secondary" only %}
{% endif %}
diff --git a/templates/v3/includes/_thread_archive_card.html b/templates/v3/includes/_thread_archive_card.html
index 4dc8ed231..d0cd22bea 100644
--- a/templates/v3/includes/_thread_archive_card.html
+++ b/templates/v3/includes/_thread_archive_card.html
@@ -4,7 +4,6 @@
NOTE: This currently contains a placeholder image that should be replaced.
{% endcomment %}
{% load static %}
-
Explore The Boost Developers Mailing List
@@ -14,8 +13,8 @@
-
- {% include 'v3/includes/_button.html' with style="primary" url="https://lists.boost.org/archives/list/boost@lists.boost.org/latest" label="Recent Threads" extra_classes="btn-flex" only %}
- {% include 'v3/includes/_button.html' with style="secondary" url="https://lists.boost.org/archives/list/boost@lists.boost.org/" label="View Archive" extra_classes="btn-flex" only %}
-
+
+ {% include "v3/includes/_button.html" with style="primary" url="https://lists.boost.org/archives/list/boost@lists.boost.org/latest" label="Recent Threads" only %}
+ {% include "v3/includes/_button.html" with style="secondary" url="https://lists.boost.org/archives/list/boost@lists.boost.org/" label="View Archive" only %}
+
diff --git a/templates/v3/includes/_vertical_card.html b/templates/v3/includes/_vertical_card.html
index 2fca6a492..35911e2e7 100644
--- a/templates/v3/includes/_vertical_card.html
+++ b/templates/v3/includes/_vertical_card.html
@@ -7,29 +7,22 @@
Primary Button Url, Label, and Style: Optional. Url is the destination of the button, label is the text of the button, style is from the style list
Secondary Button Url, Label, and Style: Optional, same use as primary
{% endcomment %}
-
- {% if title %}
- {{ title }}
- {% endif %}
+ {% if title %}{{ title }}{% endif %}
- {% if text %}
- {{ text }}
- {% endif %}
- {% if image_url %}
-
- {% endif %}
+ {% if text %}{{ text }}{% endif %}
+ {% if image_url %}{% endif %}
-
+
{% if primary_button_url and primary_button_label %}
- {% include 'v3/includes/_button.html' with style=primary_style url=primary_button_url label=primary_button_label extra_classes="btn-flex" only %}
+ {% include "v3/includes/_button.html" with style="primary" url=primary_button_url label=primary_button_label only %}
{% endif %}
{% if secondary_button_url and secondary_button_label %}
- {% include 'v3/includes/_button.html' with style=secondary_style url=secondary_button_url label=secondary_button_label extra_classes="btn-flex" only %}
+ {% include "v3/includes/_button.html" with style="secondary" url=secondary_button_url label=secondary_button_label only %}
{% endif %}