mirror of
https://github.com/calofmijuck/blog.git
synced 2025-12-06 14:53:50 +00:00
fix: about as index
This commit is contained in:
150
_layouts/home.html
Normal file
150
_layouts/home.html
Normal file
@@ -0,0 +1,150 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
{% include lang.html %}
|
||||
|
||||
{% assign all_pinned = site.posts | where: 'pin', 'true' %}
|
||||
{% assign all_normal = site.posts | where_exp: 'item', 'item.pin != true and item.hidden != true' %}
|
||||
|
||||
{% assign posts = '' | split: '' %}
|
||||
|
||||
<!-- Pagination fallbacks -->
|
||||
{% assign per_page = paginator.per_page | default: site.paginate | default: 10 %}
|
||||
{% assign page_num = paginator.page | default: 1 %}
|
||||
|
||||
<!-- Get pinned posts on current page -->
|
||||
|
||||
{% assign visible_start = page_num | minus: 1 | times: per_page %}
|
||||
{% assign visible_end = visible_start | plus: per_page %}
|
||||
|
||||
{% if all_pinned.size > visible_start %}
|
||||
{% if all_pinned.size > visible_end %}
|
||||
{% assign pinned_size = paginator.per_page %}
|
||||
{% else %}
|
||||
{% assign pinned_size = all_pinned.size | minus: visible_start %}
|
||||
{% endif %}
|
||||
|
||||
{% for i in (visible_start..all_pinned.size) limit: pinned_size %}
|
||||
{% assign posts = posts | push: all_pinned[i] %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% assign pinned_size = 0 %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Get normal posts on current page -->
|
||||
|
||||
{% assign paginator_posts = paginator.posts | default: site.posts %}
|
||||
{% assign normal_size = paginator_posts | size | minus: pinned_size %}
|
||||
|
||||
{% if normal_size > 0 %}
|
||||
{% if pinned_size > 0 %}
|
||||
{% assign normal_start = 0 %}
|
||||
{% else %}
|
||||
{% assign normal_start = visible_start | minus: all_pinned.size %}
|
||||
{% endif %}
|
||||
|
||||
{% assign normal_end = normal_start | plus: normal_size | minus: 1 %}
|
||||
|
||||
{% assign normal_end = 10 %}
|
||||
|
||||
{% for i in (normal_start..normal_end) %}
|
||||
{% assign posts = posts | push: all_normal[i] %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<div id="post-list" class="flex-grow-1 px-xl-1">
|
||||
{% for post in posts %}
|
||||
<article class="card-wrapper card">
|
||||
<a href="{{ post.url | relative_url }}" class="post-preview row g-0 flex-md-row-reverse">
|
||||
{% assign card_body_col = '12' %}
|
||||
|
||||
{% if post.image %}
|
||||
{% assign src = post.image.path | default: post.image %}
|
||||
|
||||
{% if post.media_subpath %}
|
||||
{% unless src contains '://' %}
|
||||
{% assign src = post.media_subpath
|
||||
| append: '/'
|
||||
| append: src
|
||||
| replace: '///', '/'
|
||||
| replace: '//', '/'
|
||||
%}
|
||||
{% endunless %}
|
||||
{% endif %}
|
||||
|
||||
{% if post.image.lqip %}
|
||||
{% assign lqip = post.image.lqip %}
|
||||
|
||||
{% if post.media_subpath %}
|
||||
{% unless lqip contains 'data:' %}
|
||||
{% assign lqip = post.media_subpath
|
||||
| append: '/'
|
||||
| append: lqip
|
||||
| replace: '///', '/'
|
||||
| replace: '//', '/'
|
||||
%}
|
||||
{% endunless %}
|
||||
{% endif %}
|
||||
|
||||
{% assign lqip_attr = 'lqip="' | append: lqip | append: '"' %}
|
||||
{% endif %}
|
||||
|
||||
{% assign alt = post.image.alt | xml_escape | default: 'Preview Image' %}
|
||||
|
||||
<div class="col-md-5">
|
||||
<img src="{{ src }}" alt="{{ alt }}" {{ lqip_attr }}>
|
||||
</div>
|
||||
|
||||
{% assign card_body_col = '7' %}
|
||||
{% endif %}
|
||||
|
||||
<div class="col-md-{{ card_body_col }}">
|
||||
<div class="card-body d-flex flex-column">
|
||||
<h1 class="card-title my-2 mt-md-0">{{ post.title }}</h1>
|
||||
|
||||
<div class="card-text content mt-0 mb-3">
|
||||
<p>{% include post-summary.html %}</p>
|
||||
</div>
|
||||
|
||||
<div class="post-meta flex-grow-1 d-flex align-items-end">
|
||||
<div class="me-auto">
|
||||
<!-- posted date -->
|
||||
<i class="far fa-calendar fa-fw me-1"></i>
|
||||
{% include datetime.html date=post.date lang=lang %}
|
||||
|
||||
<!-- categories -->
|
||||
{% if post.categories.size > 0 %}
|
||||
<i class="far fa-folder-open fa-fw me-1"></i>
|
||||
<span class="categories">
|
||||
{% for category in post.categories %}
|
||||
{{ category }}
|
||||
{%- unless forloop.last -%},{%- endunless -%}
|
||||
{% endfor %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if post.pin %}
|
||||
<div class="pin ms-1">
|
||||
<i class="fas fa-thumbtack fa-fw"></i>
|
||||
<span>{{ site.data.locales[lang].post.pin_prompt }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- .post-meta -->
|
||||
</div>
|
||||
<!-- .card-body -->
|
||||
</div>
|
||||
</a>
|
||||
</article>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<!-- #post-list -->
|
||||
|
||||
{% assign total_pages = paginator.total_pages | default: 2 %}
|
||||
{% if total_pages > 1 and paginator %}
|
||||
{% include post-paginator.html %}
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user