Behebe Layoutauswahl unter aktuellem Hugo. #34
5 changed files with 11 additions and 44 deletions
|
|
@ -1 +0,0 @@
|
||||||
{{ block "main" . }}{{ .Content }}{{ end }}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
VERSION:2.0
|
|
||||||
PRODID:-//CCCB//Calendar//DE
|
|
||||||
{{ with .Title }}
|
|
||||||
X-WR-CALNAME:{{ . }}
|
|
||||||
{{ end }}
|
|
||||||
CALSCALE:GREGORIAN
|
|
||||||
METHOD:PUBLISH
|
|
||||||
{{ range .Pages }}
|
|
||||||
{{ if .Date }}
|
|
||||||
BEGIN:VEVENT
|
|
||||||
UID:{{ .File.UniqueID }}@berlin.ccc.de
|
|
||||||
DTSTAMP:{{ .Date.Format "20060102T150405Z" }}
|
|
||||||
DTSTART:{{ .Date.Format "20060102T150405Z" }}
|
|
||||||
SUMMARY:{{ .Title }}
|
|
||||||
DESCRIPTION:{{ .Summary | plainify }}
|
|
||||||
URL:{{ .Permalink }}
|
|
||||||
END:VEVENT
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
END:VCALENDAR
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
VERSION:2.0
|
|
||||||
PRODID:-//CCCB//Calendar//DE
|
|
||||||
{{ with .Title }}
|
|
||||||
X-WR-CALNAME:{{ . }}
|
|
||||||
{{ end }}
|
|
||||||
CALSCALE:GREGORIAN
|
|
||||||
METHOD:PUBLISH
|
|
||||||
{{ if .Date }}
|
|
||||||
BEGIN:VEVENT
|
|
||||||
UID:{{ .File.UniqueID }}@berlin.ccc.de
|
|
||||||
DTSTAMP:{{ .Date.Format "20060102T150405Z" }}
|
|
||||||
DTSTART:{{ .Date.Format "20060102T150405Z" }}
|
|
||||||
{{ with .Params.event.end }}DTEND:{{ dateFormat "20060102T150405Z" . }}{{ end }}
|
|
||||||
SUMMARY:{{ .Title }}
|
|
||||||
DESCRIPTION:{{ .Summary | plainify }}
|
|
||||||
URL:{{ .Permalink }}
|
|
||||||
{{ with .Params.location }}LOCATION:{{ . }}{{ end }}
|
|
||||||
END:VEVENT
|
|
||||||
{{ end }}
|
|
||||||
END:VCALENDAR
|
|
||||||
|
|
@ -3,13 +3,23 @@
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
import locale
|
import locale
|
||||||
from dateutil.parser import parse
|
from dateutil.parser import parse as _parse
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from dateutil.rrule import rruleset, rrulestr
|
from dateutil.rrule import rruleset, rrulestr
|
||||||
|
|
||||||
import icalendar
|
import icalendar
|
||||||
|
|
||||||
|
|
||||||
|
def parse(value):
|
||||||
|
# Some templates emit DTSTART with a trailing "Z" (e.g. 20260507T190000Z)
|
||||||
|
# which produces tz-aware datetimes, while others emit naive local times.
|
||||||
|
# Normalize to naive so comparisons and sorting don't mix the two.
|
||||||
|
dt = _parse(value)
|
||||||
|
if dt.tzinfo is not None:
|
||||||
|
dt = dt.replace(tzinfo=None)
|
||||||
|
return dt
|
||||||
|
|
||||||
|
|
||||||
def vevent_to_event(event, rrstart=None):
|
def vevent_to_event(event, rrstart=None):
|
||||||
if rrstart == None:
|
if rrstart == None:
|
||||||
begin = parse(event["DTSTART"].to_ical())
|
begin = parse(event["DTSTART"].to_ical())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue