Minecraft-Console-Client/docs/.vuepress/config.ts

101 lines
3.4 KiB
TypeScript
Raw Normal View History

import process from 'node:process'
2022-11-02 21:01:32 +08:00
import { viteBundler } from '@vuepress/bundler-vite'
import { webpackBundler } from '@vuepress/bundler-webpack'
import { markdownChartPlugin } from '@vuepress/plugin-markdown-chart'
import { redirectPlugin } from '@vuepress/plugin-redirect'
import { searchPlugin } from '@vuepress/plugin-search'
2022-11-02 21:01:32 +08:00
import { shikiPlugin } from '@vuepress/plugin-shiki'
import { defaultTheme } from '@vuepress/theme-default'
import { defineUserConfig } from 'vuepress'
2022-11-02 21:01:32 +08:00
2022-11-02 21:49:54 +08:00
import { headConfig } from './configs/head.js'
2022-11-02 21:01:32 +08:00
import { mainConfig, defaultThemeConfig } from './configs/locales_config.js'
const isProd = process.env.NODE_ENV === 'production'
export default defineUserConfig({
// set site base to default value
base: '/',
// extra tags in `<head>`
2022-11-02 21:49:54 +08:00
head: headConfig,
2022-11-02 21:01:32 +08:00
// site-level locales config
locales: mainConfig,
// specify bundler via environment variable
bundler: process.env.DOCS_BUNDLER === 'webpack' ? webpackBundler() : viteBundler(),
// configure default theme
theme: defaultTheme({
hostname: 'https://mccteam.github.io',
logo: '/images/MCC_logo.png',
repo: 'MCCTeam/Minecraft-Console-Client',
docsBranch: 'master',
2022-11-02 21:01:32 +08:00
docsDir: 'docs',
// theme-level locales config
locales: defaultThemeConfig,
themePlugins: {
// only enable git plugin in production mode
git: isProd,
// use shiki plugin in production mode instead
prismjs: !isProd,
seo: isProd
? {
canonical: 'https://mccteam.github.io/',
}
: false,
sitemap: isProd
? {
changefreq: 'weekly',
}
: false,
2022-11-02 21:01:32 +08:00
},
}),
// use plugins
plugins: [
2022-11-05 13:30:46 +08:00
redirectPlugin({
hostname: 'https://mccteam.github.io',
2022-11-05 13:30:46 +08:00
config: {
'/r/entity.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/EntityType.cs',
'/r/entity/index.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/EntityType.cs',
2022-11-05 13:30:46 +08:00
'/r/item.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs',
'/r/item/index.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs',
2022-11-05 13:30:46 +08:00
'/r/block.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs',
'/r/block/index.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs',
2022-11-05 13:30:46 +08:00
'/r/l-code.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239#discussion-4447461',
'/r/l-code/index.html': 'https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239#discussion-4447461',
2022-11-05 13:30:46 +08:00
'/r/dc-fmt.html': 'https://www.writebots.com/discord-text-formatting/',
'/r/dc-fmt/index.html': 'https://www.writebots.com/discord-text-formatting/',
2022-11-05 13:30:46 +08:00
'/r/tg-fmt.html': 'https://sendpulse.com/blog/telegram-text-formatting',
'/r/tg-fmt/index.html': 'https://sendpulse.com/blog/telegram-text-formatting',
2022-11-05 13:30:46 +08:00
},
}),
...(isProd ? [shikiPlugin({ theme: 'dark-plus' })] : []),
2022-11-05 13:30:46 +08:00
searchPlugin({
maxSuggestions: 15,
hotKeys: ['s', '/'],
locales: {
'/': {
placeholder: 'Search',
},
},
}),
2023-06-14 09:44:50 +02:00
markdownChartPlugin({
mermaid: true,
}),
2022-11-02 21:01:32 +08:00
],
})