Implement the jquery_include_tag helper, which is used in several
views but was not implemented in the code. This helper attempts to
load jQuery from the Google CDN (matching the version of the vendored
jquery.js in jquery-rails), falling back to the vendored copy if the
google CDN fails. The helper also loads jquery_ujs.js from jquery-rails.
A jquery_cdn setting is added to application.yml to enable or disable
serving jQuery from the Google CDN (for those podmins who would rather
not use Google's services).
Update app/views/application.html.haml to use the jquery_include_tag
helper since it was the only view that was including the vendored
copy of jquery directly with jquery_include_tag.
* Move all Diaspora-specific javascripts to app/assets/javascripts
* Move all vendored javascripts to vendor/assets/javascripts
* Add the appropriate Sprockets require directives to make sure
everything gets included in the right order
* Remove Jammit dependencies
* Fix all templates that were using Jammit's include_javascripts helper
* Add handlebars_assets gem for compiling Handlebars templates
* Move all Handlebars templates to app/assets/templates and rename
from .handlebars to .jst.hbs (this is to keep them in the same
global JST namespace that they were in under Jammit)
* Add public/assets to .gitignore since these files can and should
be re-generated by Heroku or Capistrano during each deploy
* Fix a few Handlebars templates that were looking for images in the
wrong location (I'm sure there are others, but it's late)
* Configure application.rb to precompile all javascript and css assets
that were compiled by Jammit in the Rails 3.0 code
Remove partial support for CORS on webfinger routes and replace
it with the Rack::Cors middleware. This provides more complete
CORS support and works around a caching issue with nginx on
Heroku and potentially other reverse proxies.
CORS headers are only added if the incoming request includes
an "Origin" header, which seems to be correct according to
the CORS spec.
closes#2216