From 830cabab1f638052a8c4ac39eb86370da5a676eb Mon Sep 17 00:00:00 2001 From: Jieiku Date: Sun, 14 Aug 2022 12:41:15 -0700 Subject: Alternate Search Libraries Tinysearch and Stork --- templates/base.html | 7 ++-- templates/index.html | 7 ++-- templates/macros/create_stork_toml.html | 19 +++++++++ templates/macros/create_tinysearch_json.html | 26 +++++++++++++ templates/macros/head.html | 58 +++++++++++++++++++++------- templates/stork_toml.html | 6 +++ templates/tinysearch_json.html | 2 + 7 files changed, 105 insertions(+), 20 deletions(-) create mode 100644 templates/macros/create_stork_toml.html create mode 100644 templates/macros/create_tinysearch_json.html create mode 100644 templates/stork_toml.html create mode 100644 templates/tinysearch_json.html (limited to 'templates') diff --git a/templates/base.html b/templates/base.html index 1022004..9d27f8a 100644 --- a/templates/base.html +++ b/templates/base.html @@ -12,6 +12,7 @@ {{- macros_head::stylesheets_preload() }} {{- macros_head::js() }} + {{- macros_head::feed() }} {%- block seo %} {%- if config.extra.title_separator %} @@ -60,12 +61,12 @@ {%- if config.build_search_index %}
-
+
- +
-
+
{%- endif %} diff --git a/templates/index.html b/templates/index.html index 9c25fa4..1434aee 100644 --- a/templates/index.html +++ b/templates/index.html @@ -33,17 +33,18 @@ {%- if config.extra.meta_index.position == "top" or config.extra.meta_index.position == "both" %} {{- macros::meta_index(page=page) }} {%- endif %}{%- endif %} -

+

+

{%- if page.summary %} {{ page.summary | markdown(inline=true) | safe }} {%- elif page.description %} {{ page.description | safe }} {%- elif page.content %} - {{ page.content | safe | striptags | truncate(length=150) }} + {{ page.content | striptags | truncate(length=150) | safe }} {%- elif page.extra.static_thumbnail %} {%- endif %} ...more -

