217 lines
8.2 KiB
HTML
217 lines
8.2 KiB
HTML
{# This Template Shows the Individual Blog Posts#}
|
|
|
|
{% extends "base.html" %}
|
|
|
|
{%- block seo %}
|
|
{{- super() }}
|
|
{%- set title_addition = "" %}
|
|
{%- if page.title and config.title %}
|
|
{%- set title = page.title %}
|
|
{%- set title_addition = title_separator ~ config.title %}
|
|
{%- elif page.title %}
|
|
{%- set title = page.title %}
|
|
{%- else %}
|
|
{%- set title = config.title %}
|
|
{%- endif %}
|
|
|
|
{%- if page.description %}
|
|
{%- set description = page.description %}
|
|
{%- else %}
|
|
{%- set description = config.description %}
|
|
{%- endif %}
|
|
{%- set created_time = page.date %}
|
|
{%- set updated_time = page.updated %}
|
|
{%- if current_section %}
|
|
{%- set page_section = current_section %}
|
|
{%- else %}
|
|
{%- set page_section = "" %}
|
|
{%- endif %}
|
|
|
|
{{- macros_seo::seo(config=config, title=title, title_addition=title_addition, description=description, type="article", is_page=true, created_time=created_time, updated_time=updated_time, page_section=page_section) }}
|
|
{%- endblock seo %}
|
|
|
|
{%- block comments_init %}
|
|
{%- if config.extra.comments.hyvor %}
|
|
<script defer src="https://talk.hyvor.com/embed/embed.js" type="module"></script>
|
|
{%- endif %}
|
|
{%- endblock comments_init %}
|
|
|
|
{%- block content %}
|
|
<article>
|
|
{{- macros::title_post(page=page, config=config) }}
|
|
|
|
{%- if config.extra.meta_post.position %}
|
|
{%- if config.extra.meta_post.position == "top" or config.extra.meta_post.position == "both" %}
|
|
{{- macros::meta_post(page=page, config=config) }}
|
|
{%- endif %}{%- endif %}
|
|
|
|
{# In Page Series Navigation #}
|
|
{%- if config.extra.series | default(value=true) %}
|
|
{%- if page.extra.series %}
|
|
|
|
{%- set tag = get_taxonomy_term(kind="tags", term=page.extra.series, lang=lang) %}
|
|
{%- set page_num = tag.page_count | as_str %}
|
|
|
|
{%- if lang != config.default_language %}
|
|
{%- set parts_string = macros::translate(key='Series_parts', default='Series', i18n=i18n) | replace(from="$NUMBER_OF_PARTS", to=page_num) %}
|
|
{% else %}
|
|
{%- set parts_string = config.extra.Series_parts | default(value="Series") | replace(from="$NUMBER_OF_PARTS", to=page_num) %}
|
|
{% endif -%}
|
|
|
|
<div class="block">
|
|
<div class="blockdiv">
|
|
<a class="b s150" href="{{ tag.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ tag.name }} ({{ parts_string }})</a>
|
|
<ol>
|
|
{%- for inner in tag.pages | sort(attribute="date") %}
|
|
{%- if inner.content == page.content %}
|
|
<li><a class="scur" href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li>
|
|
{%- set_global current_section_index = loop.index0 %} {# Finds the current section, needed for pagination logic later #}
|
|
{% else %}
|
|
<li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li>
|
|
{%- endif %}
|
|
{%- endfor %}
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
|
|
{{ page.content | safe }}
|
|
|
|
{%- if config.extra.meta_post.position %}
|
|
{%- if config.extra.meta_post.position == "bottom" or config.extra.meta_post.position == "both" %}
|
|
{{- macros::meta_post(page=page, config=config) }}
|
|
{%- endif %}{%- endif %}
|
|
|
|
{%- block page_footer %}
|
|
{{- macros::footer(page=page, config=config) }}
|
|
{%- endblock page_footer %}
|
|
|
|
{%- block comments_body %}
|
|
{%- if config.extra.comments.hyvor %}
|
|
<hyvor-talk-comments website-id={{ config.extra.comments.hyvor }} page-id={{ page.slug }}{%- if config.extra.comments.hyvorcolor %} colors="{{ config.extra.comments.hyvorcolor }}"{%- endif %}></hyvor-talk-comments>
|
|
{%- endif %}
|
|
{%- endblock comments_body %}
|
|
</article>
|
|
{%- block toc %}
|
|
{%- if config.extra.toc | default(value=true) %}
|
|
{%- if page.extra.toc %}
|
|
{%- set toc = page.toc %}
|
|
{%- endif %}
|
|
{%- if toc or page.extra.series %}
|
|
|
|
<div class="sblock">
|
|
{%- if page.extra.series %}
|
|
{%- set num_extra_pages = config.extra.series_items | default(value=9) %}
|
|
<div class="blockdiv">
|
|
<a class="b s150" href="{{ tag.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ parts_string }}</a>
|
|
<ol>
|
|
{%- if tag.page_count > num_extra_pages and num_extra_pages > 0 %}
|
|
{%- set sorted_array = tag.pages | sort(attribute="date") %}
|
|
{%- set num_pages = tag.page_count %}
|
|
|
|
{# Shows the first page #}
|
|
{{ macros::series_link(inner=sorted_array.0, page=page, config=config) }}
|
|
|
|
{# Hides the next couple of pages if the current section is more than 3 away from start #}
|
|
{%- if current_section_index > 3 %}
|
|
<details>
|
|
<summary>More...</summary>
|
|
</details>
|
|
<div class="hidden_li">
|
|
{%- for inner in sorted_array | slice(start=1, end=(current_section_index - 2)) %}
|
|
<li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li>
|
|
{%- endfor %}
|
|
</div>
|
|
{%- endif %}
|
|
|
|
{# Max(current_section_index - 2, 1) #}
|
|
{%- if (current_section_index - 2 ) > 1 %}
|
|
{%- set num = current_section_index - 2 %}
|
|
{%- else %}
|
|
{%- set num = 1 %}
|
|
{%- endif %}
|
|
|
|
{# Shows two pages before current page #}
|
|
{%- for inner in sorted_array | slice(start=num, end=current_section_index) %}
|
|
<li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li>
|
|
{%- endfor %}
|
|
|
|
{# Shows the current page #}
|
|
{%- if current_section_index != 0 and current_section_index != (num_pages - 1) %}
|
|
{{ macros::series_link(inner=sorted_array[current_section_index], page=page, config=config) }}
|
|
{%- endif %}
|
|
|
|
{# Min(num_pages - 1, current_section_index + 3) #}
|
|
{%- if (num_pages - 2 ) < (current_section_index + 3) %}
|
|
{%- set num = num_pages - 1 %}
|
|
{%- else %}
|
|
{%- set num = current_section_index + 3 %}
|
|
{%- endif %}
|
|
|
|
{%- for inner in sorted_array | slice(start=(current_section_index + 1), end=num ) %}
|
|
<li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li>
|
|
{%- endfor %}
|
|
|
|
{%- if current_section_index < num_pages - 4 %}
|
|
<details>
|
|
<summary>More...</summary>
|
|
</details>
|
|
<div class="hidden_li">
|
|
{%- for inner in sorted_array | slice(start=(current_section_index + 3), end=(num_pages - 1)) %}
|
|
<li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li>
|
|
{%- endfor %}
|
|
</div>
|
|
{%- endif %}
|
|
|
|
{%- set last = num_pages - 1%}
|
|
{{ macros::series_link(inner=sorted_array[last], page=page, config=config) }}
|
|
|
|
{# If there is not more than max pages render normally #}
|
|
{%- else %}
|
|
{%- for inner in tag.pages | sort(attribute="date") %}
|
|
{{ macros::series_link(inner=inner, page=page, config=config) }}
|
|
{%- endfor %}
|
|
{%- endif %}
|
|
</ol>
|
|
</div>
|
|
{%- endif %}
|
|
|
|
{%- if toc %}
|
|
<div class="blockdiv sticky">
|
|
<a class="b s150" href="#">{{ macros::translate(key="Index", default="Index", i18n=i18n) }}</a>
|
|
{%- for h in toc %}
|
|
<div>
|
|
<a href="#{{h.id | safe}}">{{ h.title }}</a>
|
|
</div>
|
|
{%- if h.children %}
|
|
{%- for h2 in h.children %}
|
|
<div class="hpad">
|
|
<a href="#{{h2.id | safe}}"><small>- {{ h2.title }}</small></a>
|
|
</div>
|
|
{%- endfor %}
|
|
{%- endif %}
|
|
{%- endfor %}
|
|
</div>
|
|
</div>
|
|
{%- endif %}
|
|
{%- endif %}
|
|
{%- endif %}
|
|
{%- endblock toc %}
|
|
|
|
{%- endblock content %}
|
|
|
|
{%- block gotop %}
|
|
|
|
{%- if page.reading_time %}
|
|
{%- if page.reading_time > 2 %}
|
|
{%- set icon_top=config.extra.icon_top | default(value="svgs svgh angu") -%}
|
|
<span class="topout">
|
|
<span class="topleft"> </span><a href="#" class="top" title="Back to Top">{%- if icon_top %}<i class="{{ icon_top }}"></i>{%- else %}⋏{%- endif %}</a>
|
|
</span>
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
{%- endblock gotop %}
|