79 lines
2 KiB
Django/Jinja
79 lines
2 KiB
Django/Jinja
<style>
|
|
.talk-grid {
|
|
table-layout: auto;
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
text-align: center;
|
|
}
|
|
.talk-grid > thead th:first-child {
|
|
max-width: 5em;
|
|
}
|
|
|
|
.talk-grid > thead th {
|
|
text-align: center;
|
|
}
|
|
|
|
|
|
.rooms-4 .talk { width: 25%; }
|
|
.rooms-3 .talk { width: 33%; }
|
|
.rooms-2 .talk { width: 50%; }
|
|
.rooms-1 .talk { width: 100%; }
|
|
td.talk {
|
|
border: 1px solid #444;
|
|
padding: 4px;
|
|
}
|
|
|
|
td.talk > a {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.talk-grid tr { line-height: 1em; }
|
|
|
|
.talk-grid tr:hover td:first-child {
|
|
background-color: rgb(152, 14, 14);
|
|
background-color: rgba(152, 14, 14, 0.79);
|
|
}
|
|
|
|
.talk-grid tr:hover td {
|
|
background-color: rgb(60, 22, 22)
|
|
}
|
|
|
|
|
|
</style>
|
|
|
|
<table class="talk-grid rooms-{{-rooms|length}}">
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
{% for room in rooms %}
|
|
<th>{{room}}</th>
|
|
{% endfor %}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for time in range (mintime, maxtime, timestep) %}
|
|
<tr>
|
|
<td>{{time//60}}:{{ "%02d" % (time % 60)}}</td>
|
|
{% for talk in times[time / timestep * timestep] %}
|
|
{% if not loop.first and talk.room == '*' %}
|
|
{# skip: covered by colspan #}
|
|
{% elif talk == None %}
|
|
<td></td>
|
|
{% elif not talk.skip %}
|
|
<td class="talk
|
|
{% if talk.room == '*' -%}allrooms{%-endif-%}
|
|
{% for t in talk.tags -%} tag-{{t|replace(' ', '_')}} {%endfor-%}
|
|
"
|
|
rowspan="{{talk.duration // timestep}}"
|
|
{% if talk.room == '*' %}colspan="{{rooms|length}}"{%endif%}>
|
|
<a href="#talk-{{talk.id}}"
|
|
title="{{talk.tags|join(",")}}"
|
|
>{{talk.title}}</a>
|
|
</td>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{# vim: set ft=jinja: #}
|