Bug 906176: Move to django-pipeline from jingo-minify.

This includes some fixes for `static()` template calls.
We can backport those if we want to not go this way.

Fix high_res_img path problems.

Move to a Python 2.6 compatible Manifest staticfiles storage.

Make collectstatic quiet. Use manifest storage on travis.

Fix high_res_img and platform_img helpers for new filenames.
This commit is contained in:
Paul McLanahan 2015-01-26 14:03:53 -05:00
Родитель 63da90f246
Коммит 286c35c047
220 изменённых файлов: 1920 добавлений и 1262 удалений

9
.gitmodules поставляемый
Просмотреть файл

@ -70,6 +70,9 @@
[submodule "vendor-local/src/html5lib"]
path = vendor-local/src/html5lib
url = https://github.com/html5lib/html5lib-python
[submodule "vendor-local/src/jingo-minify"]
path = vendor-local/src/jingo-minify
url = git://github.com/jsocol/jingo-minify.git
[submodule "vendor-local/src/django-pipeline"]
path = vendor-local/src/django-pipeline
url = git://github.com/cyberdelia/django-pipeline.git
[submodule "vendor-local/src/whitenoise"]
path = vendor-local/src/whitenoise
url = git://github.com/evansd/whitenoise.git

Просмотреть файл

@ -2,6 +2,7 @@ sudo: false
language: python
python:
- "2.6"
- "2.7"
env:
- PIP_DOWNLOAD_CACHE="pip_cache"
cache:
@ -10,9 +11,9 @@ cache:
before_script:
- flake8 bedrock lib
- mysql -e 'create database bedrock_test;'
- python manage.py collectstatic --noinput
- python manage.py version
- python manage.py syncdb --noinput --migrate
- python manage.py collectstatic --noinput -v 0
- python manage.py update_product_details
- svn checkout https://svn.mozilla.org/projects/mozilla.com/trunk/locales/ locale
script: coverage run manage.py test

14
bedrock/base/storage.py Normal file
Просмотреть файл

@ -0,0 +1,14 @@
# 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 http://mozilla.org/MPL/2.0/.
# This is here so that we can mix storages as we need. We'll do this for pipeline
# and whitenoise with hashing and gzip when we get those both working.
from pipeline.storage import PipelineMixin
# This part of whitenoise is Python 2.6 compatible
from whitenoise.storage_backport import ManifestStaticFilesStorage
class ManifestPipelineStorage(PipelineMixin, ManifestStaticFilesStorage):
pass

Просмотреть файл

