Remove outdated info from email templates and make consistent. (#3582)
* Remove outdated info from email templates and make consistent. * Update templates/accuracy_notice_email.html Co-authored-by: Kyle Ju <kyleju@google.com> * Update templates/accuracy_notice_email.html Co-authored-by: Kyle Ju <kyleju@google.com> * Updated goldens --------- Co-authored-by: Kyle Ju <kyleju@google.com>
This commit is contained in:
Родитель
f10e32d793
Коммит
3f670e5aa1
|
@ -72,10 +72,6 @@ def format_email_body(
|
|||
stage_info = stage_helpers.get_stage_info_for_templates(fe)
|
||||
milestone_str = _determine_milestone_string(stage_info['ship_stages'])
|
||||
|
||||
moz_link_urls = [
|
||||
link for link in fe.doc_links
|
||||
if urllib.parse.urlparse(link).hostname == 'developer.mozilla.org']
|
||||
|
||||
formatted_changes = ''
|
||||
for prop in changes:
|
||||
prop_name = prop['prop_name']
|
||||
|
@ -90,6 +86,8 @@ def format_email_body(
|
|||
|
||||
body_data = {
|
||||
'feature': fe,
|
||||
'category': core_enums.FEATURE_CATEGORIES[fe.category],
|
||||
'feature_type': core_enums.FEATURE_TYPES[fe.feature_type],
|
||||
'stage_info': stage_info,
|
||||
'should_render_mstone_table': stage_info['should_render_mstone_table'],
|
||||
'creator_email': fe.creator_email,
|
||||
|
@ -98,7 +96,7 @@ def format_email_body(
|
|||
'milestone': milestone_str,
|
||||
'status': core_enums.IMPLEMENTATION_STATUS[fe.impl_status_chrome],
|
||||
'formatted_changes': formatted_changes,
|
||||
'moz_link_urls': moz_link_urls,
|
||||
'SITE_URL': settings.SITE_URL,
|
||||
}
|
||||
body = render_template(template_path, **body_data)
|
||||
return body
|
||||
|
@ -455,7 +453,7 @@ class NotifyInactiveUsersHandler(basehandlers.FlaskHandler):
|
|||
def _build_email_tasks(self, users_to_notify):
|
||||
email_tasks = []
|
||||
for email in users_to_notify:
|
||||
body_data = {'site_url': settings.SITE_URL}
|
||||
body_data = {'SITE_URL': settings.SITE_URL}
|
||||
html = render_template(self.EMAIL_TEMPLATE_PATH, **body_data)
|
||||
subject = f'Notice of WebStatus user inactivity for {email}'
|
||||
email_tasks.append({
|
||||
|
|
|
@ -147,25 +147,6 @@ class EmailFormattingTest(testing_config.CustomTestCase):
|
|||
self.assertEqual(body_html,
|
||||
TESTDATA['test_format_email_body__update_with_changes.html'])
|
||||
|
||||
def test_format_email_body__mozdev_links(self):
|
||||
"""We generate an email body with links to developer.mozilla.org."""
|
||||
self.fe_1.doc_links = ['https://developer.mozilla.org/look-here']
|
||||
with test_app.app_context():
|
||||
body_html = notifier.format_email_body(
|
||||
'update-feature-email.html', self.template_fe, self.changes)
|
||||
# TESTDATA.make_golden(body_html, 'test_format_email_body__mozdev_links_mozilla.html')
|
||||
self.assertEqual(body_html,
|
||||
TESTDATA['test_format_email_body__mozdev_links_mozilla.html'])
|
||||
|
||||
self.fe_1.doc_links = [
|
||||
'https://hacker-site.org/developer.mozilla.org/look-here']
|
||||
with test_app.app_context():
|
||||
body_html = notifier.format_email_body(
|
||||
'update-feature-email.html', self.template_fe, self.changes)
|
||||
# TESTDATA.make_golden(body_html, 'test_format_email_body__mozdev_links_non_mozilla.html')
|
||||
self.assertEqual(body_html,
|
||||
TESTDATA['test_format_email_body__mozdev_links_non_mozilla.html'])
|
||||
|
||||
def test_accumulate_reasons(self):
|
||||
"""We can accumulate lists of reasons why we sent a message to a user."""
|
||||
addr_reasons = collections.defaultdict(list)
|
||||
|
|
|
@ -89,7 +89,7 @@ def build_email_tasks(
|
|||
'feature': fe,
|
||||
'stage_info': stage_info,
|
||||
'should_render_mstone_table': stage_info['should_render_mstone_table'],
|
||||
'site_url': settings.SITE_URL,
|
||||
'SITE_URL': settings.SITE_URL,
|
||||
'milestone': mstone,
|
||||
'beta_date_str': beta_date_str,
|
||||
'is_escalated': is_escalated,
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
<p>
|
||||
editor_template@example.com updated this feature:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b><a href="https://chromestatus.com/feature/123"
|
||||
>feature template</a></b>
|
||||
</p>
|
||||
|
||||
<p><b>Components</b>: Blink</p>
|
||||
<p><b>Implementation status</b>: No active development</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>100</td></tr>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>103</td></tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
<p><b>Changes:</b></p>
|
||||
<ul>
|
||||
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Check existing
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
|
||||
>Lighthouse audits</a> for correctness.</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
|
@ -1,73 +0,0 @@
|
|||
<p>
|
||||
editor_template@example.com updated this feature:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b><a href="https://chromestatus.com/feature/123"
|
||||
>feature template</a></b>
|
||||
</p>
|
||||
|
||||
<p><b>Components</b>: Blink</p>
|
||||
<p><b>Implementation status</b>: No active development</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>100</td></tr>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>103</td></tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
<p><b>Changes:</b></p>
|
||||
<ul>
|
||||
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Check existing
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
|
||||
>Lighthouse audits</a> for correctness.</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
|
@ -1,74 +1,56 @@
|
|||
<p>
|
||||
creator_template@example.com added a new feature:
|
||||
</p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>New</b> feature entry:<br/>
|
||||
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
|
||||
>feature template</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
<p><b><a href="https://chromestatus.com/feature/123"
|
||||
>feature template</a></b>
|
||||
</p>
|
||||
<p><b>Components</b>: Blink</p>
|
||||
<p><b>Implementation status</b>: No active development</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
|
||||
|
||||
<section id="details">
|
||||
<div><b>New details entered by creator_template@example.com:</div>
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>100</td></tr>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>103</td></tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
<td>Summary:</td>
|
||||
<td>sum</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Unlisted:</td>
|
||||
<td>No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Breaking change:</td>
|
||||
<td>No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Feature owners:</td>
|
||||
<td>feature_owner@example.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cc:</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Blink component:</td>
|
||||
<td>Blink</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Category:</td>
|
||||
<td>Web Components</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Feature type:</td>
|
||||
<td>New feature incubation</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Try the API, write a sample, provide early feedback to eng.</li>
|
||||
<li>Consider authoring a new article/update for /web.</li>
|
||||
<li>Write a
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/docs/recipes/custom-audit"
|
||||
>new Lighthouse audit</a>. This can help drive adoption of an API
|
||||
over time.
|
||||
</li>
|
||||
<li>Add a sample to https://github.com/GoogleChrome/samples (see
|
||||
<a href="https://github.com/GoogleChrome/samples#contributing-samples"
|
||||
>contributing</a>).
|
||||
</li>
|
||||
<li>Add demo links and other details to the
|
||||
<a href="https://chromestatus.com/guide/edit/123"
|
||||
>ChromeStatus feature entry</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="http://127.0.0.1:8888/feature/123"
|
||||
class="button-like"
|
||||
>View feature details</a></div>
|
||||
</section>
|
|
@ -1,73 +1,24 @@
|
|||
<p>
|
||||
editor_template@example.com updated this feature:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b><a href="https://chromestatus.com/feature/123"
|
||||
>feature template</a></b>
|
||||
</p>
|
||||
|
||||
<p><b>Components</b>: Blink</p>
|
||||
<p><b>Implementation status</b>: No active development</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>100</td></tr>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>103</td></tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Updated</b> feature entry:<br/>
|
||||
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
|
||||
>feature template</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
<section id="details">
|
||||
<div><b>Updates made by editor_template@example.com:</b></div>
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
<p><b>Changes:</b></p>
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Check existing
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
|
||||
>Lighthouse audits</a> for correctness.</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="http://127.0.0.1:8888/feature/123"
|
||||
class="button-like"
|
||||
>View feature details</a></div>
|
||||
</section>
|
|
@ -1,73 +1,24 @@
|
|||
<p>
|
||||
editor_template@example.com updated this feature:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b><a href="https://chromestatus.com/feature/123"
|
||||
>feature template</a></b>
|
||||
</p>
|
||||
|
||||
<p><b>Components</b>: Blink</p>
|
||||
<p><b>Implementation status</b>: No active development</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>100</td></tr>
|
||||
|
||||
|
||||
<tr><td>Shipping on desktop</td>
|
||||
<td>103</td></tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Updated</b> feature entry:<br/>
|
||||
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
|
||||
>feature template</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
<section id="details">
|
||||
<div><b>Updates made by editor_template@example.com:</b></div>
|
||||
<ul>
|
||||
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
<p><b>Changes:</b></p>
|
||||
<ul>
|
||||
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Check existing
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
|
||||
>Lighthouse audits</a> for correctness.</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="http://127.0.0.1:8888/feature/123"
|
||||
class="button-like"
|
||||
>View feature details</a></div>
|
||||
</section>
|
|
@ -1,23 +1,34 @@
|
|||
<p>
|
||||
In order to ensure feature data accuracy, this notification has been
|
||||
escalated to extended contributors of this feature and to the WebStatus team.
|
||||
</p>
|
||||
<p>
|
||||
You are receiving this notification because you are listed as
|
||||
a contributor
|
||||
of the following ChromeStatus feature entry:
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
<strong>feature one</strong>
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
Your feature is slated to launch soon for m100:
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Your update is needed</b> on feature entry:<br/>
|
||||
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
|
||||
>feature one</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="why-triggered">
|
||||
|
||||
<p>
|
||||
In order to ensure feature data accuracy, this notification has been
|
||||
escalated to extended contributors of this feature and to the WebStatus team.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
You are receiving this notification because you are listed as
|
||||
a contributor
|
||||
of the ChromeStatus feature entry.
|
||||
</p>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="details">
|
||||
<p>Your feature is slated to launch soon for m100:</p>
|
||||
<p>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
@ -56,20 +67,24 @@
|
|||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
Your feature entry is an important resource for
|
||||
cross functional teams that help drive adoption of new features and
|
||||
enterprise IT admins who might be affected by web platform changes.
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
We need to know whether your plans are changing or staying
|
||||
the same. <strong>Please click the link below to update and confirm key
|
||||
fields of your feature entry.</strong>
|
||||
</p>
|
||||
</br>
|
||||
<b><a href="http://127.0.0.1:8888/guide/verify_accuracy/123">
|
||||
http://127.0.0.1:8888/guide/verify_accuracy/123
|
||||
</a></b>
|
||||
</p>
|
||||
<p>
|
||||
Your feature entry is an important resource for
|
||||
cross functional teams that help drive adoption of new features and
|
||||
enterprise IT admins who might be affected by web platform changes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We need to know whether your plans are changing or staying
|
||||
the same. <strong>Please click the link below to update and confirm key
|
||||
fields of your feature entry.</strong>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="http://127.0.0.1:8888/guide/verify_accuracy/123"
|
||||
class="button-like">
|
||||
Verify feature accuracy</a></div>
|
||||
</section>
|
|
@ -1,20 +1,30 @@
|
|||
<p>
|
||||
You are receiving this notification because you are listed as
|
||||
an owner
|
||||
of the following ChromeStatus feature entry:
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
<strong>feature one</strong>
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
Your feature is slated to launch soon for m100:
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Your update is needed</b> on feature entry:<br/>
|
||||
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
|
||||
>feature one</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="why-triggered">
|
||||
|
||||
|
||||
<p>
|
||||
You are receiving this notification because you are listed as
|
||||
an owner
|
||||
of the ChromeStatus feature entry.
|
||||
</p>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="details">
|
||||
<p>Your feature is slated to launch soon for m100:</p>
|
||||
<p>
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
|
||||
|
@ -52,20 +62,24 @@
|
|||
</table>
|
||||
|
||||
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
Your feature entry is an important resource for
|
||||
cross functional teams that help drive adoption of new features and
|
||||
enterprise IT admins who might be affected by web platform changes.
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
We need to know whether your plans are changing or staying
|
||||
the same. <strong>Please click the link below to update and confirm key
|
||||
fields of your feature entry.</strong>
|
||||
</p>
|
||||
</br>
|
||||
<b><a href="http://127.0.0.1:8888/guide/verify_accuracy/123">
|
||||
http://127.0.0.1:8888/guide/verify_accuracy/123
|
||||
</a></b>
|
||||
</p>
|
||||
<p>
|
||||
Your feature entry is an important resource for
|
||||
cross functional teams that help drive adoption of new features and
|
||||
enterprise IT admins who might be affected by web platform changes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We need to know whether your plans are changing or staying
|
||||
the same. <strong>Please click the link below to update and confirm key
|
||||
fields of your feature entry.</strong>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="http://127.0.0.1:8888/guide/verify_accuracy/123"
|
||||
class="button-like">
|
||||
Verify feature accuracy</a></div>
|
||||
</section>
|
|
@ -1,87 +1,111 @@
|
|||
<p>Your feature is slated to ship in M100 which will reach the
|
||||
beta channel on 2022-09-21.</p>
|
||||
|
||||
<p>About one week before that date, the summary field of your feature
|
||||
entry will be used verbatim (in blog posts and enterprise release
|
||||
notes) to announce this new milestone. These posts are widely read by
|
||||
web developers and IT admins, and they are sometimes used as the basis
|
||||
for popular press articles.</p>
|
||||
|
||||
<h2>1. Locate your releases on the roadmap.</h2>
|
||||
<p>Please check where your feature appears on the
|
||||
<a href="http://127.0.0.1:8888/roadmap">roadmap page</a>.
|
||||
If your feature does not appear, you may need to fill in
|
||||
milestone values or update the feature's implementation status.
|
||||
Be sure that you have gotten all needed approvals.</p>
|
||||
|
||||
<p>Features can appear multiple times in different milestones or
|
||||
different sections depending on how they are released. Check that
|
||||
the sequence of releases for your feature makes sense from the
|
||||
perspective of a web developer. For example, dev trials should come
|
||||
before the feature is enabled by default.</p>
|
||||
|
||||
<h2>2. Refine your feature summary.</h2>
|
||||
<p>Please take a look at
|
||||
<a href="https://developer.chrome.com/tags/beta/"
|
||||
>past blog posts</a> and
|
||||
<a href="https://support.google.com/chrome/a/answer/7679408"
|
||||
>enterprise release notes</a>,
|
||||
and then revise your feature summary to prepare it for
|
||||
publication.</p>
|
||||
|
||||
<p>Here's what we have now for publication:</p>
|
||||
<h3>feature one</h3>
|
||||
<p>sum</p>
|
||||
|
||||
<p><a href="http://127.0.0.1:8888/guide/edit/123">Edit your feature</a></p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Pre-publication notice</b> for feature entry:<br/>
|
||||
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
|
||||
>feature one</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="details">
|
||||
<div><b>It's really happening:</b></div>
|
||||
|
||||
<p>Guidelines for writing the summary:</p>
|
||||
<ul>
|
||||
<p>Your feature is slated to ship in M100 which will reach the
|
||||
beta channel on 2022-09-21.</p>
|
||||
|
||||
<li>Provide a one sentence description followed by one or two lines
|
||||
explaining how this feature works and how it helps web
|
||||
developers.</li>
|
||||
|
||||
<li>Write from a web developer's point of view, not a browser developer's.</li>
|
||||
|
||||
<li>Do not use markup or markdown because they will not be rendered.</li>
|
||||
|
||||
<li>Do not use hard or soft returns because they will not be rendered.</li>
|
||||
|
||||
<li>Avoid phrases such as "a new feature". Every feature on the site
|
||||
was new when it was created. You don't need to repeat that
|
||||
information.</li>
|
||||
|
||||
<li>The first line should be a sentence fragment beginning with a
|
||||
verb. (See below.) This is the rare exception to the requirement to
|
||||
always use complete sentences.</li>
|
||||
|
||||
<li>"Conformance with spec" is not adequate. Most if not all
|
||||
features are in conformance to spec.</li>
|
||||
</ul>
|
||||
|
||||
<p>Example:</p>
|
||||
|
||||
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
|
||||
Splits the HTTP cache using the top frame origin (and possibly
|
||||
subframe origin) to prevent documents from one origin from knowing
|
||||
whether a resource from another origin was cached. The HTTP cache is
|
||||
currently one per profile, with a single namespace for all resources
|
||||
and subresources regardless of origin or renderer process. Splitting
|
||||
the cache on top frame origins helps the browser deflect
|
||||
side-channel attacks where one site can detect resources in another
|
||||
site's cache.
|
||||
</p>
|
||||
<p>About one week before that date, the summary field of your feature
|
||||
entry will be used verbatim (in blog posts and enterprise release
|
||||
notes) to announce this new milestone. These posts are widely read by
|
||||
web developers and IT admins, and they are sometimes used as the basis
|
||||
for popular press articles.</p>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<h2>3. Reach out if needed.</h2>
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
|
||||
<p>If you have questions about approvals, reach out to the specific
|
||||
approving teams or to the API Owners on blink-dev@chromium.org.</p>
|
||||
<h2>1. Locate your releases on the roadmap.</h2>
|
||||
<p>Please check where your feature appears on the
|
||||
<a href="http://127.0.0.1:8888/roadmap">roadmap page</a>.
|
||||
If your feature does not appear, you may need to fill in
|
||||
milestone values or update the feature's implementation status.
|
||||
Be sure that you have gotten all needed approvals.</p>
|
||||
|
||||
<p>If you have questions about chromestatus.com,
|
||||
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
|
||||
>file an issue</a>
|
||||
or email us at webstatus@google.com.</p>
|
||||
<p>Features can appear multiple times in different milestones or
|
||||
different sections depending on how they are released. Check that
|
||||
the sequence of releases for your feature makes sense from the
|
||||
perspective of a web developer. For example, dev trials should come
|
||||
before the feature is enabled by default.</p>
|
||||
|
||||
<h2>2. Refine your feature summary.</h2>
|
||||
<p>Please take a look at
|
||||
<a href="https://developer.chrome.com/tags/beta/"
|
||||
>past blog posts</a> and
|
||||
<a href="https://support.google.com/chrome/a/answer/7679408"
|
||||
>enterprise release notes</a>,
|
||||
and then revise your feature summary to prepare it for
|
||||
publication.</p>
|
||||
|
||||
<p>Here's what we have now for publication:</p>
|
||||
<div style="background:#eee">
|
||||
<h3>feature one</h3>
|
||||
<p>sum</p>
|
||||
</div>
|
||||
|
||||
<p><a href="http://127.0.0.1:8888/feature/123" class="button-like"
|
||||
>Edit your feature</a></p>
|
||||
|
||||
|
||||
<p>Guidelines for writing the summary:</p>
|
||||
<ul>
|
||||
|
||||
<li>Provide a one sentence description followed by one or two lines
|
||||
explaining how this feature works and how it helps web
|
||||
developers.</li>
|
||||
|
||||
<li>Write from a web developer's point of view, not a browser
|
||||
developer's.</li>
|
||||
|
||||
<li>Do not use markup or markdown because they will not be rendered.</li>
|
||||
|
||||
<li>Do not use hard or soft returns because they will not be rendered.</li>
|
||||
|
||||
<li>Avoid phrases such as "a new feature". Every feature on the site
|
||||
was new when it was created. You don't need to repeat that
|
||||
information.</li>
|
||||
|
||||
<li>The first line should be a sentence fragment beginning with a
|
||||
verb. (See below.) This is the rare exception to the requirement to
|
||||
always use complete sentences.</li>
|
||||
|
||||
<li>"Conformance with spec" is not adequate. Most if not all
|
||||
features are in conformance to spec.</li>
|
||||
</ul>
|
||||
|
||||
<p>Example:</p>
|
||||
|
||||
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
|
||||
Splits the HTTP cache using the top frame origin (and possibly
|
||||
subframe origin) to prevent documents from one origin from knowing
|
||||
whether a resource from another origin was cached. The HTTP cache is
|
||||
currently one per profile, with a single namespace for all resources
|
||||
and subresources regardless of origin or renderer process. Splitting
|
||||
the cache on top frame origins helps the browser deflect
|
||||
side-channel attacks where one site can detect resources in another
|
||||
site's cache.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>3. Reach out if needed.</h2>
|
||||
|
||||
<p>If you have questions about approvals, reach out to the specific
|
||||
approving teams or to the API Owners on blink-dev@chromium.org.</p>
|
||||
|
||||
<p>If you have questions about chromestatus.com,
|
||||
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
|
||||
>file an issue</a>
|
||||
or email us at webstatus@google.com.</p>
|
||||
|
||||
</section>
|
|
@ -1,37 +1,52 @@
|
|||
{% if is_escalated %}<p>
|
||||
In order to ensure feature data accuracy, this notification has been
|
||||
escalated to extended contributors of this feature and to the WebStatus team.
|
||||
</p>
|
||||
{% endif %}<p>
|
||||
You are receiving this notification because you are listed as
|
||||
a{% if not is_escalated %}n owner{% endif %}{% if is_escalated %} contributor{% endif %}
|
||||
of the following ChromeStatus feature entry:
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
<strong>{{feature.name}}</strong>
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
Your feature is slated to launch soon for m{{milestone}}:
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
{% include "estimated-milestones-table.html" %}
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
Your feature entry is an important resource for
|
||||
cross functional teams that help drive adoption of new features and
|
||||
enterprise IT admins who might be affected by web platform changes.
|
||||
</p>
|
||||
</br>
|
||||
<p>
|
||||
We need to know whether your plans are changing or staying
|
||||
the same. <strong>Please click the link below to update and confirm key
|
||||
fields of your feature entry.</strong>
|
||||
</p>
|
||||
</br>
|
||||
<b><a href="{{site_url}}guide/verify_accuracy/{{id}}">
|
||||
{{site_url}}guide/verify_accuracy/{{id}}
|
||||
</a></b>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Your update is needed</b> on feature entry:<br/>
|
||||
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
|
||||
>{{feature.name}}</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="why-triggered">
|
||||
{% if is_escalated %}
|
||||
<p>
|
||||
In order to ensure feature data accuracy, this notification has been
|
||||
escalated to extended contributors of this feature and to the WebStatus team.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<p>
|
||||
You are receiving this notification because you are listed as
|
||||
a{% if not is_escalated %}n owner{% endif %}{% if is_escalated %} contributor{% endif %}
|
||||
of the ChromeStatus feature entry.
|
||||
</p>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="details">
|
||||
<p>Your feature is slated to launch soon for m{{milestone}}:</p>
|
||||
<p>
|
||||
{% include "estimated-milestones-table.html" %}
|
||||
</p>
|
||||
<p>
|
||||
Your feature entry is an important resource for
|
||||
cross functional teams that help drive adoption of new features and
|
||||
enterprise IT admins who might be affected by web platform changes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We need to know whether your plans are changing or staying
|
||||
the same. <strong>Please click the link below to update and confirm key
|
||||
fields of your feature entry.</strong>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="{{SITE_URL}}guide/verify_accuracy/{{id}}"
|
||||
class="button-like">
|
||||
Verify feature accuracy</a></div>
|
||||
</section>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</br>
|
||||
<p>
|
||||
If you still need the ability to create features on ChromeStatus.com, signing
|
||||
into <a href="{{site_url}}">{{site_url}}</a> with this email will avoid any
|
||||
into <a href="{{SITE_URL}}">{{SITE_URL}}</a> with this email will avoid any
|
||||
disruption in your access.
|
||||
</p>
|
||||
</br>
|
||||
|
|
|
@ -1,32 +1,56 @@
|
|||
<p>
|
||||
{{creator_email}} added a new feature:
|
||||
</p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>New</b> feature entry:<br/>
|
||||
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
|
||||
>{{feature.name}}</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
<p><b><a href="https://chromestatus.com/feature/{{id}}"
|
||||
>{{feature.name}}</a></b>
|
||||
</p>
|
||||
<p><b>Components</b>: {{feature.blink_components|join(", ")}}</p>
|
||||
<p><b>Implementation status</b>: {{status}}</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
{% include "estimated-milestones-table.html" %}
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Try the API, write a sample, provide early feedback to eng.</li>
|
||||
<li>Consider authoring a new article/update for /web.</li>
|
||||
<li>Write a
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/docs/recipes/custom-audit"
|
||||
>new Lighthouse audit</a>. This can help drive adoption of an API
|
||||
over time.
|
||||
</li>
|
||||
<li>Add a sample to https://github.com/GoogleChrome/samples (see
|
||||
<a href="https://github.com/GoogleChrome/samples#contributing-samples"
|
||||
>contributing</a>).
|
||||
</li>
|
||||
<li>Add demo links and other details to the
|
||||
<a href="https://chromestatus.com/guide/edit/{{id}}"
|
||||
>ChromeStatus feature entry</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<section id="details">
|
||||
<div><b>New details entered by {{feature.creator_email}}:</div>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Summary:</td>
|
||||
<td>{{feature.summary}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Unlisted:</td>
|
||||
<td>{% if feature.unlisted %}Yes{% else %}No{% endif %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Breaking change:</td>
|
||||
<td>{% if feature.breaking_change %}Yes{% else %}No{% endif %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Feature owners:</td>
|
||||
<td>{{feature.owner_emails|join(", ")}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cc:</td>
|
||||
<td>{{feature.cc_emails|join(", ")}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Blink component:</td>
|
||||
<td>{{feature.blink_components|join(", ")}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Category:</td>
|
||||
<td>{{category}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Feature type:</td>
|
||||
<td>{{feature_type}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="{{SITE_URL}}feature/{{id}}"
|
||||
class="button-like"
|
||||
>View feature details</a></div>
|
||||
</section>
|
||||
|
|
|
@ -1,87 +1,111 @@
|
|||
<p>Your feature is slated to ship in M{{milestone}} which will reach the
|
||||
beta channel on {{beta_date_str}}.</p>
|
||||
|
||||
<p>About one week before that date, the summary field of your feature
|
||||
entry will be used verbatim (in blog posts and enterprise release
|
||||
notes) to announce this new milestone. These posts are widely read by
|
||||
web developers and IT admins, and they are sometimes used as the basis
|
||||
for popular press articles.</p>
|
||||
|
||||
<h2>1. Locate your releases on the roadmap.</h2>
|
||||
<p>Please check where your feature appears on the
|
||||
<a href="{{site_url}}roadmap">roadmap page</a>.
|
||||
If your feature does not appear, you may need to fill in
|
||||
milestone values or update the feature's implementation status.
|
||||
Be sure that you have gotten all needed approvals.</p>
|
||||
|
||||
<p>Features can appear multiple times in different milestones or
|
||||
different sections depending on how they are released. Check that
|
||||
the sequence of releases for your feature makes sense from the
|
||||
perspective of a web developer. For example, dev trials should come
|
||||
before the feature is enabled by default.</p>
|
||||
|
||||
<h2>2. Refine your feature summary.</h2>
|
||||
<p>Please take a look at
|
||||
<a href="https://developer.chrome.com/tags/beta/"
|
||||
>past blog posts</a> and
|
||||
<a href="https://support.google.com/chrome/a/answer/7679408"
|
||||
>enterprise release notes</a>,
|
||||
and then revise your feature summary to prepare it for
|
||||
publication.</p>
|
||||
|
||||
<p>Here's what we have now for publication:</p>
|
||||
<h3>{{feature.name}}</h3>
|
||||
<p>{{feature.summary}}</p>
|
||||
|
||||
<p><a href="{{site_url}}guide/edit/{{id}}">Edit your feature</a></p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Pre-publication notice</b> for feature entry:<br/>
|
||||
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
|
||||
>{{feature.name}}</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<section id="details">
|
||||
<div><b>It's really happening:</b></div>
|
||||
|
||||
<p>Guidelines for writing the summary:</p>
|
||||
<ul>
|
||||
<p>Your feature is slated to ship in M{{milestone}} which will reach the
|
||||
beta channel on {{beta_date_str}}.</p>
|
||||
|
||||
<li>Provide a one sentence description followed by one or two lines
|
||||
explaining how this feature works and how it helps web
|
||||
developers.</li>
|
||||
|
||||
<li>Write from a web developer's point of view, not a browser developer's.</li>
|
||||
|
||||
<li>Do not use markup or markdown because they will not be rendered.</li>
|
||||
|
||||
<li>Do not use hard or soft returns because they will not be rendered.</li>
|
||||
|
||||
<li>Avoid phrases such as "a new feature". Every feature on the site
|
||||
was new when it was created. You don't need to repeat that
|
||||
information.</li>
|
||||
|
||||
<li>The first line should be a sentence fragment beginning with a
|
||||
verb. (See below.) This is the rare exception to the requirement to
|
||||
always use complete sentences.</li>
|
||||
|
||||
<li>"Conformance with spec" is not adequate. Most if not all
|
||||
features are in conformance to spec.</li>
|
||||
</ul>
|
||||
|
||||
<p>Example:</p>
|
||||
|
||||
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
|
||||
Splits the HTTP cache using the top frame origin (and possibly
|
||||
subframe origin) to prevent documents from one origin from knowing
|
||||
whether a resource from another origin was cached. The HTTP cache is
|
||||
currently one per profile, with a single namespace for all resources
|
||||
and subresources regardless of origin or renderer process. Splitting
|
||||
the cache on top frame origins helps the browser deflect
|
||||
side-channel attacks where one site can detect resources in another
|
||||
site's cache.
|
||||
</p>
|
||||
<p>About one week before that date, the summary field of your feature
|
||||
entry will be used verbatim (in blog posts and enterprise release
|
||||
notes) to announce this new milestone. These posts are widely read by
|
||||
web developers and IT admins, and they are sometimes used as the basis
|
||||
for popular press articles.</p>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
|
||||
<h2>3. Reach out if needed.</h2>
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
|
||||
<p>If you have questions about approvals, reach out to the specific
|
||||
approving teams or to the API Owners on blink-dev@chromium.org.</p>
|
||||
<h2>1. Locate your releases on the roadmap.</h2>
|
||||
<p>Please check where your feature appears on the
|
||||
<a href="{{SITE_URL}}roadmap">roadmap page</a>.
|
||||
If your feature does not appear, you may need to fill in
|
||||
milestone values or update the feature's implementation status.
|
||||
Be sure that you have gotten all needed approvals.</p>
|
||||
|
||||
<p>If you have questions about chromestatus.com,
|
||||
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
|
||||
>file an issue</a>
|
||||
or email us at webstatus@google.com.</p>
|
||||
<p>Features can appear multiple times in different milestones or
|
||||
different sections depending on how they are released. Check that
|
||||
the sequence of releases for your feature makes sense from the
|
||||
perspective of a web developer. For example, dev trials should come
|
||||
before the feature is enabled by default.</p>
|
||||
|
||||
<h2>2. Refine your feature summary.</h2>
|
||||
<p>Please take a look at
|
||||
<a href="https://developer.chrome.com/tags/beta/"
|
||||
>past blog posts</a> and
|
||||
<a href="https://support.google.com/chrome/a/answer/7679408"
|
||||
>enterprise release notes</a>,
|
||||
and then revise your feature summary to prepare it for
|
||||
publication.</p>
|
||||
|
||||
<p>Here's what we have now for publication:</p>
|
||||
<div style="background:#eee">
|
||||
<h3>{{feature.name}}</h3>
|
||||
<p>{{feature.summary}}</p>
|
||||
</div>
|
||||
|
||||
<p><a href="{{SITE_URL}}feature/{{id}}" class="button-like"
|
||||
>Edit your feature</a></p>
|
||||
|
||||
|
||||
<p>Guidelines for writing the summary:</p>
|
||||
<ul>
|
||||
|
||||
<li>Provide a one sentence description followed by one or two lines
|
||||
explaining how this feature works and how it helps web
|
||||
developers.</li>
|
||||
|
||||
<li>Write from a web developer's point of view, not a browser
|
||||
developer's.</li>
|
||||
|
||||
<li>Do not use markup or markdown because they will not be rendered.</li>
|
||||
|
||||
<li>Do not use hard or soft returns because they will not be rendered.</li>
|
||||
|
||||
<li>Avoid phrases such as "a new feature". Every feature on the site
|
||||
was new when it was created. You don't need to repeat that
|
||||
information.</li>
|
||||
|
||||
<li>The first line should be a sentence fragment beginning with a
|
||||
verb. (See below.) This is the rare exception to the requirement to
|
||||
always use complete sentences.</li>
|
||||
|
||||
<li>"Conformance with spec" is not adequate. Most if not all
|
||||
features are in conformance to spec.</li>
|
||||
</ul>
|
||||
|
||||
<p>Example:</p>
|
||||
|
||||
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
|
||||
Splits the HTTP cache using the top frame origin (and possibly
|
||||
subframe origin) to prevent documents from one origin from knowing
|
||||
whether a resource from another origin was cached. The HTTP cache is
|
||||
currently one per profile, with a single namespace for all resources
|
||||
and subresources regardless of origin or renderer process. Splitting
|
||||
the cache on top frame origins helps the browser deflect
|
||||
side-channel attacks where one site can detect resources in another
|
||||
site's cache.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>3. Reach out if needed.</h2>
|
||||
|
||||
<p>If you have questions about approvals, reach out to the specific
|
||||
approving teams or to the API Owners on blink-dev@chromium.org.</p>
|
||||
|
||||
<p>If you have questions about chromestatus.com,
|
||||
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
|
||||
>file an issue</a>
|
||||
or email us at webstatus@google.com.</p>
|
||||
|
||||
</section>
|
||||
|
|
|
@ -1,41 +1,24 @@
|
|||
<p>
|
||||
{{updater_email}} updated this feature:
|
||||
</p>
|
||||
<section id="context">
|
||||
<div>
|
||||
<b>Updated</b> feature entry:<br/>
|
||||
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
|
||||
>{{feature.name}}</a>
|
||||
</div>
|
||||
</section>
|
||||
<br/>
|
||||
|
||||
<p>
|
||||
<b><a href="https://chromestatus.com/feature/{{id}}"
|
||||
>{{feature.name}}</a></b>
|
||||
</p>
|
||||
|
||||
<p><b>Components</b>: {{feature.blink_components|join(", ")}}</p>
|
||||
<p><b>Implementation status</b>: {{status}}</p>
|
||||
<p><b>Estimated milestones</b>:
|
||||
{% include "estimated-milestones-table.html" %}
|
||||
</p>
|
||||
<section id="details">
|
||||
<div><b>Updates made by {{updater_email}}:</b></div>
|
||||
<ul>
|
||||
{{formatted_changes|safe}}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<p><b>Changes:</b></p>
|
||||
<ul>
|
||||
{{formatted_changes|safe}}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Next steps:</p>
|
||||
<ul>
|
||||
<li>Check existing
|
||||
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
|
||||
>Lighthouse audits</a> for correctness.</li>
|
||||
|
||||
{% if moz_link_urls %}
|
||||
<li>Review the following MDN pages and
|
||||
<a href="https://docs.google.com/document/d/10jDTZeW914ahqWfxwm9_WXJWvyAKT6EcDIlbI3w0BKY/edit#heading=h.frumfipthu7"
|
||||
>subscribe to updates</a> for them.
|
||||
<ul>
|
||||
{% for url in moz_link_urls %}
|
||||
<li>{{url}}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
<section id="next-steps">
|
||||
<div><b>Your next steps:</b></div>
|
||||
<div><a href="{{SITE_URL}}feature/{{id}}"
|
||||
class="button-like"
|
||||
>View feature details</a></div>
|
||||
</section>
|
||||
|
|
Загрузка…
Ссылка в новой задаче