Skip to content

Commit 2768e5f

Browse files
authored
Merge pull request #228 from jackey8616/date_time_merge
[Optimization] Rewrite some code logic and method change for `post_meta.updated_at` option.
2 parents 2cd0df2 + a9ad0d7 commit 2768e5f

File tree

4 files changed

+49
-35
lines changed

4 files changed

+49
-35
lines changed

_config.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,12 @@ auto_excerpt:
261261
post_meta:
262262
item_text: true
263263
created_at: true
264-
updated_at: false
265-
# Only show 'updated' if different from 'created'.
266-
updated_diff: false
267-
# If true, post's time format will be hexo config's date_format + ' ' + time_format.
268-
date_time_merge: false
264+
updated_at:
265+
enabled: true
266+
# If true, show updated date label only if `updated date` different from 'created date' (post edited in another day than was created).
267+
# And if post will edited in same day as created, edited time will show in popup title under created time label.
268+
# If false show anyway, but if post edited in same day, show only edited time.
269+
another_day: true
269270
categories: true
270271

271272
# Post wordcount display settings

languages/en.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,16 @@ sidebar:
2222
toc: Table of Contents
2323

2424
post:
25-
created: Post created
26-
modified: Post modified
27-
edit: Edit this post
28-
sticky: Sticky
2925
posted: Posted on
26+
edited: Edited on
27+
created: Created
28+
modified: Modified
29+
edit: Edit this post
3030
in: In
3131
more: more
3232
read_more: Read more
3333
untitled: Untitled
34+
sticky: Sticky
3435
toc_empty: This post does not have a Table of Contents
3536
views: Views
3637
comments_count: Comments
@@ -89,7 +90,7 @@ keep_on: Keep on posting.
8990
symbol:
9091
comma: ", "
9192
period: ". "
92-
colon: ":"
93+
colon: ": "
9394

9495
reward:
9596
donate: Donate

layout/_macro/post.swig

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,10 @@
7373

7474
<div class="post-meta">
7575
<span class="post-time">
76-
{% if theme.post_meta.date_time_merge %}
77-
{% set datetime_format = config.date_format + ' ' + config.time_format %}
78-
{% else %}
79-
{% set datetime_format = config.date_format %}
80-
{% endif %}
76+
77+
{% set date_diff = date(post.date) != date(post.updated) %}
78+
{% set time_diff = time(post.date) != time(post.updated) %}
79+
{% set datetime_diff = date_diff or time_diff %}
8180

8281
{% if theme.post_meta.created_at %}
8382
<span class="post-meta-item-icon">
@@ -86,32 +85,40 @@
8685
{% if theme.post_meta.item_text %}
8786
<span class="post-meta-item-text">{{ __('post.posted') }}</span>
8887
{% endif %}
89-
<time title="{{ __('post.created') }}" itemprop="dateCreated datePublished" datetime="{{ moment(post.date).format() }}">{#
90-
#}{{ date(post.date, datetime_format) }}{#
91-
#}</time>
92-
{% endif %}
9388

94-
{% set date_updated_diff = date(post.date, datetime_format) != date(post.updated, datetime_format) %}
95-
{% if theme.post_meta.updated_at %}
96-
{% if !theme.post_meta.updated_diff || theme.post_meta.updated_diff && date_updated_diff %}
97-
{% set display_updated = true %}
89+
{% if !date_diff && time_diff && theme.post_meta.updated_at.enabled && theme.post_meta.updated_at.another_day %}
90+
{% set create_title = __('post.created') + __('symbol.colon') + full_date(post.date) + ' / ' + __('post.modified') + __('symbol.colon') + time(post.updated) %}
91+
{% else %}
92+
{% set create_title = __('post.created') + __('symbol.colon') + full_date(post.date) %}
9893
{% endif %}
94+
95+
<time title="{{ create_title }}" itemprop="dateCreated datePublished" datetime="{{ moment(post.date).format() }}">{#
96+
#}{{ date(post.date) -}}
97+
</time>
9998
{% endif %}
10099

101-
{% if display_updated or (!theme.post_meta.created_at and theme.post_meta.updated_at) %}
102-
{% if theme.post_meta.created_at and theme.post_meta.updated_at %}
103-
<span class="post-meta-divider">|</span>
104-
{% endif %}
100+
{% if theme.post_meta.updated_at.enabled && datetime_diff %}
101+
{% set display_updated = !theme.post_meta.updated_at.another_day || theme.post_meta.updated_at.another_day && date_diff %}
105102

106-
<span class="post-meta-item-icon">
107-
<i class="fa fa-calendar-check-o"></i>
108-
</span>
109-
{% if theme.post_meta.item_text %}
110-
<span class="post-meta-item-text">{{ __('post.modified') + __('symbol.colon') }}</span>
103+
{% if display_updated or !theme.post_meta.created_at %}
104+
{% if theme.post_meta.created_at and theme.post_meta.updated_at.enabled %}
105+
<span class="post-meta-divider">|</span>
106+
{% endif %}
107+
108+
<span class="post-meta-item-icon">
109+
<i class="fa fa-calendar-check-o"></i>
110+
</span>
111+
{% if theme.post_meta.item_text %}
112+
<span class="post-meta-item-text">{{ __('post.edited') }}</span>
113+
{% endif %}
114+
<time title="{{ __('post.modified') + __('symbol.colon') + full_date(post.updated) }}" itemprop="dateModified" datetime="{{ moment(post.updated).format() }}">{#
115+
#}{% if date_diff -%}
116+
{{- date(post.updated) -}}
117+
{%- else -%}
118+
{{- time(post.updated) -}}
119+
{%- endif -%}
120+
</time>
111121
{% endif %}
112-
<time title="{{ __('post.modified') }}" itemprop="dateModified" datetime="{{ moment(post.updated).format() }}">{#
113-
#}{{ date(post.updated, datetime_format) }}{#
114-
#}</time>
115122
{% endif %}
116123
</span>
117124

source/css/_common/components/post/post-meta.styl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616
font-size: 14px;
1717
margin-top: 2px;
1818
}
19+
20+
time {
21+
border-bottom: 1px dashed $grey-dark;
22+
cursor: help;
23+
}
1924
}
2025

2126
.post-symbolscount {

0 commit comments

Comments
 (0)