chore: added plugins, assigning proper language for SEO and i18n (#230)

pull/286/head
Neko Ayaka 2023-12-16 17:28:43 +08:00 committed by Rizumu Ayaka
parent aee80d9539
commit 24c8a6a737
6 changed files with 66 additions and 10 deletions

View File

@ -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: '目录',

View File

@ -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;

View File

@ -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

View File

@ -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',
],
},
})

View File

@ -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",

View File

@ -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