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"
>
@@ -222,6 +225,11 @@ const hotSearch = (val: string) => {
.o-icon {
font-size: 40px;
}
+ @include hover {
+ .business-title {
+ color: var(--o-color-primary1);
+ }
+ }
}
.business-title {
@include h4;