Add 2016/assets/templates/lp-speakers-2016.jinja2
authorrsiddharth <rsd@gnu.org>
Sun, 7 Feb 2016 21:31:08 +0000 (16:31 -0500)
committerrsiddharth <rsd@gnu.org>
Sun, 7 Feb 2016 21:31:08 +0000 (16:31 -0500)
2016/assets/templates/lp-speakers-2016.jinja2 [new file with mode: 0644]

diff --git a/2016/assets/templates/lp-speakers-2016.jinja2 b/2016/assets/templates/lp-speakers-2016.jinja2
new file mode 100644 (file)
index 0000000..5c1c132
--- /dev/null
@@ -0,0 +1,124 @@
+{# -*- mode: jinja2; -*- #}
+{#
+   Copyright (C) 2016  lpschedule-generator contributors. See CONTRIBUTORS.
+
+    This file is part of lpschedule-generator.
+
+   lpschedule-generator is free software: you can redistribute it
+   and/or modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation, either version 3 of
+   the License, or (at your option) any later version.
+
+   lpschedule-generator is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with lpschedule-generator (see COPYING).  If not, see
+   <http://www.gnu.org/licenses/>.
+#}
+
+
+{# make speakers header macro #}
+{% macro mk_speakers_header(speaker_type) %}
+  <header class="{{ speaker_type }}-header">
+    <hgroup>
+      {% if speaker_type == 'keynote-speakers' %}
+        <h2>Keynote speakers</h2>
+      {% else %}
+        <h2>Speakers</h2>
+      {% endif %}
+    </hgroup>
+  </header>
+{% endmacro %}
+
+{# make keynote speaker header macro #}
+{% macro mk_keynote_speaker_header(speaker, id) %}
+  <header id="{{ id }}" class="keynote-speaker-header">
+    <hgroup>
+      <h2>{{ speaker }}</h2>
+    </hgroup>
+  </header>
+{% endmacro %}
+
+{# make speaker header macro #}
+{% macro mk_speaker_header(speaker, id) %}
+  <header id="{{ id }}" class="speaker-header">
+    <hgroup>
+      <h2>{{ speaker }}</h2>
+    </hgroup>
+  </header>
+{% endmacro %}
+
+{# make bio macro #}
+{% macro mk_bio(bio_list) %}
+  {% for bio_p in bio_list %}
+    <p>{{ bio_p }}</p>
+  {% endfor %}
+{% endmacro %}
+
+{# populate keynote speakers macro #}
+{% macro populate_keynote_speakers(speakers) %}
+  {% for speaker in speakers %}
+    <section class="speaker-block" id="lp-keynote-speaker-{{ loop.index }}">
+      <!-- keynote-speaker-{{ loop.index }} row start -->
+      <div class="row">
+        {% if speaker.img_url %}
+          <!-- keynote-speaker-{{ loop.index }} img column start -->
+          <div class="col-md-3 col-sm-4 col-xs-5">
+            <img class="img-responsive" src="{{ speaker.img_url }}"
+                 alt="[ {{ speaker.img_alt }} ]" />
+          </div> <!-- keynote-speaker-{{ loop.index }} img column end -->
+          <!-- keynote-speaker-{{ loop.index }} content column start -->
+          <div class="col-md-9 col-sm-8 col-xs-7">
+        {% else %}
+          <!-- keynote-speaker-{{ loop.index }} content column start -->
+          <div class="col-md-offset-3 col-sm-offset-4 col-xs-offset-5 col-md-9 col-sm-8 col-xs-7">
+        {% endif %}
+        {{ mk_keynote_speaker_header(speaker.speaker, speaker.id) }}
+        {{ mk_bio(speaker.bio) }}
+        </div> <!-- keynote-speaker-{{ loop.index }} content column end -->
+      </div> <!-- keynote-speaker-{{ loop.index }} row end -->
+    </section>
+  {% endfor %}
+{% endmacro %}
+
+{# populate speakers macro #}
+{% macro populate_speakers(speakers) %}
+  {% for speaker in speakers %}
+    <section class="speaker-block" id="lp-speaker-{{ loop.index }}">
+      <div class="row"> <!-- speaker-{{ loop.index }} row start -->
+        {% if speaker.img_url %}
+          <!-- speaker-{{ loop.index }} img column start -->
+          <div class="col-md-2 col-sm-3 col-xs-4">
+            <img class="img-responsive" src="{{ speaker.img_url }}"
+                 alt="[ {{ speaker.img_alt }} ]" />
+          </div> <!-- speaker-{{ loop.index }} img column end -->
+          <!-- speaker-{{ loop.index }} content column start -->
+          <div class="col-md-10 col-sm-9 col-xs-8">
+        {% else %}
+          <!-- speaker-{{ loop.index }} content column start -->
+          <div class="col-md-offset-2 col-sm-offset-3 col-xs-offset-4 col-md-10 col-sm-9 col-xs-8">
+        {% endif %}
+        {{ mk_speaker_header(speaker.speaker, speaker.id) }}
+        {{ mk_bio(speaker.bio) }}
+        </div> <!-- speaker-{{ loop.index }} content column end -->
+      </div> <!-- speaker-{{ loop.index }} row end -->
+    </section>
+  {% endfor %}
+{% endmacro %}
+
+{# lp speakers 2016 template start #}
+{% for speaker_type, speakers in lp_dict.iteritems() %}
+  <article class="speakers-block" id="lp-{{ speaker_type }}">
+    {% if speaker_type == 'keynote-speakers' %}
+      {{ mk_speakers_header(speaker_type) }}
+      {{ populate_keynote_speakers(speakers) }}
+    {% elif speaker_type == 'speakers' %}
+      {{ mk_speakers_header(speaker_type) }}
+      {{ populate_speakers(speakers) }}
+    {% endif %}
+  </article>
+{% endfor %}
+{# lp speakers 2016 template end #}