{{- $numcaratteri := 66 -}} BEGIN:VCALENDAR VERSION:2.0 PRODID:-//BgLUG//BgLUG Events Calendar//EN X-WR-CALNAME:BgLUG Events Calendar X-WR-TIMEZONE:Europe/Rome CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VTIMEZONE TZID:Europe/Rome LAST-MODIFIED:20240422T053451Z TZURL:https://www.tzurl.org/zoneinfo-outlook/Europe/Rome X-LIC-LOCATION:Europe/Rome BEGIN:DAYLIGHT TZNAME:CEST TZOFFSETFROM:+0100 TZOFFSETTO:+0200 DTSTART:19700329T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU END:DAYLIGHT BEGIN:STANDARD TZNAME:CET TZOFFSETFROM:+0200 TZOFFSETTO:+0100 DTSTART:19701025T030000 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU END:STANDARD END:VTIMEZONE {{- range where .Site.Pages ".Page.Params.add_to_ics" true -}} {{- $location := "" -}} {{- $locations := .Params.locations -}} {{- with (eq (printf "%T" $locations ) "string" ) -}} {{- $location = $locations -}} {{- end -}} {{- with (eq (printf "%T" $locations ) "[]string" ) -}} {{- $location = (index $locations 0) -}} {{- end -}} {{- if .Params.location_ics }} {{- $location = .Params.location_ics }} {{- end }} {{- $description := "" }} {{- with .Description }} {{- $description = . }} {{- end }} {{- with .Summary }} {{- $description = . }} {{- end }} BEGIN:VEVENT SUMMARY:{{.Title}} ORGANIZER;{{ .Site.Param "ics.organizer" }} UID:{{ md5 .Permalink }}@bglug.it SEQUENCE:0 STATUS:CONFIRMED TRANSP:TRANSPARENT {{- if ne $description "" }} {{- $description = replace $description "\n" " " }} {{- $description = (print "DESCRIPTION:" $description ) | truncate 400 }} {{- $i := 0 }} {{- range seq 0 $numcaratteri ($description | len) }} {{ strings.Repeat $i " " }}{{- substr $description . $numcaratteri }} {{- $i = add $i 1 }} {{- end }} {{- end }} LOCATION:{{ $location }} URL:{{ .Permalink }} {{- with (.Page.Resources.GetMatch .Params.image ) -}} {{- $image := print "IMAGE;VALUE=URI;DISPLAY=BADGE;FMTTYPE=" .MediaType.String ":" .Permalink }} {{- $i := 0 }} {{- range seq 0 $numcaratteri ($image | len) }} {{ strings.Repeat $i " " }}{{- substr $image . $numcaratteri }} {{- $i = add $i 1 }} {{- end }} {{ end -}} {{ with .Lastmod }}DTSTAMP:{{dateFormat "20060102T150405Z" . }} {{ end -}} {{ if .Date }}DTSTART;TZID=Europe/Rome:{{dateFormat "20060102T150405" .Date }} {{- $d := time.AsTime .Date }} {{- $duration := .Params.duration | default "1h" }} DTEND;TZID=Europe/Rome:{{dateFormat "20060102T150405" ($d.Add (time.ParseDuration $duration) ) }} {{- with .Params.repeat }} {{- if and .interval_days .count }} RRULE:FREQ=DAILY;INTERVAL={{ .interval_days }};COUNT={{ .count }} {{- end }} {{- with .other_dates }} {{- range . }} EXDATE;TZID=Europe/Rome:{{dateFormat "20060102T150405" . }} {{- end }} {{- end }} {{- end }} {{- end }} END:VEVENT {{- end }} END:VCALENDAR