mirror of
https://gitee.com/SuperManito/LinuxMirrors
synced 2025-12-20 15:16:34 +08:00
为文档添加 AI 搜索与聊天
This commit is contained in:
104
docs/assets/js/components/orama-ui/config.js
Normal file
104
docs/assets/js/components/orama-ui/config.js
Normal file
@@ -0,0 +1,104 @@
|
||||
// get search box config
|
||||
function getOramaSearchBoxConfig() {
|
||||
return {
|
||||
themeConfig: {
|
||||
// colors: {
|
||||
// light: {
|
||||
// '--text-color-accent': 'var(--md-accent-fg-color)',
|
||||
// '--background-color-tertiary': 'var(--md-accent-fg-color--transparent)',
|
||||
// '--background-color-accent': 'var(--md-accent-fg-color)',
|
||||
// '--border-color-accent': 'var(--md-accent-fg-color)',
|
||||
// '--button-background-color-primary': 'var(--md-accent-fg-color)',
|
||||
// '--button-background-color-secondary': 'hsla(240, 9%, 75%, 0.33)',
|
||||
// '--button-background-color-secondary-hover': 'var(--md-accent-fg-color--transparent)',
|
||||
// '--chat-button-border-color-gradientThree': 'var(--md-accent-fg-color)',
|
||||
// '--chat-button-border-color-gradientFour': 'var(--md-accent-fg-color)',
|
||||
// '--chat-button-background-color-gradientOne': 'var(--md-accent-fg-color)',
|
||||
// },
|
||||
// dark: {
|
||||
// '--text-color-accent': 'var(--md-accent-fg-color)',
|
||||
// '--background-color-primary': 'var(--md-default-bg-color--dark)',
|
||||
// '--background-color-secondary': '#1a1b20',
|
||||
// '--background-color-tertiary': 'var(--md-accent-fg-color--transparent)',
|
||||
// '--background-color-accent': 'var(--md-accent-fg-color)',
|
||||
// '--border-color-accent': 'var(--md-accent-fg-color)',
|
||||
// '--icon-color-reverse': 'var(--md-default-bg-color--dark)',
|
||||
// '--button-background-color-primary': 'var(--md-accent-fg-color)',
|
||||
// '--button-background-color-secondary': 'hsla(var(--md-hue), 15%, 9%, 0.33)',
|
||||
// '--button-background-color-secondary-hover': 'var(--md-accent-fg-color--transparent)',
|
||||
// '--chat-button-border-color-gradientThree': 'var(--md-accent-fg-color)',
|
||||
// '--chat-button-border-color-gradientFour': 'var(--md-accent-fg-color)',
|
||||
// '--chat-button-background-color-gradientOne': 'var(--md-accent-fg-color)',
|
||||
// },
|
||||
// },
|
||||
// shadow: {
|
||||
// '--textarea-shadow': 'var(--md-shadow-z1)',
|
||||
// },
|
||||
// typography: {
|
||||
// '--font-primary': 'var(--md-font-family)',
|
||||
// },
|
||||
},
|
||||
index: {
|
||||
endpoint: 'https://cloud.orama.run/v1/indexes/linuxmirrors-cn-imxypv',
|
||||
api_key: 'mBJ0b68dZIk79DqCkdUSJI6yQMo4L4o3',
|
||||
},
|
||||
facetProperty: 'category',
|
||||
sourceBaseUrl: 'https://linuxmirrors.cn',
|
||||
sourcesMap: {
|
||||
title: 'title',
|
||||
},
|
||||
resultMap: {
|
||||
title: 'title',
|
||||
description: 'content',
|
||||
section: 'category',
|
||||
},
|
||||
searchPlaceholder: '请输入要搜索的内容...',
|
||||
chatPlaceholder: '有什么可以帮你的吗?',
|
||||
suggestions: ['如何使用', '支持哪些系统'],
|
||||
}
|
||||
}
|
||||
|
||||
// localization search box component
|
||||
function localizationOramaSearchBox(searchBox) {
|
||||
if (!searchBox) return
|
||||
const observer = new MutationObserver((mutations, obs) => {
|
||||
const shadowRoot = searchBox.shadowRoot
|
||||
if (shadowRoot) {
|
||||
// Get a summary (Only PC)
|
||||
const chatButton = shadowRoot.querySelector('.chat-button')
|
||||
if (chatButton) {
|
||||
const element = chatButton.querySelector('.button-label')
|
||||
if (element && element.textContent !== '询问 AI') {
|
||||
element.textContent = '询问 AI'
|
||||
}
|
||||
}
|
||||
// Hide "Orama can make mistakes. Please verify the information."
|
||||
const chatFormWrapper = shadowRoot.querySelector('.chat-form-wrapper')
|
||||
if (chatFormWrapper) {
|
||||
const element = chatFormWrapper.querySelector('p.small.text-center')
|
||||
if (element) {
|
||||
element.style = 'display: none;'
|
||||
}
|
||||
}
|
||||
// Navigation bar (Only Mobile)
|
||||
const navigationBar = shadowRoot.querySelector('orama-navigation-bar')
|
||||
if (navigationBar) {
|
||||
const toggler = navigationBar.querySelector('orama-toggler')
|
||||
if (toggler) {
|
||||
const searchSpan = toggler.querySelector('span:nth-child(1)')
|
||||
if (searchSpan && searchSpan.textContent !== '搜索') {
|
||||
searchSpan.textContent = '搜索'
|
||||
searchSpan.style = 'max-height: fit-content;'
|
||||
}
|
||||
const askAISpan = toggler.querySelector('span:nth-child(2)')
|
||||
if (askAISpan && askAISpan.textContent !== '询问 AI') {
|
||||
askAISpan.textContent = '询问 AI'
|
||||
askAISpan.style = 'max-height: fit-content;'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
observer.observe(searchBox, { childList: true, subtree: true, attributes: true })
|
||||
setTimeout(() => observer.disconnect(), 2000)
|
||||
}
|
||||
Reference in New Issue
Block a user