<div class="container">
  <div class="read-more">
    <h3>{% if isEn %}Read More{% else %}更多相关信息{% endif %}</h3>
    <div class="row">
      {% assign cnt = 0 %}
      {% for post in site.related_posts %}
      {% if cnt > 2 %}
        {% break %}
      {% endif %}
      {% if post.category == page.category %}
      {% assign cnt = cnt | plus: 1 %}
      <div class="col-md-4">
        <div class="read-more-post">
          <h4><a href="{{ site.url }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h4>
          <p>{% if post.description %}{{ post.description }}{% else %}{{ post.content | strip_html | strip_newlines | truncate: 140 }}&hellip;{% endif %}</p>
          <div class="tag-panel">
            {% for tag in page.tags %}
            <!--<a href="{{ site.url }}/tags/#{{ tag }}" title="Pages tagged {{ tag }}" class="tag">-->
              <span class="term">{{ tag }}</span>
            <!--</a>-->
            {% endfor %}
          </div>
        </div>
      </div>
      {% endif %}
      {% endfor %}
    </div>
  </div>
</div>