@ -7,7 +7,7 @@
{% block page_title %}404: Page Not Found{% endblock %}
{% block extrahead %}
{{ css('page_not_found') }}
{% stylesheet 'page_not_found' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -5,7 +5,7 @@
{% extends "base-resp.html" %}
{% block extrahead %}
{{ css('page_not_found') }}
{% stylesheet 'page_not_found' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -42,7 +42,7 @@
{{ l10n_css() }}
{% block tabzilla_css %}
{{ css('tabzilla') }}
{% stylesheet 'tabzilla' %}
{% endblock %}
<!--[if lte IE 8]>
@ -52,13 +52,13 @@
<!--[if lte IE 7]>
{# Basic styles, only for IE7 and lower #}
{{ css('oldIE') }}
{% stylesheet 'oldIE' %}
<![endif]-->
<!--[if !lte IE 7]><!-->
{# Global styles, hidden from IE7 and lower #}
{% block site_css %}
{{ css('responsive') }}
{% stylesheet 'responsive' %}
{% endblock %}
{# Page-specific styles, hidden from IE7 and lower #}
@ -69,7 +69,7 @@
{# Extra header stuff (scripts, styles, metadata, etc) seen by all browsers. Use the 'page_css' block for CSS you want to hide from IE7 and lower. #}
{% endblock %}
{{ js('site') }}
{% javascript 'site' %}
{% block optimizely %}{% endblock %}
@ -147,10 +147,10 @@
<![endif]-->
{% block site_js %}
{{ js('common-resp') }}
{% javascript 'common-resp' %}
{% endblock %}
{% block tabzilla_js %}
<script src="{{ settings.CDN_BASE_URL }}{{ url('tabzilla') }}?build={{ BUILD_ID_JS }}"></script>
<script src="{{ settings.CDN_BASE_URL }}{{ url('tabzilla') }}"></script>
{% endblock %}
{% block js %}{% endblock %}
{% if settings.USE_GRUNT_LIVERELOAD %}

Просмотреть файл

@ -40,7 +40,7 @@
{{ l10n_css() }}
{% block tabzilla_css %}
{{ css('tabzilla') }}
{% stylesheet 'tabzilla' %}
{% endblock %}
<!--[if lte IE 8]>
@ -50,13 +50,13 @@
<!--[if lte IE 7]>
{# Basic styles, only for IE7 and lower #}
{{ css('oldIE') }}
{% stylesheet 'oldIE' %}
<![endif]-->
<!--[if !lte IE 7]><!-->
{# Global styles, hidden from IE7 and lower #}
{% block site_css %}
{{ css('common') }}
{% stylesheet 'common' %}
{% endblock %}
{# Page-specific styles, hidden from IE7 and lower #}
@ -67,7 +67,7 @@
{# Extra header stuff (scripts, styles, metadata, etc) seen by all browsers. Use the 'page_css' block for CSS you want to hide from IE7 and lower. #}
{% endblock %}
{{ js('site') }}
{% javascript 'site' %}
{% block optimizely %}{% endblock %}
@ -133,10 +133,10 @@
</div><!-- close #outer-wrapper -->
{% block site_js %}
{{ js('common') }}
{% javascript 'common' %}
{% endblock %}
{% block tabzilla_js %}
<script src="{{ settings.CDN_BASE_URL }}{{ url('tabzilla') }}?build={{ BUILD_ID_JS }}"></script>
<script src="{{ settings.CDN_BASE_URL }}{{ url('tabzilla') }}"></script>
{% endblock %}
{% block js %}{% endblock %}
{% if settings.USE_GRUNT_LIVERELOAD %}

Просмотреть файл

@ -5,7 +5,7 @@
{% block page_title %}{{ _('Download Firefox') }}{% endblock %}
{% block site_css %}
{{ css('facebookapps_downloadtab') }}
{% stylesheet 'facebookapps_downloadtab' %}
{% endblock %}
{% block body_class -%}
@ -127,5 +127,5 @@
<div id="fb-root"></div>
{{ js('facebookapps_downloadtab') }}
{% javascript 'facebookapps_downloadtab' %}
{% endblock %}

Просмотреть файл

@ -5,6 +5,6 @@
</head>
<body>
<div id="redirect" data-redirect-url="{{ redirect_url }}"></div>
{{ js('facebookapps_redirect') }}
{% javascript 'facebookapps_redirect' %}
</body>
</html>

Просмотреть файл

@ -22,7 +22,7 @@
{% endblock %}
{% block site_css %}
{{ css('firefox_all') }}
{% stylesheet 'firefox_all' %}
{% endblock %}
{% block site_header_logo %}
@ -127,7 +127,7 @@
{% block js %}
{# searching with js only makes sense if we're displaying all #}
{% if not query %}
{{ js('firefox_all') }}
{% javascript 'firefox_all' %}
{% endif %}
{% endblock %}

Просмотреть файл

@ -9,7 +9,7 @@
{% block body_id %}mobile-faq{% endblock %}
{% block site_css %}
{{ css('firefox_faq') }}
{% stylesheet 'firefox_faq' %}
{% endblock %}
{% block breadcrumbs %}
@ -209,5 +209,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_faq') }}
{% javascript 'firefox_faq' %}
{% endblock %}

Просмотреть файл

@ -10,10 +10,10 @@
{% block body_id %}firefox-android{% endblock %}
{% block site_css %}
{{ css('firefox_android') }}
{% stylesheet 'firefox_android' %}
<!--[if gt IE 9]><!-->
{{ css('firefox_sync_anim') }}
{% stylesheet 'firefox_sync_anim' %}
<!--<![endif]-->
{% endblock %}
@ -34,7 +34,7 @@
<section id="intro">
<div class="container">
{{ high_res_img('/img/firefox/android/firefox-android-logo.png', { 'alt': _('Firefox for Android'), 'width': 219, 'height': 82 }) }}
{{ high_res_img('img/firefox/android/firefox-android-logo.png', { 'alt': _('Firefox for Android'), 'width': 219, 'height': 82 }) }}
<div class="content-primary">
<h2 class="heading">
@ -362,7 +362,7 @@
{% block js %}
<!--[if IE 9]>
{{ js('firefox_android_ie9') }}
{% javascript 'firefox_android_ie9' %}
<![endif]-->
{{ js('firefox_android') }}
{% javascript 'firefox_android' %}
{% endblock %}

Просмотреть файл

@ -10,7 +10,7 @@
{% block body_id %}mobile-sms{% endblock %}
{% block site_css %}
{{ css('firefox_sms') }}
{% stylesheet 'firefox_sms' %}
{% endblock %}
{% block site_header_nav %}{% endblock %}
@ -18,7 +18,7 @@
{% block email_form %}{% endblock %}
{% block js %}
{{ js('firefox_sms') }}
{% javascript 'firefox_sms' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -21,7 +21,7 @@
<div id="video-player" class="mozilla-video-control mozilla-video-shadow">
<video
controls="controls"
poster="{{ static('/img/firefox/mobile/poster-fxandroid.jpg') }}"
poster="{{ static('img/firefox/mobile/poster-fxandroid.jpg') }}"
height="304"
width="540"
data-overlay-hidden-text="{{_('Play video')}}">

Просмотреть файл

@ -9,7 +9,7 @@
{% block telemetry_id %}australis-29-release-no-tour{% endblock %}
{% block js %}
{{ js('firefox_tour_none') }}
{% javascript 'firefox_tour_none' %}
{% endblock %}
{% block string_data %}{% endblock %}

Просмотреть файл

@ -25,11 +25,11 @@
{% endblock %}
{% block site_css %}
{{ css('firefox_tour') }}
{% stylesheet 'firefox_tour' %}
{% endblock %}
{% block js %}
{{ js('firefox_tour') }}
{% javascript 'firefox_tour' %}
{% endblock %}
{% block main_heading %}

Просмотреть файл

@ -9,7 +9,7 @@
{% block telemetry_id %}australis-29-release-no-tour{% endblock %}
{% block js %}
{{ js('firefox_tour_none') }}
{% javascript 'firefox_tour_none' %}
{% endblock %}
{% block string_data %}{% endblock %}

Просмотреть файл

@ -20,11 +20,11 @@
{% endblock %}
{% block site_css %}
{{ css('firefox_tour') }}
{% stylesheet 'firefox_tour' %}
{% endblock %}
{% block js %}
{{ js('firefox_tour') }}
{% javascript 'firefox_tour' %}
{% endblock %}
{% block main_heading %}

Просмотреть файл

@ -10,7 +10,7 @@
{% block page_title_prefix %}{{_('Mozilla Firefox Web Browser')}} — {% endblock %}
{% block page_image %}{{ static('img/firefox/firefox-256.jpg') }}{% endblock %}
{% block page_favicon %}{{ static('img/firefox/favicon.ico?2013-08') }}{% endblock %}
{% block page_favicon %}{{ static('img/firefox/favicon.ico') }}{% endblock %}
{% block page_favicon_large %}{{ static('img/firefox/favicon-196.png') }}{% endblock %}
{% block page_ios_icon %}{{ static('img/firefox/ios-icon-180.png') }}{% endblock %}
@ -18,7 +18,7 @@
{% block twitter_id %}firefox{% endblock %}
{% block site_css %}
{{ css('firefox-resp') }}
{% stylesheet 'firefox-resp' %}
{% endblock %}
{% block site_header_nav %}
@ -30,5 +30,5 @@
{% endblock %}
{% block site_js %}
{{ js('firefox-resp') }}
{% javascript 'firefox-resp' %}
{% endblock %}

Просмотреть файл

@ -16,7 +16,7 @@
{% block twitter_id %}firefox{% endblock %}
{% block site_css %}
{{ css('firefox') }}
{% stylesheet 'firefox' %}
{% endblock %}
{% block site_header_nav %}
@ -28,5 +28,5 @@
{% endblock %}
{% block site_js %}
{{ js('firefox') }}
{% javascript 'firefox' %}
{% endblock %}

Просмотреть файл

@ -25,7 +25,7 @@
{% block body_id %}channel{% endblock %}
{% block extrahead %}
{{ css('firefox_channel') }}
{% stylesheet 'firefox_channel' %}
{% endblock %}
{% block content %}
@ -33,9 +33,9 @@
<div id="main-content" class="pager pager-with-tabs pager-cleartype-fix pager-auto-init">
<ul id="toggler-container" class="pager-tabs">
<li id="beta-link"><a href="#beta"><img src="{{ static('/img/firefox/channel/toggler-beta.png') }}" alt="Firefox Beta" id="toggler-logo-beta" /></a></li>
<li id="firefox-link"><a href="#firefox"><img src="{{ static('/img/firefox/channel/toggler-firefox.png') }}" alt="Firefox" id="toggler-logo-firefox" /></a></li>
<li id="aurora-link"><a href="#developer"><img src="{{ static('/img/firefox/channel/toggler-dev.png') }}" alt="Firefox Developer Edition" id="toggler-logo-aurora" /></a></li>
<li id="beta-link"><a href="#beta"><img src="{{ static('img/firefox/channel/toggler-beta.png') }}" alt="Firefox Beta" id="toggler-logo-beta" /></a></li>
<li id="firefox-link"><a href="#firefox"><img src="{{ static('img/firefox/channel/toggler-firefox.png') }}" alt="Firefox" id="toggler-logo-firefox" /></a></li>
<li id="aurora-link"><a href="#developer"><img src="{{ static('img/firefox/channel/toggler-dev.png') }}" alt="Firefox Developer Edition" id="toggler-logo-aurora" /></a></li>
</ul>
<a href="#" id="carousel-left" aria-hidden="true"></a>
@ -44,7 +44,7 @@
<div class="pager-content">
<div id="beta" class="pager-page">
<h2 class="channel-title channel-title-beta"><img src="{{ static('/img/firefox/channel/title-beta.png') }}" alt="Firefox Beta" /></h2>
<h2 class="channel-title channel-title-beta"><img src="{{ static('img/firefox/channel/title-beta.png') }}" alt="Firefox Beta" /></h2>
{# L10n: This description applies to Firefox Beta #}
<h3>{{_('The latest features in a more stable environment')}}</h3>
<div class="download-box" id="beta-desktop">
@ -68,7 +68,7 @@
</div>
<div id="firefox" class="pager-page">
<h2 class="channel-title channel-title-firefox"><img src="{{ static('/img/firefox/channel/title-firefox.png') }}" alt="Firefox" /></h2>
<h2 class="channel-title channel-title-firefox"><img src="{{ static('img/firefox/channel/title-firefox.png') }}" alt="Firefox" /></h2>
{# L10n: This description applies to Firefox on the Release channel #}
<h3>{{_('Tried, tested and used by millions around the world')}}</h3>
<div class="download-box" id="firefox-desktop">
@ -114,7 +114,7 @@
{% endblock %}
{% block js %}
{{ js('firefox_channel') }}
{% javascript 'firefox_channel' %}
{% endblock %}
{% block email_form %}{% endblock %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block page_title %}{% endblock %}
{% block site_css %}
{{ css('firefox-dashboard') }}
{% stylesheet 'firefox-dashboard' %}
{% endblock %}
{% block breadcrumbs %}
@ -52,7 +52,7 @@
{% endblock %}
{% block js %}
{{ js('accordion') }}
{% javascript 'accordion' %}
{% endblock %}
{% block email_form %}{% endblock %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block page_title %}{{ _("Firefox — Customize and make it your own — The most flexible browser on the Web") }}{% endblock %}
{% block site_css %}
{{ css('firefox_desktop_customize') }}
{% stylesheet 'firefox_desktop_customize' %}
{% endblock %}
{% block body_id %}firefox-desktop-customize{% endblock %}
@ -25,7 +25,7 @@
</p>
<div class="animation-wrapper" id="flexible-top-animation">
<img src="{{ static('/img/firefox/desktop/customize/animations/flexible-top-fallback.png') }}" class="fallback" alt="">
<img src="{{ static('img/firefox/desktop/customize/animations/flexible-top-fallback.png') }}" class="fallback" alt="">
<div class="stage">
<div id="browser-customize-orange"></div>
@ -52,7 +52,7 @@
{{ high_res_img('img/firefox/desktop/customize/designed-redesigned.png', { 'alt': '', 'id': 'designed-mobile'}) }}
</div>
<div class="animation-wrapper" id="flexible-bottom-animation">
<img src="{{ static('/img/firefox/desktop/customize/animations/flexible-bottom-fallback.png') }}" class="fallback" alt="">
<img src="{{ static('img/firefox/desktop/customize/animations/flexible-bottom-fallback.png') }}" class="fallback" alt="">
<div class="stage">
<div id="panel-start">
@ -176,7 +176,7 @@
<a class="next show-customizer" href="#add-ons" role="button">{{ _('Next') }}</a>
<div class="customizer-visual">
<img id="theme-demo" src="{{ static('/img/firefox/desktop/customize/theme-red.png') }}" alt="{{ _('Preview of the currently selected theme') }}">
<img id="theme-demo" src="{{ static('img/firefox/desktop/customize/theme-red.png') }}" alt="{{ _('Preview of the currently selected theme') }}">
</div>
</div>
</section>
@ -204,7 +204,7 @@
</div><!--/.customizer-copy-->
<div class="customizer-visual">
<img src="{{ static('/img/firefox/desktop/customize/add-ons.png') }}" alt="">
<img src="{{ static('img/firefox/desktop/customize/add-ons.png') }}" alt="">
</div>
</div>
</section>
@ -224,7 +224,7 @@
</div>
<div class="customizer-visual">
<img src="{{ static('/img/firefox/desktop/customize/awesome-bar.png') }}" alt="{{ _('Firefox Awesome Bar') }}">
<img src="{{ static('img/firefox/desktop/customize/awesome-bar.png') }}" alt="{{ _('Firefox Awesome Bar') }}">
</div>
</div>
</section>
@ -249,5 +249,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_desktop_customize')}}
{% javascript 'firefox_desktop_customize' %}
{% endblock %}

Просмотреть файл

@ -11,7 +11,7 @@
{% block body_class %}firefox-desktop{% endblock %}
{% block extrahead %}
<script src="{{ static('/js/libs/modernizr.custom.cssanimations.js') }}"></script>
<script src="{{ static('js/libs/modernizr.custom.cssanimations.js') }}"></script>
{% endblock %}
{% block site_header %}
@ -57,5 +57,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_desktop_common') }}
{% javascript 'firefox_desktop_common' %}
{% endblock %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block page_title %}{{ _('Firefox — The "speed king" - The fastest browser on the Web') }}{% endblock %}
{% block site_css %}
{{ css('firefox_desktop_fast') }}
{% stylesheet 'firefox_desktop_fast' %}
{% endblock %}
{% block body_id %}firefox-desktop-fast{% endblock %}
@ -72,7 +72,7 @@
</p>
<div class="animation-wrapper" id="feel-animation">
<img src="{{ static('/img/firefox/desktop/fast/feel-composite.png') }}" class="fallback" alt="">
<img src="{{ static('img/firefox/desktop/fast/feel-composite.png') }}" class="fallback" alt="">
<div class="stage">
<div id="feel-tabs">
@ -106,5 +106,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_desktop_fast') }}
{% javascript 'firefox_desktop_fast' %}
{% endblock %}

Просмотреть файл

@ -1,4 +1,4 @@
<img id="intro-firefox-logo" src="{{ static('/img/firefox/desktop/index/animations/firefox-logo.png') }}" alt="">
<img id="intro-firefox-logo" src="{{ static('img/firefox/desktop/index/animations/firefox-logo.png') }}" alt="">
<div id="intro-svg-anim">
<!--[if gt IE 9]><!-->
<div class="svg-wrapper intro-browser">

Просмотреть файл

@ -20,7 +20,7 @@
{% endblock %}
{% block site_css %}
{{ css('firefox_desktop') }}
{% stylesheet 'firefox_desktop' %}
{% endblock %}
{% block site_header_download_button %}{% endblock %}
@ -79,7 +79,7 @@
</p>
<div class="animation-wrapper" id="flexible-animation">
<img src="{{ static('/img/firefox/desktop/index/animations/flexible-fallback.png') }}" class="fallback" alt="">
<img src="{{ static('img/firefox/desktop/index/animations/flexible-fallback.png') }}" class="fallback" alt="">
<div class="stage">
<div id="toolbar">
@ -151,5 +151,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_desktop_index') }}
{% javascript 'firefox_desktop_index' %}
{% endblock %}

Просмотреть файл

@ -13,7 +13,7 @@
{% block body_class %}firefox-desktop-tips{% endblock %}
{% block site_css %}
{{ css('firefox_desktop_tips') }}
{% stylesheet 'firefox_desktop_tips' %}
{% endblock %}
{% block site_header %}
@ -33,7 +33,7 @@
<div id="page-header">
<div class="container">
<div id="heading-logo-wrapper">
<img src="{{ static('/img/firefox/desktop/tips/firefox-logo.png') }}" alt="Firefox" id="page-header-logo">
<img src="{{ static('img/firefox/desktop/tips/firefox-logo.png') }}" alt="Firefox" id="page-header-logo">
<div class="heading-group">
<h1>{{ _('The best of the latest Firefox') }}</h1>
<h2>{{ _('5 top tips, tricks and time-saving tools') }}</h2>
@ -274,5 +274,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_desktop_tips') }}
{% javascript 'firefox_desktop_tips' %}
{% endblock %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block page_title %}{{ _("Firefox — Designed to protect your privacy — The most trusted browser on the Web") }}{% endblock %}
{% block site_css %}
{{ css('firefox_desktop_trust') }}
{% stylesheet 'firefox_desktop_trust' %}
{% endblock %}
{% block body_id %}firefox-desktop-trust{% endblock %}
@ -161,5 +161,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_desktop_trust') }}
{% javascript 'firefox_desktop_trust' %}
{% endblock %}

Просмотреть файл

@ -9,7 +9,7 @@
{% block extra_meta %}<meta name="robots" content="noindex">{% endblock %}
{% block site_css %}
{{ css('firefox_developer_firstrun') }}
{% stylesheet 'firefox_developer_firstrun' %}
{% endblock %}
{% block page_title_prefix %}{% endblock %}
@ -68,7 +68,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
<ul class="features">
<li class="feature">
<a href="https://www.youtube.com/watch?v=1R9_WdXwUsE" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-webide.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-webide.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('WebIDE')}}</h2>
<p>{{_('Develop, deploy and debug Firefox OS apps directly in your browser, or on a Firefox OS device, with this tool that replaces App Manager.')}}</p>
@ -79,7 +79,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=eH0R10Ga4Hs" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-valence.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-valence.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Valence')}}</h2>
<p>{{_('Develop and debug your apps across multiple browsers and devices with this powerful extension that comes pre-installed with Firefox Developer Edition.')}}</p>
@ -108,7 +108,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
<ul class="features">
<li class="feature">
<a href="https://www.youtube.com/watch?v=eQqNfkqIJdw" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-inspector.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-inspector.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Page Inspector')}}</h2>
<p>{{_('Examine the HTML and CSS of any Web page and easily modify the structure and layout of a page.')}}</p>
@ -119,7 +119,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=iEDk8o9ehlw" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-console.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-console.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Web Console')}}</h2>
<p>{{_('See logged information associated with a Web page and use Web Console to interact with Web pages using JavaScript.')}}</p>
@ -130,7 +130,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=OS4AxYFLCIE" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-debugger.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-debugger.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('JavaScript Debugger')}}</h2>
<p>{{_('Step through JavaScript code and examine or modify its state to help track down bugs.')}}</p>
@ -141,7 +141,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=w4zSG53Qlbk" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-network.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-network.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Network Monitor')}}</h2>
<p>{{_('See all the network requests your browser makes, how long each request takes and details of each request.')}}</p>
@ -152,7 +152,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=R_qDaLQ8ghg" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-webaudio.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-webaudio.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Web Audio Editor')}}</h2>
<p>{{_('Inspect and interact with Web Audio API in real time to ensure that all audio nodes are connected in the way you expect.')}}</p>
@ -163,7 +163,7 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=3kdBvvIZIqU" rel="external" class="video-play">
<img src="{{ static('/img/firefox/firstrun/dev/feature-style-editor.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/firstrun/dev/feature-style-editor.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Style Editor')}}</h2>
<p>{{_('View and edit CSS styles associated with a Web page, create new ones and apply existing CSS stylesheets to any page.')}}</p>
@ -182,5 +182,5 @@ data-sync-icon-high-res="{{ static('img/firefox/dev-firstrun/sync-blue-high-res.
{% block email_form %}{% endblock %}
{% block js %}
{{ js('firefox_developer_firstrun') }}
{% javascript 'firefox_developer_firstrun' %}
{% endblock %}

Просмотреть файл

@ -17,11 +17,11 @@
{% block site_css %}{% endblock %}
{% block extrahead %}
{{ css('firefox_developer') }}
{% stylesheet 'firefox_developer' %}
{% endblock %}
{% block js %}
{{ js('firefox_developer') }}
{% javascript 'firefox_developer' %}
{% endblock %}
{% block content %}
@ -70,7 +70,7 @@
<ul class="features">
<li class="feature">
<a href="https://www.youtube.com/watch?v=1R9_WdXwUsE" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-webide.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-webide.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('WebIDE')}}</h2>
<p>{{_('Develop, deploy and debug Firefox OS apps directly in your browser, or on a Firefox OS device, with this tool that replaces App Manager.')}}</p>
@ -81,7 +81,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=iJ4C7VnIMC8" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-responsive.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-responsive.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{ _('Responsive Design View ') }}</h2>
<p>{{ _('See how your Website or Web app will look on different screen sizes without changing the size of your browser window.') }}</p>
@ -92,7 +92,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=eH0R10Ga4Hs" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-valence.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-valence.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Valence')}}</h2>
<p>{{_('Develop and debug your apps across multiple browsers and devices with this powerful extension that comes pre-installed with Firefox Developer Edition.')}}</p>
@ -103,7 +103,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=R_qDaLQ8ghg" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-webaudio.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-webaudio.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Web Audio Editor')}}</h2>
<p>{{_('Inspect and interact with Web Audio API in real time to ensure that all audio nodes are connected in the way you expect.')}}</p>
@ -114,7 +114,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=eQqNfkqIJdw" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-inspector.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-inspector.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Page Inspector')}}</h2>
<p>{{_('Examine the HTML and CSS of any Web page and easily modify the structure and layout of a page.')}}</p>
@ -125,7 +125,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=iEDk8o9ehlw" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-console.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-console.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Web Console')}}</h2>
<p>{{_('See logged information associated with a Web page and use Web Console to interact with Web pages using JavaScript.')}}</p>
@ -136,7 +136,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=OS4AxYFLCIE" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-debugger.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-debugger.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('JavaScript Debugger')}}</h2>
<p>{{_('Step through JavaScript code and examine or modify its state to help track down bugs.')}}</p>
@ -147,7 +147,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=w4zSG53Qlbk" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-network.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-network.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Network Monitor')}}</h2>
<p>{{_('See all the network requests your browser makes, how long each request takes and details of each request.')}}</p>
@ -158,7 +158,7 @@
</li>
<li class="feature">
<a href="https://www.youtube.com/watch?v=3kdBvvIZIqU" class="video-play" rel="external">
<img src="{{ static('/img/firefox/developer/feature-style-editor.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
<img src="{{ static('img/firefox/developer/feature-style-editor.jpg') }}" alt="{{ _('Screenshot') }}" class="screenshot">
</a>
<h2>{{_('Style Editor')}}</h2>
<p>{{_('View and edit CSS styles associated with a Web page, create new ones and apply existing CSS stylesheets to any page.')}}</p>

Просмотреть файл

@ -9,7 +9,7 @@
{% block body_id %}dnt{% endblock %}
{% block site_css %}
{{ css('dnt') }}
{% stylesheet 'dnt' %}
{% endblock %}
{% block breadcrumbs %}
@ -236,7 +236,7 @@
<p>
<a href="https://support.mozilla.org/kb/how-do-i-stop-websites-tracking-me">
<img alt="{{ _('Options window - Advanced panel - Do Not Track') }}"
src="{{ static('/img/firefox/dnt/screenshot.png') }}"
src="{{ static('img/firefox/dnt/screenshot.png') }}"
title="{{ _('Enabling Do Not Track') }}">
{{ _('Click for Instructions') }} »
</a>
@ -246,7 +246,7 @@
<h4>{{ _('Enable Do Not Track in Internet Explorer 9') }}</h4>
<p>
{% trans url='http://ie.microsoft.com/testdrive/Browser/TrackingProtectionLists/faq.html',
tpl=media('/dnt/dnt-enabler.tpl') %}
tpl=static('dnt/dnt-enabler.tpl') %}
To enable Do Not Track in IE 9, you need to enable IE 9s
<a href="{{ url }}">Tracking Protection</a> feature. The easiest way to do that
is to install <a href="{{ tpl }}">Mozillas Simple Tracking Protection List</a>.
@ -265,7 +265,7 @@
{% endblock %}
{% block js %}
{{ js('accordion') }}
{% javascript 'accordion' %}
{% endblock %}
{% block email_form %}{% endblock %}

Просмотреть файл

@ -17,7 +17,7 @@
{% block site_header_logo %}{% endblock %}
{% block site_css %}
{{ css('firefox_firstrun') }}
{% stylesheet 'firefox_firstrun' %}
{% endblock %}
{% block content %}
@ -30,7 +30,7 @@
<div id="video-player" class="mozilla-video-control mozilla-video-shadow">
<video
controls="controls"
poster="{{ static('/img/firefox/firstrun/video-poster.jpg') }}"
poster="{{ static('img/firefox/firstrun/video-poster.jpg') }}"
height="360"
width="640"
data-overlay-hidden-text="{{_('Play video')}}"
@ -66,5 +66,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_firstrun') }}
{% javascript 'firefox_firstrun' %}
{% endblock %}

Просмотреть файл

@ -16,7 +16,7 @@
{% block twitter_id %}firefox{% endblock %}
{% block site_css %}
{{ css('firefox-resp') }}
{% stylesheet 'firefox-resp' %}
{% endblock %}
{% block site_header_nav %}{% endblock %}
@ -26,5 +26,5 @@
{% endblock %}
{% block site_js %}
{{ js('firefox-resp') }}
{% javascript 'firefox-resp' %}
{% endblock %}

Просмотреть файл

@ -9,11 +9,11 @@
{% block body_id %}geolocation{% endblock %}
{% block site_css %}
{{ css('firefox_geolocation') }}
{% stylesheet 'firefox_geolocation' %}
{% endblock %}
{% block js %}
{{ js('geolocation') }}
{% javascript 'geolocation' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -11,18 +11,18 @@
{% block page_title_prefix %}{% endblock %}
{% block page_title %}{{ _('Firefox Hello — Free, easy video conversations') }}{% endblock %}
{% block page_desc %}{{ _('Learn all about Firefox Hello and see for yourself how easy it is to have a free video conversation with anyone, anywhere, right from your browser') }}{% endblock %}
{% block page_image %}{{ media('img/firefox/hello/hello-share.jpg') }}{% endblock %}
{% block page_image %}{{ static('img/firefox/hello/hello-share.jpg') }}{% endblock %}
{% block body_id %}firefox-hello{% endblock %}
{% block site_css %}
{{ css('firefox_hello') }}
{% stylesheet 'firefox_hello' %}
{% endblock %}
{% block js %}
<!--[if IE 9]>
{{ js('firefox_hello_ie9') }}
{% javascript 'firefox_hello_ie9' %}
<![endif]-->
{{ js('firefox_hello') }}
{% javascript 'firefox_hello' %}
{% endblock %}
{% block site_header %}
@ -136,7 +136,7 @@
<button class="try-hello" id="try-hello-intro">{{ _('Try Firefox Hello') }}</button>
<aside id="powered-by">
{{ _('Powered by %s')|format(high_res_img('/img/firefox/hello/tef-logo.png', {'alt': 'Telefonica', 'width': '106', 'height': '29'})) }}
{{ _('Powered by %s')|format(high_res_img('img/firefox/hello/tef-logo.png', {'alt': 'Telefonica', 'width': '106', 'height': '29'})) }}
</aside>
</div>{# /.container #}
</section>
@ -227,7 +227,7 @@
</div>
<div class="cta-wrapper">
<a id="video-link" href="{{ video_url }}.mp4">
<img src="{{ static('/img/firefox/hello/video-screenshot.jpg') }}" alt="{{ _('Get to know Hello') }}">
<img src="{{ static('img/firefox/hello/video-screenshot.jpg') }}" alt="{{ _('Get to know Hello') }}">
</a>
</div>
</div>{# /.container #}

Просмотреть файл

@ -9,7 +9,7 @@
{% block extra_meta %}<meta name="robots" content="noindex">{% endblock %}
{% block site_css %}
{{ css('firefox_hello_start') }}
{% stylesheet 'firefox_hello_start' %}
{% endblock %}
{% block page_title_prefix %}{% endblock %}
@ -79,5 +79,5 @@ data-room-list-text="{{ _('Click now to join and say hello.') }}"
{% block site_footer %}{% endblock %}
{% block js %}
{{ js('firefox_hello_start') }}
{% javascript 'firefox_hello_start' %}
{% endblock %}

Просмотреть файл

@ -1,5 +1,5 @@
<div id="map-menu">
<a class="button" href="{{ static('/img/firefox/os/mwc-2014-preview/firefox-mwc-2014-map.pdf?20140210') }}">{{ _('Download PDF') }}</a>
<a class="button" href="{{ static('img/firefox/os/mwc-2014-preview/firefox-mwc-2014-map.pdf?20140210') }}">{{ _('Download PDF') }}</a>
</div>
<div id="map-container">

Просмотреть файл

@ -33,7 +33,7 @@
{% block body_id %}independent{% endblock %}
{% block page_css %}
{{ css('firefox_independent') }}
{% stylesheet 'firefox_independent' %}
{% endblock %}
{% block site_header_nav %}{% endblock %}
@ -100,7 +100,7 @@
{% endblock %}
{% block js %}
{{ js('firefox_independent') }}
{% javascript 'firefox_independent' %}
{% endblock %}
{% block email_form %}{% endblock %}

Просмотреть файл

@ -16,7 +16,7 @@
{% endblock %}
{% block site_css %}
{{ css('installer_help') }}
{% stylesheet 'installer_help' %}
{% endblock %}
{% block content %}
@ -76,5 +76,5 @@
{% endblock %}
{% block js %}
{{ js('installer_help') }}
{% javascript 'installer_help' %}
{% endblock %}

Просмотреть файл

@ -20,11 +20,11 @@
{% block site_css %}{% endblock %}
{% block extrahead %}
{{ css('firefox_new') }}
{% stylesheet 'firefox_new' %}
{% endblock %}
{% block js_pretrack %}
{{ js('firefox_new') }}
{% javascript 'firefox_new' %}
{% endblock %}
{% block optimizely %}
@ -137,7 +137,7 @@
</div>
<div class="desktop" id="firefox-screenshot">
{{ platform_img('img/firefox/new/browser.png', {'alt': _('Firefox screenshot'), 'data-additional-platforms': 'android ios', 'data-high-res': 'true'}) }}
{{ platform_img('img/firefox/new/browser.png', {'alt': _('Firefox screenshot'), 'data-additional-platforms': 'android ios', 'high-res': True}) }}
</div>
<div id="newsletter-latest">

Просмотреть файл

@ -9,7 +9,7 @@
{% block extra_meta %}<meta name="robots" content="noindex">{% endblock %}
{% block site_css %}
{{ css('nightly_firstrun') }}
{% stylesheet 'nightly_firstrun' %}
{% endblock %}
{% add_lang_files "firstrun" "mobile" %}
@ -92,5 +92,5 @@
{% block email_form %}{% endblock %}
{% block js %}
{{ js('nightly-firstrun') }}
{% javascript 'nightly-firstrun' %}
{% endblock %}

Просмотреть файл

@ -10,7 +10,7 @@
{% block body_id %}organizations{% endblock %}
{% block site_css %}
{{ css('firefox_organizations') }}
{% stylesheet 'firefox_organizations' %}
{% endblock %}
{% block site_header_nav %}

Просмотреть файл

@ -14,9 +14,9 @@
{% block site_header_logo %}{% endblock %}
{% block extrahead %}
{{ css('firefox_os_devices') }}
{% stylesheet 'firefox_os_devices' %}
<!--[if lt IE 9]>
{{ css('firefox_os_devices_ie') }}
{% stylesheet 'firefox_os_devices_ie' %}
<![endif]-->
{% endblock %}
@ -91,7 +91,7 @@
<ul class="device-thumbnails">
<li>
<a href="#alcatel_onetouchfire" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfire-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfire-thumb.png') }}" alt="">
<span class="device-name">{{ _('Alcatel One Touch Fire') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -100,7 +100,7 @@
</li>
<li>
<a href="#lg_fireweb" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/lg-fireweb-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/lg-fireweb-thumb.png') }}" alt="">
<span class="device-name">{{ _('LG Fireweb') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -109,7 +109,7 @@
</li>
<li class="last">
<a href="#zte_open" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-open-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-open-thumb.png') }}" alt="">
<span class="device-name">{{ _('ZTE Open') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -136,7 +136,7 @@
<div class="pager-content">
<div class="device-details features pager-page default-page" id="alcatel_onetouchfire-features">
<div class="feature-group logo-colors">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfire-logo.png') }}" alt="{{ _('One Touch Fire') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfire-logo.png') }}" alt="{{ _('One Touch Fire') }}">
<em>{{ _('Set your world on fire') }}</em>
@ -147,13 +147,13 @@
<ul>
<li>
<button class="alcatel-onetouchfire-orange" data-image="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfire.png') }}" title="{{ _('Firefox Orange') }}"></button>
<button class="alcatel-onetouchfire-orange" data-image="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfire.png') }}" title="{{ _('Firefox Orange') }}"></button>
</li>
<li>
<button class="alcatel-onetouchfire-green" data-image="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfire-green.png') }}" title="{{ _('Green') }}"></button>
<button class="alcatel-onetouchfire-green" data-image="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfire-green.png') }}" title="{{ _('Green') }}"></button>
</li>
<li>
<button href="#" class="alcatel-onetouchfire-white" data-image="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfire-white.png') }}" title="{{ _('White') }}"></button>
<button href="#" class="alcatel-onetouchfire-white" data-image="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfire-white.png') }}" title="{{ _('White') }}"></button>
</li>
</ul>
</section>
@ -161,7 +161,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfire.png') }}" alt="{{ _('Alcatel One Touch Fire') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfire.png') }}" alt="{{ _('Alcatel One Touch Fire') }}">
</div>
<div class="feature-group stats">
@ -341,11 +341,11 @@
<div class="device-details pager-page default-page features" id="lg_fireweb-features">
<div class="feature-group logo-colors">
<img src="{{ static('/img/firefox/os/devices/smartphones/lg-fireweb-logo.png') }}" alt="{{ _('LG') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/lg-fireweb-logo.png') }}" alt="{{ _('LG') }}">
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/lg-fireweb.png') }}" alt="{{ _('LG Fireweb') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/lg-fireweb.png') }}" alt="{{ _('LG Fireweb') }}">
</div>
<div class="feature-group stats">
@ -507,7 +507,7 @@
<div class="device-details pager-page default-page features" id="zte_open-features">
<div class="feature-group logo-colors">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-open-logo.png') }}" alt="{{ _('ZTE Open') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-open-logo.png') }}" alt="{{ _('ZTE Open') }}">
{#
Will be implemented when images are provided.
@ -516,13 +516,13 @@
<ul>
<li>
<button class="zte-open-black" data-image="{{ static('/img/firefox/os/devices/smartphones/zte-open.png') }}" title="{{ _('Black') }}"></button>
<button class="zte-open-black" data-image="{{ static('img/firefox/os/devices/smartphones/zte-open.png') }}" title="{{ _('Black') }}"></button>
</li>
<li>
<button class="zte-open-blue" data-image="{{ static('/img/firefox/os/devices/smartphones/zte-open-blue.png') }}" title="{{ _('Blue') }}"></button>
<button class="zte-open-blue" data-image="{{ static('img/firefox/os/devices/smartphones/zte-open-blue.png') }}" title="{{ _('Blue') }}"></button>
</li>
<li>
<button class="zte-open-orange" data-image="{{ static('/img/firefox/os/devices/smartphones/zte-open-orange.png') }}" title="{{ _('Orange') }}"></button>
<button class="zte-open-orange" data-image="{{ static('img/firefox/os/devices/smartphones/zte-open-orange.png') }}" title="{{ _('Orange') }}"></button>
</li>
</ul>
</section>
@ -530,7 +530,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-open.png') }}" alt="{{ _('ZTE Open') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-open.png') }}" alt="{{ _('ZTE Open') }}">
</div>
<div class="feature-group stats">
@ -685,7 +685,7 @@
<ul class="device-thumbnails">
<li>
<a href="#huawei_y300-2" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/huawei-y300-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/huawei-y300-thumb.png') }}" alt="">
<span class="device-name">{{ _('Huawei Y300II') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -694,7 +694,7 @@
</li>
<li>
<a href="#alcatel_onetouchfirec" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfirec-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfirec-thumb.png') }}" alt="">
<span class="device-name">{{ _('Alcatel One Touch Fire C') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -703,7 +703,7 @@
</li>
<li class="last">
<a href="#zte_openc" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-openc-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-openc-thumb.png') }}" alt="">
<span class="device-name">{{ _('ZTE Open C') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -730,11 +730,11 @@
<div class="pager-content">
<div class="device-details features pager-page default-page" id="huawei_y300-2-features">
<div class="feature-group logo-colors">
<img src="{{ static('/img/firefox/os/devices/smartphones/huawei-logo.png') }}" alt="{{ _('Huawei') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/huawei-logo.png') }}" alt="{{ _('Huawei') }}">
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/huawei-y300.png') }}" alt="{{ _('Huawei Y300II') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/huawei-y300.png') }}" alt="{{ _('Huawei Y300II') }}">
</div>
<div class="feature-group stats">
@ -872,7 +872,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfirec.png') }}" alt="{{ _('Alcatel One Touch Fire C') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfirec.png') }}" alt="{{ _('Alcatel One Touch Fire C') }}">
</div>
<div class="feature-group stats">
@ -937,7 +937,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-openc.png') }}" alt="{{ _('ZTE Open C') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-openc.png') }}" alt="{{ _('ZTE Open C') }}">
</div>
<div class="feature-group stats">
@ -1034,7 +1034,7 @@
<ul class="device-thumbnails">
<li>
<a href="#zte_open2" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-open2-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-open2-thumb.png') }}" alt="">
<span class="device-name">{{ _('ZTE Open II') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1043,7 +1043,7 @@
</li>
<li>
<a href="#alcatel_onetouchfiree" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfiree-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfiree-thumb.png') }}" alt="">
<span class="device-name">{{ _('Alcatel One Touch Fire E') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1052,7 +1052,7 @@
</li>
<li class="last">
<a href="#intex_cloudfx" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/intex-cloudfx-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/intex-cloudfx-thumb.png') }}" alt="">
<span class="device-name">{{ _('Intex Cloud FX') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1082,7 +1082,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/zte-open2.png') }}" alt="{{ _('ZTE Open II') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/zte-open2.png') }}" alt="{{ _('ZTE Open II') }}">
</div>
<div class="feature-group stats">
@ -1192,7 +1192,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfiree.png') }}" alt="{{ _('Alcatel One Touch Fire E') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfiree.png') }}" alt="{{ _('Alcatel One Touch Fire E') }}">
</div>
<div class="feature-group stats">
@ -1294,7 +1294,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/intex-cloudfx.png') }}" alt="{{ _('Intex Cloud FX') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/intex-cloudfx.png') }}" alt="{{ _('Intex Cloud FX') }}">
</div>
<div class="feature-group stats">
@ -1408,7 +1408,7 @@
<ul class="device-thumbnails">
<li>
<a href="#spice_fireonemifx1" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/spice-fire-one-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/spice-fire-one-thumb.png') }}" alt="">
<span class="device-name">{{ _('Spice Fire One MI FX1') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1417,7 +1417,7 @@
</li>
<li>
<a href="#symphony_gofoxf15" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/symphony-gofoxf15-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/symphony-gofoxf15-thumb.png') }}" alt="">
<span class="device-name">{{ _('Symphony GoFox F15') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1426,7 +1426,7 @@
</li>
<li class="last">
<a href="#alcatel_onetouchfirec2g" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfirec2g-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfirec2g-thumb.png') }}" alt="">
<span class="device-name">{{ _('Alcatel One Touch Fire C 2G') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1456,7 +1456,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/spice-fire-one.png') }}" alt="{{ _('Spice Fire One MI FX1') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/spice-fire-one.png') }}" alt="{{ _('Spice Fire One MI FX1') }}">
</div>
<div class="feature-group stats">
@ -1592,7 +1592,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/symphony-gofoxf15.png') }}" alt="{{ _('Symphony GoFox F15') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/symphony-gofoxf15.png') }}" alt="{{ _('Symphony GoFox F15') }}">
</div>
<div class="feature-group stats">
@ -1700,7 +1700,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/alcatel-onetouchfirec2g.png') }}" alt="{{ _('Alcatel One Touch Fire C 2G') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/alcatel-onetouchfirec2g.png') }}" alt="{{ _('Alcatel One Touch Fire C 2G') }}">
</div>
<div class="feature-group stats">
@ -1830,7 +1830,7 @@
<ul class="device-thumbnails">
<li>
<a href="#zen_105fire" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/zen-105fire-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/zen-105fire-thumb.png') }}" alt="">
<span class="device-name">{{ _('Zen 105 Fire') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1839,7 +1839,7 @@
</li>
<li>
<a href="#cherrymobile_ace" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/cherrymobile-ace-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/cherrymobile-ace-thumb.png') }}" alt="">
<span class="device-name">{{ _('Cherry Mobile Ace') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1848,7 +1848,7 @@
</li>
<li class="last">
<a href="#au_fx0" class="device-thumbnail">
<img src="{{ static('/img/firefox/os/devices/smartphones/au-fx0-thumb.png') }}" alt="">
<img src="{{ static('img/firefox/os/devices/smartphones/au-fx0-thumb.png') }}" alt="">
<span class="device-name raw-format">{{ _('Fx0') }}</span>
<div class="availability-notice">
<span class="is-available">{{ _('Available') }}</span>
@ -1878,7 +1878,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/zen-105fire.png') }}" alt="{{ _('Zen 105 Fire') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/zen-105fire.png') }}" alt="{{ _('Zen 105 Fire') }}">
</div>
<div class="feature-group stats">
@ -1998,7 +1998,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/cherrymobile-ace.png') }}" alt="{{ _('Cherry Mobile Ace') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/cherrymobile-ace.png') }}" alt="{{ _('Cherry Mobile Ace') }}">
</div>
<div class="feature-group stats">
@ -2115,7 +2115,7 @@
</div>
<div class="feature-group image">
<img src="{{ static('/img/firefox/os/devices/smartphones/au-fx0.png') }}" alt="{{ _('au Fx0') }}">
<img src="{{ static('img/firefox/os/devices/smartphones/au-fx0.png') }}" alt="{{ _('au Fx0') }}">
</div>
<div class="feature-group stats">
@ -2252,5 +2252,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_os_devices') }}
{% javascript 'firefox_os_devices' %}
{% endblock %}

