<p>This improves caching opportunities, makes it easier to<br>
debug the JavaScript in the browser, and paves the way<br>
for getting it under test coverage using a JS testing<br>
harness.</p>
<p>I used several techniques to eliminate the need to interpolate<br>
into the script via erb:</p>
<ul>
<li>Converted localization to the pre-existing client-side i18n
mechanism.</li>
<li>Introduced a globals.js file that reflects some server-side
global constants to the client.</li>
<li>Special case <a href="https://github.com/openstreetmap/openstreetmap-website/issues/1" class="issue-link" title="Airport icon">#1</a>: ported the html_escape_unicode helper to JS
for generating the HTML embedding code (manually tested).</li>
<li>Special case <a href="https://github.com/openstreetmap/openstreetmap-website/issues/2" class="issue-link" title="Updated browse icons">#2</a>: ported server-side browser sniffing to JS
for limiting the number of features browsed (not tested -- I
don't have access to a Windows machine).</li>
</ul>
<hr>
<h4>You can merge this Pull Request by running:</h4>
<pre> git pull https://github.com/jfirebaugh/openstreetmap-website static_js</pre>
<p>Or view, comment on, or merge it at:</p>
<p> <a href='https://github.com/openstreetmap/openstreetmap-website/pull/73'>https://github.com/openstreetmap/openstreetmap-website/pull/73</a></p>
<h4>Commit Summary</h4>
<ul>
<li>Reduce interpolation in export/start.js.erb</li>
<li>Extract export.js static asset</li>
<li>Reduce interpolation in browse/start.js.erb</li>
<li>Extract browse.js static asset</li>
<li>Remove unused gem and add a comment where it was replaced</li>
<li>Remove unused helper</li>
<li>Use a standard application.js bundle</li>
</ul>
<h4>File Changes</h4>
<ul>
<li><strong>M</strong> Gemfile (3)</li>
<li><strong>M</strong> Gemfile.lock (2)</li>
<li><strong>R</strong> app/assets/javascripts/application.js (6)</li>
<li><strong>R</strong> app/assets/javascripts/browse.js (98)</li>
<li><strong>R</strong> app/assets/javascripts/export.js (34)</li>
<li><strong>A</strong> app/assets/javascripts/globals.js.erb (5)</li>
<li><strong>M</strong> app/controllers/browse_controller.rb (6)</li>
<li><strong>M</strong> app/controllers/export_controller.rb (1)</li>
<li><strong>M</strong> app/helpers/application_helper.rb (10)</li>
<li><strong>M</strong> app/views/browse/_map.html.erb (3)</li>
<li><strong>M</strong> app/views/changeset/_map.html.erb (3)</li>
<li><strong>M</strong> app/views/diary_entry/edit.html.erb (3)</li>
<li><strong>M</strong> app/views/layouts/_head.html.erb (3)</li>
<li><strong>M</strong> app/views/layouts/site.html.erb (2)</li>
<li><strong>M</strong> app/views/site/index.html.erb (18)</li>
<li><strong>M</strong> app/views/user/_map.html.erb (3)</li>
<li><strong>M</strong> config/environments/production.rb (3)</li>
<li><strong>M</strong> config/locales/af.yml (2)</li>
<li><strong>M</strong> config/locales/aln.yml (2)</li>
<li><strong>M</strong> config/locales/ar.yml (2)</li>
<li><strong>M</strong> config/locales/arz.yml (2)</li>
<li><strong>M</strong> config/locales/ast.yml (2)</li>
<li><strong>M</strong> config/locales/be-Tarask.yml (2)</li>
<li><strong>M</strong> config/locales/be.yml (2)</li>
<li><strong>M</strong> config/locales/br.yml (2)</li>
<li><strong>M</strong> config/locales/ca.yml (2)</li>
<li><strong>M</strong> config/locales/cs.yml (2)</li>
<li><strong>M</strong> config/locales/da.yml (2)</li>
<li><strong>M</strong> config/locales/de.yml (2)</li>
<li><strong>M</strong> config/locales/dsb.yml (2)</li>
<li><strong>M</strong> config/locales/el.yml (2)</li>
<li><strong>M</strong> config/locales/en.yml (2)</li>
<li><strong>M</strong> config/locales/eo.yml (2)</li>
<li><strong>M</strong> config/locales/es.yml (2)</li>
<li><strong>M</strong> config/locales/et.yml (2)</li>
<li><strong>M</strong> config/locales/fa.yml (2)</li>
<li><strong>M</strong> config/locales/fi.yml (2)</li>
<li><strong>M</strong> config/locales/fr.yml (2)</li>
<li><strong>M</strong> config/locales/gcf.yml (2)</li>
<li><strong>M</strong> config/locales/gl.yml (2)</li>
<li><strong>M</strong> config/locales/gsw.yml (2)</li>
<li><strong>M</strong> config/locales/he.yml (2)</li>
<li><strong>M</strong> config/locales/hr.yml (2)</li>
<li><strong>M</strong> config/locales/hsb.yml (2)</li>
<li><strong>M</strong> config/locales/hu.yml (2)</li>
<li><strong>M</strong> config/locales/ia.yml (2)</li>
<li><strong>M</strong> config/locales/is.yml (2)</li>
<li><strong>M</strong> config/locales/it.yml (2)</li>
<li><strong>M</strong> config/locales/ja.yml (2)</li>
<li><strong>M</strong> config/locales/ko.yml (2)</li>
<li><strong>M</strong> config/locales/lt.yml (2)</li>
<li><strong>M</strong> config/locales/lv.yml (2)</li>
<li><strong>M</strong> config/locales/mk.yml (2)</li>
<li><strong>M</strong> config/locales/ms.yml (2)</li>
<li><strong>M</strong> config/locales/nb.yml (2)</li>
<li><strong>M</strong> config/locales/nl.yml (2)</li>
<li><strong>M</strong> config/locales/nn.yml (2)</li>
<li><strong>M</strong> config/locales/pl.yml (2)</li>
<li><strong>M</strong> config/locales/pt-BR.yml (2)</li>
<li><strong>M</strong> config/locales/pt.yml (2)</li>
<li><strong>M</strong> config/locales/ro.yml (2)</li>
<li><strong>M</strong> config/locales/ru.yml (2)</li>
<li><strong>M</strong> config/locales/sk.yml (2)</li>
<li><strong>M</strong> config/locales/sl.yml (2)</li>
<li><strong>M</strong> config/locales/sq.yml (2)</li>
<li><strong>M</strong> config/locales/sr-Latn.yml (2)</li>
<li><strong>M</strong> config/locales/sr.yml (2)</li>
<li><strong>M</strong> config/locales/sv.yml (2)</li>
<li><strong>M</strong> config/locales/tl.yml (2)</li>
<li><strong>M</strong> config/locales/tr.yml (2)</li>
<li><strong>M</strong> config/locales/uk.yml (2)</li>
<li><strong>M</strong> config/locales/vi.yml (2)</li>
<li><strong>M</strong> config/locales/zh-CN.yml (2)</li>
<li><strong>M</strong> config/locales/zh-TW.yml (2)</li>
<li><strong>M</strong> test/functional/export_controller_test.rb (2)</li>
</ul>
<h4>Patch Links</h4>
<ul>
<li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/73.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/73.patch</a></li>
<li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/73.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/73.diff</a></li>
</ul>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">
—<br>
Reply to this email directly or <a href='https://github.com/openstreetmap/openstreetmap-website/pull/73'>view it on GitHub</a>.
</p>
<img src='https://github.com/notifications/beacon/uTRSc6ihLa7Shf84BpiOpmLWAu4oQih75mggZl1E8_l7WDE3yI6Yg9wBeHV5txIE.gif' height='1' width='1'>