✨ feat: allow dual date-format (short/long)
This commit is contained in:
commit
eda1b27a3a
@ -16,8 +16,13 @@ highlight_code = true
|
||||
highlight_theme = "css"
|
||||
|
||||
[extra]
|
||||
# If unset, uses format: "6 July 2049" ("%d %B %Y"). Don't leave it empty or dates won't appear. Either use a proper format or comment out the line.
|
||||
# date_format = "%d %B %Y"
|
||||
# Date format used when listing posts (main page, /blog section, tag posts list…)
|
||||
# Default is "6th July 2049".
|
||||
long_date_format = ""
|
||||
|
||||
# Date format used for blog posts.
|
||||
# Default is "31st Dec 2011".
|
||||
short_date_format = ""
|
||||
|
||||
# Custom separator used in title tag and posts metadata (between date, time to read, and tags).
|
||||
separator = "•"
|
||||
|
@ -2,9 +2,10 @@
|
||||
{% import "macros/page_header.html" as macros_page_header %}
|
||||
{% import "macros/page_desc.html" as macros_page_desc %}
|
||||
{% import "macros/content.html" as macros_content %}
|
||||
{% import "macros/cards_posts.html" as macros_cards_posts %}
|
||||
{% import "macros/cards_pages.html" as macros_cards_pages %}
|
||||
{% import "macros/set_title.html" as macros_set_title %}
|
||||
{% import "macros/paginate.html" as macros_paginate %}
|
||||
{% import "macros/format_date.html" as macros_format_date %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang = "en">
|
||||
|
@ -14,7 +14,7 @@
|
||||
{%- set show_pages = section.pages -%}
|
||||
{% endif -%}
|
||||
|
||||
{{ macros_cards_posts::cards_posts(pages=show_pages) }}
|
||||
{{ macros_cards_pages::cards_pages(pages=show_pages) }}
|
||||
</main>
|
||||
|
||||
{% if paginator %}
|
||||
|
43
templates/macros/cards_pages.html
Normal file
43
templates/macros/cards_pages.html
Normal file
@ -0,0 +1,43 @@
|
||||
{% macro cards_pages(pages) %}
|
||||
|
||||
<div class="cards">
|
||||
{%- for page in pages %}
|
||||
<div class="card">
|
||||
{% if page.extra.local_image %}
|
||||
<img class="card-image" alt={{ page.extra.local_image }} src="{{ get_url(path=page.extra.local_image) }}">
|
||||
{% elif page.extra.remote_image %}
|
||||
<img class="card-image" alt={{ page.extra.remote_image }} src="{{ page.extra.remote_image }}">
|
||||
{% else %}
|
||||
<div class="card-image-placeholder"></div>
|
||||
{% endif %}
|
||||
|
||||
<div class="card-info">
|
||||
<h1 class="card-title">
|
||||
{% if page.extra.link_to %}
|
||||
<a rel="noopener noreferrer" target="_blank" href={{ page.extra.link_to }}>{{page.title}}</a>
|
||||
{% else %}
|
||||
<a href={{ page.permalink }}>{{page.title}}</a>
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
<div class="meta">
|
||||
{% if page.date %}
|
||||
{{ macros_format_date::format_date(date=page.date, short=false) }}
|
||||
{% endif %}
|
||||
{% if page.draft %}
|
||||
<span class="draft-label">DRAFT</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="card-description">
|
||||
{% if page.description %}
|
||||
{{ page.description }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor -%}
|
||||
</div>
|
||||
|
||||
{% endmacro cards_pages %}
|
@ -1,43 +0,0 @@
|
||||
{% macro cards_posts(pages) %}
|
||||
|
||||
<div class="cards">
|
||||
{%- for page in pages %}
|
||||
<div class="card">
|
||||
{% if page.extra.local_image %}
|
||||
<img class="card-image" alt={{ page.extra.local_image }} src="{{ get_url(path=page.extra.local_image) }}">
|
||||
{% elif page.extra.remote_image %}
|
||||
<img class="card-image" alt={{ page.extra.remote_image }} src="{{ page.extra.remote_image }}">
|
||||
{% else %}
|
||||
<div class="card-image-placeholder"></div>
|
||||
{% endif %}
|
||||
|
||||
<div class="card-info">
|
||||
<h1 class="card-title">
|
||||
{% if page.extra.link_to %}
|
||||
<a rel="noopener noreferrer" target="_blank" href={{ page.extra.link_to }}>{{page.title}}</a>
|
||||
{% else %}
|
||||
<a href={{ page.permalink }}>{{page.title}}</a>
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
<div class="meta">
|
||||
{%- if page.date %}
|
||||
{{ page.date | date(format=config.extra.date_format | default (value="%d %B %Y")) }}
|
||||
{% endif -%}
|
||||
{% if page.draft %}
|
||||
<span class="draft-label">DRAFT</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="card-description">
|
||||
{% if page.description %}
|
||||
{{ page.description }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor -%}
|
||||
</div>
|
||||
|
||||
{% endmacro cards_posts %}
|
@ -14,7 +14,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
<li>{{ page.date | date(format=config.extra.date_format | default (value="%d %B %Y")) }} {{ separator }}</li>
|
||||
<li>{{ macros_format_date::format_date(date=page.date, short=true) }} {{ separator }}</li>
|
||||
{% endif %}
|
||||
|
||||
<li title="{{ page.word_count }} words"> {{ page.reading_time }} min read</li>
|
||||
@ -31,7 +31,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if page.updated %}
|
||||
</ul><ul class="meta last-updated"><li>Last updated on {{ page.updated | date(format=config.extra.date_format | default (value="%d %B %Y")) }}</li>
|
||||
</ul><ul class="meta last-updated"><li>Last updated on {{ macros_format_date::format_date(date=page.updated, short=true) }}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
|
33
templates/macros/format_date.html
Normal file
33
templates/macros/format_date.html
Normal file
@ -0,0 +1,33 @@
|
||||
{% macro format_date(date, short) %}
|
||||
|
||||
{% if config.extra.short_date_format %}
|
||||
{{ date | date(format=config.extra.short_date_format) }}
|
||||
{% elif config.extra.long_date_format %}
|
||||
{{ date | date(format=config.extra.long_date_format) }}
|
||||
{% else %}
|
||||
{% set day = date | date(format='%-d') | int %}
|
||||
|
||||
{% if day in [11, 12, 13] %}
|
||||
{% set suffix = "th" %}
|
||||
{% else %}
|
||||
{% set last_digit = day % 10 %}
|
||||
{% if last_digit == 1 %}
|
||||
{% set suffix = "st" %}
|
||||
{% elif last_digit == 2 %}
|
||||
{% set suffix = "nd" %}
|
||||
{% elif last_digit == 3 %}
|
||||
{% set suffix = "rd" %}
|
||||
{% else %}
|
||||
{% set suffix = "th" %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{# Return the date. #}
|
||||
{% if short == true %}
|
||||
{{ date | date(format="%-d") }}{{ suffix }} {{ date | date(format="%b %Y") }}
|
||||
{% else %}
|
||||
{{ date | date(format="%-d") }}{{ suffix }} {{ date | date(format="%B %Y") }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% endmacro %}
|
@ -13,7 +13,7 @@
|
||||
|
||||
{% if post.date %}
|
||||
<div class="date">
|
||||
{{ post.date | date(format=config.extra.date_format | default (value="%d %B %Y")) }}
|
||||
{{ macros_format_date::format_date(date=post.date, short=false) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
{% block main_content %}
|
||||
|
||||
<main>
|
||||
{% if section.extra.section_path -%}
|
||||
{% set extra_section = get_section(path=section.extra.section_path) %}
|
||||
{% endif -%}
|
||||
@ -10,7 +11,7 @@
|
||||
{{ macros_page_desc::page_desc(desc=section.extra.header, page=section) }}
|
||||
{% endif -%}
|
||||
|
||||
<main class="list">
|
||||
<div class="list">
|
||||
<div>
|
||||
{{ macros_page_header::page_header(title=section.title) }}
|
||||
</div>
|
||||
@ -23,6 +24,7 @@
|
||||
|
||||
{% set max = section.extra.max_posts | default(value=999999) %}
|
||||
{{ macros_list_posts::list_posts(posts=pages, max=max) }}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% if paginator %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user