/
labnotebook_collate
70 lines (60 loc) · 1.84 KB
/
labnotebook_collate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{% comment %}<!--
Collate_posts helper. Collated posts by year and month.
Usage:
1) assign the 'labnotebook_collate' variable to a valid array of posts.
2) include JB/labnotebook_collate
example:
{% assign labnotebook_collate = site.posts %}
{% include JB/labnotebook_collate %}
Ordering:
Posts are displayed in reverse chronological order.
For normal chronological order:
1) Change the for loop to this:
=> 'for post in site.posts reversed'
2) Next make sure to change 'post.previous.date' to:
=> 'post.next.date'
-->{% endcomment %}
{% if site.JB.labnotebook_collate.provider == "custom" %}
{% include custom/labnotebook_collate %}
{% else %}
{% for post in labnotebook_collate %}
{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
{% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
{% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
{% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %}
{% if post.category != "labnotebook" %}
{% if forloop.first %}
<h3>{{next_year}}</h3>
<h4>{{next_month}}</h4>
<ul>
{% endif %}
{% continue %}
{% endif %}
{% if forloop.first %}
<h3>{{this_year}}</h3>
<h4>{{this_month}}</h4>
<ul>
{% endif %}
<li>
{{ post.date | date: "%-d %b %Y" }}
<i><a href="{{ BASE_PATH }}{{post.url}}">{{post.title}}</a></i>
</li>
{% if forloop.last %}
</ul>
{% else %}
{% if this_year != next_year %}
</ul>
<h3>{{next_year}}</h3>
<h4>{{next_month}}</h4>
<ul>
{% else %}
{% if this_month != next_month %}
</ul>
<h4>{{next_month}}</h4>
<ul>
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% assign labnotebook_collate = nil %}