diff --git a/docs/_static/chatbot_widget.css b/docs/_static/chatbot_widget.css new file mode 100644 index 00000000000..5c47fe79160 --- /dev/null +++ b/docs/_static/chatbot_widget.css @@ -0,0 +1,9 @@ +#kapa-widget-container { + z-index: 10000 !important; + position: absolute !important; + } + + .mantine-Modal-root { + z-index: 10000; + position: absolute; + } \ No newline at end of file diff --git a/docs/_static/chatbot_widget_en.js b/docs/_static/chatbot_widget_en.js new file mode 100644 index 00000000000..4949c7ec251 --- /dev/null +++ b/docs/_static/chatbot_widget_en.js @@ -0,0 +1,30 @@ +document.addEventListener("DOMContentLoaded", function () { + var script = document.createElement("script"); + script.src = "https://widget.kapa.ai/kapa-widget.bundle.js"; + script.setAttribute("data-bot-protection-mechanism", "hcaptcha"); + script.setAttribute("data-website-id", "f67ff377-ba84-4009-aceb-5e582755abad"); + script.setAttribute("data-project-name", "ESP32 Arduino Core Documentation"); + script.setAttribute("data-project-color", "#C62817"); + script.setAttribute("data-project-logo", "https://dl.espressif.com/public/logo.png"); + script.setAttribute("data-button-image", "https://dl.espressif.com/chatbot/Chatbot.png"); + script.setAttribute("data-button-text-font-size", "0px"); + script.setAttribute("data-button-border-radius", "50%"); + script.setAttribute("data-button-bg-color", "#38393a"); + script.setAttribute("data-button-border", "#38393a"); + script.setAttribute("data-button-height", "45px"); + script.setAttribute("data-button-width", "45px"); + script.setAttribute("data-button-animation-enabled", "false"); + script.setAttribute("data-button-image-height", "100%"); + script.setAttribute("data-button-image-width", "100%"); + script.setAttribute("data-button-padding", "0"); + script.setAttribute("data-button-hover-animation-enabled", "false"); + script.setAttribute("data-button-position-top", "50px"); + script.setAttribute("data-button-position-left", "305px"); + script.setAttribute("data-button-box-shadow", "0px 6px 12px 1px rgba(0,0,0,0.16)"); + script.setAttribute("data-modal-override-open-class", "test-ai"); + script.setAttribute("data-user-analytics-fingerprint-enabled", "true"); + script.setAttribute("data-modal-disclaimer", "This custom large language model (LLM), trained on official documentation from espressif.com, is designed to provide technical support and answers related to Espressif’s products and services. Give it a try, share your thoughts, and let us know your feedback—we truly appreciate it! \n\n**Note**: AI-generated information may be incomplete or inaccurate. Always verify critical information with official sources."); + script.setAttribute("data-modal-example-questions", "What is the ESP32 Arduino Core?,How do I get started with the ESP32 Arduino Core?"); + script.async = true; + document.head.appendChild(script); + }); \ No newline at end of file diff --git a/docs/conf_common.py b/docs/conf_common.py index 0fb4fb8e306..4e3a3e31f0d 100644 --- a/docs/conf_common.py +++ b/docs/conf_common.py @@ -28,6 +28,9 @@ html_static_path = ["../_static"] +html_js_files = ["../_static/chatbot_widget_en.js"] +html_css_files = ["../_static/chatbot_widget.css"] + # Conditional content extensions += [ # noqa: F405