diff --git a/assets/js/theme/body.js b/assets/js/theme/body.js index e6d95ba15de290f1d37cfbdcacc5f821bbae15dc..657d633363a356498890f33ef3757b0f269db3eb 100644 --- a/assets/js/theme/body.js +++ b/assets/js/theme/body.js @@ -1,3 +1,6 @@ window.addEventListener('load', () => { document.body.classList.add('is-loaded'); }); +window.addEventListener('DOMContentLoaded', (event) => { + new PagefindUI({ element: "#search", showSubResults: true }); +}); diff --git a/layouts/partials/head/csp.html b/layouts/partials/head/csp.html index 83ca573f9a4e875adb685e71befab90ccff45e85..ac8482b0a467a6049ead337d5a328474a0d393e6 100644 --- a/layouts/partials/head/csp.html +++ b/layouts/partials/head/csp.html @@ -1,5 +1,10 @@ {{- with site.Data.website.external_domains -}} -<meta - http-equiv="-Content-Security-Policy" - content="default-src 'self' {{ delimit . " " }} {{ if not hugo.IsProduction }}'unsafe-inline'{{ end }};{{ if site.Params.search.active }} img-src * 'self' data: https:;{{ end }}"/> +<meta http-equiv="-Content-Security-Policy" + content=" + default-src 'self' {{ delimit . " " }} {{ if not hugo.IsProduction }}'unsafe-inline'{{ end }}; + {{ if site.Params.search.active }} + script-src 'unsafe-eval'; + img-src * 'self' data: https:; + {{ end }} + " /> {{- end -}} \ No newline at end of file diff --git a/layouts/partials/header/search.html b/layouts/partials/header/search.html index 175db5bf159852a4685b787e46e79bf44e0acbd7..ce06120ebf2b7a270d5d110e483b6650011e728a 100644 --- a/layouts/partials/header/search.html +++ b/layouts/partials/header/search.html @@ -1,9 +1,6 @@ <script src="/pagefind/pagefind-ui.js"></script> - <div id="search" class="search__modal" aria-hidden="true" aria-modal="true" role="dialog"> - <button class="search__close" aria-label="{{ i18n "commons.search.close" }}">{{ i18n "commons.search.close" }}</button> - </div> - <script> - window.addEventListener('DOMContentLoaded', (event) => { - new PagefindUI({ element: "#search", showSubResults: true }); - }); -</script> \ No newline at end of file +<div id="search" class="search__modal" aria-hidden="true" aria-modal="true" role="dialog"> + <button class="search__close" aria-label="{{ i18n "commons.search.close" }}"> + {{ i18n "commons.search.close" }} + </button> +</div> \ No newline at end of file diff --git a/package.json b/package.json index 8fab964e65cee807df4ce755796c0a1220149611..79b8a0a42bfaecd545d6a2b9cced2361924d7d5b 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "@splidejs/splide": "^3.6.12", "glightbox": "^3.1.0", "intersection-observer": "^0.12.0", - "leaflet": "^1.9.4" + "leaflet": "^1.9.4", + "pagefind": "^1.0.3" }, "bin": "./bin/osuny.js" } diff --git a/yarn.lock b/yarn.lock index 13c69f76a81f759101d90ea899c26ed996ff4710..706e6a356bdc7de500587d7f361eb398405ecbea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,31 @@ # yarn lockfile v1 +"@pagefind/darwin-arm64@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@pagefind/darwin-arm64/-/darwin-arm64-1.0.3.tgz#5377ff2c3fca97125d0624da019b52cc2375edb9" + integrity sha512-vsHDtvao3W4iFCxVc4S0BVhpj3E2MAoIVM7RmuQfGp1Ng22nGLRaMP6FguLO8TMabRJdvp4SVr227hL4WGKOHA== + +"@pagefind/darwin-x64@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@pagefind/darwin-x64/-/darwin-x64-1.0.3.tgz#c4bae6522e3bac09a9f58f48f89356dca931f5ca" + integrity sha512-NhEXHHYmB/hT6lx5rCcmnVTxH+uIkMAd43bzEqMwHQosqTZEIQfwihmV39H+m8yo7jFvz3zRbJNzhAh7G4PiwA== + +"@pagefind/linux-arm64@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@pagefind/linux-arm64/-/linux-arm64-1.0.3.tgz#ada5ec030c7286f956d506aebe1e1e53ea826966" + integrity sha512-RGsMt4AmGT8WxCSeP09arU7Za6Vf/We4TWHVSbY7vDMuwWql9Ngoib/q1cP9dIAIMdkXh9ePG/S3mGnJYsdzuQ== + +"@pagefind/linux-x64@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@pagefind/linux-x64/-/linux-x64-1.0.3.tgz#4f658bac9ce5e9fb22e0a4350ff933e621c6b916" + integrity sha512-o+VCKaqImL42scSH1n5gUfppYSNyu3BuGTvtKKgWHmycbL+A3fkFH+ZOFbaLeN7LVTvJqJIOYbk4j2yaq9784Q== + +"@pagefind/windows-x64@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@pagefind/windows-x64/-/windows-x64-1.0.3.tgz#686c46cb274e087362d0a8d6ff03e89a10ee508e" + integrity sha512-S+Yq4FyvXJm4F+iN/wRiLvEEF8Xs9lTKGtQGaRHXJslQyl65dytDDPIULXJXIadrDbnMrnTt4C2YHmEUIyUIHg== + "@splidejs/splide@^3.6.12": version "3.6.12" resolved "https://registry.yarnpkg.com/@splidejs/splide/-/splide-3.6.12.tgz#9b6bede5c99140fd06754990c91e474374566c30" @@ -20,11 +45,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -chalk@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -113,6 +133,17 @@ once@^1.3.0: dependencies: wrappy "1" +pagefind@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pagefind/-/pagefind-1.0.3.tgz#1ce2118408d42fbd303e8b567ed3fff134895138" + integrity sha512-ws7kmMxW6OuxzsOjj3YAx6TYq/54MiE3wfyBM3J5CInbZyBBvM2Z8c8IYvnMkBcb5v2EoB9DewXEekOEiDRu5g== + optionalDependencies: + "@pagefind/darwin-arm64" "1.0.3" + "@pagefind/darwin-x64" "1.0.3" + "@pagefind/linux-arm64" "1.0.3" + "@pagefind/linux-x64" "1.0.3" + "@pagefind/windows-x64" "1.0.3" + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"