GroupByExpiryDate
Syntax
PAGES.GroupByExpiryDate LAYOUT [SORT]
Returns
page.PagesGroup
当按到期日期进行分组时,值由站点配置决定,默认为前缀元数据中的expiryDate
字段。
布局字符串与time.Format
函数的布局字符串格式相同。分组键结果会被本地化以适应语言和地区。
对于可选的排序顺序,可以指定 asc
表示升序,或者 desc
表示降序。
按年份和月份对内容进行分组:
{{ range .Pages.GroupByExpiryDate "January 2006" }}
<p>{{ .Key }}</p>
<ul>
{{ range .Pages }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}
按升序对分组进行排序:
{{ range .Pages.GroupByExpiryDate "January 2006" "asc" }}
<p>{{ .Key }}</p>
<ul>
{{ range .Pages }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}
每个分组内的页面还可以按照到期日期进行排序,根据分组选项的不同,可以按升序或降序排列。要对每个分组内的页面进行排序,请使用其中一种排序方法。例如,按标题对每个分组内的页面进行排序:
{{ range .Pages.GroupByExpiryDate "January 2006" }}
<p>{{ .Key }}</p>
<ul>
{{ range .Pages.ByTitle }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}
布局字符串
根据Go的参考时间格式化time.Time
值:
Mon Jan 2 15:04:05 MST 2006
使用以下组件创建一个布局字符串:
描述 | 有效组件 |
---|---|
年 | "2006" "06" |
月 | "Jan" "January" "01" "1" |
星期几 | "Mon" "Monday" |
月中的日期 | "2" "_2" "02" |
年中的日期 | "__2" "002" |
小时 | "15" "3" "03" |
分钟 | "4" "04" |
秒钟 | "5" "05" |
上午/下午标记 | "PM" |
时区偏移量 | "-0700" "-07:00" "-07" "-070000" "-07:00:00" |
在布局字符串中,将符号替换为Z,以打印Z而不是UTC区的偏移量。
描述 | 有效组件 |
---|---|
时区偏移量 | "Z0700" "Z07:00" "Z07" "Z070000" "Z07:00:00" |
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $t = $t.Format "Jan 02, 2006 3:04 PM Z07:00" }}
{{ $t }} → Jan 27, 2023 11:44 PM -08:00
类似PST
和CET
的字符串不是时区,它们是时区的缩写。
类似-07:00
和+01:00
的字符串不是时区,它们是时区的偏移量。
时区是具有相同当地时间的地理区域。例如,由PST
和PDT
(根据夏令时)缩写的时区是America/Los_Angeles
。