2016-03-17 02:35:58 +08:00
|
|
|
<%- if include_crawler_content? %>
|
2015-11-09 11:55:17 +08:00
|
|
|
|
2016-04-13 23:49:37 +08:00
|
|
|
<%= server_plugin_outlet "topic_list_header" %>
|
|
|
|
|
2016-04-26 03:55:15 +08:00
|
|
|
<%- if SiteSetting.tagging_enabled && @tag_id %>
|
|
|
|
<h1>
|
2020-01-22 01:23:08 +08:00
|
|
|
<%= link_to "#{Discourse.base_url}/tag/#{@tag_id}", itemprop: 'item' do %>
|
2016-04-26 03:55:15 +08:00
|
|
|
<span itemprop='name'><%= @tag_id %></span>
|
|
|
|
<% end %>
|
|
|
|
</h1>
|
|
|
|
<% end %>
|
|
|
|
|
2015-05-01 00:46:19 +08:00
|
|
|
<% if @category %>
|
|
|
|
<h1>
|
2015-06-01 13:25:57 +08:00
|
|
|
<% if @category.parent_category %>
|
2017-03-03 04:06:47 +08:00
|
|
|
<%= link_to @category.parent_category.url, itemprop: 'item' do %>
|
|
|
|
<span itemprop='name'><%= @category.parent_category.name %></span>
|
|
|
|
<% end %>
|
|
|
|
|
2015-06-01 13:25:57 +08:00
|
|
|
<% end %>
|
2017-03-03 04:06:47 +08:00
|
|
|
|
2015-05-01 00:46:19 +08:00
|
|
|
<%= link_to @category.url, itemprop: 'item' do %>
|
|
|
|
<span itemprop='name'><%= @category.name %></span>
|
|
|
|
<% end %>
|
|
|
|
</h1>
|
|
|
|
<br/>
|
2017-03-03 04:06:47 +08:00
|
|
|
|
|
|
|
<% if params[:page].to_i == 0 && @subcategories.present? %>
|
2018-06-14 05:20:48 +08:00
|
|
|
<% @subcategories.each do |subcategory| %>
|
2018-06-29 19:41:04 +08:00
|
|
|
<a href='<%= subcategory.url %>'>
|
2018-06-14 05:20:48 +08:00
|
|
|
<span itemprop='name'><%= subcategory.name %></span>
|
|
|
|
</a>
|
|
|
|
<% if subcategory.description.present? %>
|
2019-04-24 14:33:58 +08:00
|
|
|
<span itemprop='description'><%= subcategory.description_text %></span>
|
2017-03-03 04:06:47 +08:00
|
|
|
<% end %>
|
2018-06-14 05:20:48 +08:00
|
|
|
<% end %>
|
2017-03-03 04:06:47 +08:00
|
|
|
<br/>
|
|
|
|
<% end %>
|
2015-05-01 00:46:19 +08:00
|
|
|
<% end %>
|
|
|
|
|
2023-02-16 01:02:16 +08:00
|
|
|
<div class="topic-list-container" itemscope itemtype='http://schema.org/ItemList'>
|
2020-05-05 21:56:04 +08:00
|
|
|
<meta itemprop='itemListOrder' content='http://schema.org/ItemListOrderDescending'>
|
|
|
|
|
2019-03-28 04:32:56 +08:00
|
|
|
<table class='topic-list'>
|
|
|
|
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th><%= t 'js.topic.title' %></th>
|
2020-04-30 02:40:21 +08:00
|
|
|
<th></th>
|
2020-05-23 12:56:13 +08:00
|
|
|
<th class="replies"><%= t 'js.replies' %></th>
|
|
|
|
<th class="views"><%= t 'js.views' %></th>
|
2019-04-22 19:58:50 +08:00
|
|
|
<th><%= t 'js.activity' %></th>
|
2019-03-28 04:32:56 +08:00
|
|
|
</tr>
|
|
|
|
</thead>
|
2018-08-08 09:15:49 +08:00
|
|
|
|
2019-03-28 04:32:56 +08:00
|
|
|
<tbody>
|
|
|
|
<% @list.topics.each_with_index do |t,i| %>
|
2020-04-30 02:40:21 +08:00
|
|
|
<tr class="topic-list-item">
|
|
|
|
<td class="main-link" itemprop='itemListElement' itemscope itemtype='http://schema.org/ListItem'>
|
|
|
|
<meta itemprop='position' content='<%= i + 1 %>'>
|
|
|
|
<span class="link-top-line">
|
2022-12-06 00:00:32 +08:00
|
|
|
<a itemprop='url' href='<%= t.url %>' class='title raw-link raw-topic-link'><%= t.title %></a>
|
2020-04-30 02:40:21 +08:00
|
|
|
</span>
|
|
|
|
<div class="link-bottom-line">
|
2020-05-12 01:37:50 +08:00
|
|
|
<% if (!@category || @category.has_children?) && t.category && !t.category.uncategorized? %>
|
2020-04-30 02:40:21 +08:00
|
|
|
<a href='<%= t.category.url %>' class='badge-wrapper bullet'>
|
|
|
|
<span class='badge-category-bg' style='background-color: #<%= t.category.color %>'></span>
|
2020-04-30 17:07:51 +08:00
|
|
|
<span class='badge-category clear-badge'>
|
|
|
|
<span class='category-name'><%= t.category.name %></span>
|
|
|
|
</span>
|
2020-04-30 02:40:21 +08:00
|
|
|
</a>
|
|
|
|
<% end %>
|
2023-07-28 19:53:50 +08:00
|
|
|
<% if tags = t.visible_tags(guardian) %>
|
2020-04-30 02:40:21 +08:00
|
|
|
<div class="discourse-tags">
|
2023-07-28 19:53:50 +08:00
|
|
|
<% tags.each_with_index do |tag, index| %>
|
2020-04-30 02:40:21 +08:00
|
|
|
<a href='<%= tag.full_url %>' class='discourse-tag'><%= tag.name %></a>
|
2023-07-28 19:53:50 +08:00
|
|
|
<% if index < tags.size - 1 %>, <% end %>
|
2020-04-30 02:40:21 +08:00
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
2019-04-05 15:32:11 +08:00
|
|
|
<% if t.pinned_until && (t.pinned_until > Time.zone.now) && (t.pinned_globally || @list.category) && t.excerpt %>
|
|
|
|
<p class='excerpt'>
|
|
|
|
<%= t.excerpt.html_safe %>
|
|
|
|
</p>
|
|
|
|
<% end %>
|
|
|
|
</td>
|
2020-04-30 02:40:21 +08:00
|
|
|
<td class='posters'>
|
|
|
|
<% t.posters.each do |poster| %>
|
2021-02-02 17:50:04 +08:00
|
|
|
<a href="<%= Discourse.base_url %>/u/<%= poster.user.username %>" class="<%= poster.extras %>">
|
2023-08-04 13:38:41 +08:00
|
|
|
<%- poster_name_and_description = h(poster.name_and_description) %>
|
|
|
|
<img width="25" height="25" src="<%= poster.user.avatar_template.gsub('{size}', '25') %>" class="avatar" title='<%= poster_name_and_description %>' aria-label='<%= poster_name_and_description %>'>
|
2021-02-02 17:50:04 +08:00
|
|
|
</a>
|
2020-04-30 02:40:21 +08:00
|
|
|
<% end %>
|
|
|
|
</td>
|
2020-05-23 12:56:13 +08:00
|
|
|
<td class="replies">
|
2020-10-09 19:25:41 +08:00
|
|
|
<span class='posts' title='<%= t 'posts' %>'><%= t.posts_count - 1 %></span>
|
2020-04-30 02:40:21 +08:00
|
|
|
</td>
|
2020-05-23 12:56:13 +08:00
|
|
|
<td class="views">
|
2020-04-30 17:07:51 +08:00
|
|
|
<span class='views' title='<%= t 'views' %>'><%= t.views %></span>
|
2019-04-05 15:32:11 +08:00
|
|
|
</td>
|
|
|
|
<td>
|
2019-04-23 00:18:57 +08:00
|
|
|
<%= I18n.l(t.last_posted_at || t.created_at, format: :date_only) %>
|
2019-04-05 15:32:11 +08:00
|
|
|
</td>
|
2019-03-28 04:32:56 +08:00
|
|
|
</tr>
|
2018-08-08 09:15:49 +08:00
|
|
|
<% end %>
|
2019-03-28 04:32:56 +08:00
|
|
|
</tbody>
|
|
|
|
|
|
|
|
</table>
|
2013-02-13 14:43:21 +08:00
|
|
|
</div>
|
|
|
|
|
2015-02-13 00:53:21 +08:00
|
|
|
<% if @list.topics.length > 0 && @list.more_topics_url %>
|
2023-02-16 01:02:16 +08:00
|
|
|
<div class="navigation" role='navigation' itemscope itemtype='http://schema.org/SiteNavigationElement'>
|
2015-02-13 19:34:22 +08:00
|
|
|
<% if params[:page].to_i > 0 %>
|
2019-01-23 22:47:39 +08:00
|
|
|
<span itemprop='name'><a href='<%= @list.prev_topics_url %>' rel='prev' itemprop='url'><%= t 'prev_page' %></a> </span>
|
2015-02-13 19:34:22 +08:00
|
|
|
<% end %>
|
2020-04-30 02:40:21 +08:00
|
|
|
<% if @list.topics.size == @list.per_page %>
|
|
|
|
<span itemprop='name'><b><a href='<%= @list.more_topics_url %>' rel='next' itemprop='url'><%= t 'next_page' %></a></b></span>
|
|
|
|
<% end %>
|
2015-02-13 19:34:22 +08:00
|
|
|
</div>
|
2017-02-08 05:11:06 +08:00
|
|
|
|
|
|
|
<% content_for :head do %>
|
|
|
|
<% if params[:page].to_i > 0 %>
|
|
|
|
<link rel="prev" href="<%= @list.prev_topics_url -%>">
|
|
|
|
<% end %>
|
|
|
|
<link rel="next" href="<%= @list.more_topics_url -%>">
|
|
|
|
<% end %>
|
2014-03-01 18:16:40 +08:00
|
|
|
<% end %>
|
2024-03-23 01:24:57 +08:00
|
|
|
<% else %>
|
|
|
|
<%= t(:crawler_content_hidden) %>
|
2017-03-03 04:06:47 +08:00
|
|
|
<%- end %> <!-- include_crawler_content? -->
|
2015-11-09 11:55:17 +08:00
|
|
|
|
2013-10-12 00:35:12 +08:00
|
|
|
<% if @rss %>
|
|
|
|
<% content_for :head do %>
|
2015-06-10 03:22:11 +08:00
|
|
|
<%= auto_discovery_link_tag(:rss, "#{Discourse.base_url}/posts.rss", title: I18n.t("rss_description.posts")) %>
|
2021-07-06 17:55:11 +08:00
|
|
|
<%= auto_discovery_link_tag(:rss, { action: "#{@rss}_feed", params: @params || {} }, title: I18n.t("rss_description.#{@rss_description}")) %>
|
2013-10-12 00:35:12 +08:00
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
|
2013-02-28 11:36:12 +08:00
|
|
|
<% if @category %>
|
|
|
|
<% content_for :head do %>
|
2022-03-09 13:34:02 +08:00
|
|
|
<%= auto_discovery_link_tag(:rss, { action: :category_feed }, rel: 'alternate nofollow', title: t('rss_topics_in_category', category: @category.name)) %>
|
2019-01-10 09:33:13 +08:00
|
|
|
<%= raw crawlable_meta_data(title: @category.name, description: @category.description, image: @category.uploaded_logo&.url.presence) %>
|
2013-02-28 11:36:12 +08:00
|
|
|
<% end %>
|
2017-08-29 01:11:34 +08:00
|
|
|
<% elsif @tag_id %>
|
|
|
|
<% content_for :head do %>
|
|
|
|
<%= raw crawlable_meta_data(title: @title, description: @description_meta) %>
|
|
|
|
<% end %>
|
2016-08-19 19:34:43 +08:00
|
|
|
<% else %>
|
|
|
|
<% content_for :head do %>
|
|
|
|
<%= raw crawlable_meta_data(title: SiteSetting.title, description: SiteSetting.site_description) %>
|
|
|
|
<% end %>
|
2014-10-31 02:26:35 +08:00
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% if @title %>
|
|
|
|
<% content_for :title do %><%= @title %><% end %>
|
|
|
|
<% elsif @category %>
|
2017-06-13 01:50:30 +08:00
|
|
|
<% content_for :title do %><%= @category.name %> - <%= SiteSetting.title %><% end %>
|
2017-10-04 12:04:42 +08:00
|
|
|
<% elsif params[:page].to_i > 1 %>
|
2017-06-13 01:50:30 +08:00
|
|
|
<% content_for :title do %><%=t 'page_num', num: params[:page].to_i + 1 %> - <%= SiteSetting.title %><% end %>
|
2013-02-28 11:36:12 +08:00
|
|
|
<% end %>
|