Просмотреть файл

@ -9,7 +9,7 @@
{% block body_id %}firefox-os-faq{% endblock %}
{% block site_css %}
{{ css('firefox_faq') }}
{% stylesheet 'firefox_faq' %}
{% endblock %}
{% block content %}
@ -174,5 +174,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_faq') }}
{% javascript 'firefox_faq' %}
{% endblock %}

Просмотреть файл

@ -18,9 +18,9 @@
{% block extrahead %}
{{ super() }}
{{ css('firefox_os') }}
{% stylesheet 'firefox_os' %}
<!--[if lt IE 9]>
{{ css('firefox_os_ie') }}
{% stylesheet 'firefox_os_ie' %}
<![endif]-->
{% endblock %}
@ -455,12 +455,12 @@
{% endblock %}
{% block site_js %}
{{ js('firefox-resp') }}
{% javascript 'firefox-resp' %}
{% endblock %}
{% block js %}
<!--[if IE 9]>
{{ js('firefox_os_ie9') }}
{% javascript 'firefox_os_ie9' %}
<![endif]-->
{{ js('firefox_os') }}
{% javascript 'firefox_os' %}
{% endblock %}

Просмотреть файл

@ -14,9 +14,9 @@
{% block site_header_logo %}{% endblock %}
{% block site_css %}
{{ css('firefox_os_mwc_2014_preview') }}
{% stylesheet 'firefox_os_mwc_2014_preview' %}
<!--[if lt IE 8]>
{{ css('firefox_os_mwc_2014_preview_ie7') }}
{% stylesheet 'firefox_os_mwc_2014_preview_ie7' %}
<![endif]-->
{% endblock %}
@ -200,5 +200,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_os_mwc_2014_preview') }}
{% javascript 'firefox_os_mwc_2014_preview' %}
{% endblock %}

