From 995f5161e814216599c1e05a84605df9066852ef Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Wed, 20 Sep 2023 18:06:23 +0200 Subject: [PATCH] test --- assets/sass/_theme/design-system/search.sass | 20 ++++++++++++++++++++ assets/sass/_theme/hugo-osuny.sass | 1 + config.yaml | 2 ++ layouts/_default/baseof.html | 1 + layouts/partials/head/csp.html | 2 +- layouts/partials/header/search.html | 10 ++++++++++ 6 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 assets/sass/_theme/design-system/search.sass create mode 100644 layouts/partials/header/search.html diff --git a/assets/sass/_theme/design-system/search.sass b/assets/sass/_theme/design-system/search.sass new file mode 100644 index 00000000..b0817e9a --- /dev/null +++ b/assets/sass/_theme/design-system/search.sass @@ -0,0 +1,20 @@ +#search + top: $spacing1 + right: $spacing1 + position: absolute + z-index: 100 + max-width: 400px + .pagefind-ui + &__search-input + &__clear + &__drawer + z-index: 99 + &__results-area + position: fixed + background: $color-background + left: 0 + right: 0 + top: 200px + bottom: 0 + padding: $spacing3 + z-index: 101 \ No newline at end of file diff --git a/assets/sass/_theme/hugo-osuny.sass b/assets/sass/_theme/hugo-osuny.sass index 8d5dfdd6..48ac95f6 100644 --- a/assets/sass/_theme/hugo-osuny.sass +++ b/assets/sass/_theme/hugo-osuny.sass @@ -26,6 +26,7 @@ @import "design-system/image" @import "design-system/pagination" @import "design-system/nav" +@import "design-system/search" @import "design-system/table" @import "design-system/table_of_contents" @import "design-system/top" diff --git a/config.yaml b/config.yaml index ee53cb9d..3e44d24a 100644 --- a/config.yaml +++ b/config.yaml @@ -18,6 +18,8 @@ params: position: hero-start # hero-start | hero-end | after-hero | none summary: position: content # content | hero + search: + pagefind: false home: toc: disabled: true diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 574bc71f..8bb31791 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -13,6 +13,7 @@ </head> <body class="{{ partial "GetBodyclass" . }}"> {{- partial "header/accessibility.html" -}} + {{- partial "header/search.html" . -}} {{- partial "header/header.html" . -}} <main{{ if .Params.contents }} class="page-with-blocks"{{ end }} id="main" tabindex="-1"> {{- block "main" . }}{{- end }} diff --git a/layouts/partials/head/csp.html b/layouts/partials/head/csp.html index 82d5cb22..c0dcee4d 100644 --- a/layouts/partials/head/csp.html +++ b/layouts/partials/head/csp.html @@ -1,5 +1,5 @@ {{- with site.Data.website.external_domains -}} <meta - http-equiv="Content-Security-Policy" + http-equiv="-Content-Security-Policy" content="default-src 'self' {{ delimit . " " }} {{ if not hugo.IsProduction }}'unsafe-inline'{{ end }}" /> {{- end -}} \ No newline at end of file diff --git a/layouts/partials/header/search.html b/layouts/partials/header/search.html new file mode 100644 index 00000000..4338f218 --- /dev/null +++ b/layouts/partials/header/search.html @@ -0,0 +1,10 @@ +{{ if site.Params.search.pagefind }} + <link href="/pagefind/pagefind-ui.css" rel="stylesheet"> + <script src="/pagefind/pagefind-ui.js"></script> + <div id="search"></div> + <script> + window.addEventListener('DOMContentLoaded', (event) => { + new PagefindUI({ element: "#search", showSubResults: true }); + }); + </script> +{{ end }} \ No newline at end of file -- GitLab