Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Creating a page at mozilla.org/webmaker #86

Merged
merged 4 commits into from

3 participants

@rossbruniges

Hoping that I can get this page moved up to dev so that we can content and design review things - and any other required QA.

We're going to want to change the images in the carousel before launch and we need to finalise a few of the URLs, these will be coming soon.

@rossbruniges rossbruniges Adding in initial effort for mozilla.org/webmaker - awaiting final im…
…ages and a couple of links. But hopefully all good otherwise
c38b62b
apps/webmaker/models.py
@@ -0,0 +1,3 @@

Remove this file, should still work and we don't have a database.

@fwenzel Owner
fwenzel added a note

uh, afaik models.py is the file django looks for to make sure an "app" is legit. But I have no proof. @ubernostrum?

@fwenzel Owner
fwenzel added a note

that said, if it's required, at least empty the file.

the mozorg app doesn't have one, not sure why/when Django checks that since you have to explicitly install an app. Either way I'm fine leaving it in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/templates/webmaker/index.html
((31 lines not shown))
+ document.getElementById('promo-maker-video').id = 'page-promo-maker-video';
+ // ]]></script>
+ <a href="" class="container">
+ <img src="{{ media('img/webmaker/carousel/instructors.jpg') }}" alt="">
+ <div>
+ <h3>Meet the Webmakers: "Instructors"</h3>
+ <p>We're building a generation of webmakers. Meet some of our instructors.</p>
+ </div>
+ </a>
+ </div>
+
+ <div id="promo-code-party" class="pager-page">
+ <script>// <![CDATA[
+ document.getElementById('promo-code-party').id = 'page-promo-code-party';
+ // ]]></script>
+ <a href="http://www.mozilla.org/collusion/" class="container">

I know this isn't well documented, but there shouldn't be any hardcoded mozilla.org URLs. Please use the url helper: https://github.com/mozilla/bedrock/blob/master/apps/mozorg/helpers.py#L212

{{ url('collusion') }}

The argument is the name of a view. Usually it's the path with slashes replaced by dots, so /firefox/new is firefox.new.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@jlongster jlongster commented on the diff
apps/webmaker/templates/webmaker/index.html
((113 lines not shown))
+ </ul>
+ </div>
+
+ <div class="span3 offset1">
+ <h3>Latest news</h3>
+ <p>Read all our news in our <a data-feed-list-num="3" href="http://planet.drumbeat.org/rss20.xml" id="feed_url">webmaker news feed</a></p>
+ <form action="https://donate.mozilla.org/page/s/collusion" method="post" class="box" id="updates">
+ <h3>Want to hear more?</h3>
+ <p class="intro">Get Mozilla updates:</p>
+
+ <div class="field" id="email-field">
+ <span id="email-wrapper"><input name="email" type="email" id="email" value="" placeholder="Your Email Address" required></span>
+ </div>
+
+ <div class="field" id="country-field">
+ <select id="country" name="country" required>

I think we hardcoded countries one other place on the site. We probably should abstract this out. Are you interested in doing that?

@fwenzel Owner
fwenzel added a note

implementation hint: the bulk (or all?) of the actual data can come from product_details' region data.

Actually/unfortunately no - this list is taken from BSD (blue state digital - the CRM that the Mozilla Foundation uses) and uses different codes, countries than what we use.

Adding in as an include in an additional pull request...

@fwenzel Owner
fwenzel added a note

awesome, thanks in advance. This should really be a dictionary with just the data that you use to build this :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/templates/webmaker/index.html
((483 lines not shown))
+ Commons license</a>.
+ </p>
+ </div>
+ <nav class="span2">
+ <ul>
+ <li><a href="{{ php_url('/about/contact.html#map-mountain_view') }}">Contact Us</a></li>
+ <li><a href="{{ php_url('/privacy-policy.html') }}">Privacy Policy</a></li>
+ <li><a href="{{ php_url('/about/legal.html') }}">Legal Notices</a></li>
+ <li><a href="{{ php_url('/legal/fraud-report/index.html') }}">Report Trademark Abuse</a></li>
+ </ul>
+ </nav>
+
+ {% block social %}
+ <nav class="span2">
+ <ul>
+ <li><a href="http://www.mozilla.org/about/mission.html">Learn about Mozilla's mission</a></li>

This url is wrong, and it also should use url()

{{ url('mozorg.mission') }}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/tests.py
@@ -0,0 +1,16 @@

Remove this file too

@fwenzel Owner
fwenzel added a note

