Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
45c7428
Stylelint
lucianoratamero Oct 7, 2025
d3f95de
WIP: add new solutions page
lucianoratamero Oct 8, 2025
ab79841
Stylelint
lucianoratamero Oct 7, 2025
77d2c1a
Move base styles from the home-solutions to the advertising and main-…
lucianoratamero Oct 8, 2025
56e26db
Add base advertising template for next pages
lucianoratamero Oct 8, 2025
968399b
Remove unused code
lucianoratamero Oct 9, 2025
1403037
Prevent specific issues with white lines below the sticky subnav
lucianoratamero Oct 9, 2025
2ecff68
Add base why mozilla view and template
lucianoratamero Oct 9, 2025
b7fef77
Update ads notification bar to make arrow clickable
lucianoratamero Oct 9, 2025
3699612
Add why mozilla, contact, notification, and highlight text to the why…
lucianoratamero Oct 9, 2025
8ad5ad1
Wrap why mozilla content on #mozads-main
lucianoratamero Oct 9, 2025
ee8c2f7
Add sample gallery section
lucianoratamero Oct 9, 2025
f88d6e1
Merge branch 'wt-303-ads-solutions-page' into wt-304-why-mozilla-page
lucianoratamero Oct 9, 2025
b1f1922
Redirect formats page to the WIP solutions page
lucianoratamero Oct 9, 2025
c64e6f2
solutions template fix
kkellydesign Oct 10, 2025
6d3e8da
First step toward refactoring typography to align advertising, protoc…
kkellydesign Oct 10, 2025
6cfca20
finished refactoring font sizes
kkellydesign Oct 11, 2025
f708d6d
Move shared css from principles page to a generic two-column css file
lucianoratamero Oct 11, 2025
9ec7564
Add new contact sales page
lucianoratamero Oct 11, 2025
7848c29
Change url for the contact page
lucianoratamero Oct 11, 2025
2210397
Add link to the contact sales page
lucianoratamero Oct 11, 2025
f40a66c
Wrap contact and principles pages with #mozads-main
lucianoratamero Oct 11, 2025
94f7f58
Add required field indicators to the contact sales form fields
lucianoratamero Oct 11, 2025
aae1fa5
Add base static content to the ads solutions page
lucianoratamero Oct 12, 2025
e0f3c19
Add placeholder modal implementation to ads solutions page
lucianoratamero Oct 15, 2025
2fb20a8
Add accordion component using the details and summary html tags
lucianoratamero Oct 15, 2025
d7938e5
add an AdvertisingIndexPage to the project, with template identical t…
dchukhin Oct 15, 2025
8bca89c
make sure that AdvertisingIndexPage is included in db export script
dchukhin Oct 15, 2025
bf4928d
turn advertising index page hero into a block
dchukhin Oct 15, 2025
d62d133
turn advertising section heading into a block
dchukhin Oct 15, 2025
4c3879a
Migrate ads solutions to an es6 file
lucianoratamero Oct 15, 2025
9a8981e
Add skeleton for carousels in modals on ads solutions page
lucianoratamero Oct 15, 2025
94ac67e
turn advertising statistics sections into a block
dchukhin Oct 15, 2025
99e521f
turn advertising feature list section into a block
dchukhin Oct 16, 2025
435be25
turn advertising contact banner into a snippet
dchukhin Oct 16, 2025
d6e9667
turn advertising notification into a page field
dchukhin Oct 16, 2025
b27678d
Merge branch 'main' into WT-334-cms-components-for-advertising
dchukhin Oct 16, 2025
ece85f4
add an AdvertisingPrinciplesPage to the project
dchukhin Oct 16, 2025
318fcf9
make AdvertisingPrinciplesPage fields editable in Wagtail
dchukhin Oct 17, 2025
5236256
make code DRYer by using include template in in feature_list_item_blo…
dchukhin Oct 17, 2025
a84a12d
Merge branch 'main' into WT-334-cms-components-for-advertising
dchukhin Oct 17, 2025
728b1f4
Merge branch 'main' into WT-334-cms-components-for-advertising-subpage
dchukhin Oct 17, 2025
48ccd4d
add AdvertisingPrinciplesPage to the pages which are editable in Wagtail
dchukhin Oct 17, 2025
4fcb493
add AdvertisingPrinciplesPage to the pages in export db script
dchukhin Oct 17, 2025
ccd50c3
avoid confusion by making sure that AdvertisingPrinciplesPage can onl…
dchukhin Oct 17, 2025
9ee3168
be more specific about rendered image dimensions
dchukhin Oct 17, 2025
0759a63
be more specific about rendered image dimensions
dchukhin Oct 17, 2025
5a6e55e
add a unit test for the AdvertisingIndexPage
dchukhin Oct 17, 2025
a02c1e9
design revisions
kkellydesign Oct 21, 2025
c12a3b1
modal FE finished
kkellydesign Oct 21, 2025
86e9730
solutions PDF, contact link updated
kkellydesign Oct 21, 2025
0c01dca
Merge branch 'main' into wt-303-ads-solutions-page
kkellydesign Oct 22, 2025
6cc4a10
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
kkellydesign Oct 22, 2025
caf014d
minor FE edits to account for predictable CMS behavior
kkellydesign Oct 22, 2025
ed6183b
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
kkellydesign Oct 22, 2025
6060890
Revert "Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-comp…
kkellydesign Oct 22, 2025
279ef91
Merge branch 'main' into WT-334-cms-components-for-advertising-subpage
kkellydesign Oct 22, 2025
d822ea5
copy and design revisions
kkellydesign Oct 22, 2025
73181a8
update for design revisions
kkellydesign Oct 23, 2025
3676a00
design revisions
kkellydesign Oct 23, 2025
1e41ee8
Merge branch 'main' into wt-303-ads-solutions-page
kkellydesign Oct 23, 2025
4c05508
fixing linting
kkellydesign Oct 23, 2025
08ecf06
prettier JS updates
kkellydesign Oct 23, 2025
7427006
Merge branch 'main' into WT-334-cms-components-for-advertising
dchukhin Oct 27, 2025
47d4578
carousel caption JS updates
kkellydesign Oct 27, 2025
3c1f433
new Impact page design
kkellydesign Oct 29, 2025
41c22ce
add ability to add top divider to section heading block
dchukhin Oct 29, 2025
3ad1c19
allow image alt text to be set on page, but also have default if page…
dchukhin Oct 29, 2025
31b931c
typography revisions
kkellydesign Oct 29, 2025
4a50887
use image description for alt-text
dchukhin Oct 29, 2025
9354382
use wagtail-link-block to create consistent link choosing experience
dchukhin Oct 29, 2025
60a569d
test
dchukhin Oct 29, 2025
98c0c95
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Oct 29, 2025
2549592
Merge branch 'WT-334-cms-components-for-advertising-subpage' of githu…
dchukhin Oct 29, 2025
a4c7a80
make advertising subpage more generically-named
dchukhin Oct 29, 2025
5e054d2
for clarity, rename list_items field to be second_column
dchukhin Oct 29, 2025
ccc054c
make sure that template variables have a value when using include
dchukhin Oct 29, 2025
03d0cb4
do not require elements in two column subpage's second column to be a…
dchukhin Oct 29, 2025
06d1781
add rich text block to two column subpage's second column
dchukhin Oct 29, 2025
d2cdac5
add a unit test for TwoColumnSubpage
dchukhin Oct 29, 2025
81eb36d
update test for AdvertisingIndexPage based on changes to fields
dchukhin Oct 29, 2025
bfc52b8
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Oct 29, 2025
3b490c5
fix typo and add missing '}'
dchukhin Oct 29, 2025
7eff5a2
fix lint error
dchukhin Oct 29, 2025
c7bf3c4
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Oct 29, 2025
45dd7d1
updated type scale
kkellydesign Oct 29, 2025
f783627
linting fixes
kkellydesign Oct 29, 2025
2467b45
linting fixes
kkellydesign Oct 29, 2025
5956ad4
fix formatting error
dchukhin Oct 30, 2025
fdc143a
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Oct 30, 2025
9d91c9e
make page more reusable by putting content into a two-column block in…
dchukhin Oct 30, 2025
44c065e
allow FigureWithStatisticBlock to have a link
dchukhin Oct 30, 2025
b7db7ab
fix reference to new_window property in link
dchukhin Oct 30, 2025
4457a84
update CSS classes used to match work in WT-303
dchukhin Oct 30, 2025
d3fac0d
allow FigureWithStatisticBlock to have a link
dchukhin Oct 30, 2025
313060f
update blocks and CSS classes to match work in WT-303
dchukhin Oct 30, 2025
7686c40
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
dchukhin Oct 30, 2025
c368bfd
new images, another round of design QA
kkellydesign Oct 30, 2025
9ddf1ec
advertising index page can have multiple links for a notification
dchukhin Oct 30, 2025
160e90b
new copy added
kkellydesign Oct 30, 2025
f5f4d4b
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Oct 30, 2025
e855286
update tests based on recent changes to TwoColumnSubpage blocks
dchukhin Oct 30, 2025
b3dfe8b
fix frontend build issues
dchukhin Oct 30, 2025
526c414
MDN ads images added, captions revised
kkellydesign Oct 31, 2025
33a20ff
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
dchukhin Oct 31, 2025
6140fae
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Oct 31, 2025
5a6a012
merge more changes from WT-303
dchukhin Oct 31, 2025
4ee8b81
remove unused SCSS file
dchukhin Oct 31, 2025
c65a24e
make more updates from WT-303 changes
dchukhin Oct 31, 2025
5bc48e8
Mozilla Ads and Web Docs find/replace
kkellydesign Nov 1, 2025
c3047fe
CSS prefix revision to remove "mozads" in favor of "mza"
kkellydesign Nov 1, 2025
7992987
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
kkellydesign Nov 1, 2025
3c4092c
replacing mozads with mza in template files
kkellydesign Nov 1, 2025
448cd18
Solutions refactor in prep for CMS work
kkellydesign Nov 1, 2025
7c125b3
Merge branch 'WT-334-cms-components-for-advertising' of github.com:mo…
dchukhin Nov 3, 2025
262bd7f
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 3, 2025
95eb363
replace mozads with mza in template files
dchukhin Nov 3, 2025
d57d203
Merge branch 'main' into WT-334-cms-components-for-advertising-subpage
dchukhin Nov 3, 2025
56a5a6b
Merge branch 'main' into WT-334-cms-components-for-advertising
dchukhin Nov 4, 2025
d30cb5e
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 4, 2025
1b137a2
undo accidental changes to github actions code from merge revert commit
dchukhin Nov 4, 2025
d146fa2
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
dchukhin Nov 4, 2025
2321e63
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 4, 2025
73bd788
Merge branch 'main' into wt-303-ads-solutions-page
kkellydesign Nov 4, 2025
ecc8f26
photo update
kkellydesign Nov 4, 2025
47077ae
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
dchukhin Nov 5, 2025
aa2e894
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 5, 2025
a788c58
undo accidental changes from merge revert
dchukhin Nov 5, 2025
98fb0f7
undo more accidental changes from merge revert
dchukhin Nov 5, 2025
2eb18a6
make sure to refer to correct CTA attribute in template
dchukhin Nov 5, 2025
1e5065e
add rel noopener attribute to links that open in a new tab
dchukhin Nov 5, 2025
d331191
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 5, 2025
3d38c48
"nearly" removed. Apostrophes fixed. Principles added to nav.
kkellydesign Nov 11, 2025
8d7ec02
precommit installed and run on all relevant files
kkellydesign Nov 11, 2025
850918e
Commit staged changes (bypass pre-commit due to Desktop hang)
kkellydesign Nov 11, 2025
8c0485c
Merge branch 'wt-303-ads-solutions-page' into WT-334-cms-components-f…
kkellydesign Nov 11, 2025
84f83f3
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
kkellydesign Nov 11, 2025
f9a4902
Merge branch 'main' into WT-334-cms-components-for-advertising
kkellydesign Nov 20, 2025
2fe733d
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
kkellydesign Nov 20, 2025
c417012
Update bedrock/mozorg/blocks/advertising.py
kkellydesign Nov 24, 2025
db0a9f7
add migration for label text change
dchukhin Nov 24, 2025
0aa38cf
remove twitter as a social icon choice
dchukhin Nov 24, 2025
01de16c
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 24, 2025
7899985
reorder migrations after merge
dchukhin Nov 24, 2025
7b99623
for better usage clarity, rename TwoColumnSubpage to AdvertisingTwoCo…
dchukhin Nov 24, 2025
7f4a026
Merge branch 'main' into WT-334-cms-components-for-advertising
dchukhin Nov 24, 2025
df2d9d7
Merge branch 'WT-334-cms-components-for-advertising' into WT-334-cms-…
dchukhin Nov 24, 2025
98c3e06
Merge branch 'main' into WT-334-cms-components-for-advertising-subpage
dchukhin Nov 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 56 additions & 1 deletion bedrock/mozorg/blocks/advertising.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,53 @@ class Meta:
form_classname = "compact-form struct-block"


