This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a commit to branch kapa-ai-widget
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit ecadb9de47a7bdb40cf227efef25ca1bd50819b6
Author: James Fredley <[email protected]>
AuthorDate: Sat Oct 11 20:41:30 2025 -0400

    Add kapa.ai AI assistant widget to docs templates
    
    Integrated the kapa.ai AI assistant widget into guideItem.html, 
layout.html, menu.html, and referenceItem.html templates. This provides users 
with an AI-powered assistant for Apache Grails documentation, including example 
questions, branding, and consent requirements.
---
 .../src/main/template/style/guideItem.html          | 21 +++++++++++++++++++++
 .../docs-core/src/main/template/style/layout.html   | 21 +++++++++++++++++++++
 .../docs-core/src/main/template/style/menu.html     | 21 +++++++++++++++++++++
 .../src/main/template/style/referenceItem.html      | 21 +++++++++++++++++++++
 4 files changed, 84 insertions(+)

diff --git a/grails-gradle/docs-core/src/main/template/style/guideItem.html 
b/grails-gradle/docs-core/src/main/template/style/guideItem.html
index 79ef0c1d0e..4f4c1d396b 100644
--- a/grails-gradle/docs-core/src/main/template/style/guideItem.html
+++ b/grails-gradle/docs-core/src/main/template/style/guideItem.html
@@ -30,6 +30,27 @@
         })();
     </script>
     <!-- End Matomo Code -->
+    <script
+        async
+        src="https://widget.kapa.ai/kapa-widget.bundle.js";
+        data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
+        data-project-name="Apache Grails"
+        data-project-color="#3F4346"
+        
data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe
 UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
