mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 01:33:45 +08:00
2a4df93b8e
A plugin API that allows customizing existing topic-backed static pages, like: faq, tos, privacy (see: StaticController) The block passed to this method has to return a SiteSetting name that contains a topic id. ``` add_topic_static_page("faq") do |controller| current_user&.locale == "pl" ? "polish_faq_topic_id" : "faq_topic_id" end ``` You can also add new pages in a plugin, but remember to add a route, for example: ``` get "contact" => "static#show", id: "contact" ```
41 lines
1.8 KiB
Plaintext
41 lines
1.8 KiB
Plaintext
<div itemscope itemtype='http://schema.org/WebPage'>
|
|
<meta itemprop='lastReviewed' content='<%= @topic.first_post.updated_at.to_date.to_formatted_s(:iso_8601) %>'>
|
|
<ul class='nav-pills' role='navigation' itemscope itemtype='http://schema.org/SiteNavigationElement'>
|
|
<% unless SiteSetting.login_required? && current_user.nil? %>
|
|
<li class="nav-item-about"><%= link_to t('js.about.simple_title'), about_index_path %></a></li>
|
|
<% if @faq_overridden %>
|
|
<li class='nav-item-guidelines'><a class='<%= @page == 'faq' ? 'active' : '' %>' href='<%= guidelines_path %>'><%= t 'js.guidelines' %></a></li>
|
|
<li class='nav-item-faq'><a href='<%= faq_path %>'><%= t 'js.faq' %></a></li>
|
|
<% else %>
|
|
<li class='nav-item-faq'><a class='<%= @page == 'faq' ? 'active' : '' %>' href='<%=faq_path%>'><%= t 'js.faq' %></a></li>
|
|
<% end %>
|
|
<% end %>
|
|
<li class='nav-item-tos'><a href='<%= tos_path %>' class='<%= @page == 'tos' ? 'active' : '' %>'><%= t 'js.tos' %></a></li>
|
|
<li class='nav-item-privacy'><a href='<%= privacy_path %>' class='<%= @page == 'privacy' ? 'active' : '' %>'><%= t 'js.privacy' %></a></li>
|
|
</ul>
|
|
|
|
<% if staff? %>
|
|
<p><a href='<%= @topic.url %>'>
|
|
<svg class="fa d-icon d-icon-pencil-alt svg-icon" xmlns="http://www.w3.org/2000/svg">
|
|
<use href="#pencil-alt"></use>
|
|
</svg>
|
|
<%= t 'edit_this_page' %>
|
|
</a></p>
|
|
<% end %>
|
|
|
|
<div itemprop='mainContentOfPage'>
|
|
<%= @body.html_safe %>
|
|
</div>
|
|
</div>
|
|
|
|
<% if @title %>
|
|
<% content_for :title do %><%= @title %><% end %>
|
|
<% content_for :head do %>
|
|
<%= raw crawlable_meta_data(title: @title, description: SiteSetting.site_description) %>
|
|
<% end %>
|
|
<% else %>
|
|
<% content_for :head do %>
|
|
<%= raw crawlable_meta_data(title: SiteSetting.title, description: SiteSetting.site_description) %>
|
|
<% end %>
|
|
<% end %>
|