class ListItemBlock(blocks.StructBlock):
"""Feature list item block."""

heading_text = blocks.CharBlock(char_max_length=255)
supporting_text = blocks.RichTextBlock(
features=["bold", "italic", "link"],
)

class Meta:
label = "List Item"
label_format = "{heading_text}"
template = "mozorg/cms/advertising/blocks/list_item_block.html"
form_classname = "compact-form struct-block"


class ListBlock(blocks.StructBlock):
"""A block containing a list of items."""

list_items = blocks.ListBlock(ListItemBlock())

class Meta:
icon = "list-ul"
label = "List"
label_format = "List"
template = "mozorg/cms/advertising/blocks/list_block.html"
form_classname = "compact-form struct-block"


class TwoColumnDetailBlock(blocks.StructBlock):
"""Feature list item block."""

heading_text = blocks.CharBlock(char_max_length=255)
subheading = blocks.TextBlock()
second_column = blocks.StreamBlock(
[
("list", ListBlock()),
],
required=False,
)

class Meta:
label = "Two Column Detail"
label_format = "{heading_text}"
template = "mozorg/cms/advertising/blocks/two_column_detail_block.html"
form_classname = "compact-form struct-block"


class LinkWithIcon(blocks.StructBlock):
"""Link with an icon."""

Expand All @@ -133,7 +180,15 @@ class Meta:
class NotificationBlock(blocks.StructBlock):
notification_text = blocks.RichTextBlock(
char_max_length=255,
features=["bold", "italic", "superscript", "subscript", "strikethrough", "code", "link"],
features=[
"bold",
"italic",
"superscript",
"subscript",
"strikethrough",
"code",
"link",
],
)
links = blocks.StreamBlock(
[
Expand Down
54 changes: 54 additions & 0 deletions bedrock/mozorg/migrations/0011_advertisingprinciplespage.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Generated by Django 5.2.7 on 2025-10-16 21:03

import django.db.models.deletion
from django.db import migrations, models

import wagtail.fields


class Migration(migrations.Migration):
dependencies = [
("mozorg", "0010_alter_advertisingindexpage_notifications"),
("wagtailcore", "0094_alter_page_locale"),
]

operations = [
migrations.CreateModel(
name="TwoColumnSubpage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
(
"content",
wagtail.fields.StreamField(
[("two_column_block", 7)],
blank=True,
block_lookup={
0: ("wagtail.blocks.CharBlock", (), {"char_max_length": 255}),
1: ("wagtail.blocks.TextBlock", (), {}),
2: ("wagtail.blocks.RichTextBlock", (), {"features": ["bold", "italic", "link"]}),
3: ("wagtail.blocks.StructBlock", [[("heading_text", 0), ("supporting_text", 2)]], {}),
4: ("wagtail.blocks.ListBlock", (3,), {}),
5: ("wagtail.blocks.StructBlock", [[("list_items", 4)]], {}),
6: ("wagtail.blocks.StreamBlock", [[("list", 5)]], {"required": False}),
7: ("wagtail.blocks.StructBlock", [[("heading_text", 0), ("subheading", 1), ("second_column", 6)]], {}),
},
null=True,
),
),
],
options={
"abstract": False,
},
bases=("wagtailcore.page",),
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 5.2.8 on 2025-11-24 17:40

from django.db import migrations


class Migration(migrations.Migration):
dependencies = [
("mozorg", "0011_advertisingprinciplespage"),
("wagtailcore", "0095_groupsitepermission"),
]

operations = [
migrations.RenameModel(
old_name="TwoColumnSubpage",
new_name="AdvertisingTwoColumnSubpage",
),
]
36 changes: 33 additions & 3 deletions bedrock/mozorg/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,14 @@
from wagtail.snippets.models import register_snippet

from bedrock.cms.models.base import AbstractBedrockCMSPage
from bedrock.mozorg.blocks.advertising import AdvertisingHeroBlock, FeatureListBlock, FigureWithStatisticBlock, NotificationBlock, SectionHeaderBlock
from bedrock.mozorg.blocks.advertising import (
AdvertisingHeroBlock,
FeatureListBlock,
FigureWithStatisticBlock,
NotificationBlock,
SectionHeaderBlock,
TwoColumnDetailBlock,
)
from bedrock.mozorg.blocks.leadership import LeadershipSectionBlock


Expand All @@ -24,7 +31,10 @@ def process_md_file(file_path):
input = f.read()

md = markdown.Markdown(
extensions=["markdown.extensions.attr_list", TocExtension(permalink=True, baselevel=2, toc_depth="2-3", separator="")],
extensions=[
"markdown.extensions.attr_list",
TocExtension(permalink=True, baselevel=2, toc_depth="2-3", separator=""),
],
output_format="html5",
)
content = md.convert(input)
Expand Down Expand Up @@ -134,7 +144,7 @@ class LeadershipPage(AbstractBedrockCMSPage):


class AdvertisingIndexPage(AbstractBedrockCMSPage):
subpage_types = [] # This page type cannot have any children
subpage_types = ["AdvertisingTwoColumnSubpage"]

content = StreamField(
[
Expand Down Expand Up @@ -169,3 +179,23 @@ class AdvertisingIndexPage(AbstractBedrockCMSPage):
]

template = "mozorg/cms/advertising/advertising_index_page.html"


class AdvertisingTwoColumnSubpage(AbstractBedrockCMSPage):
parent_page_types = ["AdvertisingIndexPage"]
subpage_types = [] # This page type cannot have any children

content = StreamField(
[
("two_column_block", TwoColumnDetailBlock()),
],
blank=True,
null=True,
collapsed=True,
)

content_panels = AbstractBedrockCMSPage.content_panels + [
FieldPanel("content"),
]

template = "mozorg/cms/advertising/two_column_subpage.html"
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,5 @@
<li><a class="youtube" href="https://www.youtube.com/@mozilla_ads" data-link-position="ads-section-banner" data-link-text="Youtube (@mozilla_ads)">TikTok<span> (@mozilla_ads)</span></a></li>

</ul>




</div>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ <h1>Principles</h1>
<section class="m24-c-content">
<div class="mza-half-grid">
<div class="two-column-intro">
<h2 class="mza-section-heading">Ads that work for you </h2>
<h2 class="mza-section-heading">Ads that work for you </h2>
<p class="mza-section-text-lg">The internet relies on advertising to fund the sites and apps people care about, but today’s system favors big tech—often at the expense of your privacy. We’re building a new approach to advertising that is a fair deal for everyone.</p>

</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

<li class="mza-half-grid is-list-item">
<h3 class="mza-home-why-moz-list-heading">{{ value.heading_text }}</h3>
<p class="mza-home-why-moz-list-text">{{ value.supporting_text }}</p>
</li>
{% with li_class='mza-half-grid is-list-item', h3_class='mza-home-big-list-heading', p_class='mza-home-big-list-text' %}
{% include 'mozorg/cms/advertising/includes/list_item.html' %}
{% endwith %}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
</span>
</div>
<figure class="mza-figure">
{{ srcset_image(value.image, "width-{800,1000,1200,1400}", class="", loading="lazy", alt=value.image.description) }}
{{ srcset_image(value.image, "width-{1000,1200,1400}", class="", loading="lazy", alt=value.image.description) }}
<figcaption class="mza-figcaption">
{{ value.image_caption }}
</figcaption>
Expand All @@ -26,4 +26,4 @@
</div>
{% endif %}

</section>
</section>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{#
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

<ul class="two-column-detail-list">
{% for item in value.list_items %}
{% include_block item %}
{% endfor %}
</ul>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{#
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

{% with li_class='', h3_class='mza-section-subheading', p_class='' %}
{% include 'mozorg/cms/advertising/includes/list_item.html' %}
{% endwith %}
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

<section class="mza-c-home-solutions m24-c-content has-scroll-padding" id="solutions">
<div class="{% if value.image %}mza-half-grid{% if value.has_top_divider %} has-border-top{% endif %}{% elif value.has_top_divider %} section-has-border-top{% endif %}">
<section class="mza-c-home-solutions m24-c-content extra-top-padding has-scroll-padding" id="solutions">
<div class="has-margin-bottom{% if value.image %} mza-half-grid{% if value.has_top_divider %} has-border-top{% endif %}{% elif value.has_top_divider %} section-has-border-top{% endif %}">
<hgroup class="mza-hgroup">
{% if value.superheading_text %}<p class="mza-eyebrow">{{ value.superheading_text }}</p>{% endif %}
<h2 class="mza-section-heading">{{ value.heading_text }}</h2>
{% if value.subheading_text %}<p class="mza-section-subheading">{{ value.subheading_text }}</p>{% endif %}
<h2 class="mza-section-heading">{{ value.heading_text }}</h2>
{% if value.subheading_text %}<p class="mza-section-text-lg">{{ value.subheading_text }}</p>{% endif %}
</hgroup>

{% if value.image %}
{{ srcset_image(value.image, "width-{1200,1400,1600}", class="mza-figure", alt=value.image.description) }}
<figure class="mza-figure">
{{ srcset_image(value.image, "width-{1200,1400,1600}", class="", alt=value.image.description) }}
</figure>
{% endif %}
</div>
</section>
</section>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{#
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

<div class="{% if value.second_column %}mza-half-grid{% endif %}">
<div class="two-column-intro">
<h2 class="mza-section-heading">{{ value.heading_text }}</h2>
<p class="mza-section-text-lg">{{ value.subheading }}</p>
</div>

{% if value.second_column %}
{% for item in value.second_column %}
{% include_block item %}
{% endfor %}
{% endif %}

</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{#
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

<li class="{{ li_class }}">
<h3 class="{{ h3_class }}">{{ value.heading_text }}</h3>
<div class="{{ p_class }}">{{ value.supporting_text|richtext }}</div>
</li>
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{#
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}

{% extends "base-protocol-mozilla.html" %}

{% if page.seo_title %}
{% set meta_title = page.seo_title %}
{% else %}
{% set meta_title = page.title %}
{% endif %}

{% block page_title %}{{ meta_title }}{% endblock %}
{% block page_desc %}{{ page.search_description }}{% endblock %}
{% block body_class %}{{ super() }} advertising{% endblock %}

{% block page_css %}
{{ css_bundle('protocol-callout') }}
{{ css_bundle('protocol-card') }}
{{ css_bundle('protocol-picto') }}
{{ css_bundle('mozilla-ads') }}
{% endblock %}

{% block sub_navigation %}
{% include 'mozorg/advertising/includes/sub-nav.html' %}
{% endblock %}

{% block content %}
<main id="mza-main">
<header class="mza-subpage-header">
<div class="m24-c-content">
<h1>{{ page.title }}</h1>
</div>
</header>

<section class="m24-c-content">
{% for block in page.content %}
{% include_block block %}
{% endfor %}
</section>
</main>
{% endblock %}
Loading