Просмотреть файл

@ -13,7 +13,7 @@
{% block site_css %}
{{ css('firefox_releasenotes') }}
{% stylesheet 'firefox_releasenotes' %}
{% endblock %}
{% block extrahead %}

Просмотреть файл

@ -12,7 +12,7 @@
{% block site_css %}
{{ css('firefox_releasenotes') }}
{% stylesheet 'firefox_releasenotes' %}
{% endblock %}
{% block extrahead %}

Просмотреть файл

@ -12,7 +12,7 @@
{% block site_css %}
{{ css('firefox_releasenotes') }}
{% stylesheet 'firefox_releasenotes' %}
{% endblock %}
{% block extrahead %}

Просмотреть файл

@ -12,7 +12,7 @@
{% block site_css %}
{{ css('firefox_releasenotes') }}
{% stylesheet 'firefox_releasenotes' %}
{% endblock %}
{% block extrahead %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block body_id %}firefox-os-releases-index{% endblock %}
{% block site_css %}
{{ css('firefox_releases_index') }}
{% stylesheet 'firefox_releases_index' %}
{% endblock %}
{% block breadcrumbs %}

Просмотреть файл

@ -12,7 +12,7 @@
{% block site_css %}
{{ css('firefox_os_tv') }}
{% stylesheet 'firefox_os_tv' %}
{% endblock %}
{% block site_header_nav %}{% endblock %}
@ -77,7 +77,7 @@
{% endblock %}
{% block js %}
{{ js('firefox_os_tv') }}
{% javascript 'firefox_os_tv' %}
{% endblock %}
{% block email_form %}{% endblock %}

