From 9ee15bf0075662776bef9279642a2291b1fd05c7 Mon Sep 17 00:00:00 2001 From: Stephen Sanchez <steve@edx.org> Date: Fri, 15 Aug 2014 15:16:22 +0000 Subject: [PATCH] Updating the footer for edx.org and open edx. Move the open edx logo inside the div Adding a bunch of placeholder views. indenting. Making some styles work against LMS sass. Adding back the old edx footer and associated icons, with a feature flag. --- common/djangoapps/student/views.py | 4 - .../third_party_auth/tests/specs/base.py | 4 +- .../courseware/features/homepage.feature | 2 +- .../courseware/features/homepage.py | 8 +- .../courseware/tests/test_footer.py | 10 +- .../dashboard/tests/test_sysadmin.py | 3 +- .../shoppingcart/tests/test_views.py | 4 +- lms/envs/common.py | 15 +- lms/static/images/footer-seal.png | Bin 0 -> 53326 bytes lms/static/sass/base/_variables.scss | 9 + lms/static/sass/shared/_footer.scss | 302 ++++++++++++++++++ lms/templates/edx_footer.html | 149 ++++----- lms/templates/footer.html | 4 +- lms/templates/main.html | 5 +- lms/templates/navigation.html | 2 +- lms/templates/original_edx_footer.html | 96 ++++++ lms/templates/static_templates/blog.html | 9 + lms/templates/static_templates/donate.html | 9 + lms/templates/static_templates/news.html | 10 + lms/urls.py | 19 +- 20 files changed, 557 insertions(+), 107 deletions(-) create mode 100644 lms/static/images/footer-seal.png create mode 100644 lms/templates/original_edx_footer.html create mode 100644 lms/templates/static_templates/blog.html create mode 100644 lms/templates/static_templates/donate.html create mode 100644 lms/templates/static_templates/news.html diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py index a7a389359ed..effbbe11e4e 100644 --- a/common/djangoapps/student/views.py +++ b/common/djangoapps/student/views.py @@ -148,10 +148,6 @@ def embargo(_request): return render_to_response("static_templates/embargo.html") -def press(request): - return render_to_response('static_templates/press.html') - - def process_survey_link(survey_link, user): """ If {UNIQUE_ID} appears in the link, replace it with a unique id for the user. diff --git a/common/djangoapps/third_party_auth/tests/specs/base.py b/common/djangoapps/third_party_auth/tests/specs/base.py index 31350329752..4eb40fff3d0 100644 --- a/common/djangoapps/third_party_auth/tests/specs/base.py +++ b/common/djangoapps/third_party_auth/tests/specs/base.py @@ -123,8 +123,8 @@ class IntegrationTest(testutil.TestCase, test.TestCase): assert_duplicate_presence_fn = self.assertIn if duplicate else self.assertNotIn self.assertEqual(200, response.status_code) - self.assertIn(user.email, response.content) - self.assertIn(user.username, response.content) + self.assertIn(user.email, response.content.decode('UTF-8')) + self.assertIn(user.username, response.content.decode('UTF-8')) assert_duplicate_presence_fn(duplicate_account_error_needle, response.content) if linked is not None: diff --git a/lms/djangoapps/courseware/features/homepage.feature b/lms/djangoapps/courseware/features/homepage.feature index c4df77842d6..c66d06694aa 100644 --- a/lms/djangoapps/courseware/features/homepage.feature +++ b/lms/djangoapps/courseware/features/homepage.feature @@ -20,4 +20,4 @@ Feature: LMS.Homepage for web users | jobs | Jobs | | faq | FAQ | | contact | Contact| - | press | Press | + | press | News | diff --git a/lms/djangoapps/courseware/features/homepage.py b/lms/djangoapps/courseware/features/homepage.py index fc5a249cbae..3c17ed4f3c8 100644 --- a/lms/djangoapps/courseware/features/homepage.py +++ b/lms/djangoapps/courseware/features/homepage.py @@ -2,7 +2,7 @@ # pylint: disable=W0621 from lettuce import world, step -from nose.tools import assert_in, assert_equals # pylint: disable=E0611 +from nose.tools import assert_equals, assert_greater # pylint: disable=E0611 @step(u'I should see the following links and ids') @@ -11,5 +11,9 @@ def should_see_a_link_called(step): link_id = link_id_pair['id'] text = link_id_pair['Link'] link = world.browser.find_by_id(link_id) - assert len(link) > 0 + assert_greater( + len(link), + 0, + "Link length is less than 1. ID: {id} Text: {text}".format(id=link_id, text=text) + ) assert_equals(link.text, text) diff --git a/lms/djangoapps/courseware/tests/test_footer.py b/lms/djangoapps/courseware/tests/test_footer.py index 25d7d2f453c..1d1a705f8d1 100644 --- a/lms/djangoapps/courseware/tests/test_footer.py +++ b/lms/djangoapps/courseware/tests/test_footer.py @@ -18,8 +18,9 @@ class TestFooter(TestCase): resp = self.client.get('/') self.assertEqual(resp.status_code, 200) - # assert that footer template has been properly overriden on homepage - self.assertContains(resp, 'EdX is a non-profit created by founding partners Harvard and MIT') + # assert that footer template has been properly overridden on homepage + # test the top-level element class; which is less likely to change than copy. + self.assertContains(resp, 'edx-footer') @override_settings(SITE_NAME="example.com") def test_openedx_footer(self): @@ -31,5 +32,6 @@ class TestFooter(TestCase): resp = self.client.get('/') self.assertEqual(resp.status_code, 200) - # assert that footer template has been properly overriden on homepage - self.assertContains(resp, 'Powered by Open edX') + # assert that footer template has been properly overridden on homepage + # test the top-level element class; which is less likely to change than copy. + self.assertContains(resp, 'wrapper-footer') diff --git a/lms/djangoapps/dashboard/tests/test_sysadmin.py b/lms/djangoapps/dashboard/tests/test_sysadmin.py index 091f4525531..f4c802b0597 100644 --- a/lms/djangoapps/dashboard/tests/test_sysadmin.py +++ b/lms/djangoapps/dashboard/tests/test_sysadmin.py @@ -538,8 +538,7 @@ class TestSysAdminMongoCourseImport(SysadminBaseTestCase): with (override_settings(TIME_ZONE=timezone)): date_text = get_time_display(date, tz_format, settings.TIME_ZONE) response = self.client.get(reverse('gitlogs')) - - self.assertIn(date_text, response.content) + self.assertIn(date_text, response.content.decode('UTF-8')) self._rm_edx4edx() diff --git a/lms/djangoapps/shoppingcart/tests/test_views.py b/lms/djangoapps/shoppingcart/tests/test_views.py index 7f63fe6b71a..cfb6205e710 100644 --- a/lms/djangoapps/shoppingcart/tests/test_views.py +++ b/lms/djangoapps/shoppingcart/tests/test_views.py @@ -758,7 +758,7 @@ class CSVReportViewsTest(ModuleStoreTestCase): self.assertEqual(template, 'shoppingcart/download_report.html') self.assertFalse(context['total_count_error']) self.assertFalse(context['date_fmt_error']) - self.assertIn(_("Download CSV Reports"), response.content) + self.assertIn(_("Download CSV Reports"), response.content.decode('UTF-8')) @patch('shoppingcart.views.render_to_response', render_mock) def test_report_csv_bad_date(self): @@ -771,7 +771,7 @@ class CSVReportViewsTest(ModuleStoreTestCase): self.assertFalse(context['total_count_error']) self.assertTrue(context['date_fmt_error']) self.assertIn(_("There was an error in your date input. It should be formatted as YYYY-MM-DD"), - response.content) + response.content.decode('UTF-8')) CORRECT_CSV_NO_DATE_ITEMIZED_PURCHASE = ",1,purchased,1,40,40,usd,Registration for Course: Robot Super Course," diff --git a/lms/envs/common.py b/lms/envs/common.py index e22692d2b1b..0ca6bd2ffbb 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -41,8 +41,14 @@ from lms.lib.xblock.mixin import LmsBlockMixin # The display name of the platform to be used in templates/emails/etc. PLATFORM_NAME = "Your Platform Name Here" CC_MERCHANT_NAME = PLATFORM_NAME -PLATFORM_TWITTER_ACCOUNT = "@YourPlatformTwitterAccount" + PLATFORM_FACEBOOK_ACCOUNT = "http://www.facebook.com/YourPlatformFacebookAccount" +PLATFORM_TWITTER_ACCOUNT = "@YourPlatformTwitterAccount" +PLATFORM_TWITTER_URL = "https://twitter.com/YourPlatformTwitterAccount" +PLATFORM_MEETUP_URL = "http://www.meetup.com/YourMeetup" +PLATFORM_LINKEDIN_URL = "http://www.linkedin.com/company/YourPlatform" +PLATFORM_GOOGLE_PLUS_URL = "https://plus.google.com/YourGooglePlusAccount/" + COURSEWARE_ENABLED = True ENABLE_JASMINE = False @@ -264,6 +270,10 @@ FEATURES = { # Default to false here b/c dev environments won't have the api, will override in aws.py 'ENABLE_ANALYTICS_ACTIVE_COUNT': False, + # TODO: ECOM-136 remove this feature flag when new styles are available on main site.for + # Enable the new edX footer to be rendered. Defaults to false. + 'ENABLE_NEW_EDX_FOOTER': False, + # TODO: ECOM-136 # Enables the new navigation template and styles. This should be enabled # when the styles appropriately match the edX.org website. @@ -1381,7 +1391,10 @@ MKTG_URL_LINK_MAP = { 'HONOR': 'honor', 'PRIVACY': 'privacy_edx', 'JOBS': 'jobs', + 'NEWS': 'news', 'PRESS': 'press', + 'BLOG': 'edx-blog', + 'DONATE': 'donate', # Verified Certificates 'WHAT_IS_VERIFIED_CERT': 'verified-certificate', diff --git a/lms/static/images/footer-seal.png b/lms/static/images/footer-seal.png new file mode 100644 index 0000000000000000000000000000000000000000..7a5544a4cbf01499b6376c57813ec28dfc65f9f8 GIT binary patch literal 53326 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 literal 0 HcmV?d00001 diff --git a/lms/static/sass/base/_variables.scss b/lms/static/sass/base/_variables.scss index ad610a5135f..870162e6edf 100644 --- a/lms/static/sass/base/_variables.scss +++ b/lms/static/sass/base/_variables.scss @@ -12,6 +12,15 @@ $fg-max-columns: 12; $fg-max-width: 1400px; $fg-min-width: 810px; +// Card Sizes +// breakpoints for course cards +$bp-xl-min: 1180px; +$bp-l-min: 980px; +$bp-m-min: 768px; +$bp-s-min: 320px; +$bp-s-max: 320px; +$bp-m-max: 768px; + // ==================== // FONTS diff --git a/lms/static/sass/shared/_footer.scss b/lms/static/sass/shared/_footer.scss index 49428868a80..b03f6eee387 100644 --- a/lms/static/sass/shared/_footer.scss +++ b/lms/static/sass/shared/_footer.scss @@ -1,3 +1,305 @@ +//--------------------------------- +// edX.org specific footer styles. +//--------------------------------- + +.region-footer { + border: 1px solid #f1f1f1; + padding-top: 16px; + background: none; + background-color: #fcfcfc; + .container { + background: none !important; + max-width: 1180px !important; + padding: 15px 20px; + width: calc(100% - 40px) !important; + } +} +.region-footer-columns { + padding: 0!important; + background: none; + border: none; + + > .region-container-inner { + width: 100%; + margin: auto; + border: none; + background: none; + } + + .region-footer-first { + width: 100% ; + float: none ; + + .region-inner { + padding-right: 10px; + } + + nav { + margin-bottom: 1em; + } + } + h2{ + color: #3f4041; + font-size: 13px; + font-weight: 600; + border-bottom: none; + } + ul.menu{ + padding: 0px; + margin-top: 1em; + li{ + list-style: none none; + color: #8a8c8f; + font-size: 14px; + float: none !important; + padding-top: 3px !important; + span{font-size: 0px; color: #fcfcfc;} + a{ + font-size: 14px; + color: #009ee7; + font-family: "Open Sans",Arial,Helvetica,sans-serif; + line-height: 24px; + span{font-size: 14px; font-weight: semibold;} + &.edx-bold{font-weight: 600;} + i{ + font-size: 24px; + width: 25px; + display: inline-block; + margin-right: 10px; + font-family: FontAwesome; + } + } + } + } + ul.menu li a.fa{ + line-height: 42px; + } + p.copyright{ + color: #8a8c8f !important; + } + + .region-footer-second { + width: 100% ; + float: none ; + nav { + margin-bottom: 1em; + width: 100%; + float: none; + padding-right: 0px; + padding-left: 0px; + border-left: none; + border-right: none; + margin-top: 30px; + } + .nav{ + clear: none; + } + + section.block-menu-social{ + width: 100%; + padding: 0px; + margin-top: 30px; + } + } + + .block-disclosure { + p{ + font-size: 14px; + font-weight: normal; + line-height: 21px; + color: #3d3e3f; + padding-right: 20px; + img{ + display: block; + padding: 15px 0px; + } + + } + + } + + .block-menu-business a { + color: #565656; + + &:hover { + color: #2F73BC; + } + } + + .block-menu-social { + a { + border: 0; + } + + ul.menu li { + margin: 0; + padding: 0; + float: right; + + .menu_icon { + display: block; + background-position: center top !important; + overflow: hidden; + text-indent: -9999px; + width: 45px; + margin: 0; + padding: 0 !important; + } + } + + li { + margin: 0; + padding: 0; + float: right; + } + } + + .block-menu-supplement { + + ul.menu li { + margin: 0; + padding: 0; + float: right; + + a:hover { + border-bottom: 1px dotted #2F73BC; + } + + span.separator { + padding: 0 10px; + } + } + + .block-menu-supplement li { + margin: 0; + padding: 0; + float: right; + + a:hover { + border-bottom: 1px dotted #2F73BC; + } + + span.separator { + padding: 0 10px; + } + } + } +} + +/* + * Smarthphone Portrait + */ + +@media only screen and ( min-width: $bp-s-min ) { + .region-footer { + background: none; + background-color: #fcfcfc; + } + .region-footer-columns { + .region-footer-first { + width: 100% ; + float: none ; + } + .region-footer-second { + width: 100% ; + float: none ; + nav{ + width: 100%; + padding-left: 0px; + padding-right: 0px; + border-left: none; + border-right: none; + margin-top: 30px; + } + section.block-menu-social{ + width: 100%; + padding: 0px; + margin-top: 30px; + } + } + ul.menu li a.fa{ + line-height: 42px; + } + } +} + + +/* + * Smartphone Landscape and up + */ +@media only screen and ( min-width: $bp-m-min ) { + .region-footer { + background: #fcfcfc url("../images/footer-seal.png") -310px 20px no-repeat; + } + .region-footer-columns { + .region-footer-first { + width: 50% ; + float: left ; + } + .region-footer-second { + width: 50% ; + float: left ; + nav{ + width: 43%; + padding-right: 20px; + padding-left: 25px; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + margin-top: 15px; + float: left; + } + section.block-menu-social{ + width: 33%; + padding: 0px 15px 15px 20px; + margin-top: 15px; + float: left !important; + } + } + } +} + + +/* + * Tablet and up + */ +@media only screen and ( min-width: $bp-l-min ) { + .region-footer-columns { + .region-footer-second { + nav{ + width: 45%; + } + section.block-menu-social{ + width: 35%; + } + } + ul.menu li a.fa{ + line-height: 36px; + } + } +} + + +/* + * Desktops/laptops and up + */ +@media only screen and ( min-width: $bp-xl-min ) { + > .region-container-inner{margin:auto !important;} + .region-footer-columns { + .region-footer-second { + nav{ + width: 43%; + } + section.block-menu-social{ + width: 42%; + } + } + } +} + +//----------------------------------------- +// Open Source edX Footer Styling +//----------------------------------------- + .wrapper-footer { box-shadow: 0 -1px 5px 0 rgba(0,0,0, 0.1); border-top: 1px solid tint($m-gray,50%); diff --git a/lms/templates/edx_footer.html b/lms/templates/edx_footer.html index 606c689f5cb..9ccbadf8d01 100644 --- a/lms/templates/edx_footer.html +++ b/lms/templates/edx_footer.html @@ -3,89 +3,78 @@ <%! from django.utils.translation import ugettext as _ %> <%namespace name='static' file='static_content.html'/> -<div class="wrapper wrapper-footer edx-footer"> - <footer> - <div class="colophon"> - <nav class="nav-colophon"> - <ol> - <li class="nav-colophon-01"> - <a id="about" href="${marketing_link('ABOUT')}"> - ${_("About")} - </a> - </li> - <li class="nav-colophon-02"> - <a id="jobs" href="${marketing_link('JOBS')}"> - ${_("Jobs")} - </a> - </li> - <li class="nav-colophon-03"> - <a id="press" href="${marketing_link('PRESS')}"> - ${_("Press")} - </a> - </li> - <li class="nav-colophon-04"> - <a id="faq" href="${marketing_link('FAQ')}"> - ${_("FAQ")} - </a> - </li> - <li class="nav-colophon-05"> - <a id="contact" href="${marketing_link('CONTACT')}"> - ${_("Contact")} - </a> - </li> - </ol> - </nav> +<div class="edx-footer"> + <footer id="footer" class="clearfix region-footer" role="contentinfo"> + <div class="region-footer-columns region-container container"> + <div class="region-container-inner"> + <!-- regions: Footer first and Footer second --> + <div class="region region-footer-first"> + <div class="region-inner clearfix"> + <div class="region-container-inner"> + <div id="block-block-4" class="block block-block block-disclosure copy-detail no-title"> - <div class="colophon-about"> - <img src="${static.url('images/header-logo.png')}" alt="${_('edX Logo')}" /> + <p> + <img alt="edX" src="${static.url('images/header-logo.png')}">${_( + "{EdX} offers interactive online classes and MOOCs from the world's best universities. " + "Online courses from {MITx}, {HarvardX}, {BerkeleyX}, {UTx} and many other universities. " + "Topics include biology, business, chemistry, computer science, economics, finance, " + "electronics, engineering, food and nutrition, history, humanities, law, literature, " + "math, medicine, music, philosophy, physics, science, statistics and more. {EdX} is a " + "non-profit online initiative created by founding partners {Harvard} and {MIT}." + ).format( + EdX="EdX", Harvard="Harvard", MIT="MIT", HarvardX="HarvardX", MITx="MITx", + BerkeleyX="BerkeleyX", UTx="UTx" + )} + </p> - <p>${_("{EdX} is a non-profit created by founding partners {Harvard} and {MIT} whose mission is to bring the best of higher education to students of all ages anywhere in the world, wherever there is Internet access. {EdX}'s free online MOOCs are interactive and subjects include computer science, public health, and artificial intelligence.").format(EdX="EdX", Harvard="Harvard", MIT="MIT")}</p> - </div> - </div> + ## Translators: The © symbol appears directly before this line. + <p class="copyright">© ${_("2014 edX, except where noted, all rights reserved.")}</p> - <div class="references"> - <nav class="nav-social"> - <ul> - <li class="nav-social-01"> - <a href="http://www.meetup.com/edX-Global-Community/" rel="external"> - <img src="${static.url('images/social/ico-social-meetup.png')}" alt="edX on Meetup" /> - </a> - </li> - <li class="nav-social-02"> - <a href="http://www.facebook.com/EdxOnline" rel="external"> - <img src="${static.url('images/social/ico-social-facebook.png')}" alt="edX on Facebook" /> - </a> - </li> - <li class="nav-social-03"> - <a href="https://twitter.com/edXOnline" rel="external"> - <img src="${static.url('images/social/ico-social-twitter.png')}" alt="edX on Twitter" /> - </a> - </li> - <li class="nav-social-04"> - <a href="https://plus.google.com/108235383044095082735/posts" rel="external"> - <img src="${static.url('images/social/ico-social-google.png')}" alt="edX on Google+" /> - </a> - </li> - <li class="nav-social-05"> - <a href="http://youtube.com/user/edxonline" rel="external"> - <img src="${static.url('images/social/ico-social-youtube.png')}" alt="edX on YouTube" /> - </a> - </li> - </ul> - </nav> - <p class="copyright">${_("© 2014 edX, some rights reserved.")}</p> + <ul class="menu"> + <li><a href="${marketing_link('TOS')}">${_("Terms of Service and Honor Code")}</a></li> + <li><a href="${marketing_link('PRIVACY')}">${_("Privacy Policy")}</a></li> + </ul> + </div> + </div> + </div> + </div> + <div class="region region-footer-second"> + <div class="region-inner clearfix"> + <div class="region-container-inner"> + <nav id="block-menu-block-7" class="block block-menu-block" role="navigation"> + <h2 class="block-title">${_("About & Company Info")}</h2> - <nav class="nav-legal"> - <ul> - <li class="nav-legal-01"> - <a href="${marketing_link('TOS')}">${_("Terms of Service and Honor Code")}</a> - </li> - <li class="nav-legal-02"> - <a href="${marketing_link('PRIVACY')}">${_("Privacy Policy")}</a> - </li> - </ul> - </nav> - </div> - </footer> + <div class="menu-block-wrapper menu-block-7 menu-name-menu-about-company-in-footer parent-mlid-0 menu-level-1"> + <ul class="menu clearfix"> + <li><a href="${marketing_link('ABOUT')}">${_("About")}</a></li> + <li><a href="${marketing_link('NEWS')}">${_("News")}</a></li> + <li><a href="${marketing_link('CONTACT')}">${_("Contact")}</a></li> + <li><span>-</span></li> + <li><a href="${marketing_link('FAQ')}">${_("FAQ")}</a></li> + <li><a href="${marketing_link('BLOG')}">${_("edX Blog")}</a></li> + <li><span>-</span></li> + <li><a href="${marketing_link('DONATE')}" class="edx-bold">${_("Donate to edX")}</a></li> + <li><a href="${marketing_link('JOBS')}" class="edx-bold">${_("Jobs at edX")}</a></li> + </ul> + </div> + + </nav> + <section id="block-menu-menu-social-menu" class="block block-menu nav block-menu-social" role="navigation"> + <h2 class="block-title">${_("Follow Us")}</h2> + + <ul class="menu clearfix"> + <li><a href="${settings.PLATFORM_TWITTER_URL}" title="Twitter"><i class="icon-twitter"></i>${_("Twitter")}</a></li> + <li><a href="${settings.PLATFORM_FACEBOOK_ACCOUNT}" title="Facebook"><i class="icon-facebook"></i>${_("Facebook")}</a></li> + <li><a href="${settings.PLATFORM_MEETUP_URL}" title="Meetup"><i class="icon-calendar"></i>${_("Meetup")}</a></li> + <li><a href="${settings.PLATFORM_LINKEDIN_URL}" title="LinkedIn"><i class="icon-linkedin"></i>${_("LinkedIn")}</a></li> + <li><a href="${settings.PLATFORM_GOOGLE_PLUS_URL}" title="Google+"><i class="icon-google-plus"></i>${_("Google+")}</a></li> + </ul> + </section> + </div> + </div> + </div> + </div> + </div> + </footer> </div> diff --git a/lms/templates/footer.html b/lms/templates/footer.html index 8f8391266a3..4f32bb282de 100644 --- a/lms/templates/footer.html +++ b/lms/templates/footer.html @@ -20,8 +20,8 @@ </a> </li> <li class="nav-colophon-03"> - <a id="press" href="${marketing_link('PRESS')}"> - ${_("Press")} + <a id="press" href="${marketing_link('NEWS')}"> + ${_("News")} </a> </li> <li class="nav-colophon-04"> diff --git a/lms/templates/main.html b/lms/templates/main.html index e426937d378..844816e435a 100644 --- a/lms/templates/main.html +++ b/lms/templates/main.html @@ -84,7 +84,10 @@ google_analytics_file = microsite.get_template_path('google_analytics.html') if getattr(settings, 'SITE_NAME', '').endswith('edx.org'): - footer_file = microsite.get_template_path('edx_footer.html') + if settings.FEATURES.get('ENABLE_NEW_EDX_FOOTER', False): + footer_file = microsite.get_template_path('edx_footer.html') + else: + footer_file = microsite.get_template_path('original_edx_footer.html') else: footer_file = microsite.get_template_path('footer.html') diff --git a/lms/templates/navigation.html b/lms/templates/navigation.html index 03075917f5d..bcaf320eae9 100644 --- a/lms/templates/navigation.html +++ b/lms/templates/navigation.html @@ -36,7 +36,7 @@ site_status_msg = get_site_status_msg(course_id) % endif </%block> - <header class="global-new ${"slim" if course else ""}" aria-label="${_('Global Navigation')}"> + <header class="${"global slim" if course else "global-new"}" aria-label="${_('Global Navigation')}"> <nav> <h1 class="logo"> <a href="${marketing_link('ROOT')}"> diff --git a/lms/templates/original_edx_footer.html b/lms/templates/original_edx_footer.html new file mode 100644 index 00000000000..c733ad185df --- /dev/null +++ b/lms/templates/original_edx_footer.html @@ -0,0 +1,96 @@ +## mako +<%! from django.core.urlresolvers import reverse %> +<%! from django.utils.translation import ugettext as _ %> +<%namespace name='static' file='static_content.html'/> + +<div class="wrapper wrapper-footer edx-footer"> + <footer> + <div class="colophon"> + <nav class="nav-colophon"> + <ol> + <li class="nav-colophon-01"> + <a id="about" href="${marketing_link('ABOUT')}"> + ${_("About")} + </a> + </li> + <li class="nav-colophon-02"> + <a id="jobs" href="${marketing_link('JOBS')}"> + ${_("Jobs")} + </a> + </li> + <li class="nav-colophon-03"> + <a id="press" href="${marketing_link('PRESS')}"> + ${_("Press")} + </a> + </li> + <li class="nav-colophon-04"> + <a id="faq" href="${marketing_link('FAQ')}"> + ${_("FAQ")} + </a> + </li> + <li class="nav-colophon-05"> + <a id="contact" href="${marketing_link('CONTACT')}"> + ${_("Contact")} + </a> + </li> + </ol> + </nav> + + <div class="colophon-about"> + <img src="${static.url('images/header-logo.png')}" alt="${_('edX Logo')}" /> + + <p> + ${_("{EdX} is a non-profit created by founding partners {Harvard} and {MIT} whose mission is to " + "bring the best of higher education to students of all ages anywhere in the world, wherever there is " + "Internet access. {EdX}'s free online MOOCs are interactive and subjects include computer science, public " + "health, and artificial intelligence.").format(EdX="EdX", Harvard="Harvard", MIT="MIT")} + </p> + </div> + </div> + + <div class="references"> + <nav class="nav-social"> + <ul> + <li class="nav-social-01"> + <a href="${settings.PLATFORM_MEETUP_URL}" rel="external"> + <img src="${static.url('images/social/ico-social-meetup.png')}" alt="edX on Meetup" /> + </a> + </li> + <li class="nav-social-02"> + <a href="${settings.PLATFORM_FACEBOOK_ACCOUNT}" rel="external"> + <img src="${static.url('images/social/ico-social-facebook.png')}" alt="edX on Facebook" /> + </a> + </li> + <li class="nav-social-03"> + <a href="${settings.PLATFORM_TWITTER_URL}" rel="external"> + <img src="${static.url('images/social/ico-social-twitter.png')}" alt="edX on Twitter" /> + </a> + </li> + <li class="nav-social-04"> + <a href="${settings.PLATFORM_GOOGLE_PLUS_URL}" rel="external"> + <img src="${static.url('images/social/ico-social-google.png')}" alt="edX on Google+" /> + </a> + </li> + <li class="nav-social-05"> + <a href="http://youtube.com/user/edxonline" rel="external"> + <img src="${static.url('images/social/ico-social-youtube.png')}" alt="edX on YouTube" /> + </a> + </li> + </ul> + </nav> + + <p class="copyright">${_("© 2014 edX, some rights reserved.")}</p> + + <nav class="nav-legal"> + <ul> + <li class="nav-legal-01"> + <a href="${marketing_link('TOS')}">${_("Terms of Service and Honor Code")}</a> + </li> + <li class="nav-legal-02"> + <a href="${marketing_link('PRIVACY')}">${_("Privacy Policy")}</a> + </li> + </ul> + </nav> + </div> + </footer> +</div> \ No newline at end of file diff --git a/lms/templates/static_templates/blog.html b/lms/templates/static_templates/blog.html new file mode 100644 index 00000000000..5f7608ceb9c --- /dev/null +++ b/lms/templates/static_templates/blog.html @@ -0,0 +1,9 @@ +<%! from django.utils.translation import ugettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Blog")}</%block> + +<section class="container about"> + <h1>${_("Blog")}</h1> + <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p> +</section> diff --git a/lms/templates/static_templates/donate.html b/lms/templates/static_templates/donate.html new file mode 100644 index 00000000000..abf2ce107ef --- /dev/null +++ b/lms/templates/static_templates/donate.html @@ -0,0 +1,9 @@ +<%! from django.utils.translation import ugettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Donate")}</%block> + +<section class="container about"> + <h1>${_("Donate")}</h1> + <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p> +</section> diff --git a/lms/templates/static_templates/news.html b/lms/templates/static_templates/news.html new file mode 100644 index 00000000000..4790150dd05 --- /dev/null +++ b/lms/templates/static_templates/news.html @@ -0,0 +1,10 @@ +<%! from django.utils.translation import ugettext as _ %> + +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("In the Press")}</%block> + +<section class="container about"> +<h1>${_("In the Press")}</h1> +<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p> +</section> diff --git a/lms/urls.py b/lms/urls.py index f363bd2a74d..f04a1cbbd9e 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -118,15 +118,24 @@ urlpatterns += (( # Semi-static views only used by edX, not by themes if not settings.FEATURES["USE_CUSTOM_THEME"]: urlpatterns += ( + url(r'^blog$', 'static_template_view.views.render', + {'template': 'blog.html'}, name="blog"), + url(r'^contact$', 'static_template_view.views.render', + {'template': 'contact.html'}, name="contact"), + url(r'^donate$', 'static_template_view.views.render', + {'template': 'donate.html'}, name="donate"), + url(r'^faq$', 'static_template_view.views.render', + {'template': 'faq.html'}, name="faq"), + url(r'^help$', 'static_template_view.views.render', + {'template': 'help.html'}, name="help_edx"), url(r'^jobs$', 'static_template_view.views.render', {'template': 'jobs.html'}, name="jobs"), - url(r'^press$', 'student.views.press', name="press"), + url(r'^news$', 'static_template_view.views.render', + {'template': 'news.html'}, name="news"), + url(r'^press$', 'static_template_view.views.render', + {'template': 'press.html'}, name="press"), url(r'^media-kit$', 'static_template_view.views.render', {'template': 'media-kit.html'}, name="media-kit"), - url(r'^faq$', 'static_template_view.views.render', - {'template': 'faq.html'}, name="faq_edx"), - url(r'^help$', 'static_template_view.views.render', - {'template': 'help.html'}, name="help_edx"), # TODO: (bridger) The copyright has been removed until it is updated for edX # url(r'^copyright$', 'static_template_view.views.render', -- GitLab