diff --git a/README.en-US.md b/README.en-US.md
index a7a81dd..e6de8e8 100644
--- a/README.en-US.md
+++ b/README.en-US.md
@@ -155,7 +155,7 @@
## Quick Start
-> The official project website integrates AI chat and search. For more usage, see [**linuxmirrors.cn**](https://linuxmirrors.cn/en/use/)
+> For more usage, see official project website [**linuxmirrors.cn**](https://linuxmirrors.cn/en/use/)
- ### GNU/Linux System Software Mirror Switching
diff --git a/README.md b/README.md
index 14118a4..5ba2c65 100644
--- a/README.md
+++ b/README.md
@@ -155,7 +155,7 @@
## 快速开始
-> 项目官方网站集成了 AI 聊天与搜索,更多使用方法详见 [**linuxmirrors.cn**](https://linuxmirrors.cn/use/)
+> 更多使用方法详见项目官方网站 [**linuxmirrors.cn**](https://linuxmirrors.cn/use/)
- ### GNU/Linux 更换系统软件源
diff --git a/README.zh-Hant.md b/README.zh-Hant.md
index f738d04..b6b0ab5 100644
--- a/README.zh-Hant.md
+++ b/README.zh-Hant.md
@@ -155,7 +155,7 @@
## 快速開始
-> 專案官方網站整合了 AI 聊天與搜索,更多使用方法詳見 [**linuxmirrors.cn**](https://linuxmirrors.cn/zh-Hant/use/)
+> 更多使用方法詳見專案官方網站 [**linuxmirrors.cn**](https://linuxmirrors.cn/zh-Hant/use/)
- ### GNU/Linux 更換系統軟體源
diff --git a/docs/assets/css/orama-ui.css b/docs/assets/css/orama-ui.css
deleted file mode 100644
index 4156038..0000000
--- a/docs/assets/css/orama-ui.css
+++ /dev/null
@@ -1,122 +0,0 @@
-.orama-ui {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- font-family: var(--md-text-font);
- font-weight: 400;
- text-rendering: optimizeLegibility;
- vertical-align: baseline;
- -webkit-text-size-adjust: none;
- -moz-text-size-adjust: none;
- text-size-adjust: none;
- --orama-base-font-size: 18;
-
- --font-size-xxs: calc(10rem/var(--orama-base-font-size, 16));
- --font-size-xs: calc(12rem/var(--orama-base-font-size, 16));
- --font-size-sm: calc(14rem/var(--orama-base-font-size, 16));
- --font-size-md: calc(16rem/var(--orama-base-font-size, 16));
- --font-size-lg: calc(20rem/var(--orama-base-font-size, 16));
- --font-weight-normal: 400;
- --font-weight-semibold: 600;
- --font-line-height-s: 1.25;
- --font-line-height-m: 1.5;
- --radius-xs: calc(6rem/var(--orama-base-font-size, 16));
- --radius-s: calc(8rem/var(--orama-base-font-size, 16));
- --radius-m: calc(12rem/var(--orama-base-font-size, 16));
- --radius-l: calc(16rem/var(--orama-base-font-size, 16));
- --radius-3xl: calc(40rem/var(--orama-base-font-size, 16));
- --textarea-radius: calc(16rem/var(--orama-base-font-size, 16));
- --spacing-2xs: calc(2rem/var(--orama-base-font-size, 16));
- --spacing-xs: calc(4rem/var(--orama-base-font-size, 16));
- --spacing-s: calc(8rem/var(--orama-base-font-size, 16));
- --spacing-m: calc(12rem/var(--orama-base-font-size, 16));
- --spacing-l: calc(16rem/var(--orama-base-font-size, 16));
- --spacing-xl: calc(24rem/var(--orama-base-font-size, 16));
- --spacing-2xl: calc(32rem/var(--orama-base-font-size, 16));
- --spacing-3xl: calc(40rem/var(--orama-base-font-size, 16));
- --textarea-shadow: var(--md-shadow-z1);
-
- --text-color-primary: #151515;
- --text-color-secondary: #838289;
- --text-color-tertiary: #99989d;
- --text-color-accent: var(--md-accent-fg-color);
- --text-color-inactive: #99989d;
- --text-color-reverse: #fff;
- --background-color-primary: #fbfbfb;
- --background-color-secondary: #fff;
- --background-color-tertiary: var(--md-accent-fg-color--transparent);
- --background-color-fourth: #efefef;
- --background-color-reverse: #000;
- --background-color-accent: var(--md-accent-fg-color);
- --border-color-primary: #dadada;
- --border-color-secondary: #efefef;
- --border-color-tertiary: #151515;
- --border-color-accent: var(--md-accent-fg-color);
- --icon-color-primary: #151515;
- --icon-color-secondary: #dadada;
- --icon-color-tertiary: #838289;
- --icon-color-inactive: #99989d;
- --icon-color-reverse: #fbfbfb;
- --shadow-color-primary: #fff;
- --button-text-color-primary: #fbfbfb;
- --button-text-color-secondary: #838289;
- --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);
- --button-border-color-secondary: #dadada;
- --backdrop-background-color-primary: hsla(0, 0%, 98%, .7);
- --chat-button-border-color-gradientOne: transparent;
- --chat-button-border-color-gradientTwo: transparent;
- --chat-button-border-color-gradientThree: var(--md-accent-fg-color);
- --chat-button-border-color-gradientFour: var(--md-accent-fg-color);
- --chat-button-border-color-gradientFive: transparent;
- --chat-button-border-color-gradientSix: transparent;
- --chat-button-background-color-gradientOne: var(--md-accent-fg-color);
- --chat-button-background-color-gradientTwo: transparent;
-
-}
-
-.orama-ui *,
-.orama-ui:after,
-.orama-ui:before {
- box-sizing: border-box
-}
-
-[data-md-color-scheme="slate"] .orama-ui {
- --text-color-primary: #fbfbfb;
- --text-color-secondary: #dadada;
- --text-color-tertiary: #838289;
- --text-color-accent: var(--md-accent-fg-color);
- --text-color-inactive: #99989d;
- --text-color-reverse: #000;
- --background-color-primary: var(--md-default-bg-color);
- --background-color-secondary: #101010;
- --background-color-tertiary: var(--md-accent-fg-color--transparent);
- --background-color-fourth: #2e2e2e;
- --background-color-reverse: #fff;
- --background-color-accent: var(--md-accent-fg-color);
- --border-color-primary: #2e2e2e;
- --border-color-secondary: #151515;
- --border-color-tertiary: #afafb1;
- --border-color-accent: var(--md-accent-fg-color);
- --icon-color-primary: #fbfbfb;
- --icon-color-secondary: #dadada;
- --icon-color-tertiary: #838289;
- --icon-color-inactive: #99989d;
- --icon-color-reverse: var(--md-default-bg-color);
- --shadow-color-primary: #000;
- --button-text-color-primary: #fbfbfb;
- --button-text-color-secondary: #99989d;
- --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);
- --button-border-color-secondary: #2e2e2e;
- --backdrop-background-color-primary: rgba(5, 5, 5, .7);
- --chat-button-border-color-gradientOne: transparent;
- --chat-button-border-color-gradientTwo: transparent;
- --chat-button-border-color-gradientThree: var(--md-accent-fg-color);
- --chat-button-border-color-gradientFour: var(--md-accent-fg-color);
- --chat-button-border-color-gradientFive: transparent;
- --chat-button-border-color-gradientSix: transparent;
- --chat-button-background-color-gradientOne: var(--md-accent-fg-color);
- --chat-button-background-color-gradientTwo: transparent;
-}
diff --git a/docs/assets/images/icon/orama/orama-when-dark.svg b/docs/assets/images/icon/orama/orama-when-dark.svg
deleted file mode 100644
index 8c00c81..0000000
--- a/docs/assets/images/icon/orama/orama-when-dark.svg
+++ /dev/null
@@ -1,88 +0,0 @@
-
diff --git a/docs/assets/images/icon/orama/orama-when-light.svg b/docs/assets/images/icon/orama/orama-when-light.svg
deleted file mode 100644
index 1868b1c..0000000
--- a/docs/assets/images/icon/orama/orama-when-light.svg
+++ /dev/null
@@ -1,88 +0,0 @@
-
diff --git a/docs/assets/js/component.js b/docs/assets/js/component.js
index 882900a..3c56381 100644
--- a/docs/assets/js/component.js
+++ b/docs/assets/js/component.js
@@ -1,6 +1,4 @@
// 使用 mkdocs-material 与第三方 JavaScript 库集成的方法
document$.subscribe(function () {
ComponentSystem.reinitializeAll()
- // Orama AI Search
- loadOramaWebComponent()
})
diff --git a/docs/assets/js/components/orama-ui/config.js b/docs/assets/js/components/orama-ui/config.js
deleted file mode 100644
index cd998c7..0000000
--- a/docs/assets/js/components/orama-ui/config.js
+++ /dev/null
@@ -1,217 +0,0 @@
-const OramaI18nData = {
- 'zh-Hans': {
- suggestions: ['如何使用', '支持哪些系统'],
- askAiText: '询问 AI',
- searchText: '搜索',
- toSelectText: '选择',
- toNavigateText: '导航',
- toCloseText: '关闭',
- dictionary: {
- searchPlaceholder: '请输入要搜索的内容...',
- chatPlaceholder: '有什么可以帮你的吗?',
- noResultsFound: '未找到结果',
- noResultsFoundFor: '未找到与该内容相关的结果',
- suggestionsTitle: '建议',
- seeAll: '查看全部',
- addMore: '添加更多',
- clearChat: '清空聊天',
- errorMessage: '尝试搜索时发生错误。请重试。',
- disclaimer: 'AI 可能会出错,请核实信息。',
- startYourSearch: '开始搜索',
- initErrorSearch: '无法初始化搜索服务',
- initErrorChat: '无法初始化聊天服务',
- chatButtonLabel: '询问 AI',
- searchButtonLabel: '搜索',
- },
- },
- 'zh-Hant': {
- suggestions: ['如何使用', '支援哪些系統'],
- askAiText: '詢問 AI',
- searchText: '搜尋',
- toSelectText: '選擇',
- toNavigateText: '導航',
- toCloseText: '關閉',
- dictionary: {
- searchPlaceholder: '請輸入要搜尋的內容...',
- chatPlaceholder: '有什麼可以幫你的嗎?',
- noResultsFound: '未找到結果',
- noResultsFoundFor: '未找到與該內容相關的結果',
- suggestionsTitle: '建議',
- seeAll: '看全部',
- addMore: '添加更多',
- clearChat: '清空聊天',
- errorMessage: '嘗試搜尋時發生錯誤。請重試。',
- disclaimer: 'AI 可能會出錯,請核實資訊。',
- startYourSearch: '開始搜尋',
- initErrorSearch: '無法初始化搜尋服務',
- initErrorChat: '無法初始化聊天服務',
- chatButtonLabel: '詢問 AI',
- searchButtonLabel: '搜尋',
- },
- },
- en: {
- suggestions: ['How to use', 'What systems are supported'],
- askAiText: 'Ask AI',
- searchText: 'Search',
- toSelectText: 'Select',
- toNavigateText: 'Navigate',
- toCloseText: 'Close',
- dictionary: {
- searchPlaceholder: 'Please enter the content to search...',
- chatPlaceholder: 'How can I help you?',
- noResultsFound: 'No results found',
- noResultsFoundFor: 'No results found for',
- suggestionsTitle: 'Suggestions',
- seeAll: 'See all',
- addMore: 'Add more',
- clearChat: 'Clear chat',
- errorMessage: 'An error occurred while trying to search. Please try again.',
- disclaimer: 'AI can make mistakes. Please verify the information.',
- startYourSearch: 'Start your search',
- initErrorSearch: 'Unable to initialize search service',
- initErrorChat: 'Unable to initialize chat service',
- chatButtonLabel: 'Ask AI',
- searchButtonLabel: 'Search',
- },
- },
-}
-
-// get search box config
-function getOramaSearchBoxConfig() {
- const currentLang = __isZhHant ? 'zh-Hant' : __isEn ? 'en' : 'zh-Hans'
- 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',
- },
- suggestions: OramaI18nData[currentLang].suggestions,
- dictionary: OramaI18nData[currentLang].dictionary,
- }
-}
-
-// localization search box component
-function localizationOramaSearchBox(searchBox) {
- if (!searchBox) return
- const currentLang = __isZhHant ? 'zh-Hant' : __isEn ? 'en' : 'zh-Hans'
- const askAiText = OramaI18nData[currentLang].askAiText
- const searchText = OramaI18nData[currentLang].searchText
- 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 !== askAiText) {
- // element.textContent = askAiText
- // }
- // }
-
- const footer = shadowRoot.querySelector('orama-footer')
- if (footer) {
- // Keyboard shortcuts localization (Only PC)
- const toSelectText = OramaI18nData[currentLang].toSelectText
- const toNavigateText = OramaI18nData[currentLang].toNavigateText
- const toCloseText = OramaI18nData[currentLang].toCloseText
- const shortcutDescriptions = footer.querySelectorAll('.shortcut-description')
- shortcutDescriptions.forEach((element) => {
- if (element.textContent === 'to select' && element.textContent !== toSelectText) {
- element.textContent = toSelectText
- } else if (element.textContent === 'to navigate' && element.textContent !== toNavigateText) {
- element.textContent = toNavigateText
- } else if (element.textContent === 'to close' && element.textContent !== toCloseText) {
- element.textContent = toCloseText
- }
- })
- // Change logo image
- const logoImg = footer.querySelector('.logo-link .logo')
- if (logoImg) {
- let theme = 'light'
- try {
- const palette = __md_get('__palette')
- if (palette && typeof palette.color === 'object') {
- theme = palette.color.scheme === 'slate' ? 'dark' : 'light'
- }
- } catch {}
- logoImg.src = `/assets/images/icon/orama/orama-when-${theme}.svg`
- }
- }
-
- // 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 !== searchText) {
- searchSpan.textContent = searchText
- searchSpan.style = 'max-height: fit-content;'
- }
- const askAISpan = toggler.querySelector('span:nth-child(2)')
- if (askAISpan && askAISpan.textContent !== askAiText) {
- askAISpan.textContent = askAiText
- askAISpan.style = 'max-height: fit-content;'
- }
- }
- }
- }
- })
- observer.observe(searchBox, { childList: true, subtree: true, attributes: true })
- setTimeout(() => observer.disconnect(), 2000)
-}
diff --git a/docs/assets/js/components/orama-ui/index-native.js b/docs/assets/js/components/orama-ui/index-native.js
deleted file mode 100644
index 3450bda..0000000
--- a/docs/assets/js/components/orama-ui/index-native.js
+++ /dev/null
@@ -1,47 +0,0 @@
-function loadOramaWebComponent() {
- const searchBox = document.querySelector('orama-search-box')
- if (searchBox) {
- Object.assign(searchBox, getOramaSearchBoxConfig())
- }
-
- // custom entrance button style
- const searchButton = document.querySelector('orama-search-button')
- if (searchButton) {
- searchButton.textContent = '搜索'
- const observer = new MutationObserver((_mutations, obs) => {
- if (searchButton.shadowRoot) {
- const button = searchButton.shadowRoot.querySelector('button')
- if (button) {
- button.style = 'border-radius: 8px !important;'
- button.querySelector('.button__label').style = 'height: 22px; padding: 2px 8px; font-size: 0.75rem;'
- button.querySelector('span[slot="adorment-end"], .kyb-shortcut').style = 'display: none;'
- // search icon style
- const magnifyingGlassShadowRoot = button.querySelector('ph-magnifying-glass').shadowRoot
- const styleElement = document.createElement('style')
- styleElement.textContent = `
-svg {
- font-size: 24px;
-}`
- if (!magnifyingGlassShadowRoot.querySelector('style[data-custom="icon-style"]')) {
- styleElement.setAttribute('data-custom', 'icon-style')
- magnifyingGlassShadowRoot.appendChild(styleElement)
- }
- obs.disconnect()
- }
- }
- })
- observer.observe(searchButton, {
- childList: true,
- subtree: true,
- attributes: true,
- characterData: true,
- })
- setTimeout(() => observer.disconnect(), 2000)
- }
-
- searchButton.addEventListener('click', function () {
- const searchBox = document.querySelector('orama-search-box')
- // localization chat box component
- localizationOramaSearchBox(searchBox)
- })
-}
diff --git a/docs/assets/js/components/orama-ui/index.js b/docs/assets/js/components/orama-ui/index.js
deleted file mode 100644
index fe6813c..0000000
--- a/docs/assets/js/components/orama-ui/index.js
+++ /dev/null
@@ -1,30 +0,0 @@
-function loadOramaWebComponent() {
- const searchBox = document.querySelector('orama-search-box')
- if (searchBox) {
- Object.assign(searchBox, getOramaSearchBoxConfig())
- }
-
- // define global function
- window.openOramaSearch = function (event) {
- const element = document.querySelector('orama-search-box')
- if (element) {
- element.open = true
- localizationOramaSearchBox(element)
- }
- return false
- }
- // localization chat box component
- if (searchBox) {
- const openObserver = new MutationObserver((mutations) => {
- mutations.forEach((mutation) => {
- if (mutation.type === 'attributes' && mutation.attributeName === 'open' && searchBox.hasAttribute('open')) {
- localizationOramaSearchBox(searchBox)
- }
- })
- })
- openObserver.observe(searchBox, { attributes: true })
- if (searchBox.hasAttribute('open')) {
- localizationOramaSearchBox(searchBox)
- }
- }
-}
diff --git a/docs/index.en.md b/docs/index.en.md
index da0a7de..37389f5 100644
--- a/docs/index.en.md
+++ b/docs/index.en.md
@@ -48,7 +48,7 @@ hide:
---
Just one command to run directly, zero technical barrier, no dependencies required
- Documentation integrates AI search and chat, providing solutions for various use cases
+ Documentation integrates AI chat, providing solutions for various use cases
- :material-vector-polyline:{ .lg .middle } __Wide System Support__
diff --git a/docs/index.md b/docs/index.md
index 6316519..aa05598 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -48,7 +48,7 @@ hide:
---
只需要一行命令就能直接运行,零技术门槛,无需安装任何依赖
- 文档集成了 AI 搜索与聊天功能,为各种使用场景提供解决方案
+ 文档集成了 AI 搜索功能,为各种使用场景提供解决方案
- :material-vector-polyline:{ .lg .middle } __系统支持广泛__
diff --git a/docs/index.zh-Hant.md b/docs/index.zh-Hant.md
index 60c3c92..b25a433 100644
--- a/docs/index.zh-Hant.md
+++ b/docs/index.zh-Hant.md
@@ -48,7 +48,7 @@ hide:
---
只需要一行指令就能直接運行,零技術門檻,無需安裝任何依賴
- 文件整合了 AI 搜尋與聊天功能,為各種使用場景提供解決方案
+ 文件整合了 AI 聊天功能,為各種使用場景提供解決方案
- :material-vector-polyline:{ .lg .middle } __系統支援廣泛__
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index e31c3f9..189470d 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -287,6 +287,10 @@
width: 24px !important;
}
+.md-header__source {
+ margin-left: 0 !important;
+}
+
@media screen and (min-width: 768px) {
.md-header__button {
border-radius: 6px;
diff --git a/docs/theme/main.html b/docs/theme/main.html
index b2d5470..e23e515 100644
--- a/docs/theme/main.html
+++ b/docs/theme/main.html
@@ -1,8 +1,6 @@
{% extends "base.html" %}
{% block scripts %}
-
-
{{ super() }}
{% endblock %}
diff --git a/docs/theme/partials/content.html b/docs/theme/partials/content.html
index d2650b1..5df760c 100644
--- a/docs/theme/partials/content.html
+++ b/docs/theme/partials/content.html
@@ -13,5 +13,3 @@
{% include "partials/feedback.html" %}
{% include "partials/comments.html" %}
-
-