部署文件和插件问题修复

This commit is contained in:
2024-03-22 20:31:04 +08:00
parent fab9914f39
commit c956a8dfed
20 changed files with 595 additions and 24 deletions

View File

@ -2,15 +2,19 @@ import docsPlugin, {
PluginOptions,
LoadedContent,
DocMetadata as OfficialDocMetadata,
Options,
} from "@docusaurus/plugin-content-docs";
import { Plugin, LoadContext } from "@docusaurus/types";
import {
Plugin,
LoadContext,
OptionValidationContext,
} from "@docusaurus/types";
import matter from "gray-matter";
//@ts-ignore
export { validateOptions } from "@docusaurus/plugin-content-docs/src/index";
import path from "path";
import fs from "fs";
import simpleGit, { DefaultLogFields } from "simple-git";
import readingTime, { ReadTimeResults } from "reading-time";
//@ts-ignore
import { validateOptions as officialValidateOptions } from "@docusaurus/plugin-content-docs/src/index";
export type DocMetadata = OfficialDocMetadata & { detail: Detail };
@ -30,6 +34,7 @@ export default async function pluginContentDocs(
context,
options
)) as Plugin<LoadedContent>;
const isProd = process.env.NODE_ENV === "production";
const themePath = path.resolve(__dirname, "./theme");
ret.getThemePath = () => {
@ -57,6 +62,13 @@ export default async function pluginContentDocs(
filename: filename,
reading_time: readingTime(meta.content),
};
if (!isProd && !options.debug) {
// 非生产、非debug模式 直接生产假数据
detail.create_date = new Date();
detail.update_date = new Date();
doc.detail = detail;
return;
}
return new Promise<void>((resolve) => {
// 读取git log文件时间
git.log<DefaultLogFields>(
@ -104,3 +116,17 @@ export default async function pluginContentDocs(
return ret;
}
export function validateOptions({
validate,
options: userOptions,
}: OptionValidationContext<Options, PluginOptions>): PluginOptions {
// @ts-ignore
const oldDebug = userOptions.debug;
//@ts-ignore
delete userOptions.debug;
const ret = officialValidateOptions({ validate, options: userOptions });
// @ts-ignore
userOptions.debug = oldDebug;
return ret;
}

View File

@ -44,10 +44,7 @@ export interface Articles {
total: number;
}
export default function (
context: LoadContext,
options: { debug?: boolean }
): Plugin {
export default function (context: LoadContext, options: any): Plugin {
const themePath = path.resolve(__dirname, "./theme");
return {
name: "docusaurus-plugin-docs-info",
@ -56,15 +53,6 @@ export default function (
},
async contentLoaded({ content, actions, allContent }): Promise<void> {
const { addRoute, createData, setGlobalData } = actions;
const isProd = process.env.NODE_ENV === "production";
if (!isProd && !options.debug) {
setGlobalData({
current: 1,
list: [],
total: 0,
});
return;
}
const docsData = allContent["docusaurus-plugin-content-docs"] as {
default: { loadedVersions: LoadedVersion };