chore: added plugins, assigning proper language for SEO and i18n (#230)
parent
aee80d9539
commit
24c8a6a737
|
@ -1,15 +1,15 @@
|
|||
import { defineConfig, type DefaultTheme } from 'vitepress'
|
||||
import { defineConfig } from 'vitepress'
|
||||
import nav from './nav'
|
||||
import mdPangu from "markdown-it-pangu"
|
||||
import katex from 'markdown-it-katex'
|
||||
import footnote from 'markdown-it-footnote'
|
||||
import { generateSidebar } from 'vitepress-sidebar'
|
||||
import { sidebar } from './sidebar'
|
||||
|
||||
// https://vitepress.dev/reference/site-config
|
||||
export default defineConfig({
|
||||
lang: 'zh-CN',
|
||||
title: "RLE.wiki",
|
||||
description: "一份RLE指北",
|
||||
description: "一份 RLE 指北",
|
||||
markdown: {
|
||||
config(md) {
|
||||
md.use(mdPangu);
|
||||
|
@ -18,7 +18,6 @@ export default defineConfig({
|
|||
},
|
||||
},
|
||||
dir: 'docs',
|
||||
lastUpdated: true,
|
||||
themeConfig: {
|
||||
// https://vitepress.dev/reference/default-theme-config
|
||||
siteTitle: 'RLE.wiki',
|
||||
|
@ -35,7 +34,7 @@ export default defineConfig({
|
|||
},
|
||||
|
||||
// label localization
|
||||
outline: { label: '本页大纲' },
|
||||
outline: { label: '本页大纲', level: 'deep' },
|
||||
lastUpdated: { text: '最后更新' },
|
||||
darkModeSwitchLabel: '深色模式',
|
||||
sidebarMenuLabel: '目录',
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import { type DefaultTheme } from 'vitepress'
|
||||
|
||||
const nav = [
|
||||
type NavConfig = DefaultTheme.Config['nav']
|
||||
|
||||
const nav: NavConfig = [
|
||||
{
|
||||
text: "大学指南",
|
||||
link: "/campus/",
|
||||
|
@ -22,5 +24,6 @@ const nav = [
|
|||
link: "/contributor-guide/CampusTemplate.md",
|
||||
}],
|
||||
},
|
||||
] satisfies DefaultTheme.Config['nav'];
|
||||
];
|
||||
|
||||
export default nav;
|
||||
|
|
|
@ -2,6 +2,20 @@
|
|||
import { h } from 'vue'
|
||||
import type { Theme } from 'vitepress'
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
|
||||
import {
|
||||
NolebaseEnhancedReadabilitiesPlugin,
|
||||
NolebaseEnhancedReadabilitiesMenu,
|
||||
NolebaseEnhancedReadabilitiesScreenMenu
|
||||
} from '@nolebase/vitepress-plugin-enhanced-readabilities'
|
||||
|
||||
import {
|
||||
NolebaseHighlightTargetedHeading,
|
||||
} from '@nolebase/vitepress-plugin-highlight-targeted-heading'
|
||||
|
||||
import '@nolebase/vitepress-plugin-enhanced-readabilities/dist/style.css'
|
||||
import '@nolebase/vitepress-plugin-highlight-targeted-heading/dist/style.css'
|
||||
|
||||
import './style.css'
|
||||
import 'uno.css'
|
||||
|
||||
|
@ -10,9 +24,18 @@ export default {
|
|||
Layout: () => {
|
||||
return h(DefaultTheme.Layout, null, {
|
||||
// https://vitepress.dev/guide/extending-default-theme#layout-slots
|
||||
'doc-top': () => [
|
||||
h(NolebaseHighlightTargetedHeading),
|
||||
],
|
||||
'nav-bar-content-after': () => [
|
||||
h(NolebaseEnhancedReadabilitiesMenu),
|
||||
],
|
||||
'nav-screen-content-after': () => [
|
||||
h(NolebaseEnhancedReadabilitiesScreenMenu),
|
||||
],
|
||||
})
|
||||
},
|
||||
enhanceApp({ app, router, siteData }) {
|
||||
// ...
|
||||
enhanceApp({ app }) {
|
||||
app.use(NolebaseEnhancedReadabilitiesPlugin)
|
||||
}
|
||||
} satisfies Theme
|
||||
|
|
|
@ -13,7 +13,12 @@ export default defineConfig({
|
|||
dts: './.vitepress/components.d.ts',
|
||||
transformer: 'vue3',
|
||||
}),
|
||||
|
||||
UnoCSS(),
|
||||
],
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@nolebase/vitepress-plugin-enhanced-readabilities',
|
||||
'@nolebase/vitepress-plugin-highlight-targeted-heading',
|
||||
],
|
||||
},
|
||||
})
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@iconify-json/octicon": "^1.1.51",
|
||||
"@nolebase/vitepress-plugin-enhanced-readabilities": "^1.7.3",
|
||||
"@nolebase/vitepress-plugin-highlight-targeted-heading": "^1.4.0",
|
||||
"@types/markdown-it": "^13.0.7",
|
||||
"@types/markdown-it-footnote": "^3.0.3",
|
||||
"markdown-it-footnote": "^3.0.3",
|
||||
|
|
|
@ -16,6 +16,12 @@ devDependencies:
|
|||
'@iconify-json/octicon':
|
||||
specifier: ^1.1.51
|
||||
version: 1.1.51
|
||||
'@nolebase/vitepress-plugin-enhanced-readabilities':
|
||||
specifier: ^1.7.3
|
||||
version: 1.7.3(vitepress@1.0.0-rc.31)(vue@3.3.8)
|
||||
'@nolebase/vitepress-plugin-highlight-targeted-heading':
|
||||
specifier: ^1.4.0
|
||||
version: 1.4.0(vue@3.3.8)
|
||||
'@types/markdown-it':
|
||||
specifier: ^13.0.7
|
||||
version: 13.0.7
|
||||
|
@ -2160,6 +2166,24 @@ packages:
|
|||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.15.0
|
||||
|
||||
/@nolebase/vitepress-plugin-enhanced-readabilities@1.7.3(vitepress@1.0.0-rc.31)(vue@3.3.8):
|
||||
resolution: {integrity: sha512-Xob5e5AEcN/Ieakk1yiSSYbT/aw/YebCY0J4s4FLkbzdhuIJr0wVaNm1dIVAjEqS5BtkZkRSzfi9sEWfgpnP1w==}
|
||||
peerDependencies:
|
||||
vitepress: '>=1.0.0-rc.31'
|
||||
vue: '>=3.3.8'
|
||||
dependencies:
|
||||
vitepress: 1.0.0-rc.31(@algolia/client-search@4.20.0)(postcss@8.4.32)(search-insights@2.11.0)
|
||||
vue: 3.3.8
|
||||
dev: true
|
||||
|
||||
/@nolebase/vitepress-plugin-highlight-targeted-heading@1.4.0(vue@3.3.8):
|
||||
resolution: {integrity: sha512-SSCORdPwugEwVpov7eaap7KtW0y9kn2UbQM1n4C4/bgQ71Ayelawoee1MpHSyBxk96rynG5ubo6Q6NPgDK1sjg==}
|
||||
peerDependencies:
|
||||
vue: '>=3.3.8'
|
||||
dependencies:
|
||||
vue: 3.3.8
|
||||
dev: true
|
||||
|
||||
/@polka/url@1.0.0-next.24:
|
||||
resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
|
||||
dev: true
|
||||
|
|
Loading…
Reference in New Issue