+        data-project-logo="https://grails.apache.org/images/grails.png";
+        data-modal-override-open-id="ask-ai-input"
+        data-modal-override-open-class="search-input"
+        data-user-analytics-fingerprint-enabled="true"
+        data-modal-title="Apache Grails AI Assistant"
+        data-modal-example-questions-title="Try asking me..."
+        data-modal-disclaimer="This is a custom LLM for Apache Grails using 
[documentation](https://docs.grails.org/latest/), [groovy 
documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/)
 [github issues](https://github.com/apache/grails-core/issues) and 
more.\n\nCompanies deploy assistants like this [](https://kapa.ai) on docs via 
[website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, 
Reddit), in [support forms](https://docs.kapa.ai/inte [...]
+        data-modal-example-questions="How does database migration work?,How 
does Spring Security work?"
+        data-button-text-color="#FBB576"
+        data-modal-header-bg-color="#FFFFFF"
+        data-modal-title-color="#FBB576"
+        data-consent-required="true"
+        data-consent-screen-disclaimer="By clicking &quot;I agree, let&#39;s 
chat&quot;, you consent to the use of the AI assistant in accordance with 
kapa.ai&#39;s [Privacy Policy](https://www.kapa.ai/content/privacy-policy). 
This service uses reCAPTCHA, which requires your consent to Google&#39;s 
[Privacy Policy](https://policies.google.com/privacy) and [Terms of 
Service](https://policies.google.com/terms). By proceeding, you explicitly 
agree to both kapa.ai&#39;s and Google&#39;s priv [...]
+    ></script>
 </head>
 
 <body class="body" onload="addJsClass();">
diff --git a/grails-gradle/docs-core/src/main/template/style/layout.html 
b/grails-gradle/docs-core/src/main/template/style/layout.html
index 15868a38b9..1b8665578d 100644
--- a/grails-gradle/docs-core/src/main/template/style/layout.html
+++ b/grails-gradle/docs-core/src/main/template/style/layout.html
@@ -30,6 +30,27 @@
             })();
         </script>
         <!-- End Matomo Code -->
+        <script
+            async
+            src="https://widget.kapa.ai/kapa-widget.bundle.js";
+            data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
+            data-project-name="Apache Grails"
+            data-project-color="#3F4346"
+            
data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe
 UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
+            data-project-logo="https://grails.apache.org/images/grails.png";
+            data-modal-override-open-id="ask-ai-input"
+            data-modal-override-open-class="search-input"
+            data-user-analytics-fingerprint-enabled="true"
+            data-modal-title="Apache Grails AI Assistant"
+            data-modal-example-questions-title="Try asking me..."
+            data-modal-disclaimer="This is a custom LLM for Apache Grails 
using [documentation](https://docs.grails.org/latest/), [groovy 
documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/)
 [github issues](https://github.com/apache/grails-core/issues) and 
more.\n\nCompanies deploy assistants like this [](https://kapa.ai) on docs via 
[website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, 
Reddit), in [support forms](https://docs.kapa.ai/ [...]
+            data-modal-example-questions="How does database migration 
work?,How does Spring Security work?"
+            data-button-text-color="#FBB576"
+            data-modal-header-bg-color="#FFFFFF"
+            data-modal-title-color="#FBB576"
+            data-consent-required="true"
+            data-consent-screen-disclaimer="By clicking &quot;I agree, 
let&#39;s chat&quot;, you consent to the use of the AI assistant in accordance 
with kapa.ai&#39;s [Privacy 
Policy](https://www.kapa.ai/content/privacy-policy). This service uses 
reCAPTCHA, which requires your consent to Google&#39;s [Privacy 
Policy](https://policies.google.com/privacy) and [Terms of 
Service](https://policies.google.com/terms). By proceeding, you explicitly 
agree to both kapa.ai&#39;s and Google&#39;s  [...]
+        ></script>
     </head>
 
     <body class="body" onload="addJsClass();">
diff --git a/grails-gradle/docs-core/src/main/template/style/menu.html 
b/grails-gradle/docs-core/src/main/template/style/menu.html
index ab35d024db..85ed873c6e 100644
--- a/grails-gradle/docs-core/src/main/template/style/menu.html
+++ b/grails-gradle/docs-core/src/main/template/style/menu.html
@@ -20,6 +20,27 @@
             })();
         </script>
         <!-- End Matomo Code -->
+        <script
+            async
+            src="https://widget.kapa.ai/kapa-widget.bundle.js";
+            data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
+            data-project-name="Apache Grails"
+            data-project-color="#3F4346"
+            
data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe
 UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
+            data-project-logo="https://grails.apache.org/images/grails.png";
+            data-modal-override-open-id="ask-ai-input"
+            data-modal-override-open-class="search-input"
+            data-user-analytics-fingerprint-enabled="true"
+            data-modal-title="Apache Grails AI Assistant"
+            data-modal-example-questions-title="Try asking me..."
+            data-modal-disclaimer="This is a custom LLM for Apache Grails 
using [documentation](https://docs.grails.org/latest/), [groovy 
documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/)
 [github issues](https://github.com/apache/grails-core/issues) and 
more.\n\nCompanies deploy assistants like this [](https://kapa.ai) on docs via 
[website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, 
Reddit), in [support forms](https://docs.kapa.ai/ [...]
+            data-modal-example-questions="How does database migration 
work?,How does Spring Security work?"
+            data-button-text-color="#FBB576"
+            data-modal-header-bg-color="#FFFFFF"
+            data-modal-title-color="#FBB576"
+            data-consent-required="true"
+            data-consent-screen-disclaimer="By clicking &quot;I agree, 
let&#39;s chat&quot;, you consent to the use of the AI assistant in accordance 
with kapa.ai&#39;s [Privacy 
Policy](https://www.kapa.ai/content/privacy-policy). This service uses 
reCAPTCHA, which requires your consent to Google&#39;s [Privacy 
Policy](https://policies.google.com/privacy) and [Terms of 
Service](https://policies.google.com/terms). By proceeding, you explicitly 
agree to both kapa.ai&#39;s and Google&#39;s  [...]
+        ></script>
     </head>
     <body>
         <div style="text-align:center;" class="menuTitle">
diff --git a/grails-gradle/docs-core/src/main/template/style/referenceItem.html 
b/grails-gradle/docs-core/src/main/template/style/referenceItem.html
index 7c14182f62..920c9ea7c7 100644
--- a/grails-gradle/docs-core/src/main/template/style/referenceItem.html
+++ b/grails-gradle/docs-core/src/main/template/style/referenceItem.html
@@ -35,6 +35,27 @@
         })();
     </script>
     <!-- End Matomo Code -->
+    <script
+        async
+        src="https://widget.kapa.ai/kapa-widget.bundle.js";
+        data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
+        data-project-name="Apache Grails"
+        data-project-color="#3F4346"
+        
data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe
 UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
+        data-project-logo="https://grails.apache.org/images/grails.png";
+        data-modal-override-open-id="ask-ai-input"
+        data-modal-override-open-class="search-input"
+        data-user-analytics-fingerprint-enabled="true"
+        data-modal-title="Apache Grails AI Assistant"
+        data-modal-example-questions-title="Try asking me..."
+        data-modal-disclaimer="This is a custom LLM for Apache Grails using 
[documentation](https://docs.grails.org/latest/), [groovy 
documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/)
 [github issues](https://github.com/apache/grails-core/issues) and 
more.\n\nCompanies deploy assistants like this [](https://kapa.ai) on docs via 
[website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, 
Reddit), in [support forms](https://docs.kapa.ai/inte [...]
+        data-modal-example-questions="How does database migration work?,How 
does Spring Security work?"
+        data-button-text-color="#FBB576"
+        data-modal-header-bg-color="#FFFFFF"
+        data-modal-title-color="#FBB576"
+        data-consent-required="true"
+        data-consent-screen-disclaimer="By clicking &quot;I agree, let&#39;s 
chat&quot;, you consent to the use of the AI assistant in accordance with 
kapa.ai&#39;s [Privacy Policy](https://www.kapa.ai/content/privacy-policy). 
This service uses reCAPTCHA, which requires your consent to Google&#39;s 
[Privacy Policy](https://policies.google.com/privacy) and [Terms of 
Service](https://policies.google.com/terms). By proceeding, you explicitly 
agree to both kapa.ai&#39;s and Google&#39;s priv [...]
+    ></script>
 </head>
 
 <body class="body" onload="addJsClass();">

Reply via email to