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

95 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 { defineUserConfig } from '@vuepress/cli'
import { shikiPlugin } from '@vuepress/plugin-shiki'
import { defaultTheme } from '@vuepress/theme-default'
import { getDirname, path } from '@vuepress/utils'
import { searchPlugin } from "@vuepress/plugin-search";
2022-11-05 13:30:46 +08:00
import { redirectPlugin } from "vuepress-plugin-redirect";
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 __dirname = getDirname(import.meta.url)
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({
logo: "/images/MCC_logo.png",
2022-11-02 21:49:54 +08:00
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,
},
}),
// configure markdown
markdown: {
importCode: {
handleImportPath: (str) =>
str.replace(/^@vuepress/, path.resolve(__dirname, '../../ecosystem')),
},
},
// use plugins
plugins: [
2022-11-05 13:30:46 +08:00
redirectPlugin({
hostname: "https://mccteam.github.io",
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",
"/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",
"/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",
"/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",
"/r/dc-fmt.html": "https://www.writebots.com/discord-text-formatting/",
"/r/dc-fmt/index.html": "https://www.writebots.com/discord-text-formatting/",
"/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-02 21:01:32 +08:00
// only enable shiki plugin in production mode
isProd ? shikiPlugin({ theme: 'dark-plus' }) : [],
2022-11-05 13:30:46 +08:00
searchPlugin({
maxSuggestions: 15,
hotKeys: ["s", "/"],
locales: {
"/": {
placeholder: "Search",
},
},
}),
2022-11-02 21:01:32 +08:00
],
})