discourse/app/views/layouts/application.html.erb

123 lines
4.4 KiB
Plaintext
Raw Normal View History

2013-02-06 03:16:51 +08:00
<!DOCTYPE html>
<html lang="<%= html_lang %>" class="<%= html_classes %>">
2013-02-06 03:16:51 +08:00
<head>
<meta charset="utf-8">
<title><%= content_for?(:title) ? yield(:title) : SiteSetting.title %></title>
<meta name="description" content="<%= @description_meta || SiteSetting.site_description %>">
<meta name="discourse_theme_ids" content="<%= theme_ids&.join(",") %>">
<meta name="discourse_current_homepage" content="<%= current_homepage %>">
<%= render partial: "layouts/head" %>
<%= discourse_csrf_tags %>
<%- if SiteSetting.enable_escaped_fragments? %>
2015-01-02 20:06:57 +08:00
<meta name="fragment" content="!">
<%- end %>
<%- if shared_session_key %>
2015-01-02 20:06:57 +08:00
<meta name="shared_session_key" content="<%= shared_session_key %>">
<%- end %>
<%= build_plugin_html 'server:before-script-load' %>
<%= preload_script "locales/#{I18n.locale}" %>
<%- if ExtraLocalesController.client_overrides_exist? %>
<%= preload_script_url ExtraLocalesController.url('overrides') %>
<%- end %>
<%= preload_script "ember_jquery" %>
<%= preload_script "preload-store" %>
<%= preload_script "vendor" %>
<%= preload_script "pretty-text-bundle" %>
<%= preload_script "application" %>
<%- Discourse.find_plugin_js_assets(include_official: allow_plugins?, include_unofficial: allow_third_party_plugins?).each do |file| %>
<%= preload_script file %>
<%- end %>
<%- if staff? %>
<%= preload_script_url ExtraLocalesController.url('admin') %>
<%= preload_script "admin" %>
<%- end %>
<%- unless customization_disabled? %>
<%= theme_translations_lookup %>
<%= theme_js_lookup %>
<%= theme_lookup("head_tag") %>
<%- end %>
<%= render_google_tag_manager_head_code %>
2014-01-26 08:42:25 +08:00
<%= render_google_universal_analytics_code %>
<link rel="manifest" href="<%= Discourse.base_uri %>/manifest.webmanifest" crossorigin="use-credentials">
2014-01-26 08:42:25 +08:00
<%- if include_ios_native_app_banner? %>
<meta name="apple-itunes-app" content="app-id=<%= SiteSetting.ios_app_id %><%= ios_app_argument %>">
<%- end %>
2017-04-21 00:34:40 +08:00
<%= render partial: "common/discourse_stylesheet" %>
<%= yield :head %>
<%= build_plugin_html 'server:before-head-close' %>
<%= tag.meta id: 'data-discourse-setup', data: client_side_setup_data %>
<%- if !current_user && cookies[:authentication_data] %>
<meta id="data-authentication" data-authentication-data="<%= cookies.delete(:authentication_data) %>">
<%- end %>
2013-02-06 03:16:51 +08:00
</head>
<body class="<%= body_classes %>">
<%= render_google_tag_manager_body_code %>
<noscript data-path="<%= request.env['PATH_INFO'] %>">
<%= render partial: 'header' %>
2015-07-28 16:02:39 +08:00
<div id="main-outlet" class="wrap">
<!-- preload-content: -->
<%= yield %>
<!-- :preload-content -->
<footer>
<nav itemscope itemtype='http://schema.org/SiteNavigationElement'>
<a href='<%= path "/" %>'><%= t 'home_title' %></a>
<%= link_to t('js.filters.categories.title'), path("/categories") %>
<%= link_to t('guidelines_topic.title'), path("/guidelines") %>
<%= link_to t('tos_topic.title'), path("/tos") %>
2016-01-22 04:55:07 +08:00
<%= link_to t('privacy_topic.title'), path("/privacy") %>
</nav>
</footer>
</div>
2014-06-24 15:12:01 +08:00
<footer id='noscript-footer'>
Upgrade to FontAwesome 5 (take two) (#6673) * Add missing icons to set * Revert FA5 revert This reverts commit 42572ff * use new SVG syntax in locales * Noscript page changes (remove login button, center "powered by" footer text) * Cast wider net for SVG icons in settings - include any _icon setting for SVG registry (offers better support for plugin settings) - let themes store multiple pipe-delimited icons in a setting - also replaces broken onebox image icon with SVG reference in cooked post processor * interpolate icons in locales * Fix composer whisper icon alignment * Add support for stacked icons * SECURITY: enforce hostname to match discourse hostname This ensures that the hostname rails uses for various helpers always matches the Discourse hostname * load SVG sprite with pre-initializers * FIX: enable caching on SVG sprites * PERF: use JSONP for SVG sprites so they are served from CDN This avoids needing to deal with CORS for loading of the SVG Note, added the svg- prefix to the filename so we can quickly tell in dev tools what the file is * Add missing SVG sprite JSONP script to CSP * Upgrade to FA 5.5.0 * Add support for all FA4.7 icons - adds complete frontend and backend for renamed FA4.7 icons - improves performance of SvgSprite.bundle and SvgSprite.all_icons * Fix group avatar flair preview - adds an endpoint at /svg-sprites/search/:keyword - adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset * Remove FA 4.7 font files
2018-11-27 05:49:57 +08:00
<p style="text-align:center;"><%= t 'powered_by_html' %></p>
</footer>
</noscript>
<%- unless customization_disabled? %>
<%= theme_lookup("header") %>
<%= build_plugin_html 'server:header' %>
<%- end %>
<section id='main'>
</section>
2014-12-04 21:48:25 +08:00
<div id='offscreen-content'>
</div>
<% unless current_user %>
<form id='hidden-login-form' method="post" action="<%=main_app.login_path%>" style="display: none;">
<input name="username" type="text" id="signin_username">
<input name="password" type="password" id="signin_password">
<input name="redirect" type="hidden">
<input type="submit" id="signin-button" value="<%= t 'log_in' %>">
</form>
<% end %>
2018-10-01 15:24:27 +08:00
<div class="hidden" id="data-preloaded" data-preloaded="<%= preloaded_json %>"></div>
<%= preload_script "preload-application-data" %>
<%= yield :data %>
2013-02-26 00:42:20 +08:00
<%= preload_script 'browser-update' %>
<%- unless customization_disabled? %>
<%= theme_lookup("body_tag") %>
<%- end %>
<%= build_plugin_html 'server:before-body-close' %>
2013-02-06 03:16:51 +08:00
</body>
</html>