diff --git a/layouts/partials/functions/get_event_dates.html b/layouts/partials/functions/get_event_dates.html new file mode 100644 index 00000000..db621b92 --- /dev/null +++ b/layouts/partials/functions/get_event_dates.html @@ -0,0 +1,17 @@ +{{/* Function to get event start and end dates/times. */}} +{{ $t1 := time .Date }}{{/* Start datetime. */}} +{{ $str := slice ((time $t1).Format site.Params.date_format) }}{{/* Init return string with start date. */}} +{{/* Show start time if not all day event. */}} +{{ if not .Params.all_day }}{{ $str = $str | append ((time $t1).Format (site.Params.time_format)) }}{{ end }} +{{/* Show event end date if provided. */}} +{{ if .Params.date_end }} + {{ $str = $str | append "—" }} + {{ $t2 := time .Params.date_end}}{{/* End datetime. */}} + {{/* Show end date if it differs to start date. */}} + {{ if not (eq $t1.Year $t2.Year | and (eq $t1.Month $t2.Month) | and (eq $t1.Day $t2.Day)) }} + {{ $str = $str | append ((time $t2).Format site.Params.date_format) }} + {{ end }} + {{/* Show end time if not all day event. */}} + {{ if not .Params.all_day }}{{ $str = $str | append ((time $t2).Format (site.Params.time_format)) }}{{ end }} +{{ end }} +{{ return (delimit $str " ") }} diff --git a/layouts/partials/li_card.html b/layouts/partials/li_card.html index caa0fe6d..d4888d26 100644 --- a/layouts/partials/li_card.html +++ b/layouts/partials/li_card.html @@ -36,14 +36,7 @@ {{ end }} - {{ $date := $item.Date }} - {{ (time $date).Format site.Params.date_format }} - {{ if not $item.Params.all_day }} - {{ (time $date).Format (site.Params.time_format | default "3:04 PM") }} - {{ with $item.Params.date_end }} - — {{ (time .).Format (site.Params.time_format | default "3:04 PM") }} - {{ end }} - {{ end }} + {{ partial "functions/get_event_dates" $item }} {{ with $item.Params.location }} diff --git a/layouts/partials/li_compact.html b/layouts/partials/li_compact.html index 242b5f4e..1e8b72c2 100644 --- a/layouts/partials/li_compact.html +++ b/layouts/partials/li_compact.html @@ -45,14 +45,7 @@ {{ if eq $item.Type "talk" }}
- {{ $date := $item.Date }} - {{ (time $date).Format site.Params.date_format }} - {{ if not $item.Params.all_day }} - {{ (time $date).Format (site.Params.time_format | default "3:04 PM") }} - {{ with $item.Params.date_end }} - — {{ (time .).Format (site.Params.time_format | default "3:04 PM") }} - {{ end }} - {{ end }} + {{ partial "functions/get_event_dates" $item }} {{ with $item.Params.location }} diff --git a/layouts/partials/li_list.html b/layouts/partials/li_list.html index 11ddfee7..05ce93f0 100644 --- a/layouts/partials/li_list.html +++ b/layouts/partials/li_list.html @@ -25,14 +25,7 @@ {{ if eq $item.Type "talk" }}
- {{ $date := $item.Date }} - {{ (time $date).Format site.Params.date_format }} - {{ if not $item.Params.all_day }} - {{ (time $date).Format (site.Params.time_format | default "3:04 PM") }} - {{ with $item.Params.date_end }} - — {{ (time .).Format (site.Params.time_format | default "3:04 PM") }} - {{ end }} - {{ end }} + {{ partial "functions/get_event_dates" $item }} {{ with $item.Params.location }} diff --git a/layouts/talk/single.html b/layouts/talk/single.html index a4262b13..fccb9861 100644 --- a/layouts/talk/single.html +++ b/layouts/talk/single.html @@ -19,16 +19,7 @@
{{ i18n "date" }}