diff options
Diffstat (limited to 'templates/macros/head.html')
| -rw-r--r-- | templates/macros/head.html | 406 |
1 files changed, 0 insertions, 406 deletions
diff --git a/templates/macros/head.html b/templates/macros/head.html deleted file mode 100644 index 3ed3af0..0000000 --- a/templates/macros/head.html +++ /dev/null @@ -1,406 +0,0 @@ -{#- Theme Switcher Button to toggle between dark/light #} -{%- macro theme(config) %} - {%- set integrity = config.extra.integrity | default(value=true) -%} - {%- if config.extra.offline %}{% set integrity = false %}{% endif %} - - {%- if config.extra.js_switcher | default(value=true) %} - {%- set js_theme="js/theme.min.js" %} - {%- if config.extra.js_switcher_default %} - {%- if config.extra.js_switcher_default == "light" %}{% set js_theme="js/theme_light.min.js" %}{% endif %} - {%- endif %} - <script src="{{ get_url(path=js_theme , trailing_slash=false) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=js_theme, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} -{%- endmacro %} - -{%- macro stylesheets(config) %} - {%- set stylesheets=config.extra.stylesheets | default(value=[ "abridge.css" ]) -%} - {%- if stylesheets %}{%- for i in stylesheets %} - <link rel="stylesheet" href="{{ get_url(path=i , trailing_slash=false, cachebust=true) | safe }}" /> - {%- endfor %}{%- endif %} -{%- endmacro %} - - - -{%- macro stylesheets_preload(config) %} - {%- set integrity = config.extra.integrity | default(value=true) -%} - {%- if config.extra.offline %}{% set integrity = false %}{% endif %} - -{%- if config.extra.fonts %}{%- for i in config.extra.fonts %} - {%- if i.url is matching("^http[s]?://") %} - <link rel="preload" as="style" class="preStyle" href="{{ i.url | safe }}" crossorigin="anonymous" /> - {%- else %} - <link rel="preload" as="font" href="{{ get_url(path=i.url, trailing_slash=false) | safe }}" type="font/woff2" /> - {%- endif %} -{%- endfor %}{%- endif %} - -{%- if config.extra.fontawesome %} - <link rel="preload" as="style" class="preStyle" href="{{ config.extra.fontawesome | safe }}" crossorigin="anonymous" /> -{%- endif %} - -{%- if config.extra.math or page.extra.math %} - - {%- set katex_css=config.extra.katex_css | default(value="katex.min.css") -%} - {%- if katex_css %}{%- if katex_css is matching("^http[s]?://") %} - <link rel="preload" as="style" class="preStyle" href="{{ katex_css | safe }}"{%- if integrity and config.extra.katex_css_integrity %} integrity="{{ config.extra.katex_css_integrity | safe }}"{%- endif %} crossorigin="anonymous" /> - {%- else %} - <link rel="preload" as="style" class="preStyle" href="{{ get_url(path=katex_css, trailing_slash=false) }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=katex_css, sha_type=384, base64=true) | safe }}"{%- endif %} /> - {%- endif %}{%- endif %} - -{%- endif %} - -{%- endmacro %} - - - -{%- macro feed(config) %} - {%- if config.generate_feed %} - <link rel="alternate" type="{% if config.feed_filename is containing('atom') %}application/atom+xml{% else %}application/rss+xml{% endif %}" title="{{ config.title }} Atom/RSS Feed" href="{{ get_url(path=config.feed_filename, trailing_slash=false, lang=lang) | safe }}" /> - {%- endif %} -{%- endmacro %} - - - -{%- macro js(config) %} - {%- set integrity = config.extra.integrity | default(value=true) -%} - {%- if config.extra.offline %}{% set integrity = false %}{% endif %} - {%- set search_library=config.extra.search_library | default(value="elasticlunr") -%} - - {%- set preStyle = false %} - - {%- if config.extra.fonts %}{%- for i in config.extra.fonts %} - {%- if i.url is matching("^http[s]?://") %} - {%- set preStyle = true %} - {%- endif %} - {%- endfor %}{%- endif %} - - {%- if config.extra.fontawesome %} - {%- set preStyle = true %} - {%- endif %} - - {%- if config.extra.math or page.extra.math %} - {%- set katex_css=config.extra.katex_css | default(value="katex.min.css") -%} - {%- if katex_css %} - {%- set preStyle = true %} - {%- endif %} - {%- endif %} - - -{%- if config.extra.js_bundle %} - {%- if config.build_search_index %} - {%- if config.extra.pwa | default(value=false) %} - <script defer src="{{ get_url(path='js/abridge.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/abridge.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - <script defer src="{{ get_url(path='js/abridge_nopwa.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/abridge_nopwa.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- else %} - {%- if config.extra.pwa | default(value=false) %} - <script defer src="{{ get_url(path='js/abridge_nosearch.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/abridge_nosearch.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - <script defer src="{{ get_url(path='js/abridge_nosearch_nopwa.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/abridge_nosearch_nopwa.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} - - {%- if config.build_search_index %} - {%- if search_library == "elasticlunr" %} - {%- if lang != "en" %} - <script defer src="{{ get_url(path='js/lunr.stemmer.support.min.js', trailing_slash=false) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/lunr.stemmer.support.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - <script defer src="{{ get_url(path='js/lunr.' ~ lang ~ '.min.js' , trailing_slash=false) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/lunr.' ~ lang ~ '.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} - {%- endif %} - -{%- else %}{#- Not js_bundle #} - - {%- if preStyle == true %} - {%- if config.extra.js_prestyle | default(value=true) %} - <script defer src="{{ get_url(path='js/prestyle.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/prestyle.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} - - {%- if config.extra.js_switcher | default(value=true) %} - <script defer src="{{ get_url(path='js/theme_button.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/theme_button.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- if config.extra.js_email_encode | default(value=true) %} - <script defer src="{{ get_url(path='js/email.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/email.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- if config.extra.js_copycode | default(value=true) %} - <script defer src="{{ get_url(path='js/codecopy.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/codecopy.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- if config.extra.pwa | default(value=false) %} - <script defer src="{{ get_url(path='js/sw_load.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/sw_load.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- if search_library == "tinysearch" %} - <script defer type="module" src="{{ get_url(path='js/tinysearch.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/tinysearch.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- elif search_library == "stork" %} - <script defer type="module" src="{{ get_url(path='js/search_stork.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/search_stork.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- elif config.build_search_index %} - - {%- set search_index_format="elasticlunr_json" -%} - {%- if config.search.index_format %} - {%- if config.search.index_format == "elasticlunr_javascript" %} - {%- set search_index_format="elasticlunr_javascript" -%} - {%- endif %} - {%- endif %} - - {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} - {%- if config.extra.offline %}{% set uglyurls = true %}{% endif %} - {%- if search_index_format == "elasticlunr_javascript" %}{#- Javascript index format #} - <script defer src="{{ get_url(path='js/elasticlunr.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/elasticlunr.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - <script defer src="{{ get_url(path='search_index.' ~ lang ~ '.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='search_index.' ~ lang ~ '.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - - {%- if uglyurls %} - <script defer src="{{ get_url(path='js/searchjavaugly.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/searchjavaugly.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - <script defer src="{{ get_url(path='js/searchjava.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/searchjava.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- else %} - <script defer src="{{ get_url(path='js/search_elasticlunr.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/search_elasticlunr.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- if lang != "en" %} - <script defer src="{{ get_url(path='js/lunr.stemmer.support.min.js', trailing_slash=false) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/lunr.stemmer.support.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - <script defer src="{{ get_url(path='js/lunr.' ~ lang ~ '.min.js' , trailing_slash=false) | safe }}"{%- if integrity %} integrity="sha384-{{ get_hash(path='js/lunr.' ~ lang ~ '.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- endif %} - -{%- endif %} - - -{#- https://katex.org/docs/autorender.html #} -{#- https://github.com/KaTeX/KaTeX/ #} -{#- https://github.com/KaTeX/KaTeX/tree/main/contrib/mathtex-script-type/ #} -{%- if config.extra.math or page.extra.math %} - -{%- set katex_bundle=config.extra.katex_bundle | default(value="js/katexbundle.min.js") -%} -{%- if katex_bundle %} - <script defer src="{{ get_url(path=katex_bundle , trailing_slash=false, cachebust=true) }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=katex_bundle, sha_type=384, base64=true) | safe }}"{%- endif %}></script> -{%- else %} - - {%- set katex_js=config.extra.katex_js | default(value="js/katex.min.js") -%} - {%- if katex_js %}{%- if katex_js is matching("^http[s]?://") %} - <script defer src="{{ katex_js | safe }}"{%- if integrity and config.extra.katex_js_integrity %} integrity="{{ config.extra.katex_js_integrity | safe }}"{%- endif %} crossorigin="anonymous"></script> - {%- else %} - <script defer src="{{ get_url(path=katex_js , trailing_slash=false, cachebust=true) }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=katex_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %}{%- endif %} - - {%- set mathtex_js=config.extra.mathtex_js | default(value="js/mathtex-script-type.min.js") -%} - {%- if mathtex_js %}{%- if mathtex_js is matching("^http[s]?://") %} - <script defer src="{{ mathtex_js | safe }}"{%- if integrity and config.extra.mathtex_js_integrity %} integrity="{{ config.extra.mathtex_js_integrity | safe }}"{%- endif %} crossorigin="anonymous"></script> - {%- else %} - <script defer src="{{ get_url(path=mathtex_js , trailing_slash=false, cachebust=true) }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=mathtex_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %}{%- endif %} - - {%- if config.extra.math_auto_render or page.extra.math_auto_render %} - {%- set katex_autorender_js=config.extra.katex_autorender_js | default(value="js/katex-auto-render.min.js") -%} - {%- if katex_autorender_js %} - {%- if katex_autorender_js is matching("^http[s]?://") %} - <script defer src="{{ katex_autorender_js | safe }}"{%- if integrity and config.extra.katex_autorender_js_integrity %} integrity="{{ config.extra.katex_autorender_js_integrity | safe }}"{%- endif %} crossorigin="anonymous"></script> - {%- else %} - <script defer src="{{ get_url(path=katex_autorender_js , trailing_slash=false, cachebust=true) }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=katex_autorender_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} - {%- set katex_options=config.extra.katex_options | default(value="js/katexoptions.js") -%} - {%- if katex_options %} - <script defer src="{{ get_url(path=katex_options , trailing_slash=false, cachebust=true) }}"{%- if integrity %} integrity="sha384-{{ get_hash(path=katex_options, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} -{%- endif %} - -{%- endif %} - -{%- endmacro %} - - - -{%- macro favicons(config) %} - {%- if config.extra.favicon_theme_color %} - <meta name="theme-color" content="{{ config.extra.favicon_theme_color }}" /> - {%- endif %} - - {%- if config.extra.favicon_ms_color %} - <meta name="msapplication-TileColor" content="{{ config.extra.favicon_ms_color }}" /> - {%- endif %} - - {%- if config.extra.webmanifest %} - <link rel="manifest" href="{{ get_url(path=config.extra.webmanifest, trailing_slash=false) | safe }}" /> - {%- endif %} - - {%- if config.extra.favicon_mask and config.extra.favicon_mask_color %} - <link rel="mask-icon" href="{{ get_url(path=config.extra.favicon_mask, trailing_slash=false) | safe }}" color="{{ config.extra.favicon_mask_color }}" /> - {%- endif %} - - {%- if config.extra.favicon_svg %} - <link rel="icon" type="image/svg+xml" href="{{ get_url(path=config.extra.favicon_svg, trailing_slash=false) | safe }}" /> - {%- endif %} - - {%- if config.extra.favicon180 %} - <link rel="apple-touch-icon" sizes="180x180" href="{{ get_url(path=config.extra.favicon180, trailing_slash=false) | safe }}" /> - {%- endif %} - - {%- if config.extra.favicon32 %} - <link rel="icon" type="image/png" sizes="32x32" href="{{ get_url(path=config.extra.favicon32, trailing_slash=false) | safe }}" /> - {%- endif %} - - {%- if config.extra.favicon16 %} - <link rel="icon" type="image/png" sizes="16x16" href="{{ get_url(path=config.extra.favicon16, trailing_slash=false) | safe }}" /> - {%- endif %} -{%- endmacro %} - - - -{%- macro security(config) %} - {%- if config.extra.security_header_referrer %} - <meta name="referrer" content="{{ config.extra.security_header_referrer | safe }}" /> - {%- endif %} - {%- if config.extra.security_header_csp %} - <meta http-equiv="Content-Security-Policy" content="{{ config.extra.security_header_csp | safe }}" /> - {%- endif %} -{%- endmacro %} - - - -{#- type: website or article, generally setting article for blog articles -#} -{#- page_images: using for the blog single template page -#} -{#- page_section: the blog single template page have to pass the parameter -#} -{#- is_404: using for the 404.html template -#} -{%- macro seo( config, title="", title_addition="", description="", type="website", is_home=false, is_404=false, is_page=false, page_images="", page_section="", created_time="2023-05-15T07:07:00-07:00", updated_time="2023-05-15T07:07:00-07:00" ) %} -{%- if is_404 -%} - <meta name="robots" content="noindex, follow" /> -{%- else -%} - <meta name="robots" content="index, follow" /> - <meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" /> - <meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" /> -{%- endif -%} - -{%- if current_url %} - {%- set page_url = current_url %} -{%- else %} - {%- set page_url = get_url(path="404.html", trailing_slash=true) %} -{%- endif %} - <title>{{ title ~ title_addition }}</title> - -{%- if config.extra.author %} - <meta name="author" content="{{ config.extra.author }}" /> -{%- endif %} -{%- if config.extra.facebook_publisher %} - <meta property="article:publisher" content="https://www.facebook.com/{{ config.extra.facebook_publisher }}" /> -{%- endif %} - <meta name="copyright" content="{{ config.title }}" /> -{%- if config.extra.facebook_author %} - <meta property="article:author" content="https://www.facebook.com/{{ config.extra.facebook_author }}" /> -{%- endif %} -{%- if page.description %} - <meta name="description" content="{{ page.description }}" /> -{%- else %} - <meta name="description" content="{{ config.description }}" /> -{%- endif %} - <link rel="canonical" href="{{ page_url | safe }}" /> -{%- if page.extra.keywords and config.extra.keywords %} - <meta name="keywords" content="{{ page.extra.keywords }}, {{ config.extra.keywords }}" /> -{%- elif page.extra.keywords %} - <meta name="keywords" content="{{ page.extra.keywords }}" /> -{%- elif config.extra.keywords %} - <meta name="keywords" content="{{ config.extra.keywords }}" /> -{%- endif %} - -{#- Extra SEO START #} -{%- if config.extra.seo | default(value=true) %} -{%- if not is_404 %} - -{%- if config.extra.google %} - <meta name="google-site-verification" content="{{ config.extra.google | safe }}" /> -{%- endif %} - -{%- if config.extra.bing %} - <meta name="msvalidate.01" content="{{ config.extra.bing | safe}}" /> -{%- endif %} - <meta property="og:url" content="{{ page_url | safe }}" /> - <meta name="twitter:url" content="{{ page_url | safe }}" /> - -{%- if page.description %} - <meta property="og:description" content="{{ page.description }}" /> - <meta name="twitter:description" content="{{ page.description }}" /> -{%- else %} - <meta property="og:description" content="{{ config.description }}" /> - <meta name="twitter:description" content="{{ config.description}}" /> -{%- endif %} - -{%- if page.title %} - <meta property="og:title" content="{{ page.title }} | {{ config.title }}" /> - <meta name="twitter:title" content="{{ page.title }} | {{ config.title }}" /> -{%- else %} - <meta property="og:title" content="{{ config.title }}" /> - <meta name="twitter:title" content="{{ config.title }}" /> -{%- endif %} - - -{#- SEO MEDIA START #} -{%- if page.extra.thumbnail %} - <meta name="twitter:card" content="summary_large_image" /> - <meta name="twitter:image" content="{{ get_url(path=page.path ~ page.extra.thumbnail, trailing_slash=false) }}" /> - <meta property="og:image" content="{{ get_url(path=page.path ~ page.extra.thumbnail, trailing_slash=false) }}" /> - -{%- elif page.extra.static_thumbnail %} - <meta name="twitter:card" content="summary_large_image" /> - {%- if page.extra.static_thumbnail is matching("^http[s]?://") %} - <meta name="twitter:image" content="{{ page.extra.static_thumbnail }}" /> - <meta property="og:image" content="{{ page.extra.static_thumbnail }}" /> - {%- else %} - <meta name="twitter:image" content="{{ get_url(path=page.extra.static_thumbnail, trailing_slash=false) }}" /> - <meta property="og:image" content="{{ get_url(path=page.extra.static_thumbnail, trailing_slash=false) }}" /> - {%- endif %} - -{%- elif config.extra.banner %} - <meta name="twitter:card" content="summary_large_image" /> - <meta name="twitter:image" content="{{ get_url(path=config.extra.banner, trailing_slash=false) }}" /> - <meta property="og:image" content="{{ get_url(path=config.extra.banner, trailing_slash=false) }}" /> - -{%- else %} - <meta name="twitter:card" content="summary" /> - -{%- endif %} - -{%- if config.extra.open.audio %} - <meta property="og:audio" content="{{ config.extra.open.audio }}" /> -{%- endif %} - -{%- if config.extra.open.locale %} - <meta property="og:locale" content="{{ config.extra.open.locale }}" /> -{%- endif %} - -{%- if config.extra.open.videos %} - {%- for video in config.extra.open.videos %} - <meta property="og:video" content="{{ get_url(path=video) }}" /> - {%- endfor %} -{%- endif %} - -{#- SEO MEDIA END #} - <meta property="og:site_name" content="{{ config.title }}" /> - <meta property="og:locale" content="en_US" /> - <meta property="og:type" content="website" /> -{%- if page.updated %} - <meta property="og:updated_time" content="{{ page.updated | date(format='%F') }}" /> -{%- elif page.date %} - <meta property="og:updated_time" content="{{ page.date | date(format='%F') }}" /> -{%- else %} - <meta property="og:updated_time" content="{{ updated_time }}" /> -{%- endif %} - -{%- if config.extra.twitter_meta %} - <meta name="twitter:site" content="@{{ config.extra.twitter_meta }}" /> - <meta name="twitter:creator" content="@{{ config.extra.twitter_meta }}" /> -{%- endif %} - - - -{%- endif %} -{%- endif %} -{#- Extra SEO END #} -{%- endmacro %} |
