Allow Markdown within the speaker bio and proposal abstract, with a restricted set of tags for safety. Render direct to markdown instead of storing plain and HTML in the database. Fix issue in timetable when a day had no slots created.
58 lines
2.1 KiB
HTML
58 lines
2.1 KiB
HTML
{% extends "symposion/schedule/base.html" %}
|
|
|
|
{% load lca2018_tags %}
|
|
{% load lca2019_tags %}
|
|
{% load sitetree %}
|
|
{% load static %}
|
|
{% load thumbnail %}
|
|
{% load markdownify %}
|
|
|
|
{% block head_title %}Presentation: {{ presentation.title }}{% endblock %}
|
|
{% block page_title %}{{ presentation.title }}{% endblock %}
|
|
{% block page_lead %}
|
|
{% if presentation.slot %}
|
|
{{ presentation.slot.rooms.0 }} | <span class="presentation-time" data-starttime="{{ presentation.slot.day.date|date:'c' }}T{{ presentation.slot.start|date:'c' }}" data-endtime="{{ presentation.slot.day.date|date:'c' }}T{{ presentation.slot.end|date:'c' }}">{{ presentation.slot.day.date|date:"D d M" }} {{ presentation.slot.start }}–{{ presentation.slot.end }}</span>
|
|
{% else %}
|
|
<em>Not currently scheduled.</em>
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
{% if presentation.unpublish %}
|
|
<div class="row">
|
|
<div class="col">
|
|
<p><strong>Presentation not published.</strong></p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="row presentation-details">
|
|
<div class="col-md-3">
|
|
<h2 class="mt-4">Presented by</h4>
|
|
<ul class="list-unstyled">
|
|
{% for speaker in presentation.speakers %}
|
|
<li class="mb-4 pb-2">
|
|
{% speaker_photo speaker 120 as speaker_photo_url %}
|
|
<img src="{{ speaker_photo_url }}" alt="{{ speaker }}" class="rounded-circle img-fluid">
|
|
<p>
|
|
<strong><a href="{% url "speaker_profile" speaker.pk %}">{{ speaker }}</a></strong><br />
|
|
{% if speaker.twitter_username %}
|
|
<a href="https://twitter.com/{{ speaker.twitter_username }}">{{ speaker.twitter_username|twitter_handle }}</a><br />
|
|
{% endif %}
|
|
{% if speaker.homepage %}
|
|
<a href="{{ speaker.homepage }}">{{ speaker.homepage }}</a>
|
|
{% endif %}
|
|
</p>
|
|
<div class="bio">{{ speaker.biography | markdownify }}</div>
|
|
</p>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="col-md-9 presentation-abstract">
|
|
<h2 class="mt-4">Abstract</h4>
|
|
<div class="abstract pb-4">{{ presentation.abstract | markdownify }}</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|