Factor out FontAwesome icons into a set of helpers. This is so that it's easier to keep track of which icons we're using and easier to change icons globally.
113 lines
4.0 KiB
Plaintext
113 lines
4.0 KiB
Plaintext
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title><%= page_title %></title>
|
|
|
|
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
|
<%= render "meta_links", collection: @current_item %>
|
|
<%= tag.link rel: "canonical", href: canonical_url %>
|
|
<%= tag.link rel: "search", type: "application/opensearchdescription+xml", href: opensearch_url(format: :xml, version: 2), title: "Search posts" %>
|
|
|
|
<%= csrf_meta_tag %>
|
|
<% unless CurrentUser.enable_desktop_mode? %>
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<% end %>
|
|
<% if CurrentUser.user.blacklisted_tags.present? %>
|
|
<meta name="blacklisted-tags" content="<%= CurrentUser.user.blacklisted_tags.gsub(/(?:\r|\n)+/, ",") %>">
|
|
<% end %>
|
|
<%= javascript_pack_tag "application" %>
|
|
<%= stylesheet_pack_tag "application" %>
|
|
<% if CurrentUser.user.custom_style.present? && params.fetch(:css, "true").truthy? %>
|
|
<%= stylesheet_link_tag custom_style_users_path(md5: Digest::MD5.hexdigest(CurrentUser.user.custom_style)), media: "screen" %>
|
|
<% end %>
|
|
|
|
<% if current_page?(root_url) %>
|
|
<%= json_ld_website_data %>
|
|
<% end %>
|
|
|
|
<%= tag.meta name: "description", content: meta_description %>
|
|
<%= tag.meta property: "og:type", content: "website" %>
|
|
<%= tag.meta property: "og:site_name", content: Danbooru.config.app_name %>
|
|
<%= tag.meta property: "og:title", content: page_title %>
|
|
<%= tag.meta property: "og:description", content: meta_description %>
|
|
<%= tag.meta property: "og:url", content: request.original_url %>
|
|
|
|
<% if Danbooru.config.twitter_username.present? %>
|
|
<%= tag.meta name: "twitter:site", content: "@#{Danbooru.config.twitter_username}" %>
|
|
<% end %>
|
|
|
|
<%= tag.meta name: "twitter:title", content: page_title %>
|
|
<%= tag.meta name: "twitter:description", content: meta_description %>
|
|
|
|
<%= tag.meta name: "git-hash", content: Rails.application.config.x.git_hash %>
|
|
<%= tag.meta name: "theme-color", content: "hsl(213, 100%, 50%)" %>
|
|
|
|
<%= yield :html_header %>
|
|
<%= raw Danbooru.config.custom_html_header_content %>
|
|
</head>
|
|
<%= tag.body **body_attributes(CurrentUser.user, params, @current_item) do %>
|
|
<%= render "news_updates/listing" %>
|
|
|
|
<header id="top">
|
|
<%= link_to Danbooru.config.app_name, root_path, id: "app-name-header", class: "heading" %>
|
|
|
|
<div id="maintoggle" class="mobile-only">
|
|
<a href="#"><%= menu_icon(id: "maintoggle-on") %></a>
|
|
<a href="#"><%= close_icon(id: "maintoggle-off", style: "display: none;") %></a>
|
|
</div>
|
|
|
|
<nav id="nav">
|
|
<%= render "layouts/main_links" %>
|
|
<% if content_for(:secondary_links).present? %>
|
|
<menu id="subnav-menu">
|
|
<%= yield :secondary_links %>
|
|
</menu>
|
|
<% end %>
|
|
</nav>
|
|
</header>
|
|
|
|
<div id="page">
|
|
<%= render "users/verification_notice" %>
|
|
|
|
<% if !CurrentUser.is_anonymous? && !CurrentUser.is_gold? && cookies[:hide_upgrade_account_notice].blank? && params[:action] != "upgrade_information" %>
|
|
<%= render "users/upgrade_notice" %>
|
|
<% end %>
|
|
|
|
<% if CurrentUser.user.is_banned? %>
|
|
<%= render "users/ban_notice" %>
|
|
<% end %>
|
|
|
|
<% if params[:controller] != "dmails" && has_unread_dmails?(CurrentUser.user) %>
|
|
<%= render "users/dmail_notice" %>
|
|
<% end %>
|
|
|
|
<div class="notice notice-info" id="notice" style="<%= "display: none;" unless flash[:notice] %>">
|
|
<span class="prose"><%= format_text(flash[:notice], inline: true) %>.</span>
|
|
<a href="#" id="close-notice-link">close</a>
|
|
</div>
|
|
|
|
<%= yield :layout %>
|
|
</div>
|
|
|
|
<div id="tooltips">
|
|
<div id="post-tooltips"></div>
|
|
<div id="user-tooltips"></div>
|
|
<div id="popup-menus"></div>
|
|
</div>
|
|
|
|
<script type="application/javascript">
|
|
if (typeof window.Danbooru !== "object") {
|
|
window.Danbooru = {};
|
|
}
|
|
|
|
window.Danbooru.notice = Danbooru.Utility.notice;
|
|
window.Danbooru.error = Danbooru.Utility.error;
|
|
window.$ = Danbooru.jQuery;
|
|
window.jQuery = Danbooru.jQuery;
|
|
</script>
|
|
|
|
<%= render "static/footer" %>
|
|
<% end %>
|
|
</html>
|