const VersionsArchived = require("./versionsArchived.json"); const { themes } = require("prism-react-renderer"); const darkCodeTheme = themes.palenight; /** @type {import('@docusaurus/types').Config} */ const config = { title: "Halo 文档", tagline: "Halo 的文档站点", url: "https://docs.halo.run", baseUrl: "/", favicon: "img/favicon-96x96.png", i18n: { defaultLocale: "zh-Hans", locales: ["zh-Hans"], }, organizationName: "halo-dev", // Usually your GitHub org/user name. projectName: "halo", // Usually your repo name. presets: [ [ "classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. editUrl: "https://github.com/halo-dev/docs/edit/main/", routeBasePath: "/", showLastUpdateTime: true, showLastUpdateAuthor: true, lastVersion: "2.18", versions: { current: { label: "2.19.0-SNAPSHOT", path: "2.19.0-SNAPSHOT", }, }, }, blog: false, theme: { customCss: require.resolve("./src/css/custom.css"), }, sitemap: { changefreq: "weekly", priority: 0.5, ignorePatterns: [ "/2.0/**", "/2.1/**", "/2.2/**", "/2.3/**", "/2.4/**", "/2.5/**", "/2.6/**", ], }, googleAnalytics: { trackingID: "UA-110780416-7", }, gtag: { trackingID: "UA-110780416-7", }, }), ], ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ docs: { sidebar: { autoCollapseCategories: true, }, }, navbar: { title: "Halo 文档", logo: { alt: "Halo Logo", src: "https://halo.run/upload/2021/03/Adaptive256-463ca9b92e2d40268431018c07735842.png", }, items: [ { type: "docSidebar", position: "left", sidebarId: "tutorial", label: "使用指南", }, { type: "docSidebar", position: "left", sidebarId: "developer", label: "开发者指南", }, { type: "docsVersionDropdown", position: "right", dropdownActiveClassDisabled: true, dropdownItemsAfter: [ { type: "html", value: '', }, { type: "html", className: "dropdown-archived-versions", value: "Archived versions", }, ...Object.entries(VersionsArchived).map( ([versionName, versionUrl]) => ({ label: versionName, href: versionUrl, }) ), { to: "/versions", label: "All versions", }, ], }, { href: "https://halo.run", label: "官网", position: "right", }, { href: "https://bbs.halo.run", label: "论坛", position: "right", }, { href: "https://github.com/halo-dev/halo", label: "GitHub", position: "right", }, { href: "https://gitee.com/halo-dev/halo", label: "Gitee", position: "right", }, ], }, footer: { style: "dark", copyright: `Copyright © 2023 凌霞软件. Built with Docusaurus.`, links: [ { title: "关于", items: [ { label: "官网", href: "https://halo.run", }, { label: "应用市场", href: "https://halo.run/store/apps", }, { label: "GitHub 组织", href: "https://github.com/halo-dev", }, { label: "Gitee 组织", href: "https://gitee.com/halo-dev", }, { label: "Server Status", href: "https://status.halo.run", }, ], }, { title: "社区", items: [ { label: "官方论坛", href: "https://bbs.halo.run", }, { label: "微信公众号", href: "https://halo.run/upload/2021/03/B3C27F16-4890-4633-81CC-20BA4B28F94F-2415126255c749b290312ca22d9bdeb0.jpeg", }, { label: "GitHub Issues", href: "https://github.com/halo-dev/halo/issues", }, { label: "Telegram Channel", href: "https://t.me/halo_dev", }, { label: "Telegram Group", href: "https://t.me/HaloBlog", }, ], }, ], }, prism: { theme: darkCodeTheme, darkTheme: darkCodeTheme, additionalLanguages: ["java"], }, zoom: { selector: ".markdown :not(a) > img", }, }), plugins: [ require.resolve("docusaurus-plugin-image-zoom"), [ "@docusaurus/plugin-client-redirects", { redirects: [ { to: "/getting-started/install/docker", from: ["/zh/install/docker", "/install/docker"], }, { to: "/getting-started/prepare", from: ["/zh/install/prepare", "/install/prepare"], }, { to: "/developer-guide/core/structure", from: ["/zh/developer-guide/core", "/developer-guide/core"], }, { to: "/developer-guide/theme/prepare", from: ["/zh/developer-guide/theme", "/developer-guide/theme"], }, { to: "/contribution/issue", from: ["/zh/contribution/issue"], }, { to: "/contribution/pr", from: ["/zh/contribution/pr"], }, ], createRedirects(existingPath) { if (existingPath.startsWith("/2.19.0-SNAPSHOT/")) { return [ existingPath.replace("/2.19.0-SNAPSHOT/", "/2.10.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.11.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.12.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.13.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.14.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.15.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.16.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.17.0-SNAPSHOT/"), existingPath.replace("/2.19.0-SNAPSHOT/", "/2.18.0-SNAPSHOT/"), ]; } return undefined; }, }, ], ], webpack: { jsLoader: (isServer) => ({ loader: require.resolve("swc-loader"), options: { jsc: { parser: { syntax: "typescript", tsx: true, }, target: "es2017", }, module: { type: isServer ? "commonjs" : "es6", }, }, }), }, scripts: [ { src: "https://analytics.halo.run/script.js", async: true, "data-website-id": "f9995c32-81e9-4e07-91f2-c276a0d63c9f", }, ], }; module.exports = config;