Move out datengartens into their own section

- /datengarten/index.html returns a blog-like list
- /datengarten/index.ics returns a VCALENDAR
- /datengarten/index.xml returns a schedule.xml-style view

No more pretty rendering includes in the content pages,
some more cleanup in the front matter
This commit is contained in:
Daniel Molkentin 2018-05-21 15:54:09 +02:00
parent 9558449acf
commit ff62faf23a
76 changed files with 436 additions and 206 deletions

View file

@ -0,0 +1,20 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//cccb//datengarten calendar//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
{{range .Pages -}}
BEGIN:VEVENT
ORGANIZER;CN="CCCB":mailto:datengarten@berlin.ccc.de
SUMMARY:{{.Title}}{{with .Params.subtitle}}: {{.}}{{end}}
UID:{{.Params.no}}@datengarten.berlin.ccc.de
SEQUENCE:0
STATUS:CONFIRMED
DTSTAMP:{{dateFormat "20060102T150405Z" .Params.event.start}}
DTSTART;TZID=Europe/Berlin:{{dateFormat "20060102T150405" .Params.event.start}}
DTEND;TZID=Europe/Berlin:{{dateFormat "20060102T150405" .Params.event.end}}
LOCATION:{{with .Params.location}}{{.}}{{else}}CCCB{{end}}
URL:{{.Permalink}}
END:VEVENT
{{end -}}
END:VCALENDAR

View file

@ -0,0 +1,35 @@
<schedule>
<version>1.0</version>
<conference>
<title>Datengarten</title>
<acronym>datengarten</acronym>
<days>99</days>
<start>2005-01-01</start>
<end>2099-12-31</end>
<timeslot_duration>2:00</timeslot_duration>
</conference>
{{range .Pages.ByDate -}}
<day index="{{.Params.no}}" date="{{dateFormat "2006-01-02" .Params.event.start}}" start="{{dateFormat "2006-01-02T15:04:05" .Params.event.start}}" end="{{dateFormat "2006-01-02T15:04:05" .Params.event.end}}">
<room name="Saal23">
<event id="{{.Params.no}}" guid="456fb60c-5ce7-11e8-be47-1fb2912eb8{{.Params.no}}">
<date>2016-11-23T13:00:00</date>
<start>13:00</start>
<duration>{{ $end := time .Params.event.end }}{{ $t := time "1970-01-01"}}{{ dateFormat "15:04" ( $t.Add ( $end.Sub (time .Params.event.start) ) ) }}</duration>
<room>Saal 23</room>
<slug>dg-{{.Params.no}}</slug>
<title>{{htmlEscape .Title}}</title>
<subtitle>{{with .Params.subtitle}}{{htmlEscape .}}{{end}}</subtitle>
<track/>
<type/>
<language>{{.Params.language}}</language>
<abstract>{{.Plain}}</abstract>
<description>{{.Plain}}</description>
<persons>
<person id="0">{{htmlEscape .Params.speaker}}</person>
</persons>
<links/>
</event>
</room>
</day>
{{end -}}
</schedule>

View file

@ -0,0 +1,59 @@
{{ define "main" }}
<div class="container" role="main">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<article role="main" class="blog-post">
{{ partial "talk-infobox" . }}
{{ .Content }}
{{ if .Params.tags }}
<div class="blog-tags">
{{ range .Params.tags }}
<a href="{{ $.Site.LanguagePrefix | absURL }}/tags/{{ . | urlize }}/">{{ . }}</a>&nbsp;
{{ end }}
</div>
{{ end }}
{{ if .Site.Params.socialShare }}
<hr/>
<section id="social-share">
<ul class="list-inline footer-links">
{{ partial "share-links" . }}
</ul>
</section>
{{ end }}
</article>
{{ if ne .Type "page" }}
<ul class="pager blog-pager">
{{ if .PrevInSection }}
<li class="previous">
<a href="{{ .PrevInSection.Permalink }}" data-toggle="tooltip" data-placement="top" title="{{ .PrevInSection.Title }}">&larr; {{ i18n "previousPost" }}</a>
</li>
{{ end }}
{{ if .NextInSection }}
<li class="next">
<a href="{{ .NextInSection.Permalink }}" data-toggle="tooltip" data-placement="top" title="{{ .NextInSection.Title }}">{{ i18n "nextPost" }} &rarr;</a>
</li>
{{ end }}
</ul>
{{ end }}
{{ if (.Params.comments) | or (and (or (not (isset .Params "comments")) (eq .Params.comments nil)) (and .Site.Params.comments (ne .Type "page"))) }}
{{ if .Site.DisqusShortname }}
<div class="disqus-comments">
{{ template "_internal/disqus.html" . }}
</div>
{{ end }}
{{ if .Site.Params.staticman }}
<div class="staticman-comments">
{{ partial "staticman-comments.html" . }}
</div>
{{ end }}
{{ end }}
</div>
</div>
</div>
{{ end }}