this one you actually can remove altogether, yes :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/urls.py
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import *
+from views import webmaker
+
+urlpatterns = patterns('',
+ url(r'^$', webmaker, name='webmaker_index'),

We have a shortcut function for creating pages: https://github.com/mozilla/bedrock/blob/master/apps/mozorg/urls.py#L8

So instead just do:

page('', 'webmaker/index.html')

And then you don't need any views

I'm not seeing this change, did you change this?

Technically we didn't need this - as we're not linking to that page that we were on...

@fwenzel Owner
fwenzel added a note

I think you misunderstood James; he wants you to remove the needless views module and function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/views.py
@@ -0,0 +1,7 @@

Remove this file now, since you don't need a view with the page shortcut

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@jlongster

Looks good in general, but r- only because it's not using some our standard utilities. Shouldn't take much to update it, and then I'll r+ it

@fwenzel fwenzel commented on the diff
apps/webmaker/templates/webmaker/index.html
((29 lines not shown))
+ <div class="default-page pager-page" id="promo-maker-video">
+ <script>// <![CDATA[
+ document.getElementById('promo-maker-video').id = 'page-promo-maker-video';
+ // ]]></script>
+ <a href="" class="container">
+ <img src="{{ media('img/webmaker/carousel/instructors.jpg') }}" alt="">
+ <div>
+ <h3>Meet the Webmakers: "Instructors"</h3>
+ <p>We're building a generation of webmakers. Meet some of our instructors.</p>
+ </div>
+ </a>
+ </div>
+
+ <div id="promo-code-party" class="pager-page">
+ <script>// <![CDATA[
+ document.getElementById('promo-code-party').id = 'page-promo-code-party';
@fwenzel Owner
fwenzel added a note

why?

Also: inline JS --

@fwenzel Owner
fwenzel added a note

... if we keep adding inline JS blocks, mozilla.org will never be able to comply with CSP. Please don't do it :-/

@fwenzel Owner
fwenzel added a note

:( still not good code

I'm not sure what to do here. This appears to be required by our very old pager library, and I suspect it would be a lot of work to figure out how everything works and separate it into another file.

At least it's not tons of js. When we CSP-ify the site, we'll have to fix the pager library anyway, and then we can remove these things across the entire site.

@fwenzel Owner
fwenzel added a note

All right, considering it's the same code here and there, and we'll have to change that anyway at CSPifying time, keep it.

Just keep in mind that I'll r- new code with needless inline JS :)

Agreed! An unfortunate evil. We've still cleaned out 99% of the inline js from the old site!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/templates/webmaker/index.html
((70 lines not shown))
+ <li id="tab-code-party"><a href="#p2"></a></li>
+ <li id="tab-popcorn"><a href="#p3"></a></li>
+ </ul>
+
+ </div>
+</section>
+
+<section id="secondary" class="container">
+
+<div class="row">
+
+ <div class="span6">
+
+ <h3>Mozilla Webmaker</h3>
+
+ <p>We're building a generation of webmakers — moving millions of people from being users of the web to makers of the web. <a href="http://www.mozilla.org/mission/">Our mission</a> is all about empowering users, and what better way is there to do that than to help them shape the web itself?</p>
@fwenzel Owner
fwenzel added a note

You want to line-break on occasion; there's no reason not to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/templates/webmaker/index.html
((96 lines not shown))
+ <p>We're creating web-based apps that you can use to discover, remix, and create your own content online. Here's just a few that you can try today:</p>
+
+ <ul>
+ <li><a href="http://hackasaurus.org/">Hackasaurus</a>: Activate the X-ray Goggles and instantly reveal and remix any page on the web. Share your hacks with your friends.</li>
+ <li><a href="http://mozillapopcorn.org/">Popcorn</a>: Bring the web into online video. Launch the <a href="http://mozillapopcorn.org/popcorn-maker/">Popcorn Maker web app (beta)</a>, select your favourite video, and you can pull in tweets, maps, photos, and more — all in realtime.</li>
+ <li>Webmaker <b>(coming soon)</b>: Build a webpage from scratch, or try a pre-built template. See the code as you work, and learn as you make.</li>
+ </ul>
+
+ <h3>Get involved</h3>
+
+
+ <p>We need your help to make this dream a reality. Here's how you can help:</p>
+
+ <ul>
+ <li><a href="https://donate.mozilla.org/page/event/create/">Host a Summer Code Party in your town</a></li>
+ <li><a href="http://www.mozilla.org/en-US/contribute/">Help us make great software</a></li>
@fwenzel Owner
fwenzel added a note

another URL that shouldn't be hardcoded. If this is not in bedrock yet, use php_url().

It is, so it should be:

{{ url('mozorg.contribute') }}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/templates/webmaker/index.html
((444 lines not shown))
+ </div>
+ <p><small>We will only send you Mozilla-related information.</small></p>
+ <input type="hidden" name="submit" value="submit">
+ </form>
+
+ <h3>Find a project</h3>
+
+ <ul>
+ <li><a href="http://mozillapopcorn.org/">popcorn</a></li>
+ <li><a href="http://www.mozillaopennews.org/">opennews</a></li>
+ <li><a href="http://www.hackasaurus.org/">hackasaurus</a></li>
+ <li><a href="http://www.openbadges.org/">open badges</a></li>
+ <li><a href="https://mozillaignite.org">mozilla ignite</li>
+ <li><a href="http://explorecreateshare.org/">hiveNYC</a></li>
+ <li><a href="https://www.mozillafestival.org/">mozillafestival</a></li>
+ <li><a href="http://www.mozilla.org/en-US/collusion/">collusion</a></li>
@fwenzel Owner
fwenzel added a note

URL reversal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
apps/webmaker/templates/webmaker/index.html
((455 lines not shown))
+ <li><a href="http://www.openbadges.org/">open badges</a></li>
+ <li><a href="https://mozillaignite.org">mozilla ignite</li>
+ <li><a href="http://explorecreateshare.org/">hiveNYC</a></li>
+ <li><a href="https://www.mozillafestival.org/">mozillafestival</a></li>
+ <li><a href="http://www.mozilla.org/en-US/collusion/">collusion</a></li>
+ </ul>
+
+ </div>
+
+ </div>
+
+</section>
+
+{% endblock %}
+
+{% block site_footer %}
@fwenzel Owner
fwenzel added a note

Do you have to duplicate this, or is there a base template this can/should be part of so you can just inherit it?

Ryan Merkley (my boss) wanted to ensure that the twitter and facebook links point to moziila opposed to firefox....

Just override the social block and customize the three links there.

{% block social %}

    ...

{% endblock social %}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@rossbruniges

Updated the pull request on my local branch - which I hope fixes the big problems here

@rossbruniges

Hopefully a final update....

@jlongster

Looks good to know now. We can clean up countries and inline javascript later, as we need to do that in a few other places and standardize it.

@jlongster jlongster merged commit df72cfc into mozilla:dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.
View
0  apps/webmaker/__init__.py
No changes.
View
485 apps/webmaker/templates/webmaker/index.html
@@ -0,0 +1,485 @@
+{% extends "sand.html" %}
+
+{% block page_title %}Webmaker{% endblock %}
+{% block body_id %}webmaker{% endblock %}
+
+{% block site_header_nav %}
+ <nav id="nav-main" role="navigation">
+ <ul>
+ <li><b>Home</b></li>
+ </ul>
+ </nav>
+{% endblock %}
+
+{% block extrahead %}
+ {{ css('webmaker') }}
+{% endblock %}
+
+{% block content %}
+
+<hgroup class="container">
+ <h1 class="large">Mozilla Webmaker</h1>
+ <h2>We're building a generation of webmakers</h2>
+</hgroup>
+
+<section id="home-promo" class="pager pager-with-tabs pager-auto-rotate pager-no-history">
+
+ <div class="pager-content">
+
+ <div class="default-page pager-page" id="promo-maker-video">
+ <script>// <![CDATA[
+ document.getElementById('promo-maker-video').id = 'page-promo-maker-video';
+ // ]]></script>
+ <a href="" class="container">
+ <img src="{{ media('img/webmaker/carousel/instructors.jpg') }}" alt="">
+ <div>
+ <h3>Meet the Webmakers: "Instructors"</h3>
+ <p>We're building a generation of webmakers. Meet some of our instructors.</p>
+ </div>
+ </a>
+ </div>
+
+ <div id="promo-code-party" class="pager-page">
+ <script>// <![CDATA[
+ document.getElementById('promo-code-party').id = 'page-promo-code-party';
@fwenzel Owner
fwenzel added a note

why?

Also: inline JS --

@fwenzel Owner
fwenzel added a note

... if we keep adding inline JS blocks, mozilla.org will never be able to comply with CSP. Please don't do it :-/

@fwenzel Owner
fwenzel added a note

:( still not good code

I'm not sure what to do here. This appears to be required by our very old pager library, and I suspect it would be a lot of work to figure out how everything works and separate it into another file.

At least it's not tons of js. When we CSP-ify the site, we'll have to fix the pager library anyway, and then we can remove these things across the entire site.

@fwenzel Owner
fwenzel added a note

All right, considering it's the same code here and there, and we'll have to change that anyway at CSPifying time, keep it.

Just keep in mind that I'll r- new code with needless inline JS :)

Agreed! An unfortunate evil. We've still cleaned out 99% of the inline js from the old site!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ // ]]></script>
+ <a href="#" class="container">
+ <img src="{{ media('img/webmaker/carousel/codeparty.jpg') }}" alt="">
+ <div>
+ <h3>Summer Code Party</h3>
+ <p>Meet, make, and share your creations with friends to learn some code this summer. »</p>
+ </div>
+ </a>
+ </div>
+
+ <div id="promo-popcorn" class="pager-page">
+ <script>// <![CDATA[
+ document.getElementById('promo-popcorn').id = 'page-promo-popcorn';
+ // ]]></script>
+ <a href="http://www.mozillapopcorn.org" class="container">
+ <img src="{{ media('img/webmaker/carousel/popcorn.jpg') }}" alt="">
+ <div>
+ <h3>Make video pop with Popcorn</h3>
+ <p>Popcorn is revolutionizing video on the web. It's free, open, and easy to use. Try it today. »</p>
+ </div>
+ </a>
+ </div>
+
+ <ul class="pager-tabs">
+ <li id="tab-maker-video"><a href="#p1"></a></li>
+ <li id="tab-code-party"><a href="#p2"></a></li>
+ <li id="tab-popcorn"><a href="#p3"></a></li>
+ </ul>
+
+ </div>
+</section>
+
+<section id="secondary" class="container">
+
+<div class="row">
+
+ <div class="span6">
+
+ <h3>Mozilla Webmaker</h3>
+
+ <p>We're building a generation of webmakers — moving millions of people from being users of the web to makers of the web. <a href="{{ url('mozorg.mission') }}">Our mission</a> is all about empowering users, and what better way is there to do that than to help them shape the web itself?</p>
+
+
+ <h3>Join the Summer Code Party</h3>
+
+ <p>This summer, we're inviting everyone to join us to meet up, make something cool, and learn how the code behind the web works. It's called the Summer Code Party, and it starts June 23.</p>
+
+ <p>Mozilla is joining with dozens of other organizations to make this happen. Want to make a prettier template for your blog? Or level up your latest YouTube video? Or just learn a bit of HTML? We'll have tools, tutorials, and activites to help you become a webmaker. Join the party here. [link]</p>
+
+ <h3>Tools for learning</h3>
+
+ <p>We're creating web-based apps that you can use to discover, remix, and create your own content online. Here's just a few that you can try today:</p>
+
+ <ul>
+ <li><a href="http://hackasaurus.org/">Hackasaurus</a>: Activate the X-ray Goggles and instantly reveal and remix any page on the web. Share your hacks with your friends.</li>
+ <li><a href="http://mozillapopcorn.org/">Popcorn</a>: Bring the web into online video. Launch the <a href="http://mozillapopcorn.org/popcorn-maker/">Popcorn Maker web app (beta)</a>, select your favourite video, and you can pull in tweets, maps, photos, and more — all in realtime.</li>
+ <li>Webmaker <b>(coming soon)</b>: Build a webpage from scratch, or try a pre-built template. See the code as you work, and learn as you make.</li>
+ </ul>
+
+ <h3>Get involved</h3>
+
+
+ <p>We need your help to make this dream a reality. Here's how you can help:</p>
+
+ <ul>
+ <li><a href="https://donate.mozilla.org/page/event/create/">Host a Summer Code Party in your town</a></li>
+ <li><a href="{{ url('mozorg.contribute') }}">Help us make great software</a></li>
+ <li><a href="https://donate.mozilla.org/join">Make a donation to support our work</a></li>
+ </ul>
+ </div>
+
+ <div class="span3 offset1">
+ <h3>Latest news</h3>
+ <p>Read all our news in our <a data-feed-list-num="3" href="http://planet.drumbeat.org/rss20.xml" id="feed_url">webmaker news feed</a></p>
+ <form action="https://donate.mozilla.org/page/s/collusion" method="post" class="box" id="updates">
+ <h3>Want to hear more?</h3>
+ <p class="intro">Get Mozilla updates:</p>
+
+ <div class="field" id="email-field">
+ <span id="email-wrapper"><input name="email" type="email" id="email" value="" placeholder="Your Email Address" required></span>
+ </div>
+
+ <div class="field" id="country-field">
+ <select id="country" name="country" required>

I think we hardcoded countries one other place on the site. We probably should abstract this out. Are you interested in doing that?

@fwenzel Owner
fwenzel added a note

implementation hint: the bulk (or all?) of the actual data can come from product_details' region data.

Actually/unfortunately no - this list is taken from BSD (blue state digital - the CRM that the Mozilla Foundation uses) and uses different codes, countries than what we use.

Adding in as an include in an additional pull request...

@fwenzel Owner
fwenzel added a note

awesome, thanks in advance. This should really be a dictionary with just the data that you use to build this :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ <option value=""></option>
+ <option value="AF">Afghanistan</option>
+ <option value="AL">Albania</option>
+ <option value="DZ">Algeria</option>
+
+ <option value="AS">American Samoa</option>
+ <option value="AD">Andorra</option>
+ <option value="AO">Angola</option>
+ <option value="AI">Anguilla</option>
+ <option value="AG">Antigua and Barbuda</option>
+ <option value="AR">Argentina</option>
+
+ <option value="AM">Armenia</option>
+ <option value="AW">Aruba</option>
+ <option value="AU">Australia</option>
+ <option value="AT">Austria</option>
+ <option value="AZ">Azerbaijan</option>
+ <option value="BS">Bahamas</option>
+
+ <option value="BH">Bahrain</option>
+ <option value="BD">Bangladesh</option>
+ <option value="BB">Barbados</option>
+ <option value="BY">Belarus</option>
+ <option value="BE">Belgium</option>
+ <option value="BZ">Belize</option>
+
+ <option value="BJ">Benin</option>
+ <option value="BM">Bermuda</option>
+ <option value="BT">Bhutan</option>
+ <option value="BO">Bolivia</option>
+ <option value="BA">Bosnia and Herzegovina</option>
+ <option value="BW">Botswana</option>
+
+ <option value="BR">Brazil</option>
+ <option value="VG">British Virgin Islands</option>
+ <option value="IO">British Indian Ocean Territory</option>
+ <option value="BN">Brunei</option>
+ <option value="BG">Bulgaria</option>
+ <option value="BF">Burkina Faso</option>
+
+ <option value="BI">Burundi</option>
+ <option value="KH">Cambodia</option>
+ <option value="CM">Cameroon</option>
+ <option value="CA">Canada</option>
+
+ <option value="CV">Cape Verde</option>
+ <option value="KY">Cayman Islands</option>
+
+ <option value="CF">Central African Republic</option>
+ <option value="TD">Chad</option>
+ <option value="CL">Chile</option>
+ <option value="CN">China</option>
+
+ <option value="CX">Christmas Island</option>
+ <option value="CO">Colombia</option>
+
+ <option value="KM">Comoros Islands</option>
+ <option value="CD">Congo, Democratic Republic of the</option>
+ <option value="CG">Congo, Republic of the</option>
+ <option value="CK">Cook Islands</option>
+
+ <option value="CR">Costa Rica</option>
+ <option value="CI">Cote D'ivoire</option>
+
+ <option value="HR">Croatia</option>
+ <option value="CU">Cuba</option>
+ <option value="CY">Cyprus</option>
+ <option value="CZ">Czech Republic</option>
+
+ <option value="DK">Denmark</option>
+ <option value="DJ">Djibouti</option>
+
+ <option value="DM">Dominica</option>
+ <option value="DO">Dominican Republic</option>
+ <option value="TP">East Timor</option>
+ <option value="EC">Ecuador</option>
+
+ <option value="EG">Egypt</option>
+ <option value="SV">El Salvador</option>
+
+ <option value="GQ">Equatorial Guinea</option>
+ <option value="ER">Eritrea</option>
+ <option value="EE">Estonia</option>
+ <option value="ET">Ethiopia</option>
+
+ <option value="FK">Falkland Islands (Malvinas)</option>
+ <option value="FO">Faroe Islands</option>
+
+ <option value="FJ">Fiji</option>
+ <option value="FI">Finland</option>
+ <option value="FR">France</option>
+ <option value="GF">French Guiana</option>
+
+ <option value="PF">French Polynesia</option>
+ <option value="TF">French Southern Territories</option>
+
+ <option value="GA">Gabon</option>
+ <option value="GM">Gambia</option>
+ <option value="GE">Georgia</option>
+ <option value="DE">Germany</option>
+
+ <option value="GH">Ghana</option>
+ <option value="GI">Gibraltar</option>
+
+ <option value="GR">Greece</option>
+ <option value="GL">Greenland</option>
+ <option value="GD">Grenada</option>
+ <option value="GP">Guadeloupe</option>
+
+ <option value="GU">Guam</option>
+ <option value="GT">Guatemala</option>
+
+ <option value="GN">Guinea</option>
+ <option value="GW">Guinea-Bissau</option>
+ <option value="GY">Guyana</option>
+ <option value="HT">Haiti</option>
+
+ <option value="VA">Holy See (Vatican City State)</option>
+ <option value="HN">Honduras</option>
+
+ <option value="HK">Hong Kong</option>
+ <option value="HU">Hungary</option>
+ <option value="IS">Iceland</option>
+ <option value="IN">India</option>
+
+ <option value="ID">Indonesia</option>
+ <option value="IR">Iran</option>
+
+ <option value="IQ">Iraq</option>
+ <option value="IE">Ireland</option>
+ <option value="IL">Israel</option>
+ <option value="IT">Italy</option>
+
+ <option value="JM">Jamaica</option>
+ <option value="JP">Japan</option>
+
+ <option value="JO">Jordan</option>
+ <option value="KZ">Kazakhstan</option>
+ <option value="KE">Kenya</option>
+ <option value="KI">Kiribati</option>
+
+ <option value="KR">South Korea</option>
+ <option value="XK">Kosovo</option>
+
+ <option value="KW">Kuwait</option>
+ <option value="KG">Kyrgyzstan</option>
+ <option value="LA">Laos</option>
+ <option value="LV">Latvia</option>
+
+ <option value="LB">Lebanon</option>
+ <option value="LS">Lesotho</option>
+
+ <option value="LR">Liberia</option>
+ <option value="LI">Liechtenstein</option>
+ <option value="LT">Lithuania</option>
+ <option value="LU">Luxembourg</option>
+
+ <option value="MO">Macau</option>
+ <option value="MK">Macedonia</option>
+
+ <option value="MG">Madagascar</option>
+ <option value="MW">Malawi</option>
+ <option value="MY">Malaysia</option>
+ <option value="MV">Maldives</option>
+
+ <option value="ML">Mali</option>
+ <option value="MT">Malta</option>
+
+ <option value="MH">Marshall Islands</option>
+ <option value="MQ">Martinique</option>
+ <option value="MR">Mauritania</option>
+ <option value="MU">Mauritius</option>
+
+ <option value="YT">Mayotte</option>
+ <option value="MX">Mexico</option>
+
+ <option value="FM">Micronesia</option>
+ <option value="MD">Moldova, Republic of</option>
+ <option value="MC">Monaco</option>
+ <option value="MN">Mongolia</option>
+
+ <option value="ME">Montenegro</option>
+ <option value="MS">Montserrat</option>
+
+ <option value="MA">Morocco</option>
+ <option value="MZ">Mozambique</option>
+ <option value="MM">Myanmar</option>
+ <option value="NA">Namibia</option>
+
+ <option value="NR">Nauru</option>
+ <option value="NP">Nepal</option>
+
+ <option value="NL">Netherlands</option>
+ <option value="AN">Netherlands Antilles</option>
+ <option value="NC">New Caledonia</option>
+ <option value="NZ">New Zealand</option>
+
+ <option value="NI">Nicaragua</option>
+ <option value="NE">Niger</option>
+
+ <option value="NG">Nigeria</option>
+ <option value="NU">Niue</option>
+ <option value="NF">Norfolk Island</option>
+ <option value="MP">Northern Mariana Islands</option>
+
+ <option value="NO">Norway</option>
+ <option value="OM">Oman</option>
+
+ <option value="PK">Pakistan</option>
+ <option value="PW">Palau</option>
+ <option value="PA">Panama</option>
+ <option value="PG">Papua New Guinea</option>
+
+ <option value="PY">Paraguay</option>
+ <option value="PE">Peru</option>
+
+ <option value="PH">Philippines</option>
+ <option value="PN">Pitcairn Island</option>
+ <option value="PL">Poland</option>
+ <option value="PT">Portugal</option>
+
+ <option value="PR">Puerto Rico</option>
+ <option value="QA">Qatar</option>
+
+ <option value="RE">Reunion</option>
+ <option value="RO">Romania</option>
+ <option value="RU">Russian Federation</option>
+ <option value="RW">Rwanda</option>
+
+ <option value="KN">Saint Kitts and Nevis</option>
+ <option value="LC">Saint Lucia</option>
+
+ <option value="VC">Saint Vincent and the Grenadines</option>
+ <option value="WS">Samoa</option>
+ <option value="SM">San Marino</option>
+ <option value="ST">Sao Tome and Principe</option>
+
+ <option value="SA">Saudi Arabia</option>
+ <option value="SN">Senegal</option>
+
+ <option value="RS">Serbia</option>
+ <option value="SC">Seychelles</option>
+ <option value="SL">Sierra Leone</option>
+ <option value="SG">Singapore</option>
+
+ <option value="SK">Slovakia</option>
+ <option value="SI">Slovenia</option>
+
+ <option value="SB">Solomon Islands</option>
+ <option value="SO">Somalia</option>
+ <option value="ZA">South Africa</option>
+ <option value="ES">Spain</option>
+
+ <option value="LK">Sri Lanka</option>
+ <option value="SH">St. Helena</option>
+
+ <option value="PM">St. Pierre and Miquelon</option>
+ <option value="SD">Sudan</option>
+ <option value="SR">Suriname</option>
+ <option value="SZ">Swaziland</option>
+
+ <option value="SE">Sweden</option>
+ <option value="CH">Switzerland</option>
+
+ <option value="SY">Syria</option>
+ <option value="TW">Taiwan</option>
+ <option value="TJ">Tajikistan</option>
+ <option value="TZ">Tanzania</option>
+
+ <option value="TH">Thailand</option>
+ <option value="TG">Togo</option>
+
+ <option value="TK">Tokelau</option>
+ <option value="TO">Tonga</option>
+ <option value="TT">Trinidad and Tobago</option>
+ <option value="TN">Tunisia</option>
+
+ <option value="TR">Turkey</option>
+ <option value="TM">Turkmenistan</option>
+
+ <option value="TC">Turks and Caicos Islands</option>
+ <option value="TV">Tuvalu</option>
+ <option value="UG">Uganda</option>
+ <option value="UA">Ukraine</option>
+ <option value="AE">United Arab Emirates</option>
+ <option value="GB">United Kingdom</option>
+ <option value="US" selected="selected">United States</option>
+ <option value="UY">Uruguay</option>
+ <option value="UZ">Uzbekistan</option>
+ <option value="VU">Vanuatu</option>
+ <option value="VE">Venezuela</option>
+ <option value="VN">Viet Nam</option>
+ <option value="VI">Virgin Islands (U.S.)</option>
+ <option value="WF">Wallis and Futuna Islands</option>
+ <option value="EH">Western Sahara</option>
+ <option value="YE">Yemen</option>
+ <option value="ZM">Zambia</option>
+ <option value="ZW">Zimbabwe</option>
+</select>
+ </div>
+
+ <div class="field" id="privacy-field">
+ <label for="privacy-check" id="privacy-check-label" class="">
+ <span class="input"><input type="checkbox" name="custom-824" id="privacy-check" value="1" required></span>
+
+ <span class="title">
+ I'm okay with you handling this info as you explain in
+ your <a href="{{ php_url('/privacy-policy.html') }}">Privacy
+ Policy</a>
+ </span>
+ </label>
+ </div>
+
+ <div class="field" id="submit-field">
+ <button type="submit" class="submit button-blue">Sign me up</button>
+ </div>
+ <p><small>We will only send you Mozilla-related information.</small></p>
+ <input type="hidden" name="submit" value="submit">
+ </form>
+
+ <h3>Find a project</h3>
+
+ <ul>
+ <li><a href="http://mozillapopcorn.org/">popcorn</a></li>
+ <li><a href="http://www.mozillaopennews.org/">opennews</a></li>
+ <li><a href="http://www.hackasaurus.org/">hackasaurus</a></li>
+ <li><a href="http://www.openbadges.org/">open badges</a></li>
+ <li><a href="https://mozillaignite.org">mozilla ignite</li>
+ <li><a href="http://explorecreateshare.org/">hiveNYC</a></li>
+ <li><a href="https://www.mozillafestival.org/">mozillafestival</a></li>
+ <li><a href="{{ url('collusion') }}">collusion</a></li>
+ </ul>
+
+ </div>
+
+ </div>
+
+</section>
+
+{% endblock %}
+
+{% block social %}
+ <nav class="span2">
+ <ul>
+ <li><a href="{{ url('mozorg.mission') }}">Learn about Mozilla's mission</a></li>
+ <li><a href="https://donate.mozilla.org/join/">Join Mozilla</a></li>
+ <li><a href="http://www.facebook.com/mozilla/">Like us on Facebook</a></li>
+ <li><a href="http://www.twitter.com/mozilla/">Follow us on Twitter</a></li>
+ </ul>
+ </nav>
+{% endblock %}
+
+{% block js %}
+<script type="text/javascript" src="https://www.google.com/jsapi"></script>
+{{ js('webmaker') }}
+{{ js('pager') }}
+{% endblock %}
View
6 apps/webmaker/urls.py
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import *
+from mozorg.util import page
+
+urlpatterns = patterns('',
+ page('', 'webmaker/index.html')
+)
View
1  media/css/collusion.less
@@ -221,4 +221,3 @@ g.node.unrelated-domain circle.tracker {
g.node.unrelated-domain circle.round-border {
fill: #e0e0e0;
}
-
View
174 media/css/webmaker.less
@@ -0,0 +1,174 @@
+@import "sandstone/variables.less";
+@import "sandstone/mixins.less";
+
+
+hgroup {
+ text-align: center;
+ padding-top: @baseLine * 2;
+ padding-bottom: @baseLine * 2;
+
+ h2 {
+ font-size: 32px;
+ }
+}
+
+/* {{{ Main Promos */
+
+.pager-page {
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ display: none;
+ a {
+ display: block;
+ height: 265px;
+ padding: 0;
+ position: relative;
+ width: 896px + 48px + 48px;
+ border-bottom: 1px solid #ddd;
+ &:hover,
+ &:active {
+ text-decoration: none;
+ }
+ }
+ div {
+ .span(3);
+ margin-left: 0;
+ padding: 0 0 @baseLine 48px;
+ position: relative;
+ }
+ h3 {
+ padding-top: @baseLine * 2;
+ margin-bottom: @baseLine;
+ font-size: 32px;
+ letter-spacing: -1px;
+ color: #fff;
+ text-shadow: none;
+ }
+ p {
+ color: #fff;
+ text-shadow: none;
+ margin: 0;
+ }
+ img {
+ display: block;
+ background: @textColorPrimary;
+ width: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+}
+
+.default-page {
+ display: block;
+}
+
+.pager-tabs {
+ text-align: center;
+ li {
+ display: inline;
+ list-style-type: none;
+ margin: 0;
+ a {
+ color: rgba(0,0,0,0.2);
+ .inline-block;
+ padding: 6px;
+ &:hover,
+ &:active {
+ text-decoration: none;
+ color: @textColorSecondary;
+ }
+ }
+ }
+}
+
+.pager-selected-promo-maker-video li#tab-maker-video a,
+.pager-selected-promo-code-party li#tab-code-party a,
+.pager-selected-promo-popcorn li#tab-popcorn a {
+ color: @textColorSecondary;
+}
+
+/* }}} */
+
+#updates {
+ margin-bottom: @baseLine * 2;
+ p { margin: 0; }
+ .field {
+ .clearfix;
+ padding: @baseLine / 4 0;
+
+ input[type=email] {
+ width: (@gridColumnWidth * 3) + (@gridGutterWidth * 2) - 18px;
+ }
+
+ .title {
+ font-size: 14px;
+ }
+
+ small {
+ color: @textColorTertiary;
+ }
+ }
+}
+
+/* {{{ Tablet Layout: 768px */
+/*
+@media only screen and (min-width: 768px) and (max-width: 991px) {
+
+ .pager-page {
+ a {
+ width: 712px + 24px + 24px;
+ height: 203px;
+ }
+ h3 {
+ font-size: 28px;
+ letter-spacing: -1px;
+ padding-top: @baseLine;
+ }
+ }
+
+}
+
+*/
+/* }}} */
+/* {{{ Wide Mobile Layout: 480px */
+/*
+
+@media only screen and (max-width: 767px) {
+
+ .pager-page {
+ a {
+ width: auto;
+ height: auto;
+ img {
+ position: static;
+ }
+ }
+ h3 {
+ font-size: 28px;
+ letter-spacing: -1px;
+ padding-top: @baseLine;
+ }
+ div {
+ padding-left: 24px;
+ background: #fff;
+ width: auto;
+ float: none;
+ }
+ h3 {
+ margin-bottom: @baseLine / 3;
+ color: @textColorPrimary;
+ }
+ p {
+ color: @textColorPrimary;
+ }
+ }
+
+ .pager-tabs li a {
+ padding: 12px;
+ font-size: 28px;
+ }
+
+}
+*/
+/* }}} */
View
BIN  media/img/webmaker/carousel/codeparty.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  media/img/webmaker/carousel/instructors.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  media/img/webmaker/carousel/popcorn.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
32 media/js/webmaker/feeds.js
@@ -0,0 +1,32 @@
+google.load("feeds", "1");
+
+var webmaker = window.webmaker || {};
+
+webmaker = function() {
+ var init = function() {
+ var feed_url = $("#feed_url"),
+ feed = new google.feeds.Feed(feed_url.attr('href')),
+ feed_num = feed_url.attr('data-feed-list-num');
+ feed.setNumEntries(feed_num);
+ feed.load(function(result) {
+ if (!result.error) {
+ var feed_list = "<ul>";
+ for (var i = 0; i < result.feed.entries.length; i++) {
+ var entry = result.feed.entries[i],
+ chunks = entry.title.split(':'),
+ name = chunks.shift();
+ feed_list += "<li><a href='" + entry.link + "'>";
+ feed_list += chunks.toString() + "</a> by " + name.toString();
+ feed_list += "</li>";
+ }
+ feed_list += "</ul>";
+ $(feed_url).parent().before($(feed_list));
+ }
+ });
+ };
+ return {
+ 'init': init
+ };
+}();
+
+google.setOnLoadCallback(webmaker.init);
View
9 settings/base.py
@@ -62,6 +62,9 @@ def JINJA_CONFIG():
'b2g': (
'css/b2g.less',
),
+ 'webmaker': (
+ 'css/webmaker.less',
+ ),
'collusion': (
'css/collusion.less',
),
@@ -160,7 +163,10 @@ def JINJA_CONFIG():
},
'js': {
'site': (
- 'js/site.js', # this is automatically included on every page
+ 'js/site.js', # this is automatically included on every page
+ ),
+ 'webmaker': (
+ 'js/webmaker/feeds.js',
),
'collusion': (
'js/collusion/d3.layout.js',
@@ -316,6 +322,7 @@ def JINJA_CONFIG():
# Local apps
'b2g',
+ 'webmaker',
'collusion',
'firefox',
'marketplace',
View
1  urls.py
@@ -11,6 +11,7 @@
urlpatterns = patterns('',
# Main pages
(r'^b2g/', include('b2g.urls')),
+ (r'^webmaker/', include('webmaker.urls')),
(r'^collusion/', include('collusion.urls')),
(r'^apps/', include('marketplace.urls')),
(r'^persona/', include('persona.urls')),
Something went wrong with that request. Please try again.