<% if @topic_view %>
  <div id="topic-title">
    <h1>
      <%= render_topic_title(@topic_view.topic) %>
    </h1>

    <% if @breadcrumbs.present? %>
      <div class="topic-category" itemscope itemtype="http://schema.org/BreadcrumbList">
        <% @breadcrumbs.each_with_index do |c, i| %>
          <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a href="<%= Discourse.base_url %><%= c[:url] %>" class="badge-wrapper bullet" itemprop="item">
              <span class='badge-category-bg' style='background-color: #<%= c[:color] %>'></span>
              <span class='badge-category clear-badge'>
                <span class='category-name' itemprop='name'><%= c[:name] %></span>
              </span>
            </a>
            <meta itemprop="position" content="<%= i + 1 %>" />
          </span>
        <% end %>
      </div>
    <% end %>

    <% if @tags.present? %>
      <div class="topic-category">
        <div class='discourse-tags list-tags'>
          <% @tags.each_with_index do |tag, i| %>
            <a href='<%= "#{Discourse.base_url}/tag/#{tag.name}" %>' class='discourse-tag' rel="tag"><%= tag.name -%></a><% if i < @tags.size - 1 %>, <% end %>
          <% end %>
        </div>
      </div>
    <% end %>
  </div>

  <%= server_plugin_outlet "topic_header" %>

  <%- if include_crawler_content? %>

  <% @topic_view.posts.each_with_index do |post, idx| %>
    <% if (u = post.user) %>
      <div itemscope itemtype='http://schema.org/DiscussionForumPosting' class='topic-body crawler-post'>
        <div class='crawler-post-meta'>
          <div itemprop='publisher' itemscope itemtype="http://schema.org/Organization">
            <meta itemprop='name' content='<%= SiteSetting.company_name.presence || SiteSetting.title %>'>
            <% if application_logo_url.present? %>
              <div itemprop='logo' itemscope itemtype="http://schema.org/ImageObject">
                <meta itemprop='url' content='<%= application_logo_url %>'>
              </div>
            <% end %>
          </div>
          <span class="creator" itemprop="author" itemscope itemtype="http://schema.org/Person">
            <a itemprop="url" href='<%= Discourse.base_url %>/u/<%= u.username %>'><span itemprop='name'><%= u.username %></span></a>
            <%= "(#{u.name})" if (SiteSetting.display_name_on_posts && SiteSetting.enable_names? && !u.name.blank?) %>
            <%
              post_custom_fields = @topic_view.post_custom_fields[post.id] || {}
              who_username = post_custom_fields["action_code_who"] || ""
              if post.action_code
            %>
              <%= t("js.action_codes.#{post.action_code}", when: "", who: who_username).html_safe %>
            <% end %>
          </span>

          <link itemprop="mainEntityOfPage" href="<%= post.topic.url %>">

          <% if post.image_url %>
            <link itemprop="image" href="<%= Discourse.base_url %><%= post.image_url %>">
          <% end %>

          <span class="crawler-post-infos">
            <% if post.updated_at > post.created_at %>
              <meta itemprop='datePublished' content='<%= post.created_at.to_formatted_s(:iso8601) %>'>
              <time itemprop='dateModified' datetime='<%= post.updated_at.to_formatted_s(:iso8601) %>' class='post-time'>
                <%= l post.updated_at, format: :long %>
              </time>
            <% else %>
              <time itemprop='datePublished' datetime='<%= post.created_at.to_formatted_s(:iso8601) %>' class='post-time'>
                <%= l post.created_at, format: :long %>
              </time>
              <meta itemprop='dateModified' content='<%= post.updated_at.to_formatted_s(:iso8601) %>'>
            <% end %>
          <span itemprop='position'>#<%= post.post_number %></span>
          </span>
        </div>
        <div class='post' itemprop='articleBody'>
          <%= post.hidden ? t('flagging.user_must_edit').html_safe : post.cooked.html_safe %>
        </div>

        <meta itemprop='headline' content='<%= @topic_view.title %>'>
        <% if idx == 0 %>
          <meta itemprop='keywords' content='<%= @tags.map(&:name).join(', ') %>'>
        <% end %>

        <div itemprop="interactionStatistic" itemscope itemtype="http://schema.org/InteractionCounter">
           <meta itemprop="interactionType" content="http://schema.org/LikeAction"/>
           <meta itemprop="userInteractionCount" content="<%= post.like_count %>" />
           <span class='post-likes'><%= post.like_count > 0 ? t('post.has_likes', count: post.like_count) : '' %></span>
         </div>

         <div itemprop="interactionStatistic" itemscope itemtype="http://schema.org/InteractionCounter">
            <meta itemprop="interactionType" content="http://schema.org/CommentAction"/>
            <meta itemprop="userInteractionCount" content="<%= post.reply_count %>" />
          </div>

          <% if @topic_view.link_counts[post.id] && @topic_view.link_counts[post.id].filter { |l| l[:reflection] }.length > 0 %>
            <div class='crawler-linkback-list' itemscope itemtype='http://schema.org/ItemList'>
              <% @topic_view.link_counts[post.id].each_with_index do |link, i| %>
                <% if link[:reflection] && link[:title].present? %>
                  <div itemprop='itemListElement' itemscope itemtype='http://schema.org/ListItem'>
                    <a href="<%=link[:url]%>" itemprop='item'>
                      <meta itemprop='url' content='<%=link[:url]%>'>
                      <meta itemprop='position' content='<%= i+1 %>'>
                      <span itemprop='name'><%=link[:title]%></span>
                    </a>
                  </div>
                <% end %>
              <% end %>
            </div>
         <% end %>
      </div>
    <% end %>
  <% end %>

  <% if @topic_view.prev_page || @topic_view.next_page %>
    <div role='navigation' itemscope itemtype='http://schema.org/SiteNavigationElement' class="topic-body crawler-post">
      <% if @topic_view.prev_page %>
        <span itemprop='name'><%= link_to t(:prev_page), @topic_view.prev_page_path, rel: 'prev', itemprop: 'url' %></span>
      <% end %>
      <% if @topic_view.next_page %>
        <span itemprop='name'><b><%= link_to t(:next_page), @topic_view.next_page_path, rel: 'next', itemprop: 'url' %></b></span>
      <% end %>
    </div>
  <% end %>

  <% end %>

  <% content_for :head do %>
    <%= auto_discovery_link_tag(@topic_view, {action: :feed, slug: @topic_view.topic.slug, topic_id: @topic_view.topic.id}, title: t('rss_posts_in_topic', topic: @topic_view.title), type: 'application/rss+xml') %>
    <%= raw crawlable_meta_data(title: @topic_view.title, description: @topic_view.summary(strip_images: true), image: @topic_view.image_url, read_time: @topic_view.read_time, like_count: @topic_view.like_count, ignore_canonical: true, published_time: @topic_view.published_time) %>

    <% if @topic_view.prev_page || @topic_view.next_page %>
      <% if @topic_view.prev_page %>
        <link rel="prev" href="<%= @topic_view.prev_page_path -%>">
      <% end %>
      <% if @topic_view.next_page %>
        <link rel="next" href="<%= @topic_view.next_page_path -%>">
      <% end %>
    <% end %>
  <% end %>

  <% content_for(:title) { @title || "#{gsub_emoji_to_unicode(@topic_view.page_title)} - #{SiteSetting.title}" } %>

  <% if @topic_view.print %>
    <% content_for :after_body do %>
        <%= preload_script('print-page') %>
    <% end %>
  <% end %>
<% end %>