Просмотреть файл

@ -18,9 +18,9 @@
{% block body_class %}sky{% endblock %}
{% block extrahead %}
{{ css('partners') }}
{% stylesheet 'partners' %}
<!--[if lte IE 7]>
{{ css('partners-ie7') }}
{% stylesheet 'partners-ie7' %}
<![endif]-->
<script>
COMMON_JS_FILES = {{ js_common|safe }};
@ -30,11 +30,11 @@
{% endblock %}
{% block site_js %}
{{ js('firefox-resp') }}
{% javascript 'firefox-resp' %}
{% endblock %}
{% block js %}
{{ js('partners') }}
{% javascript 'partners' %}
{% endblock %}
{% block site_header %}

Просмотреть файл

@ -7,11 +7,11 @@
{% set_lang_files "firefox/privacy_tour/privacy_tour" %}
{% block site_css %}
{{ css('firefox_privacy_no_tour') }}
{% stylesheet 'firefox_privacy_no_tour' %}
{% endblock %}
{% block js %}
{{ js('firefox_privacy_no_tour') }}
{% javascript 'firefox_privacy_no_tour' %}
{% endblock %}
{% block string_data %}{% endblock %}

Просмотреть файл

@ -7,11 +7,11 @@
{% set_lang_files "firefox/privacy_tour/privacy_tour" %}
{% block site_css %}
{{ css('firefox_privacy_tour') }}
{% stylesheet 'firefox_privacy_tour' %}
{% endblock %}
{% block js %}
{{ js('firefox_privacy_tour') }}
{% javascript 'firefox_privacy_tour' %}
{% endblock %}
{% block noscript %}
@ -57,7 +57,7 @@
<div class="forget-hanger-3" data-title="{{ _('The new Forget button') }}" data-text="{{ _('Want to add it later? Open this menu and select Customize. Then drag it (or any other button) where you want.') }}"></div>
</div>
</div>
{{ platform_img('firefox/privacy_tour/forget-panel.png', {'l10n': True, 'alt': '', 'id': 'forget-button-img', 'width': '300', 'height': '163', 'data-high-res': 'true'}) }}
{{ platform_img('firefox/privacy_tour/forget-panel.png', {'l10n': True, 'alt': '', 'id': 'forget-button-img', 'width': '300', 'height': '163', 'high-res': True}) }}
</li>
<li class="tour-step" data-step="2" data-tip-prev="{{ _('<span>Previous:</span> Forget') }}" data-tip-next="{{ _('<span>Next:</span> Private Browsing') }}">
<div class="tour-item">

Просмотреть файл

@ -5,7 +5,7 @@
{% block body_id %}firefox-releases-index{% endblock %}
{% block site_css %}
{{ css('firefox_releases_index') }}
{% stylesheet 'firefox_releases_index' %}
{% endblock %}
{% block breadcrumbs %}

Просмотреть файл

