<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="zh"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="zh"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="zh"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh"><!--<![endif]-->
<head>
{% include head.html %}
</head>

<body id="post" {% if page.image.feature %}class="feature"{% endif %}>

{% include browser-upgrade.html %}
{% include navigation.html %}

{% if page.image.feature %}
<div class="entry-header">
  {% if page.image.credit %}<div class="image-credit">{% if isEn %}Image source: {% else %}图片来源：{% endif %}{% if page.image.creditlink %}<a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></div><!-- /.image-credit -->{% endif %}{% endif %}
  <div class="entry-image">
    <img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }}">
  </div><!-- /.entry-image -->
</div><!-- /.entry-header -->
{% endif %}

<div id="post-main" role="main">
  <article class="hentry">
    <header class="header-title">
      <div class="header-title-wrap">
        <h1 class="entry-title">{{ page.title }}</h1>
        <h2><span class="entry-date date published"><time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%Y-%m-%d" }}</time></span></h2>
        {% if site.reading_time %}
        <p class="entry-reading-time">
          <i class="fa fa-clock-o"></i>
          {% include read-time.html %}
        </p><!-- /.entry-reading-time -->
        {% endif %}
      </div><!-- /.header-title-wrap -->
    </header>
    <div class="entry-content">
      {{ content }}
      <div class="entry-meta">
        <span 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>-->
          {% unless forloop.last %}{% endunless %}
          {% endfor %}
        </span>
      </div>

      {% if page.author %}
      <div class="entry-author">
        <img class="entry-author--img" src="{{ site.author[page.author].image }}">
        <div class="entry-author--info">
          <div class="entry-author--name">
            <a href="{{ site.author[page.author].web }}" target="_blank">
              {{ site.author[page.author].name }}
            </a> | {{ site.author[page.author].title }}
          </div>
          <div class="entry-author--desc">
            {{ site.author[page.author].desc }}
          </div>
        </div>
      </div>
      {% endif %}
    </div><!-- /.entry-content -->
    {% if page.comments != false and site.disqus_shortname %}<section id="disqus_thread"></section><!-- /#disqus_thread -->{% endif %}
    {% if site.related_posts.size > 0 %}{% include read-more.html %}{% endif %}
  </article>
</div><!-- /#main -->

{% include footer.html %}

{% include scripts.html %}

</body>
</html>
