initial support for marking up entries as events as well, mainly for trips/excursions
Peter Molnar hello@petermolnar.eu
Sun, 04 Nov 2018 15:45:54 +0100
2 files changed,
39 insertions(+),
1 deletions(-)
M
nasg.py
→
nasg.py
@@ -510,6 +510,20 @@ return True
else: return False + @property + def event(self): + if 'event' not in self.meta: + return False + + event = self.meta.get('event', {}) + event.update({ + 'startdate': arrow.get(event.get('start')).format(settings.dateformat.get('display')), + 'starttime': arrow.get(event.get('start')).format(settings.dateformat.get('iso')), + 'enddate': arrow.get(event.get('end')).format(settings.dateformat.get('display')), + 'endtime': arrow.get(event.get('end')).format(settings.dateformat.get('iso')), + }) + return event + @cached_property def tmplvars(self): v = {@@ -532,6 +546,7 @@ 'syndicate': self.syndicate,
'url': self.url, 'review': self.review, 'has_code': self.has_code, + 'event': self.event, } if (self.is_photo): v.update({
M
templates/base.j2.html
→
templates/base.j2.html
@@ -105,8 +105,13 @@ </div>
</header> {% block content %} +{% if post.event %} + {% set mftype = 'h-entry h-event' %} +{% else %} + {% set mftype = 'h-entry' %} +{% endif %} <main> - <article class="h-entry hentry singular" lang="{{ post.lang }}" property="h-entry" itemscope="" itemprop="blogPost" itemtype="http://schema.org/BlogPosting" itemref="author"> + <article class="{{ mftype }} hentry singular" lang="{{ post.lang }}" property="{{ mftype }}" itemscope="" itemprop="blogPost" itemtype="http://schema.org/BlogPosting" itemref="author"> <header> <h1 class="entry-title p-name" itemprop="name headline" property="p-name"> {% if post.is_reply %}@@ -166,6 +171,24 @@
<hr/> <footer> <dl> + {% if post.event %} + <dt>Trip details</dt> + <dd> + From + <time class="dt-start dtstart" property="dt-end" datetime="{{ post.event.starttime }}"> + {{ post.event.startdate }} + </time> + to + <time class="dt-end dtend" property="dt-end" datetime="{{ post.event.endtime }}"> + {{ post.event.enddate }} + </time>, in + <span class="p-location location" property="p-location"> + {{ post.event.location }} + </span> + </dd> + {% endif %} + + <dt>Published</dt> <dd class="published updated"> <time class="dt-published dt-updated"