@ -11,7 +11,7 @@
{% block body_class %}fx-notes sky{% endblock %}
{% block site_css %}
{{ css('firefox_releasenotes') }}
{% stylesheet 'firefox_releasenotes' %}
{% endblock %}
{# channel_name is for display purposes where needed. #}

Просмотреть файл

@ -12,7 +12,7 @@
{% block site_css %}
{{ css('firefox_releasenotes') }}
{% stylesheet 'firefox_releasenotes' %}
{% endblock %}
{% block extrahead %}{% endblock %}

Просмотреть файл

@ -7,11 +7,11 @@
{% block body_id %}whatsnew-search-no-tour{% endblock %}
{% block site_css %}
{{ css('firefox_search_no_tour') }}
{% stylesheet 'firefox_search_no_tour' %}
{% endblock %}
{% block string_data %}{% endblock %}
{% block js %}
{{ js('firefox_search_no_tour') }}
{% javascript 'firefox_search_no_tour' %}
{% endblock %}

Просмотреть файл

@ -7,5 +7,5 @@
{% block body_id %}whatsnew-search-tour-34-0-5{% endblock %}
{% block js %}
{{ js('firefox_search_tour_34.0.5') }}
{% javascript 'firefox_search_tour_34.0.5' %}
{% endblock %}

Просмотреть файл

@ -5,7 +5,7 @@
{% extends "firefox/search_tour/index.html" %}
{% block site_css %}
{{ css('firefox_search_tour') }}
{% stylesheet 'firefox_search_tour' %}
{% endblock %}
{% block body_id %}whatsnew-search-tour-34{% endblock %}
@ -24,7 +24,7 @@ data-has-tour="True"
{% endblock %}
{% block js %}
{{ js('firefox_search_tour') }}
{% javascript 'firefox_search_tour' %}
{% endblock %}
{% block noscript %}

Просмотреть файл

@ -12,9 +12,9 @@
{% endblock %}
{% block extrahead %}
{{ css('firefox_sync') }}
{% stylesheet 'firefox_sync' %}
<!--[if gt IE 9]><!-->
{{ css('firefox_sync_anim') }}
{% stylesheet 'firefox_sync_anim' %}
<!--<![endif]-->
{% endblock %}
@ -209,5 +209,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_sync') }}
{% javascript 'firefox_sync' %}
{% endblock %}

Просмотреть файл

@ -8,9 +8,9 @@
{% block body_id %}firefox-sync{% endblock %}
{% block extrahead %}
{{ css('firefox_sync_old') }}
{% stylesheet 'firefox_sync_old' %}
<!--[if gt IE 9]><!-->
{{ css('firefox_sync_anim') }}
{% stylesheet 'firefox_sync_anim' %}
<!--<![endif]-->
{% endblock %}
@ -78,5 +78,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_sync_old') }}
{% javascript 'firefox_sync_old' %}
{% endblock %}

Просмотреть файл

@ -5,7 +5,7 @@
{% extends "/firefox/dashboard-base.html" %}
{% block site_css %}
{{ super() }}
{{ css('firefox-tiles') }}
{% stylesheet 'firefox-tiles' %}
{% endblock %}
@ -239,7 +239,7 @@ For more on what data Mozilla collects via Tiles, see below.
<h4>{{ _('Tiles Preferences') }}</h4>
<img src="{{ static('/img/firefox/tiles/new-tab-enhanced.png') }}" alt="{{ _('Screenshot') }}">
<img src="{{ static('img/firefox/tiles/new-tab-enhanced.png') }}" alt="{{ _('Screenshot') }}">
<p>
{% trans url='https://support.mozilla.org/kb/how-do-tiles-work-firefox' %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block page_desc %}{{ _('Were sorry to report this, but your computer does not meet the minimum system requirements to run this version.') }}{% endblock %}
{% block extrahead %}
{{ css('firefox_unsupported_systems') }}
{% stylesheet 'firefox_unsupported_systems' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -9,7 +9,7 @@
<title>{{ _('Get the Newest Firefox') }}</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="robots" content="noindex">
{{ css('firefox_unsupported') }}
{% stylesheet 'firefox_unsupported' %}
</head>
<body billboard=1>

Просмотреть файл

@ -12,7 +12,7 @@
{% block site_header_nav %}{% endblock %}
{% block site_css %}
{{ css('firefox_whatsnew_fxos') }}
{% stylesheet 'firefox_whatsnew_fxos' %}
{% endblock %}
{% block content %}
@ -42,5 +42,5 @@
{% endblock %}
{% block js %}
{{ js('firefox_whatsnew_fxos') }}
{% javascript 'firefox_whatsnew_fxos' %}
{% endblock %}

Просмотреть файл

@ -13,7 +13,7 @@
{% block site_header_logo %}{% endblock %}
{% block site_css %}
{{ css('firefox_whatsnew') }}
{% stylesheet 'firefox_whatsnew' %}
{% endblock %}
{% block content %}
@ -90,7 +90,7 @@
<div id="video-player" class="mozilla-video-control mozilla-video-shadow">
<video
controls="controls"
poster="{{ static('/img/firefox/whatsnew/video-poster.jpg') }}"
poster="{{ static('img/firefox/whatsnew/video-poster.jpg') }}"
height="360"
width="640"
data-overlay-hidden-text="{{_('Play video')}}">

Просмотреть файл

@ -305,7 +305,7 @@ class TestFirefoxPartners(TestCase):
with the STATIC_URL.
"""
bundle = 'partners_desktop'
files = settings.MINIFY_BUNDLES['js'][bundle]
files = settings.PIPELINE_JS[bundle]['source_filenames']
files = [static(f) for f in files]
self.assertEqual(files,
json.loads(fx_views.get_js_bundle_files(bundle)))
@ -316,10 +316,10 @@ class TestFirefoxPartners(TestCase):
When DEBUG is off the bundle should return a single minified filename.
"""
bundle = 'partners_desktop'
filename = static('js/%s-min.js?build=' % bundle)
filename = static('js/%s-bundle.js' % bundle)
bundle_file = json.loads(fx_views.get_js_bundle_files(bundle))
self.assertEqual(len(bundle_file), 1)
self.assertTrue(bundle_file[0].startswith(filename))
self.assertEqual(bundle_file[0], filename)
@patch('bedrock.mozorg.views.requests.post')
def test_sf_form_proxy_error_response(self, post_patch):

Просмотреть файл

@ -16,7 +16,6 @@ from django.views.generic.base import TemplateView
import basket
from funfactory.helpers import static
from funfactory.urlresolvers import reverse
from jingo_minify.helpers import BUILD_ID_JS, BUNDLE_HASHES
from lib import l10n_utils
from bedrock.releasenotes import version_re
@ -102,15 +101,11 @@ def get_js_bundle_files(bundle):
Return a JSON string of the list of file names for lazy loaded
javascript.
"""
# mostly stolen from jingo_minify.helpers.js
bundle = settings.PIPELINE_JS[bundle]
if settings.DEBUG:
items = settings.MINIFY_BUNDLES['js'][bundle]
items = bundle['source_filenames']
else:
build_id = BUILD_ID_JS
bundle_full = "js:%s" % bundle
if bundle_full in BUNDLE_HASHES:
build_id = BUNDLE_HASHES[bundle_full]
items = ("js/%s-min.js?build=%s" % (bundle, build_id,),)
items = (bundle['output_filename'],)
return json.dumps([static(i) for i in items])

Просмотреть файл

@ -7,13 +7,13 @@
{% extends 'foundation/base-resp.html' %}
{% block extrahead %}
{{ css('foundation') }}
{{ css('video-resp') }}
{% stylesheet 'foundation' %}
{% stylesheet 'video-resp' %}
{% endblock %}
{% block js %}
{{ super() }}
{{ js('video') }}
{% javascript 'video' %}
{% endblock %}
{% block subnav %}

Просмотреть файл

@ -182,7 +182,7 @@
<p>
{% trans
logo=media('/img/foundation/annualreport/2009/drumbeat-logo.jpg'),
logo=static('img/foundation/annualreport/2009/drumbeat-logo.jpg'),
webcraft="//www.drumbeat.org/webcraft",
festival="//www.drumbeat.org/festival",
movies="//www.drumbeat.org/webmademovies",

Просмотреть файл

@ -16,7 +16,7 @@
{% block article %}
<figure class="figure">
<div class="mozilla-video-control">
<video width="640" height="360" controls="controls" poster="{{ static('/img/foundation/annualreport/2010/poster-ahead.jpg') }}">
<video width="640" height="360" controls="controls" poster="{{ static('img/foundation/annualreport/2010/poster-ahead.jpg') }}">
<source src="//videos.cdn.mozilla.net/serv/brand/State%20of%20Mozilla%202011%20(fcp2)-RC%20-%20720p%20-%20MPEG-4.webm" type='video/webm; codecs="vp8, vorbis"' />
<source src="//videos.cdn.mozilla.net/serv/brand/State%20of%20Mozilla%202011%20(fcp2)-RC%20-%20720p%20-%20MPEG-4.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source src="//videos.cdn.mozilla.net/serv/brand/State%20of%20Mozilla%202011%20(fcp2)-RC%20-%20720p%20-%20MPEG-4.theora%202.ogv" type='video/ogg; codecs="theora, vorbis"' />

Просмотреть файл

@ -7,13 +7,13 @@
{% extends 'foundation/base-resp.html' %}
{% block extrahead %}
{{ css('foundation') }}
{{ css('video-resp') }}
{% stylesheet 'foundation' %}
{% stylesheet 'video-resp' %}
{% endblock %}
{% block js %}
{{ super() }}
{{ js('video') }}
{% javascript 'video' %}
{% endblock %}
{% block subnav %}

Просмотреть файл

@ -13,7 +13,7 @@
{% block article %}
<figure class="figure">
<div class="mozilla-video-control">
<video width="640" height="360" controls="controls" poster="{{ static('/img/foundation/annualreport/2010/poster-manifesto.jpg') }}">
<video width="640" height="360" controls="controls" poster="{{ static('img/foundation/annualreport/2010/poster-manifesto.jpg') }}">
<source src="//videos.cdn.mozilla.net/brand/Mozilla_Firefox_Manifesto_v0.2_640.webm" type='video/webm; codecs="vp8, vorbis"' />
<source src="//videos.cdn.mozilla.net/brand/Mozilla_Firefox_Manifesto_v0.2_640.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source src="//videos.cdn.mozilla.net/brand/Mozilla_Firefox_Manifesto_v0.2_640.theora.ogv" type='video/ogg; codecs="theora, vorbis"' />

Просмотреть файл

@ -17,7 +17,7 @@
<div class="content-block">
<div class="img-right">
<img src="{{ static('/img/foundation/annualreport/2010/photo-firefox-billboard.jpg') }}" width="297" height="435" alt="{{ _('Mozilla Firefox billboard, San Francisco') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-firefox-billboard.jpg') }}" width="297" height="435" alt="{{ _('Mozilla Firefox billboard, San Francisco') }}" />
<p>{{ _('Mozilla Firefox billboard, San Francisco') }}</p>
</div>
<p>{{ _('Today were living more of our lives online than ever before. This gives Mozilla the opportunity to build freedom and user sovereignty into more areas of life. At the same time, advances in mobile technology move us toward several parallel worlds, each controlled by different giant commercial entities.') }}</p>
@ -44,7 +44,7 @@
<div class="content-block">
<div class="img-right">
<img src="{{ static('/img/foundation/annualreport/2010/photo-celebrating-firefox.jpg') }}" width="192" height="189" alt="{{ _('Celebrating Firefox') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-celebrating-firefox.jpg') }}" width="192" height="189" alt="{{ _('Celebrating Firefox') }}" />
<p>{{ _('Celebrating Firefox') }}</p>
</div>
<p>{{ _('We also began including Android as a first tier platform along with our desktop platforms. This important shift has helped reinforce the expansion of Mozillas mission to the next phase of the Web. In this new setting, Firefox is not only a browser on your desktop but evolves to be a trusted environment where a user has a consistent set of core controls over his or her experience, regardless of device.') }}</p>
@ -88,7 +88,7 @@
<h3>{{ _('WebFWD') }}</h3>
<div class="img-right">
<img src="{{ static('/img/foundation/annualreport/2010/photo-remo-in-paris.jpg') }}" width="294" height="261" alt="{{ _('ReMo Work Week in Paris') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-remo-in-paris.jpg') }}" width="294" height="261" alt="{{ _('ReMo Work Week in Paris') }}" />
<p>{{ _('ReMo Work Week in Paris') }}</p>
</div>
<p>{% trans webfwd="https://webfwd.org/" %}<a href="{{ webfwd }}">WebFWD</a> (Web Forward) is Mozillas incubator program. We bring together WebFWD Fellows, groups of builders and innovators of the next great Web advancements and provide them with a space at Mozilla, close mentorship from many leaders in the technology space and other world-class resources that help move the Web forward, together.{% endtrans %}</p>

Просмотреть файл

@ -19,18 +19,18 @@
<p>{{ _('New Mozilla communities have sprung up in Latin America, the Middle East and Africa, further expanding the reach and diversity of Mozilla.') }}</p>
<div class="img-center">
<img src="{{ static('/img/foundation/annualreport/2010/photo-mozilla-meetup-brazil.jpg') }}" width="660" height="365" alt="{{ _('Mozilla Meetup, Brazil') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-mozilla-meetup-brazil.jpg') }}" width="660" height="365" alt="{{ _('Mozilla Meetup, Brazil') }}" />
<p>{{ _('Mozilla Meetup, Brazil') }}</p>
</div>
<div class="img-center">
<img src="{{ static('/img/foundation/annualreport/2010/photo-arabic-mozilla.jpg') }}" width="425" height="275" alt="{{ _('Arabic Mozilla') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-arabic-mozilla.jpg') }}" width="425" height="275" alt="{{ _('Arabic Mozilla') }}" />
<p>{{ _('Arabic Mozilla') }}</p>
</div>
<p>{% trans arabicmozilla="//www.arabicmozilla.org/", inaugural="//pierros.papadeas.gr/?p=253" %}Communities and locales in the Arabic-speaking world experienced inspiring growth this year and came together to form a collective community called <a href="{{ arabicmozilla }}">ArabicMozilla</a>. Participating countries include Egypt, Jordan, Tunisia, Algeria, Lebanon, Palestine, Syria, Morocco and Sudan. In July, Mozilla Jordan hosted the regions <a href="{{ inaugural }}">inaugural inter-community meetup</a> in Amman.{% endtrans %}</p>
<div class="img-left">
<img src="{{ static('/img/foundation/annualreport/2010/photo-mozilla-kenya.jpg') }}" width="294" height="198" alt="{{ _('Mozilla Kenya') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-mozilla-kenya.jpg') }}" width="294" height="198" alt="{{ _('Mozilla Kenya') }}" />
<p>{{ _('Mozilla Kenya') }}</p>
</div>
<p>{% trans ghana="//mozilla-ghana.org", kenya="//www.mozilla-kenya.org/", outreach="//www.mozilla-kenya.org/blog/18-road-trip" %}Representatives from <a href="{{ ghana }}">Mozilla Ghana</a> have begun participating in technical events and <a href="{{ kenya }}">Mozilla Kenyas</a> community coordinator Alex Wafula has started an <a href="{{ outreach }}">outreach project</a> with universities across the country.{% endtrans %}</p>
@ -38,15 +38,15 @@
<p>{% trans hispano="//www.mozilla-hispano.org", local=url('mozorg.contribute') %}Mozilla Cuba and Mozilla Nicaragua were organized and launched by local volunteers. At the same time, our <a href="{{ hispano }}">Mozilla Hispano</a> community has continued to thrive, expanding its ranks to 11 Spanish-speaking countries (find <a href="{{ local }}#location">full list of local communities here</a>).{% endtrans %}</p>
<div class="img-right">
<img src="{{ static('/img/foundation/annualreport/2010/photo-mozilla-indonesia.jpg') }}" width="187" height="249" alt="{{ _('Mozilla Indonesia') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-mozilla-indonesia.jpg') }}" width="187" height="249" alt="{{ _('Mozilla Indonesia') }}" />
<p>{{ _('Mozilla Indonesia') }}</p>
</div>
<p>{% trans indonesia="//www.mozilla.web.id/" %}The <a href="{{ indonesia }}">Mozilla community in Indonesia</a> has developed an Indonesian mascot character, “Kumi,” which has been celebrated and distributed as a paper toy at many of this years events. The community now has regional leaders in the five largest cities in Indonesia, which have been actively promoting Mozilla and Firefox. Thanks to the enthusiasm and passion of this community, Firefox enjoys the largest market share in the world in Indonesia.{% endtrans %}</p>
<img src="{{ static('/img/foundation/annualreport/2010/kumi.png') }}" width="134" height="104" style="margin-left: 150px" alt="Kumi" />
<img src="{{ static('img/foundation/annualreport/2010/kumi.png') }}" width="134" height="104" style="margin-left: 150px" alt="Kumi" />
<div class="img-left">
<img src="{{ static('/img/foundation/annualreport/2010/photo-mozilla-paris.jpg') }}" width="294" height="278" alt="{{ _('ReMo Work Week in Paris') }}" />
<img src="{{ static('img/foundation/annualreport/2010/photo-mozilla-paris.jpg') }}" width="294" height="278" alt="{{ _('ReMo Work Week in Paris') }}" />
<p>{{ _('ReMo Work Week, Paris') }}</p>
</div>
@ -62,7 +62,7 @@
<figure class="figure">
<div class="mozilla-video-control">
<video width="640" height="360" controls="controls" poster="{{ static('/img/foundation/annualreport/2010/poster-getinvolved.jpg') }}">
<video width="640" height="360" controls="controls" poster="{{ static('img/foundation/annualreport/2010/poster-getinvolved.jpg') }}">
<source src="//videos.cdn.mozilla.net/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.webm" type='video/webm; codecs="vp8, vorbis"' />
<source src="//videos.cdn.mozilla.net/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source src="//videos.cdn.mozilla.net/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.ogv" type='video/ogg; codecs="theora, vorbis"' />

Просмотреть файл

@ -11,15 +11,15 @@
{% block body_class %}sand{% endblock %}
{% block extrahead %}
{{ css('annual_2011') }}
{% stylesheet 'annual_2011' %}
<link rel="stylesheet" media="print" href="{{ static('css/foundation/annual2011print.css') }}">
{% endblock %}
{% block js %}
<!--[if IE 9]>
{{ js('annual_2011_ie9') }}
{% javascript 'annual_2011_ie9' %}
<![endif]-->
{{ js('annual_2011') }}
{% javascript 'annual_2011' %}
{% endblock %}

Просмотреть файл

@ -11,12 +11,12 @@
{% block body_class %}sand{% endblock %}
{% block extrahead %}
{{ css('annual_2011') }}
{% stylesheet 'annual_2011' %}
<link rel="stylesheet" media="print" href="{{ static('css/foundation/annual2011print.css') }}">
{% endblock %}
{% block js %}
{{ js('annual_2011') }}
{% javascript 'annual_2011' %}
{% endblock %}

Просмотреть файл

@ -10,7 +10,7 @@
{% block body_id %}annual-2012-faq{% endblock %}
{% block extrahead %}
{{ css('annual_2012') }}
{% stylesheet 'annual_2012' %}
{% endblock %}
{% block site_header %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block body_id %}annual-2012{% endblock %}
{% block extrahead %}
{{ css('annual_2012') }}
{% stylesheet 'annual_2012' %}
{% endblock %}
{% block site_header %}
@ -61,7 +61,7 @@
'State_of_Mozilla_Mitchell Baker_Who_is_Mozilla.mp4',
id='mitchell-baker',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-baker.jpg'),
poster=static('img/foundation/annualreport/2012/bg-baker.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -76,7 +76,7 @@
'State_of_Mozilla_Jay_Sullivan_vision_for_Mozilla_products.mp4',
id='jay-sullivan',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-sullivan.jpg'),
poster=static('img/foundation/annualreport/2012/bg-sullivan.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -91,7 +91,7 @@
'State_of_Mozilla_Harvey_Anderson_Health_of_the_web.mp4',
id='harvey-anderson',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-anderson.jpg'),
poster=static('img/foundation/annualreport/2012/bg-anderson.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -106,7 +106,7 @@
'State_of_Mozilla_Mark_Surman_how_are_we_teaching_the_web_to_the_world.mp4',
id='mark-surman',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-surman.jpg'),
poster=static('img/foundation/annualreport/2012/bg-surman.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -121,7 +121,7 @@
'State of Mozilla - Johnathan Nightingale - How Firefox is continuing to break new ground..mp4',
id='johnathan-nightingale',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-nightingale.jpg'),
poster=static('img/foundation/annualreport/2012/bg-nightingale.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -136,7 +136,7 @@
'State_of_Mozilla_Brendan Eich_Envolving_the_web.mp4',
id='brendan-eich',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-eich.jpg'),
poster=static('img/foundation/annualreport/2012/bg-eich.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -174,7 +174,7 @@
'I_am_a_Mozillian.mp4',
id='i-am-a-mozillian',
preload='none',
poster=media('/img/foundation/annualreport/2012/bg-a-mozillian.jpg'),
poster=static('img/foundation/annualreport/2012/bg-a-mozillian.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/drafts/State of Mozilla 2013/') }}
</div>
</li>
@ -229,5 +229,5 @@
{% endblock %}
{% block js %}
{{ js('annual_2012') }}
{% javascript 'annual_2012' %}
{% endblock %}

Просмотреть файл

@ -10,7 +10,7 @@
{% block body_id %}annual-2013-faq{% endblock %}
{% block extrahead %}
{{ css('annual_2013') }}
{% stylesheet 'annual_2013' %}
{% endblock %}
{% block site_header %}

Просмотреть файл

@ -8,7 +8,7 @@
{% block body_id %}annual-2013{% endblock %}
{% block extrahead %}
{{ css('annual_2013') }}
{% stylesheet 'annual_2013' %}
{% endblock %}
{% block site_header %}
@ -67,7 +67,7 @@
<header>
<h2>{{ _('Powered By Mozillians') }}</h2>
</header>
<div class="copy">
<div class="copy">
<p>
{% trans %}
Mozillians are a community of technologists, thinkers, builders, and
@ -95,7 +95,7 @@
'A%20different%20kind%20of%20browser.mp4',
id='a-different-kind-of-browser',
preload='none',
poster=media('/img/foundation/annualreport/2013/bg-a-mozillian.jpg'),
poster=static('img/foundation/annualreport/2013/bg-a-mozillian.jpg'),
prefix='//videos.cdn.mozilla.net/uploads/mozillaorg/') }}
</div>
</li>
@ -153,5 +153,5 @@
{% endblock %}
{% block js %}
{{ js('annual_2013') }}
{% javascript 'annual_2013' %}
{% endblock %}

Просмотреть файл

@ -7,7 +7,7 @@
{% block page_title_suffix %}{% endblock %}
{% block extrahead %}
{{ css('foundation') }}
{% stylesheet 'foundation' %}
{% endblock %}
{% block body_class %}sand{% endblock %}
@ -25,7 +25,7 @@
{% block content %}
<main id="main-content">
{% block article_title %}{% endblock %}
<div class="main-column">
{% block article %}{% endblock %}
</div>

Просмотреть файл

@ -13,8 +13,8 @@
{% block article %}
<p>
{% trans
form990=media('http://static.mozilla.com/foundation/documents/mf-2008-irs-form-990.pdf'),
statement=media('http://static.mozilla.com/foundation/documents/mf-2008-audited-financial-statement.pdf')
form990='http://static.mozilla.com/foundation/documents/mf-2008-irs-form-990.pdf',
statement='http://static.mozilla.com/foundation/documents/mf-2008-audited-financial-statement.pdf'
%}
This FAQ supplements the
<a href="{{ form990 }}">Mozilla Foundation 2008 Form 990</a> and

Просмотреть файл

@ -42,8 +42,8 @@
<dt>{% trans %}Where can I get versions of the feed icon?{% endtrans %}</dt>
<dd><p>
{% trans icon14=media('img/trademarks/feed-icon-14x14.png'),
icon28=media('img/trademarks/feed-icon-28x28.png'),
{% trans icon14=static('img/trademarks/feed-icon-14x14.png'),
icon28=static('img/trademarks/feed-icon-28x28.png'),
feedicons="http://www.feedicons.com/" %}
The <q>canonical</q> icon is available in a
<a href="{{ icon14 }}" title="14 by 14-pixel canonical version of the feed icon">14x14-pixel version</a>
@ -103,7 +103,7 @@
formats?{% endtrans %}</dt>
<dd>
<p>{% trans %}
We don&#8217;t believe so. We believe our proposed approach
We don&#8217;t believe so. We believe our proposed approach
is consistent with encouraging innovation, for the following reasons:
{% endtrans %}</p>
<ul>
@ -113,7 +113,7 @@
restrict use of the icon to the present-day RSS or Atom
formats; in addition, the guidelines do not rule out the use
of protocols other than HTTP to deliver web feeds.{% endtrans %}</li>
<li>{% trans %}The usage guidelines as proposed do not rule out
techniques like using proprietary media types for content
items within a web feed published using an open web
@ -121,7 +121,7 @@
practices would lessen the usefulness of having open formats,
but that&#8217;s a question for the broader community to
consider in interpreting and evolving the guidelines.{% endtrans %}</li>
<li>{% trans %}Finally, the guidelines are not legally binding. If you
believe that the goal of innovation requires your defining and
using partly or completely proprietary web syndication formats

Просмотреть файл

@ -33,7 +33,7 @@
our trademarks.
{% endtrans %}</p>
<p>{% trans icon=media('img/trademarks/feed-icon-14x14.png') %}
<p>{% trans icon=static('img/trademarks/feed-icon-14x14.png') %}
Finally, we have made available for general use the <q><a href="{{ icon }}">feed icon</a></q>
(also known as the <q>RSS icon</q>) originally created for use
with the Mozilla Firefox web browser. Although this icon is

Просмотреть файл

@ -15,63 +15,63 @@
{% block article %}
<table id="logos">
<tr>
<td><img width="100" height="100" alt="{{ _('Firefox logo') }}®" src="{{ static('/img/trademarks/firefox-logo-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Firefox logo') }}®" src="{{ static('img/trademarks/firefox-logo-r.png') }}" /></td>
<th>{{ _('Firefox logo') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Firefox OS logo') }}" src="{{ static('/img/trademarks/FirefoxOS_logo-wordmark.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Firefox OS logo') }}" src="{{ static('img/trademarks/FirefoxOS_logo-wordmark.png') }}" /></td>
<th>{{ _('Firefox OS logo') }}</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Thunderbird logo') }}®" src="{{ static('/img/trademarks/thunderbird_logo_100.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Thunderbird logo') }}®" src="{{ static('img/trademarks/thunderbird_logo_100.png') }}" /></td>
<th>{{ _('Thunderbird logo') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Mozilla logo') }}™" src="{{ static('/img/trademarks/dino-head.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Mozilla logo') }}™" src="{{ static('img/trademarks/dino-head.png') }}" /></td>
<th>{{ _('Mozilla logo') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Camino logo') }}®" src="{{ static('/img/trademarks/camino-logo-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Camino logo') }}®" src="{{ static('img/trademarks/camino-logo-r.png') }}" /></td>
<th>{{ _('Camino logo') }}&reg;</th>
</tr>
<tr>
<td id="communities"><img width="130" height="100" alt="{{ _('Mozilla Communities logo') }}™" src="{{ static('/img/trademarks/community-logo.png') }}" /></td>
<td id="communities"><img width="130" height="100" alt="{{ _('Mozilla Communities logo') }}™" src="{{ static('img/trademarks/community-logo.png') }}" /></td>
<th>{{ _('Mozilla Communities logo') }}&trade;<br /><small><a href="https://wiki.mozilla.org/MCS:Licensing_Guidelines">{{ _('See the separate licensing guidelines for this logo') }}</a></small></th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('SUMO logo') }}™" src="{{ static('/img/trademarks/sumo-logo.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('SUMO logo') }}™" src="{{ static('img/trademarks/sumo-logo.png') }}" /></td>
<th>{{ _('SUMO logo') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('QMO logo') }}™" src="{{ static('/img/trademarks/qmo-logo-tm.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('QMO logo') }}™" src="{{ static('img/trademarks/qmo-logo-tm.png') }}" /></td>
<th>{{ _('QMO logo') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('G-Fox logo') }}®" src="{{ static('/img/trademarks/gfox-logo-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('G-Fox logo') }}®" src="{{ static('img/trademarks/gfox-logo-r.png') }}" /></td>
<th>{{ _('G-Fox logo') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Bugzilla logo') }}™" src="{{ static('/img/trademarks/bugzilla-tm.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Bugzilla logo') }}™" src="{{ static('img/trademarks/bugzilla-tm.png') }}" /></td>
<th>{{ _('Bugzilla logo') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Sunbird logo') }}®" src="{{ static('/img/trademarks/sunbird-logo-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Sunbird logo') }}®" src="{{ static('img/trademarks/sunbird-logo-r.png') }}" /></td>
<th>{{ _('Sunbird logo') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('SeaMonkey logo') }}®" src="{{ static('/img/trademarks/seamonkey-logo-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('SeaMonkey logo') }}®" src="{{ static('img/trademarks/seamonkey-logo-r.png') }}" /></td>
<th>{{ _('SeaMonkey logo') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Foxkeh logo') }}®" src="{{ static('/img/trademarks/foxkeh-logo-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Foxkeh logo') }}®" src="{{ static('img/trademarks/foxkeh-logo-r.png') }}" /></td>
<th>{% trans %}Foxkeh logo&reg;<br /><small>This trademark is licensed under the Creative Commons Attribution-Non-Commercial-NoDerivs 2.1 Japan.</small>{% endtrans %}</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Creative Collective logo') }}™" src="{{ static('/img/trademarks/creativecollective-logo.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Creative Collective logo') }}™" src="{{ static('img/trademarks/creativecollective-logo.png') }}" /></td>
<th>{{ _('Creative Collective logo') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Campus Reps logo') }}™" src="{{ static('/img/trademarks/campusreps-logo.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Campus Reps logo') }}™" src="{{ static('img/trademarks/campusreps-logo.png') }}" /></td>
<th>{{ _('Campus Reps logo') }}&trade;</th>
</tr>
<tr>
@ -86,45 +86,45 @@
<table id="marks">
<tr>
<td><img width="100" height="100" alt="{{ _('Firefox') }}®" src="{{ static('/img/trademarks/firefox_wordmark-only_RGB.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Firefox') }}®" src="{{ static('img/trademarks/firefox_wordmark-only_RGB.png') }}" /></td>
<th>{{ _('Firefox') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Firefox® OS') }}" src="{{ static('/img/trademarks/firefox-os_wordmark-only_RGB.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Firefox® OS') }}" src="{{ static('img/trademarks/firefox-os_wordmark-only_RGB.png') }}" /></td>
<th>{{ _('Firefox&reg; OS') }}</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Thunderbird') }}®" src="{{ static('/img/trademarks/thunderbird-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Thunderbird') }}®" src="{{ static('img/trademarks/thunderbird-r.png') }}" /></td>
<th>{{ _('Thunderbird') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Mozilla') }}®" src="{{ static('/img/trademarks/mozilla-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Mozilla') }}®" src="{{ static('img/trademarks/mozilla-r.png') }}" /></td>
<th>{{ _('Mozilla') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Camino') }}®" src="{{ static('/img/trademarks/camino-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Camino') }}®" src="{{ static('img/trademarks/camino-r.png') }}" /></td>
<th>{{ _('Camino') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('Mozilla Communities') }}™" src="{{ static('/img/trademarks/community-wordmark.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('Mozilla Communities') }}™" src="{{ static('img/trademarks/community-wordmark.png') }}" /></td>
<th>{{ _('Mozilla Communities') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('SUMO') }}™" src="{{ static('/img/trademarks/sumo-tm.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('SUMO') }}™" src="{{ static('img/trademarks/sumo-tm.png') }}" /></td>
<th>{{ _('SUMO') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('QMO') }}™" src="{{ static('/img/trademarks/qmo-tm.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('QMO') }}™" src="{{ static('img/trademarks/qmo-tm.png') }}" /></td>
<th>{{ _('QMO') }}&trade;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('G-Fox') }}®" src="{{ static('/img/trademarks/gfox-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('G-Fox') }}®" src="{{ static('img/trademarks/gfox-r.png') }}" /></td>
<th>{{ _('G-Fox') }}&reg;</th>
</tr>
<tr>
<td><img width="100" height="100" alt="{{ _('SeaMonkey') }}®" src="{{ static('/img/trademarks/seamonkey-wordmark-r.png') }}" /></td>
<td><img width="100" height="100" alt="{{ _('SeaMonkey') }}®" src="{{ static('img/trademarks/seamonkey-wordmark-r.png') }}" /></td>
<th>{{ _('SeaMonkey') }}&reg;</th>
</tr>
</table>

Просмотреть файл

@ -14,7 +14,7 @@
{% endblock %}
{% block extrahead %}
{{ css('gigabit') }}
{% stylesheet 'gigabit' %}
{% endblock %}
{% block site_header_nav %}

Просмотреть файл

@ -14,7 +14,7 @@
{% endblock %}
{% block extrahead %}
{{ css('gigabit') }}
{% stylesheet 'gigabit' %}
{% endblock %}
{% block site_header_nav %}

Просмотреть файл

@ -14,7 +14,7 @@
{% endblock %}
{% block extrahead %}
{{ css('gigabit') }}
{% stylesheet 'gigabit' %}
{% endblock %}
{% block site_header_nav %}

Просмотреть файл

@ -7,7 +7,7 @@
{% block body_class %}sand{% endblock %}
{% block extrahead %}
{{ css('grants') }}
{% stylesheet 'grants' %}
{% endblock %}
{% block breadcrumbs %}

Просмотреть файл

@ -6,7 +6,7 @@
{% extends "base-resp.html" %}
{% block page_css %}
{{ css('legal') }}
{% stylesheet 'legal' %}
{% endblock %}
{% block body_class %}sand{% endblock %}

Просмотреть файл

@ -7,7 +7,7 @@
{% block breadcrumbs %}{% endblock %}
{% block extrahead %}
{{ css('legal-eula') }}
{% stylesheet 'legal-eula' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -6,7 +6,7 @@
{% block body_class %}sand{% endblock %}
{% block extrahead %}
{{ css('legal-eula') }}
{% stylesheet 'legal-eula' %}
{% endblock %}
{% block page_title %}Mozilla Firefox End-User Software License Agreement - Version 2.0 — Archived, May 2014{% endblock %}

Просмотреть файл

@ -6,7 +6,7 @@
{% block body_class %}sand{% endblock %}
{% block extrahead %}
{{ css('legal-eula') }}
{% stylesheet 'legal-eula' %}
{% endblock %}
{% block page_title %}Mozilla Firefox End-User Software License Agreement - Version 3.0 — Archived, May 2014{% endblock %}

Просмотреть файл

@ -5,7 +5,7 @@
{% block body_class %}sand{% endblock %}
{% block site_css %}
{{ css('legal_fraud_report') }}
{% stylesheet 'legal_fraud_report' %}
{% endblock %}
{% block content %}
@ -204,5 +204,5 @@
{% block email_form %}{% endblock %}
{% block js %}
{{ js('legal_fraud_report') }}
{% javascript 'legal_fraud_report' %}
{% endblock %}

Просмотреть файл

@ -25,11 +25,11 @@
{% endblock %}
{% block extrahead %}
{{ css('lightbeam') }}
{% stylesheet 'lightbeam' %}
{% endblock %}
{% block js %}
{{ js('lightbeam') }}
{% javascript 'lightbeam' %}
{% endblock %}
{% block content %}

Просмотреть файл

@ -26,11 +26,11 @@
{% endblock %}
{% block extrahead %}
{{ css('lightbeam') }}
{% stylesheet 'lightbeam' %}
{% endblock %}
{% block js %}
{{ js('lightbeam') }}
{% javascript 'lightbeam' %}
{% endblock %}
{% block content %}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше