50 lines
1.6 KiB
Django/Jinja
50 lines
1.6 KiB
Django/Jinja
|
|
|
|
{% macro nl_list(l, page_n=None, total_count=None, hl_tags=(), other_url='p/most_recent') %}
|
|
{% if page_n and total_count %}
|
|
<p class="nl-pagination">
|
|
Showing results <strong>{{ page_n * 20 - 19 }}</strong> to <strong>{{ min(page_n * 20, total_count) }}</strong>
|
|
of <strong>{{ total_count }}</strong> total.</p>
|
|
{% endif %}
|
|
|
|
<ul class="nl-list">
|
|
{% if page_n and page_n > 1 %}
|
|
<li class="nl-prev"><a href="/{{ other_url }}/?page={{ page_n - 1 }}">« Previous page</a></li>
|
|
{% endif %}
|
|
{% for n in l %}
|
|
<li>
|
|
<a href="{{ n.get_url() }}" class="nl-title">{{ n.title }}</a>
|
|
<p class="nl-desc">{{ n.short_desc() }}</p>
|
|
{% if n.tags %}
|
|
<p class="nl-tags">
|
|
<span class="material-icons">tag</span>
|
|
{{ T('tags') }}:
|
|
{% for tag in n.tags %}
|
|
{% set tn = tag.name %}
|
|
{% if tn in hl_tags %}
|
|
<strong class="nl-tag-hl">#{{ tn }}</strong>
|
|
{% else %}
|
|
<a href="/tags/{{ tn }}/" class="nl-tag">#{{ tn }}</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</p>
|
|
{% endif %}
|
|
{% if n.calendar %}
|
|
<p class="nl-calendar">
|
|
<span class="material-icons">calendar_today</span>
|
|
<a href="/calendar/{{ n.calendar.year }}/{{ n.calendar.month }}">
|
|
<time datetime="{{ n.calendar.isoformat() }}">{{ n.calendar.strftime('%B %-d, %Y') }}</time>
|
|
</a>
|
|
</p>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
|
|
{% if page_n is none %}
|
|
<li class="nl-next"><a href="/{{ other_url }}/">{{ T('show-all') }}</a></li>
|
|
{% elif page_n <= total_count // 20 %}
|
|
<li class="nl-next"><a href="/{{ other_url }}/?page={{ page_n + 1 }}">Next page »</a></li>
|
|
{% endif %}
|
|
</ul>
|
|
{% endmacro %}
|
|
|