move arbitrary html content out of noscript and into the preloadstore

This commit is contained in:
Régis Hanol 2013-12-17 18:25:27 +01:00
parent 1b6050bdb0
commit 4c6b535cc0
3 changed files with 11 additions and 12 deletions

View file

@ -2,13 +2,10 @@ Discourse.HtmlView = Ember.View.extend({
render: function(buffer) {
var key = this.get("key"),
noscript = $("noscript").text();
htmlContent = PreloadStore.get("htmlContent");
if (noscript.length) {
var regexp = new RegExp("<!-- " + key + ": -->((?:.|[\\n\\r])*)<!-- :" + key + " -->"),
content = noscript.match(regexp)[1];
buffer.push(content);
if (htmlContent && htmlContent[key] && htmlContent[key].length) {
buffer.push(htmlContent[key]);
}
}

View file

@ -191,6 +191,7 @@ class ApplicationController < ActionController::Base
def preload_anonymous_data
store_preloaded("site", Site.cached_json(guardian))
store_preloaded("siteSettings", SiteSetting.client_settings_json)
store_preloaded("htmlContent", html_content_json)
end
def preload_current_user_data
@ -199,6 +200,13 @@ class ApplicationController < ActionController::Base
store_preloaded("topicTrackingStates", MultiJson.dump(serializer))
end
def html_content_json
MultiJson.dump({
top: SiteContent.content_for(:top),
bottom: SiteContent.content_for(:bottom),
})
end
def render_json_error(obj)
if obj.present?
render json: MultiJson.dump(errors: obj.errors.full_messages), status: 422

View file

@ -87,17 +87,11 @@
</div>
</div>
</header>
<!-- top: -->
<%= raw SiteContent.content_for(:top) %>
<!-- :top -->
<div id="main-outlet" class="container">
<!-- preload-content: -->
<%= yield %>
<!-- :preload-content -->
</div>
<!-- bottom: -->
<%= raw SiteContent.content_for(:bottom) %>
<!-- :bottom -->
</noscript>
<!-- Discourse Version: <%= Discourse::VERSION::STRING %> -->
<!-- Git Version: <%= Discourse.git_version %> -->