+
{%- if config.extra.meta_index.position %} {%- if config.extra.meta_index.position == "bottom" or config.extra.meta_index.position == "both" %} {{- macros::meta_index(page=page) }} diff --git a/templates/macros/create_stork_toml.html b/templates/macros/create_stork_toml.html new file mode 100644 index 0000000..c9ed35c --- /dev/null +++ b/templates/macros/create_stork_toml.html @@ -0,0 +1,19 @@ +{# cargo install stork-search --locked #} +{# cd .dev/abridge #} +{# zola build #} +{# /home/jieiku/.cargo/bin/stork build --input public/data_stork/index.html --output static/stork.st #} + +{%- macro from_section(section) -%} +{%- set section = get_section(path=section) -%} +{%- for post in section.pages -%} +{%- if not post.draft %} {path = {{ '.' ~ post.path ~ 'index.html' | json_encode | safe }}, url = {{ post.permalink | json_encode | safe }}, title = {{ post.title | striptags | json_encode | safe }}} +{%- if not loop.last -%}, +{% endif -%} +{%- endif -%} +{%- endfor -%} +{%- if section.subsections -%}, +{% for subsection in section.subsections -%} +{{ self::from_section(section=subsection) }} +{%- endfor -%} +{%- endif -%} +{%- endmacro from_section -%} \ No newline at end of file diff --git a/templates/macros/create_tinysearch_json.html b/templates/macros/create_tinysearch_json.html new file mode 100644 index 0000000..f45ed42 --- /dev/null +++ b/templates/macros/create_tinysearch_json.html @@ -0,0 +1,26 @@ +{%- macro from_section(section) -%} +{%- set section = get_section(path=section) -%} +{%- for post in section.pages -%} +{%- if not post.draft -%} +{ +"title": {{ post.title | striptags | json_encode | safe }}, +"url": {{ post.permalink | json_encode | safe }}, +"meta": {% if post.summary %} + {{- post.summary | striptags | truncate(length=150) | json_encode | safe }} + {%- elif post.description %} + {{- post.description | striptags | truncate(length=150) | json_encode | safe }} + {%- elif post.content %} + {{- post.content | striptags | truncate(length=150) | json_encode | safe }} + {%- endif %}, +"body": {{ post.content | striptags | json_encode | safe }} +} +{%- if not loop.last -%},{%- endif %} +{%- endif -%} +{%- endfor -%} +{%- if section.subsections -%} +, +{%- for subsection in section.subsections -%} +{{ self::from_section(section=subsection) }} +{%- endfor -%} +{%- endif -%} +{%- endmacro from_section -%} \ No newline at end of file diff --git a/templates/macros/head.html b/templates/macros/head.html index 0fbae7c..c3b217c 100644 --- a/templates/macros/head.html +++ b/templates/macros/head.html @@ -1,3 +1,4 @@ +{#- Theme Switcher Button to toggle between dark/light #} {%- macro theme() %} {%- if config.extra.js_theme %} {%- if config.extra.js_themeButton or config.extra.js_bundle %} @@ -70,19 +71,35 @@ {%- endif %} {%- endif %} -{%- if config.build_search_index and config.extra.js_bundle %} +{%- if config.extra.js_bundle and config.build_search_index or config.extra.js_bundle and config.extra.search_library %} {%- if config.extra.js_search_facade %} - {# dont load the index #} + {#- dont load the index #} + {%- elif config.extra.search_library == "tinysearch" or config.extra.search_library == "stork" %} + {#- dont load the index #} {%- elif config.extra.js_search_index %} {%- endif %} - {%- if config.extra.js_bundle %} - + + {%- if not config.extra.js_search_facade %} + + {%- if config.extra.js_switcher %} + + {%- else %} + + {%- endif %} + + {%- elif config.extra.search_library == "tinysearch" %} + + {%- elif config.extra.search_library == "stork" %} + + {%- else %} + {%- endif %} -{%- elif config.build_search_index %} + +{%- elif config.build_search_index or config.extra.search_library %} {#- no bundle #} @@ -90,8 +107,8 @@ {%- if config.extra.js_prestyle %} {%- endif %} - {%- endif %} + {%- if config.extra.js_theme %} {%- if config.extra.js_themeButton %} @@ -109,26 +126,39 @@ {%- endif %} {%- if config.extra.js_search_facade %} + {%- if config.extra.search_library %} + {%- if config.extra.search_library == "tinysearch" %} + + {%- elif config.extra.search_library == "stork" %} + + {%- endif %} + {%- endif %} {%- endif %} - {%- if config.extra.js_search_facade %} - + {%- if config.extra.js_search_facade or config.extra.search_library %} + {#- dont load the index/search #} {%- elif config.extra.js_search_index %} {%- endif %} + {%- if config.extra.js_search_facade %} - {# dont load the index/search #} - {%- elif config.extra.js_search %}{%- for i in config.extra.js_search %} - - {%- endfor %}{%- endif %} + {#- dont load the index/search #} + {%- else %} + {%- if config.extra.search_library == "tinysearch" %} + + {%- elif config.extra.search_library == "stork" %} + + {%- else %} + + + {%- endif %} + {%- endif %} {%- elif config.extra.js_bundle %} {#- no search #} - - {%- else %} {#- no bundle or search #} diff --git a/templates/stork_toml.html b/templates/stork_toml.html new file mode 100644 index 0000000..ba3f714 --- /dev/null +++ b/templates/stork_toml.html @@ -0,0 +1,6 @@ +{%- import "macros/create_stork_toml.html" as create_stork_toml -%} +[input] +base_directory = "public" +files = [ +{{ create_stork_toml::from_section(section="_index.md") }} +] diff --git a/templates/tinysearch_json.html b/templates/tinysearch_json.html new file mode 100644 index 0000000..638833f --- /dev/null +++ b/templates/tinysearch_json.html @@ -0,0 +1,2 @@ +{%- import "macros/create_tinysearch_json.html" as create_tinysearch_json -%} +[{{ create_tinysearch_json::from_section(section="_index.md") }}] \ No newline at end of file -- cgit v1.3.1