diff --git a/bedrock/firefox/templates/firefox/releases/index.html b/bedrock/firefox/templates/firefox/releases/index.html new file mode 100644 index 00000000000..b18fe09a8f2 --- /dev/null +++ b/bedrock/firefox/templates/firefox/releases/index.html @@ -0,0 +1,66 @@ +{% extends "firefox/base-resp.html" %} + +{% block page_title %}{{ _('Mozilla Firefox Release Notes') }}{% endblock %} +{% block body_id %}firefox-releases-index{% endblock %} + +{% block site_css %} + {{ css('firefox_releases_index') }} +{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +
+

{{ _('Firefox Releases') }}

+

{{ _('Firefox release notes are specific to each version of the application. Select your version from the list below to see the release notes for it.') }}

+
+ +
+
    + {% for int_version, versions in releases -%} +
  1. + {{ get_link(int_version, versions.major) }} + {% if versions.minor -%} +
      + {% for version in versions.minor -%} +
    1. {{ get_link(int_version, version) }}
    2. + {% endfor -%} +
    + {% endif -%} +
  2. + {% endfor -%} +
  3. + 0.1 +
      +
    1. 0.2
    2. +
    3. 0.3
    4. +
    5. 0.4
    6. +
    7. 0.5
    8. +
    9. 0.6
    10. +
    11. 0.6.1
    12. +
    13. 0.7
    14. +
    15. 0.7.1
    16. +
    17. 0.8
    18. +
    19. 0.9
    20. +
    21. 0.9.1/0.9.2
    22. +
    23. 0.9.3
    24. +
    25. 1.0 Preview Release
    26. +
    +
  4. +
+
+{% endblock %} + +{% macro get_link(int_version, version) %} + {%- if int_version < 2 -%} + {{ version }} + {%- else -%} + {{ version }} + {%- endif -%} +{% endmacro %} diff --git a/bedrock/firefox/urls.py b/bedrock/firefox/urls.py index cf65f25dd94..af291a1ff6e 100644 --- a/bedrock/firefox/urls.py +++ b/bedrock/firefox/urls.py @@ -49,6 +49,8 @@ page('firefox/organizations', 'firefox/organizations/organizations.html'), page('firefox/performance', 'firefox/performance.html'), page('firefox/nightly/firstrun', 'firefox/nightly_firstrun.html'), + url('^firefox/releases/$', views.releases_index, + name='firefox.releases.index'), page('firefox/security', 'firefox/security.html'), url(r'^firefox/installer-help/$', views.installer_help, name='firefox.installer-help'), diff --git a/bedrock/firefox/views.py b/bedrock/firefox/views.py index 00fed05f4cb..a865acc0514 100644 --- a/bedrock/firefox/views.py +++ b/bedrock/firefox/views.py @@ -271,3 +271,20 @@ def firstrun_new(request, view): template = view + '.html' return l10n_utils.render(request, 'firefox/firstrun/' + template) + + +def releases_index(request): + releases = {} + major_releases = firefox_details.firefox_history_major_releases + minor_releases = firefox_details.firefox_history_stability_releases + + for release in major_releases: + releases[float(re.findall(r'^\d+\.\d+', release)[0])] = { + 'major': release, + 'minor': sorted(filter(lambda x: re.findall(r'^' + re.escape(release), x), + minor_releases), + key=lambda x: int(re.findall(r'\d+$', x)[0])) + } + + return l10n_utils.render(request, 'firefox/releases/index.html', + {'releases': sorted(releases.items(), reverse=True)}) diff --git a/bedrock/settings/base.py b/bedrock/settings/base.py index 55e67f19d87..59fddb6f668 100644 --- a/bedrock/settings/base.py +++ b/bedrock/settings/base.py @@ -224,6 +224,9 @@ def JINJA_CONFIG(): 'css/base/mozilla-expanders.less', 'css/firefox/platforms.less', ), + 'firefox_releases_index': ( + 'css/firefox/releases-index.less', + ), 'firefox_security': ( 'css/firefox/security.less', ), diff --git a/etc/httpd/global.conf b/etc/httpd/global.conf index 0f1e72076c9..5ceed5138b9 100644 --- a/etc/httpd/global.conf +++ b/etc/httpd/global.conf @@ -141,6 +141,7 @@ RewriteRule ^/en-US/firefox/happy(/?)$ /b/en-US/firefox/happy$1 [PT] RewriteRule ^/en-US/firefox/speed(/?)$ /b/en-US/firefox/speed$1 [PT] RewriteRule ^/en-US/firefox/geolocation(/?)$ /b/en-US/firefox/geolocation$1 [PT] RewriteRule ^/en-US/firefox/channel(/?)$ /b/en-US/firefox/channel$1 [PT] +RewriteRule ^/en-US/firefox/releases(/?)$ /b/en-US/firefox/releases$1 [PT] # bug 893006 RewriteRule ^/(\w{2,3}(?:-\w{2})?/)?firefox/update(.*)$ /b/$1firefox/update$2 [PT] diff --git a/media/css/firefox/releases-index.less b/media/css/firefox/releases-index.less new file mode 100644 index 00000000000..11d44f7f521 --- /dev/null +++ b/media/css/firefox/releases-index.less @@ -0,0 +1,45 @@ +// 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/. + +@import "template-resp.less"; + +#main-feature { + h1, + p { + .span-all(); + margin-bottom: @baseLine / 2; + } +} + +#main-content { + ol { + margin: 0; + list-style-type: none; + li { + overflow: hidden; + margin: 0; + border-bottom: 1px dotted #d6d6d6; + padding: @baseLine / 2; + line-height: @baseLine * 1.5; + &:last-child { + border: 0 none; + } + strong { + float: left; + width: 6em; + } + ol { + margin-left: 6em; + li { + float: left; + overflow: visible; + border: 0 none; + padding: 0; + width: 6em; + white-space: nowrap; + } + } + } + } +}