If it helps, I know there are a few[1] Apache sites using Pagefind already
(as an answer to "if there's a common solution for this at Apache”).
Notably https://apache.org/

[1]: https://github.com/search?q=org%3Aapache%20pagefind&type=code

On 2025/03/25 21:25:00 Daniel Dekany wrote:

Depends on if we can actually re-enable using these external services. (See

other answer.) If we can't, then yes, we should try this.


On Mon, Mar 24, 2025 at 10:15 PM Christoph Rueger <cr...@apache.org>

wrote:


> An option could be https://pagefind.app/

> It generates a local index at build time (e.g. using Github actions) by

> indexing the generated documentation's html.

> Adding search to the website requires a div with a specific id and a
little

> JS snippet which is served from freemarker itself.

> The search looks and works like on the website above.

>

> regarding CSP they require

> script-src 'unsafe-eval'

> https://pagefind.app/docs/hosting/#content-security-policy-csp

>

> I have implemented this in two sites recently via github actions similar
to

> this:

>

>
https://willschenk.com/labnotes/2023/indexing_a_hugo_site_using_pagefind/#headline-3

>

> If something like this is wanted, I could try to help.

>

> Christoph

>

> Am Mo., 24. März 2025 um 21:45 Uhr schrieb Daniel Dekany <

> daniel.dek...@gmail.com>:

>

> > Ouch. If we are not supposed to call external services, then I believe
we

> > can't solve on site search with Google. Well, I could send the form to

> > google.com with site:freemarker.apache.org though... kind of lame. Note

> > sure if there's a common solution for this at Apache.

> >

> > Also there's a font we load from CDN apparently, and now that's also

> > blocked. Had to check the licence to decide if we can store it locally

> > (because then it has to be part of the source code too).

> >

> > On Mon, Mar 24, 2025 at 3:39 PM Simon Hartley

> > <sc...@yahoo.co.uk.invalid> wrote:

> >

> > > This does not work for me:

> > > https://freemarker.apache.org/docs/search-results.html?q=hello

> > > I have tested in Chrome and FireFox.

> > > When looking in the console, I can see CSP errors, even for

> > > https://freemarker.apache.org/

> > >

> > > I assume the search problem is due to this one (Google Programmable

> > Search

> > > Engine / Google Custom Search):

> > > search-results.html?q=hello:52 Refused to load the script '

> > > https://cse.google.com/cse.js?cx=003127866208504630097:arjqbv_znfw'

> > > because it violates the following Content Security Policy directive:

> > > "script-src 'self' 'unsafe-inline' 'unsafe-eval'

> > > https://analytics.apache.org/ https://www.apachecon.com/";. Note that

> > > 'script-src-elem' was not explicitly set, so 'script-src' is used as a

> > > fallback.

> > >

> > > Looking at the response headers I see:

> > > Content-Security-Policy:

> > > default-src 'self' data: blob: 'unsafe-inline'

> > https://www.apachecon.com/

> > > https://www.communityovercode.org/ https://analytics.apache.org/;

> > > script-src 'self' 'unsafe-inline' 'unsafe-eval'

> > > https://analytics.apache.org/ https://www.apachecon.com/; style-src

> > > 'self' 'unsafe-inline' data:; frame-ancestors 'self'; frame-src 'self'

> > > data: blob:; img-src 'self' data: https://*.apache.org/

> > > https://www.apachecon.com/; worker-src 'self' data: blob:;

> > >

> > > I assume the following is related: https://infra.apache.org/csp.html

> > (effective March

> > > 1, 2025)

> > > Reading https://privacy.apache.org/policies/website-policy.html:

> > > "Assets (JavaScript files or snippets, images, fonts, CSS, etc.) from

> > > other domains cannot be loaded. All assets need to be hosted on ASF

> > > servers."

> > >

> > > Regards,

> > > Simon

> > >

> >

> >

> > --

> > Best regards,

> > Daniel Dekany

> >

>



-- 

Best regards,

Daniel Dekany

Reply via email to