summaryrefslogtreecommitdiff
path: root/_layouts/articles.html
diff options
context:
space:
mode:
Diffstat (limited to '_layouts/articles.html')
-rw-r--r--_layouts/articles.html89
1 files changed, 89 insertions, 0 deletions
diff --git a/_layouts/articles.html b/_layouts/articles.html
new file mode 100644
index 0000000..00738a1
--- /dev/null
+++ b/_layouts/articles.html
@@ -0,0 +1,89 @@
+---
+layout: page
+---
+
+{%- assign _page_articles_data_source = page.articles.data_source | default: layout.articles.data_source -%}
+
+{%- if _page_articles_data_source -%}
+{%- assign _keys = _page_articles_data_source | split: '.' -%}
+{%- endif -%}
+
+{%- assign _articles = nil -%}
+{%- for _key in _keys -%}
+ {%- if forloop.first -%}
+ {%- case _key -%}
+ {%- when 'site' -%}
+ {%- assign _articles = site -%}
+ {%- when 'page' -%}
+ {%- assign _articles = page -%}
+ {%- when 'layout' -%}
+ {%- assign _articles = layout -%}
+ {%- when 'paginator' -%}
+ {%- assign _articles = paginator -%}
+ {%- else -%}
+ {%- assign _articles = site[_key] -%}
+ {%- else -%}
+ {%- endcase -%}
+ {%- else -%}
+ {%- assign _articles = _articles[_key] -%}
+ {%- endif -%}
+{%- endfor -%}
+
+{%- assign _type = page.articles.type | default: layout.articles.type -%}
+
+{%- if _articles -%}
+
+ <div class="layout--articles">
+
+ {%- if _type == 'grid' -%}
+ {%- if page.articles.size == 'sm' -%}
+ {%- include article-list.html articles=_articles type='grid' size='sm' -%}
+ {%- else -%}
+ {%- include article-list.html articles=_articles type='grid' -%}
+ {%- endif -%}
+
+ {%- elsif _type == 'brief' -%}
+ {%- include snippets/assign.html
+ target=site.data.variables.default.page.articles.show_info
+ source0=layout.articles.show_info source1=page.articles.show_info -%}
+ {%- assign _show_info = __return -%}
+
+ {%- include article-list.html articles=_articles type='brief' show_info=_show_info -%}
+
+ {%- else -%}
+ {%- include snippets/assign.html
+ target=site.data.variables.default.page.articles.show_cover
+ source0=layout.articles.show_cover source1=page.articles.show_cover -%}
+ {%- assign _show_cover = __return -%}
+
+ {%- include snippets/assign.html
+ target=site.data.variables.default.page.articles.show_excerpt
+ source0=layout.articles.show_excerpt source1=page.articles.show_excerpt -%}
+ {%- assign _show_excerpt = __return -%}
+
+ {%- include snippets/assign.html
+ target=site.data.variables.default.page.articles.show_readmore
+ source0=layout.articles.show_readmore source1=page.articles.show_readmore -%}
+ {%- assign _show_readmore = __return -%}
+
+ {%- include snippets/assign.html
+ target=site.data.variables.default.page.articles.show_info
+ source0=layout.articles.show_info source1=page.articles.show_info -%}
+ {%- assign _show_info = __return -%}
+
+ {%- assign _article_type = page.articles.article_type | default: layout.articles.article_type -%}
+ {%- assign _cover_size = page.articles.cover_size | default: layout.articles.cover_size -%}
+ {%- assign _excerpt_type = page.articles.excerpt_type | default: layout.articles.excerpt_type -%}
+
+ {%- include article-list.html articles=_articles type='item'
+ article_type=_article_type
+ show_cover=_show_cover cover_size=_cover_size
+ show_excerpt=_show_excerpt excerpt_type=_excerpt_type
+ show_readmore=_show_readmore show_info=_show_info -%}
+
+ {%- endif -%}
+
+ </div>
+{%- endif -%}
+
+{{ content }}