feat: date filters from Jekyll

This commit is contained in:
Yang Jun
2024-05-09 23:37:27 +08:00
committed by Jun Yang
parent 842b45c96a
commit 4955e75be7
14 changed files with 305 additions and 31 deletions
+4
View File
@@ -36,6 +36,10 @@ filters:
compact: compact.html
concat: concat.html
date: date.html
date_to_long_string: date_to_long_string.html
date_to_rfc822: date_to_rfc822.html
date_to_string: date_to_string.html
date_to_xmlschema: date_to_xmlschema.html
default: default.html
divided_by: divided_by.html
downcase: downcase.html
@@ -0,0 +1,30 @@
---
title: date_to_long_string
---
{% since %}v10.13.0{% endsince %}
Convert a date to long format. Same with Jekyll `date_to_long_string` filter.
Input
```liquid
{{ site.time | date_to_long_string }}
```
Output
```text
07 November 2008
```
Input
```liquid
{{ site.time | date_to_long_string: "ordinal" }}
```
Output
```text
7th November 2008
```
Note that JavaScript `Date` has not timezone information, see [date][date] filter for details.
[date]: ./date.html
+20
View File
@@ -0,0 +1,20 @@
---
title: date_to_rfc822
---
{% since %}v10.13.0{% endsince %}
Convert a Date into the RFC-822 format used for RSS feeds, same as Jekyll filter `date_to_rfc822`.
Input
```liquid
{{ site.time | date_to_rfc822 }}
```
Output
```text
Mon, 07 Nov 2008 13:07:54 -0800
```
Note that JavaScript `Date` has not timezone information, see [date][date] filter for details.
[date]: ./date.html
+30
View File
@@ -0,0 +1,30 @@
---
title: date_to_string
---
{% since %}v10.13.0{% endsince %}
Convert a date to short format. Same with Jekyll `date_to_string` filter.
Input
```liquid
{{ site.time | date_to_string }}
```
Output
```text
07 Nov 2008
```
Input
```liquid
{{ site.time | date_to_string: "ordinal", "US" }}
```
Output
```text
Nov 7th, 2008
```
Note that JavaScript `Date` has not timezone information, see [date][date] filter for details.
[date]: ./date.html
+20
View File
@@ -0,0 +1,20 @@
---
title: date_to_xmlschema
---
{% since %}v10.13.0{% endsince %}
Convert a Date into XML Schema (ISO 8601) format, same as Jekyll filter `date_to_xmlschema`.
Input
```liquid
{{ site.time | date_to_xmlschema }}
```
Output
```text
2008-11-07T13:07:54-08:00
```
Note that JavaScript `Date` has not timezone information, see [date][date] filter for details.
[date]: ./date.html
+1 -1
View File
@@ -13,7 +13,7 @@ Math | plus, minus, modulo, times, floor, ceil, round, divided_by, abs, at_least
String | append, prepend, capitalize, upcase, downcase, strip, lstrip, rstrip, strip_newlines, split, replace, replace_first, replace_last,remove, remove_first, remove_last, truncate, truncatewords, normalize_whitespace
HTML/URI | escape, escape_once, url_encode, url_decode, strip_html, newline_to_br
Array | slice, map, sort, sort_natural, uniq, where, where_exp, group_by, group_by_exp, find, find_exp, first, last, join, reverse, concat, compact, size, push, pop, shift, unshift
Date | date
Date | date, date_to_xmlschema, date_to_rfc822, date_to_string, date_to_long_string
Misc | default, json, jsonify, inspect, raw, to_integer
[shopify/liquid]: https://github.com/Shopify/liquid
@@ -0,0 +1,31 @@
---
title: date_to_long_string
---
{% since %}v10.13.0{% endsince %}
把日期转换为长格式(只支持 US/UK 两种),与 Jekyll 的 `date_to_long_string` 过滤器一样。
输入
```liquid
{{ site.time | date_to_long_string }}
```
输出
```text
07 November 2008
```
输入
```liquid
{{ site.time | date_to_long_string: "ordinal" }}
```
输出
```text
7th November 2008
```
注意 JavaScript `Date` 没有时区信息,详情请参考 [date][date] 过滤器。
[date]: ./date.html
@@ -0,0 +1,20 @@
---
title: date_to_rfc822
---
{% since %}v10.13.0{% endsince %}
把日期转换为 RFC-822 格式用于 RSS feed,与 Jekyll 的 `date_to_rfc822` 过滤器一样。
输入
```liquid
{{ site.time | date_to_rfc822 }}
```
输入
```text
Mon, 07 Nov 2008 13:07:54 -0800
```
注意 JavaScript `Date` 没有时区信息,详情请参考 [date][date] 过滤器。
[date]: ./date.html
@@ -0,0 +1,30 @@
---
title: date_to_string
---
{% since %}v10.13.0{% endsince %}
把日期转换为短格式(只支持 US/UK 两种),与 Jekyll 的 `date_to_string` 过滤器一样。
输入
```liquid
{{ site.time | date_to_string }}
```
输出
```text
07 Nov 2008
```
输入
```liquid
{{ site.time | date_to_string: "ordinal", "US" }}
```
输出
```text
Nov 7th, 2008
```
注意 JavaScript `Date` 没有时区信息,详情请参考 [date][date] 过滤器。
[date]: ./date.html
@@ -0,0 +1,20 @@
---
title: date_to_xmlschema
---
{% since %}v10.13.0{% endsince %}
把日期转换为 XML Schema (ISO 8601) 格式,与 Jekyll 的 `date_to_xmlschema` 过滤器一样。
输入
```liquid
{{ site.time | date_to_xmlschema }}
```
输出
```text
2008-11-07T13:07:54-08:00
```
注意 JavaScript `Date` 没有时区信息,详情请参考 [date][date] 过滤器。
[date]: ./date.html
+1 -1
View File
@@ -13,7 +13,7 @@ LiquidJS 共支持 40+ 个过滤器,可以分为如下几类:
字符串 | append, prepend, capitalize, upcase, downcase, strip, lstrip, rstrip, strip_newlines, split, replace, replace_first, replace_last, remove, remove_first, remove_last, truncate, truncatewords, normalize_whitespace
HTML/URI | escape, escape_once, url_encode, url_decode, strip_html, newline_to_br
数组 | slice, map, sort, sort_natural, uniq, where, where_exp, group_by, group_by_exp, find, find_exp, first, last, join, reverse, concat, compact, size, push, pop, shift, unshift
日期 | date
日期 | date, date_to_xmlschema, date_to_rfc822, date_to_string, date_to_long_string
其他 | default, json, jsonify, inspect, raw, to_integer
[shopify/liquid]: https://github.com/Shopify/liquid