~xdavidwu/xdavidwu.link

c71992e1c488ea29d6ecdee13a912e7fe1aae201 — Michael Rose 9 years ago da2b8b2
Add archives for pages and posts by [category, year, tags]
6 files changed, 86 insertions(+), 25 deletions(-)

M _layouts/archive.html
A _pages/category-archive.md
A _pages/page-archive.md
D _pages/posts.md
A _pages/tag-archive.md
A _pages/year-archive.html
M _layouts/archive.html => _layouts/archive.html +1 -19
@@ 1,25 1,7 @@
---
layout: default
---

{% include absolute-url.liquid %}

<div class="archive">
  <h1>{{ page.title }}</h1>
  {% capture written_year %}'None'{% endcapture %}
  {% for post in site.posts %}  
    {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
    {% if year != written_year %}
      <h3>{{ year }}</h3>
      {% capture written_year %}{{ year }}{% endcapture %}
    {% endif %}
    <article itemscope itemtype="http://schema.org/CreativeWork">
      {% if post.link %}
        <h2 class="link-post" itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a> <a href="{{ post.link }}" target="_blank" title="{{ post.title }}"><i class="fa fa-link"></i></a></h2>
      {% else %}
        <h2 itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
        <p itemprop="description">{{ post.excerpt | markdownify | strip_html | strip_newlines | escape_once }}</p>
      {% endif %}
    </article>
  {% endfor %}
  {{ content }}
</div><!-- /.archive -->
\ No newline at end of file

A _pages/category-archive.md => _pages/category-archive.md +24 -0
@@ 0,0 1,24 @@
---
layout: archive
permalink: /category-archive/
title: "Posts by Category"
---

{% include absolute-url.liquid %}
{% capture site_categories %}{% for category in site.categories %}{{ category | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign category_list = site_categories | split:',' | sort %}

{% for item in (0..site.categories.size) %}{% unless forloop.last %}
{% capture category_name %}{{ category_list[item] | strip_newlines }}{% endcapture %}
  <h3>{{ category_name }}</h3>
  {% for post in site.categories[category_name] %}{% if post.title != null %}
  <article itemscope itemtype="http://schema.org/CreativeWork">
  {% if post.link %}
    <h2 class="link-post" itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a> <a href="{{ post.link }}" target="_blank" title="{{ post.title }}"><i class="fa fa-link"></i></a></h2>
  {% else %}
    <h2 itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
    <p itemprop="description">{{ post.excerpt | markdownify | strip_html | strip_newlines | escape_once }}</p>
  {% endif %}
  </article>
  {% endif %}{% endfor %}
{% endunless %}{% endfor %}
\ No newline at end of file

A _pages/page-archive.md => _pages/page-archive.md +16 -0
@@ 0,0 1,16 @@
---
layout: archive
title: "Page Archive"
permalink: /page-archive/
---
{% include absolute-url.liquid %}
{% for post in site.pages %}
<article itemscope itemtype="http://schema.org/CreativeWork">
{% if post.link %}
  <h2 class="link-post" itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a> <a href="{{ post.link }}" target="_blank" title="{{ post.title }}"><i class="fa fa-link"></i></a></h2>
{% else %}
  <h2 itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
  {% if post.excerpt %}<p itemprop="description">{{ post.excerpt | markdownify | strip_html | strip_newlines | escape_once }}</p>{% endif %}
{% endif %}
</article>
{% endfor %}
\ No newline at end of file

D _pages/posts.md => _pages/posts.md +0 -6
@@ 1,6 0,0 @@
---
layout: archive
permalink: /posts/
title: "All Posts"
excerpt: "A List of Posts"
---
\ No newline at end of file

A _pages/tag-archive.md => _pages/tag-archive.md +23 -0
@@ 0,0 1,23 @@
---
layout: archive
permalink: /tag-archive/
title: "Posts by Tags"
---
{% include absolute-url.liquid %}
{% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign tag_list = site_tags | split:',' | sort %}

{% for item in (0..site.tags.size) %}{% unless forloop.last %}
{% capture tag_name %}{{ tag_list[item] | strip_newlines }}{% endcapture %}
  <h3>{{ tag_name }}</h3>
  {% for post in site.tags[tag_name] %}{% if post.title != null %}
  <article itemscope itemtype="http://schema.org/CreativeWork">
  {% if post.link %}
    <h2 class="link-post" itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a> <a href="{{ post.link }}" target="_blank" title="{{ post.title }}"><i class="fa fa-link"></i></a></h2>
  {% else %}
    <h2 itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
    <p itemprop="description">{{ post.excerpt | markdownify | strip_html | strip_newlines | escape_once }}</p>
  {% endif %}
  </article>
  {% endif %}{% endfor %}
{% endunless %}{% endfor %}
\ No newline at end of file

A _pages/year-archive.html => _pages/year-archive.html +22 -0
@@ 0,0 1,22 @@
---
layout: archive
permalink: /year-archive/
title: "Posts by Year"
---
{% include absolute-url.liquid %}
{% capture written_year %}'None'{% endcapture %}
{% for post in site.posts %}
  {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
  {% if year != written_year %}
    <h3>{{ year }}</h3>
    {% capture written_year %}{{ year }}{% endcapture %}
  {% endif %}
  <article itemscope itemtype="http://schema.org/CreativeWork">
    {% if post.link %}
      <h2 class="link-post" itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a> <a href="{{ post.link }}" target="_blank" title="{{ post.title }}"><i class="fa fa-link"></i></a></h2>
    {% else %}
      <h2 itemprop="headline"><a href="{{ absurl }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
      <p itemprop="description">{{ post.excerpt | markdownify | strip_html | strip_newlines | escape_once }}</p>
    {% endif %}
  </article>
{% endfor %}
\ No newline at end of file