{% component translate(key: string, i18n, default="") %} {{- i18n[key] | default(value=default) | safe -}} {% endcomponent translate %} {%- component page_listing(page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %}
{{ page.title | markdown(inline=true) | safe }}
{%- endcomponent page_listing %} {%- component series_link(inner, page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %} {%- if inner.content == page.content %} {{ inner.title }}
{%- else %} {{ inner.title }}
{%- endif %} {%- endcomponent series_link %} {%- component title_post(page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) %} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %}

{{ page.title | markdown(inline=true) | safe }}

{%- endcomponent title_post %} {%- component meta_post(page, config) -%} {#- Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. -#} {%- set i18n = load_data(path="i18n/" ~ page.lang ~ '.toml', required=false) -%} {%- if not i18n -%}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ page.lang ~ ".toml", required=false) -%}{%- endif -%} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true -%}{%- endif %}{%- endif %} {#- Author #} {%- if page.taxonomies.authors and config.taxonomies %} {%- for author in page.taxonomies.authors %} {%- if author_flag %}, {% endif %} {{ author }} {%- set_global author_flag = true %} {%- endfor %} {%- elif page.extra.authors and config.extra.meta_post?.author %} {%- if config.extra.icon_author %} {% endif %} {%- for author in page.extra.authors %} {%- if author_flag %}, {% endif %} {{ author }} {%- set_global author_flag = true %} {%- endfor %} {%- elif config.extra.author and config.extra.meta_post?.author %} {%- if config.extra.icon_author %} {% endif %} {{ config.extra.author }} {%- endif %} {#- divider #} {%- if config.extra.meta_post?.author %} {%- if config.extra.meta_post?.readtime or config.extra.meta_post?.date or config.extra.meta_post?.updated or config.extra.meta_post?.categories_tags %} {%- if config.extra.meta_post?.divider %}{{ config.extra.meta_post?.divider | safe }}{%- else %} {%- endif %} {%- endif %} {%- endif %} {#- ReadTime #} {%- if config.extra.meta_post?.readtime %} {%- if config.extra.icon_read %} {% endif %} {{ page.reading_time }} {{ config.extra.meta_post?.readstring | default(value="min") }} {#- divider #} {%- if config.extra.meta_post?.date or config.extra.meta_post?.updated or config.extra.meta_post?.categories_tags %} {%- if config.extra.meta_post?.divider %}{{ config.extra.meta_post?.divider | safe }}{%- else %} {%- endif %}{%- endif %}{%- endif %} {#- Date #} {%- if config.extra.meta_post?.date %} {%- if config.extra.icon_date %} {% endif %} {%- set lang_locale %}{{}}{% endset %} {%- set page_date = page.date | date(format="%B %d, %Y", locale=lang_locale) %} {%- if page_date %} {{ page_date }} {%- else %} {{ page.date | date(format="%B %d, %Y") }} {%- endif %} {#- divider #} {%- if config.extra.meta_post?.updated or config.extra.meta_post?.categories_tags %} {%- if config.extra.meta_post?.divider %}{{ config.extra.meta_post?.divider | safe }}{%- else %} {%- endif %}{%- endif %}{% endif %} {#- Updated #} {%- if config.extra.meta_post?.updated and page.updated %} {%- if config.extra.icon_date %} {% endif %} {{}}: {%- set lang_locale %}{{}}{% endset %} {%- set page_updated = page.updated | date(format="%B %d, %Y", locale=lang_locale) %} {%- if page_updated %} {{ page_updated }} {%- else %} {{ page.updated | date(format="%B %d, %Y") }} {%- endif %} {#- divider #} {%- if config.extra.meta_post?.categories_tags %} {%- if config.extra.meta_post?.divider %}{{ config.extra.meta_post?.divider | safe }}{%- else %} {%- endif %}{%- endif %}{% endif %} {#- Categories #} {%- if page.taxonomies.categories %} {%- if config.extra.icon_info %} {% endif %} [{% for cat in page.taxonomies.categories %}{{ cat }}{%- if not loop.last %}, {% endif %}{% endfor %}]{% endif %} {#- Tags #} {%- if page.taxonomies.tags %} {%- for tag in page.taxonomies.tags %} #{{ tag }} {% endfor %}{%- endif %} {%- endcomponent meta_post %} {%- component title_index(page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.search_library -%}{%- if config.extra.search_library == "offline" -%}{%- set uglyurls = true -%}{%- endif -%}{%- endif -%} {% if config.extra.title_size_index %}{% endif %}{{ page.title | markdown(inline=true) | safe }}{% if config.extra.title_size_index %}{% endif %} {%- endcomponent title_index -%} {%- component meta_index(page, config) %} {#- Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. -#} {%- set i18n = load_data(path="i18n/" ~ page.lang ~ '.toml', required=false) -%} {%- if not i18n %}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ page.lang ~ ".toml", required=false) %}{%- endif %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true -%}{%- endif -%}{%- endif -%} {#- Author #} {%- if page.taxonomies.authors and config.taxonomies %} {%- for author in page.taxonomies.authors %} {%- if author_flag %}, {% endif %} {{ author }} {%- set_global author_flag = true %} {%- endfor %} {%- elif page.extra.authors and config.extra.meta_index?.author %} {%- if config.extra.icon_author %} {% endif %} {%- for author in page.extra.authors %} {%- if author_flag %}, {% endif %} {{ author }} {%- set_global author_flag = true %} {%- endfor %} {%- elif config.extra.author and config.extra.meta_index?.author %} {%- if config.extra.icon_author %} {% endif %} {{ config.extra.author }} {%- endif %} {#- divider #} {%- if config.extra.meta_index?.author %} {%- if config.extra.meta_index?.readtime or config.extra.meta_index?.date or config.extra.meta_index?.updated or config.extra.meta_index?.categories_tags %} {%- if config.extra.meta_index?.divider %}{{ config.extra.meta_index?.divider | safe }}{%- else %} {%- endif %} {%- endif %} {%- endif %} {#- ReadTime #} {%- if config.extra.meta_index?.readtime %} {%- if config.extra.icon_read %} {% endif %} {{ page.reading_time }} {{ config.extra.meta_index?.readstring | default(value="min") }} {#- divider #} {%- if config.extra.meta_index?.date or config.extra.meta_index?.updated or config.extra.meta_index?.categories_tags %} {%- if config.extra.meta_index?.divider %}{{ config.extra.meta_index?.divider | safe }}{%- else %} {%- endif %}{%- endif %}{%- endif %} {#- Date #} {%- if config.extra.meta_index?.date %} {%- if config.extra.icon_date %} {% endif %} {%- set lang_locale %}{{}}{% endset %} {%- set page_date = page.date | date(format="%B %d, %Y", locale=lang_locale) %} {%- if page_date %} {{ page_date }} {%- else %} {{ page.date | date(format="%B %d, %Y") }} {%- endif %} {#- divider #} {%- if config.extra.meta_index?.updated or config.extra.meta_index?.categories_tags %} {%- if config.extra.meta_index?.divider %}{{ config.extra.meta_index?.divider | safe }}{%- else %} {%- endif %}{%- endif %}{% endif %} {#- Updated #} {%- if config.extra.meta_index?.updated and page.updated %} {%- if config.extra.icon_date %} {% endif %} {{}}: {%- set lang_locale %}{{}}{% endset %} {%- set page_updated = page.updated | date(format="%B %d, %Y", locale=lang_locale) %} {%- if page_updated %} {{ page_updated }} {%- else %} {{ page.updated | date(format="%B %d, %Y") }} {%- endif %} {#- divider #} {%- if config.extra.meta_index?.categories_tags %} {%- if config.extra.meta_index?.divider %}{{ config.extra.meta_index?.divider | safe }}{%- else %} {%- endif %}{%- endif %}{% endif %} {#- Categories #} {%- if page.taxonomies.categories %} {%- if config.extra.icon_info %} {% endif %} [{% for cat in page.taxonomies.categories %}{{ cat }}{%- if not loop.last %}, {% endif %}{% endfor %}]{% endif %} {#- Tags #} {%- if page.taxonomies.tags %} {%- for tag in page.taxonomies.tags %} #{{ tag }} {% endfor %}{%- endif %} {%- endcomponent meta_index -%} {%- component footer(page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %} {#- prev/next content page nextprev title pagination -#} {%- if not config.extra.hide_page_nextprev_titles | default(value=false) %} {%- if page.lower or page.higher %} {%- endif %} {%- endif %} {%- endcomponent footer %} {% component pagination(paginator, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) %} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{% set uglyurls = true %}{% endif %}{% endif %} {%- if paginator.number_pagers > 1 %} {%- if paginator.number_pagers <= 5 %} {# 5 or less pager is simple, just display all 5 #} {%- set start = 1 %} {%- set end = paginator.number_pagers %} {%- endif %} {%- if paginator.number_pagers > 5 %} {%- if paginator.current_index >= 3 %} {# Check if the first number will be 1 or not #} {%- set start = paginator.current_index - 2 %} {# Set the start number #} {%- if paginator.number_pagers - paginator.current_index < 2 %} {# the last two pages your no longer centered with equal pages start and end #} {%- set difference = paginator.number_pagers - paginator.current_index %} {%- set compensation = 1 - difference %} {%- set start = paginator.current_index - 3 - compensation %} {# however many pages are missing on the end, add offset to start #} {%- endif %} {%- else %} {%- set start = 1 %} {%- endif %} {%- if paginator.number_pagers >= paginator.current_index + 2 %} {# Check if the last page is beyond our range #} {%- set end = paginator.current_index + 2 %} {# End is beyond our range so we can safely set it to our range #} {%- if paginator.current_index <= 3 %} {# check offset start, if on page 1 or 2 then set the end to page 5 #} {%- set end = 5 %} {%- endif %} {%- else %} {%- set end = paginator.number_pagers %} {%- endif %} {%- endif %} {%- endif %} {% endcomponent pagination %} {% component numpagination(paginator, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) %} {%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{% set uglyurls = true %}{% endif %}{% endif %} {%- if paginator.number_pagers > 1 %} {%- if paginator.number_pagers <= 5 %} {# 5 or less pager is simple, just display all 5 #} {%- set start = 1 %} {%- set end = paginator.number_pagers %} {%- endif %} {%- if paginator.number_pagers > 5 %} {%- if paginator.current_index >= 3 %} {# Check if the first number will be 1 or not #} {%- set start = paginator.current_index - 2 %} {# Set the start number #} {%- if paginator.number_pagers - paginator.current_index < 2 %} {# the last two pages your no longer centered with equal pages start and end #} {%- set difference = paginator.number_pagers - paginator.current_index %} {%- set compensation = 1 - difference %} {%- set start = paginator.current_index - 3 - compensation %} {# however many pages are missing on the end, add offset to start #} {%- endif %} {%- else %} {%- set start = 1 %} {%- endif %} {%- if paginator.number_pagers >= paginator.current_index + 2 %} {# Check if the last page is beyond our range #} {%- set end = paginator.current_index + 2 %} {# End is beyond our range so we can safely set it to our range #} {%- if paginator.current_index <= 3 %} {# check offset start, if on page 1 or 2 then set the end to page 5 #} {%- set end = 5 %} {%- endif %} {%- else %} {%- set end = paginator.number_pagers %} {%- endif %} {%- endif %} {%- endif %} {% endcomponent numpagination %}