diff --git a/docs/.vitepress/src/App.vue b/docs/.vitepress/src/App.vue index f6046c50e575bb3feb8fbf58a37b1966029884e8..b8c6b6a98894a518aafa2879495212ecc923b7f8 100644 --- a/docs/.vitepress/src/App.vue +++ b/docs/.vitepress/src/App.vue @@ -72,9 +72,8 @@ watch( - + - diff --git a/docs/.vitepress/src/api/api-search.ts b/docs/.vitepress/src/api/api-search.ts index 905cc4b5d2e7337e80e004a3ceec8d5b9cbb1125..80b923e77560edea94296d22188551de2f9b2de7 100644 --- a/docs/.vitepress/src/api/api-search.ts +++ b/docs/.vitepress/src/api/api-search.ts @@ -23,6 +23,7 @@ export function getPop(params: string): Promise<{ headers: { 'Content-Type': 'application/json;charset=UTF-8', }, + showError: false, } ) .then((res: AxiosResponse) => res.data); @@ -41,7 +42,7 @@ export function getSearchRecommend(params: { query: string }): Promise<{ msg: string; }> { const url = `/api-search/search/word?query=${params.query}`; - return request.post(url, params).then((res: AxiosResponse) => res.data); + return request.post(url, params, { showError: false }).then((res: AxiosResponse) => res.data); } /** @@ -51,5 +52,5 @@ export function getSearchRecommend(params: { query: string }): Promise<{ */ export function getSearchDocs(params: SearchDocQueryT) { const url = '/api-search/search/sort/docs'; - return request.post(url, params).then((res: AxiosResponse) => res.data); + return request.post(url, params, { showError: false }).then((res: AxiosResponse) => res.data); } diff --git a/docs/.vitepress/src/assets/category/docs/icon-copy-dark.svg b/docs/.vitepress/src/assets/category/docs/icon-copy-dark.svg new file mode 100644 index 0000000000000000000000000000000000000000..46f21f39daf5cba04e7abb5a9fb578835438010e --- /dev/null +++ b/docs/.vitepress/src/assets/category/docs/icon-copy-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/.vitepress/src/assets/category/docs/icon-copy.svg b/docs/.vitepress/src/assets/category/docs/icon-copy.svg new file mode 100644 index 0000000000000000000000000000000000000000..ab4f98834278b37c1848a34ed1c8a6c8ba2f4216 --- /dev/null +++ b/docs/.vitepress/src/assets/category/docs/icon-copy.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/.vitepress/src/assets/style/markdown.scss b/docs/.vitepress/src/assets/style/markdown.scss index 6e3db473fc8043edf817a0bc04bf223b98fbf2c7..5a246a502ced965dca4a7cea68aa4f1604dbf1d5 100644 --- a/docs/.vitepress/src/assets/style/markdown.scss +++ b/docs/.vitepress/src/assets/style/markdown.scss @@ -131,7 +131,9 @@ margin-bottom: var(--o-gap-3); } - h4 { + h4, + h5, + h6 { @include text1; margin-top: var(--o-gap-3); margin-bottom: var(--o-gap-3); @@ -154,13 +156,13 @@ border-radius: var(--o-radius-m); padding: var(--o-gap-2); margin: 0 auto; - background-color: var(--o-color-fill2); + background-color: transparent; margin-left: -8px; } code { border-radius: var(--layout-pkg-radius); - background-color: var(--o-color-control2-light); + background-color: var(--o-color-fill1); margin: 0 4px; } p code:first-child { @@ -187,7 +189,7 @@ pre { position: relative; border-radius: var(--layout-pkg-radius); - background-color: var(--o-color-control2-light); + background-color: var(--o-color-fill1); padding: 0; overflow: hidden; margin-bottom: var(--o-gap-2); @@ -288,7 +290,8 @@ border-radius: 4px; width: 24px; height: 24px; - background-image: url('@/assets/svg-icons/icon-copy.svg'); + background-color: transparent; + background-image: url('@/assets/category/docs/icon-copy.svg'); background-position: 50%; background-size: 20px; background-repeat: no-repeat; @@ -320,7 +323,12 @@ } @include in-dark { - .markdown-body img { - @include img-in-dark; + .markdown-body { + img { + @include img-in-dark; + } + .copy { + background-image: url('@/assets/category/docs/icon-copy-dark.svg'); + } } } diff --git a/docs/.vitepress/src/assets/style/theme/default-light.token.css b/docs/.vitepress/src/assets/style/theme/default-light.token.css index b2572c848e85fc594d5feb6b2e55033ad6fba36f..7782fbb27d6f4057f2592a28bfe658009779baac 100644 --- a/docs/.vitepress/src/assets/style/theme/default-light.token.css +++ b/docs/.vitepress/src/assets/style/theme/default-light.token.css @@ -20,7 +20,7 @@ * @group kleinblue * @description */ - --o-kleinblue-1: 235, 241, 246; + --o-kleinblue-1: 235, 241, 250; /** * @name * @type palette diff --git a/docs/.vitepress/src/assets/style/theme/popup.scss b/docs/.vitepress/src/assets/style/theme/popup.scss index 0bc392e4fe2150e2da9f63c95a3f1258c782d7b3..5ee495375c8e92d3e9a10cc889a8eb4be1c69a76 100644 --- a/docs/.vitepress/src/assets/style/theme/popup.scss +++ b/docs/.vitepress/src/assets/style/theme/popup.scss @@ -1,6 +1,5 @@ .o-popup { --popup-shadow: var(--o-shadow-2); - --popup-bd: 1px solid var(--o-color-control4); .o-popup-body { border-radius: var(--popup-radius); } diff --git a/docs/.vitepress/src/components/DocMenu.vue b/docs/.vitepress/src/components/DocMenu.vue index 5cf84149b3ca1241c418f4bd4d875b8b22f63d7a..98ffbfd106bb1631dffd002f13bdead2fac394b0 100644 --- a/docs/.vitepress/src/components/DocMenu.vue +++ b/docs/.vitepress/src/components/DocMenu.vue @@ -193,6 +193,7 @@ const expanded = useVModel(props, 'expanded', emits); } .chapter-title-active { + color: var(--o-color-primary1); background-color: var(--o-color-primary1-light); border-radius: var(--o-radius-xs); position: relative; diff --git a/docs/.vitepress/src/config/home.ts b/docs/.vitepress/src/config/home.ts index f93f043f4b0aa3e9e6a285db21e60d2d6719df16..6fd5010014f31f40eefb5cb41013b4dffeab3eb5 100644 --- a/docs/.vitepress/src/config/home.ts +++ b/docs/.vitepress/src/config/home.ts @@ -53,7 +53,7 @@ export const cardList = [ }, title: '安装指南', desc: '指导用户顺利完成 openEuler 操作系统安装', - href: '/zh/Server/InstallationUpgrade/Installation/installation.html', + href: '/zh/Server/InstallationUpgrade/Installation/installation-preparations.html', }, { background: { diff --git a/docs/.vitepress/src/stores/common.ts b/docs/.vitepress/src/stores/common.ts index 75ec55b66ab5ae73d10ce1b703b3330f0a742f91..9ffb204edbd5b6aa560237b388345350ad14d20d 100644 --- a/docs/.vitepress/src/stores/common.ts +++ b/docs/.vitepress/src/stores/common.ts @@ -54,7 +54,7 @@ export const useSearchingStore = defineStore('isSearching', { keyword: '', isLoading: false, currentPage: 1, - version: '', // 文档当前版本 + version: '25.03', // 文档当前版本 }; }, actions: { diff --git a/docs/.vitepress/src/views/docsNode/TheDocsNode.vue b/docs/.vitepress/src/views/docsNode/TheDocsNode.vue index 924b4fe623ef358d411960d57636ab83d1d125ed..17f7a8904bbe20f252409315783082aedd45e919 100644 --- a/docs/.vitepress/src/views/docsNode/TheDocsNode.vue +++ b/docs/.vitepress/src/views/docsNode/TheDocsNode.vue @@ -55,14 +55,12 @@ const getSafeHref = (item: DocMenuNodeT): string => { const oscrollerDom = ref(); const menuScrollDom = ref(); -const footerDom = ref(); const listenScroll = () => { const contentHeight = oscrollerDom.value.querySelector('.docs-node').offsetHeight; // 内容区滚动高度 const menuHeight = menuScrollDom.value.scrollHeight; // 左侧菜单滚动高度 - footerDom.value = document.querySelector('.app-footer'); - const contentTop = oscrollerDom.value.scrollTop - footerDom.value.offsetHeight; // 内容区滚动距离 + const contentTop = oscrollerDom.value.scrollTop - 350; // 内容区滚动距离 menuScrollDom.value.scrollTop = (menuHeight / contentHeight) * contentTop; // 左侧菜单应滚动的高度 }; diff --git a/docs/.vitepress/src/views/home/TheHome.vue b/docs/.vitepress/src/views/home/TheHome.vue index 41f660649f1cfbee96d7c6e23f59f02b9317e8a6..6baf4bb73635aeeb0e9d3828576674b15454a0b8 100644 --- a/docs/.vitepress/src/views/home/TheHome.vue +++ b/docs/.vitepress/src/views/home/TheHome.vue @@ -7,10 +7,13 @@ import IconSearch from '~icons/app/icon-search.svg'; import { cardList, businessScenarioList, toolList } from '@/config/home'; import { useScreen } from '@/composables/useScreen'; -import { useAppearance } from '@/stores/common'; +import { useAppearance, useSearchingStore } from '@/stores/common'; +import { useLocale } from '@/composables/useLocale'; const appearanceStore = useAppearance(); +const searchStore = useSearchingStore(); const { lePad, lePadV, isPhone } = useScreen(); +const { locale } = useLocale(); const gap = computed(() => { if (lePadV.value) { @@ -29,14 +32,14 @@ onMounted(() => { // -------------------- 搜索 -------------------- const searchValue = ref(''); -const enterSearchDoc = () => { - const url = `https://www.openeuler.org/zh/other/search/?search=${searchValue.value}&type=docs`; +const enterSearchDoc = (val?: string) => { + const url = `https://openeuler-website.test.osinfra.cn/${locale.value}/other/search/?search=${val}&type=docs&version=${searchStore.version}`; window.open(url, '_blank'); }; const hotList = ['安装指南', '管理员指南', 'x2openEuler迁移专区', '引用开发指南', 'UKUI用户指南']; const hotSearch = (val: string) => { - searchValue.value = val; + enterSearchDoc(val); }; @@ -52,7 +55,7 @@ const hotSearch = (val: string) => { :max-length="100" :input-on-outlimit="false" clearable - @keyup.enter="enterSearchDoc" + @keyup.enter="enterSearchDoc(searchValue)" class="search" >