@ruan-cat/vitepress-preset-config 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.mts +1 -1
- package/dist/config.mjs +22 -11
- package/package.json +4 -3
- package/src/.vitepress/config.mts +13 -1
- package/src/config.mts +38 -16
package/dist/config.d.mts
CHANGED
|
@@ -4,6 +4,7 @@ export { defineConfig } from 'vitepress';
|
|
|
4
4
|
import { generateSidebar } from 'vitepress-sidebar';
|
|
5
5
|
export { addChangelog2doc } from '@ruan-cat/utils/node-esm';
|
|
6
6
|
|
|
7
|
+
type VitePressSidebarOptions = Parameters<typeof generateSidebar>[0];
|
|
7
8
|
/**
|
|
8
9
|
* 设置自动生成侧边栏的配置
|
|
9
10
|
* @see https://vitepress-sidebar.cdget.com/zhHans/guide/options
|
|
@@ -11,6 +12,5 @@ export { addChangelog2doc } from '@ruan-cat/utils/node-esm';
|
|
|
11
12
|
declare function setGenerateSidebar(options?: VitePressSidebarOptions): vitepress_sidebar_types.Sidebar;
|
|
12
13
|
/** 设置vitepress主配置 */
|
|
13
14
|
declare function setUserConfig(config?: UserConfig<DefaultTheme.Config>): UserConfig<DefaultTheme.Config>;
|
|
14
|
-
type VitePressSidebarOptions = Parameters<typeof generateSidebar>[0];
|
|
15
15
|
|
|
16
16
|
export { setGenerateSidebar, setUserConfig };
|
package/dist/config.mjs
CHANGED
|
@@ -4,7 +4,8 @@ import { generateSidebar } from "vitepress-sidebar";
|
|
|
4
4
|
import { GitChangelog, GitChangelogMarkdownSection } from "@nolebase/vitepress-plugin-git-changelog/vite";
|
|
5
5
|
import { vitepressDemoPlugin } from "vitepress-demo-plugin";
|
|
6
6
|
import { merge, isUndefined, cloneDeep } from "lodash-es";
|
|
7
|
-
import
|
|
7
|
+
import consola from "consola";
|
|
8
|
+
import { addChangelog2doc, hasChangelogMd } from "@ruan-cat/utils/node-esm";
|
|
8
9
|
var defaultSidebarOptions = {
|
|
9
10
|
// documentRootPath: "src",
|
|
10
11
|
// 侧边栏需要折叠
|
|
@@ -36,8 +37,8 @@ function setGenerateSidebar(options) {
|
|
|
36
37
|
return generateSidebar(getMergeSidebarOptions(options));
|
|
37
38
|
}
|
|
38
39
|
var defaultUserConfig = {
|
|
39
|
-
title: "
|
|
40
|
-
description: "\
|
|
40
|
+
title: "\u8BF7\u586B\u5199\u6709\u610F\u4E49\u7684\u6807\u9898",
|
|
41
|
+
description: "\u8BF7\u586B\u5199\u6709\u610F\u4E49\u7684\u63CF\u8FF0",
|
|
41
42
|
lang: "zh",
|
|
42
43
|
// 暂不需要
|
|
43
44
|
// srcDir: "./src",
|
|
@@ -47,12 +48,7 @@ var defaultUserConfig = {
|
|
|
47
48
|
provider: "local"
|
|
48
49
|
},
|
|
49
50
|
// https://vitepress.dev/reference/default-theme-config
|
|
50
|
-
nav: [
|
|
51
|
-
{ text: "\u9996\u9875", link: "/" },
|
|
52
|
-
{ text: "\u66F4\u65B0\u65E5\u5FD7", link: "/CHANGELOG.md" }
|
|
53
|
-
// TODO: 未来项目结束时,在此补充配置
|
|
54
|
-
// { text: "仓库地址", link: "https://github.com/ruan-cat/vercel-monorepo-test/tree/dev/packages/docs-01-star" },
|
|
55
|
-
],
|
|
51
|
+
nav: [{ text: "\u9996\u9875", link: "/" }],
|
|
56
52
|
outline: {
|
|
57
53
|
label: "\u672C\u9875\u76EE\u5F55",
|
|
58
54
|
level: "deep"
|
|
@@ -62,7 +58,7 @@ var defaultUserConfig = {
|
|
|
62
58
|
socialLinks: [
|
|
63
59
|
{
|
|
64
60
|
icon: "github",
|
|
65
|
-
link: "https://github.com/ruan-cat
|
|
61
|
+
link: "https://github.com/ruan-cat"
|
|
66
62
|
}
|
|
67
63
|
]
|
|
68
64
|
},
|
|
@@ -103,8 +99,23 @@ var defaultUserConfig = {
|
|
|
103
99
|
}
|
|
104
100
|
}
|
|
105
101
|
};
|
|
102
|
+
function handleChangeLog(userConfig) {
|
|
103
|
+
var _a;
|
|
104
|
+
if (!hasChangelogMd()) {
|
|
105
|
+
consola.warn(` \u672A\u627E\u5230\u53D8\u66F4\u65E5\u5FD7\u6587\u4EF6\uFF0C\u4E0D\u6DFB\u52A0\u53D8\u66F4\u65E5\u5FD7\u5BFC\u822A\u680F\u3002 `);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const nav = (_a = userConfig == null ? void 0 : userConfig.themeConfig) == null ? void 0 : _a.nav;
|
|
109
|
+
if (isUndefined(nav)) {
|
|
110
|
+
consola.error(` \u5F53\u524D\u7684\u7528\u6237\u914D\u7F6E\u4E3A\uFF1A `, userConfig);
|
|
111
|
+
throw new Error(` nav \u9ED8\u8BA4\u63D0\u4F9B\u7684\u5BFC\u822A\u680F\u914D\u7F6E\u4E3A\u7A7A\u3002\u4E0D\u7B26\u5408\u9ED8\u8BA4\u914D\u7F6E\uFF0C\u8BF7\u68C0\u67E5\u3002 `);
|
|
112
|
+
}
|
|
113
|
+
nav.push({ text: "\u66F4\u65B0\u65E5\u5FD7", link: "/CHANGELOG.md" });
|
|
114
|
+
}
|
|
106
115
|
function setUserConfig(config) {
|
|
107
|
-
|
|
116
|
+
const resUserConfig = merge({}, cloneDeep(defaultUserConfig), isUndefined(config) ? {} : config);
|
|
117
|
+
handleChangeLog(resUserConfig);
|
|
118
|
+
return resUserConfig;
|
|
108
119
|
}
|
|
109
120
|
export {
|
|
110
121
|
addChangelog2doc,
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruan-cat/vitepress-preset-config",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "用于给大多数的vitepress项目提供一个预设的配置文件。",
|
|
5
|
-
"homepage": "https://
|
|
5
|
+
"homepage": "https://vitepress-preset.ruancat6312.top",
|
|
6
6
|
"types": "./src/config.mts",
|
|
7
7
|
"main": "./src/config.mts",
|
|
8
8
|
"dependencies": {
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
"@nolebase/vitepress-plugin-enhanced-readabilities": "^2.15.1",
|
|
11
11
|
"@nolebase/vitepress-plugin-git-changelog": "^2.15.1",
|
|
12
12
|
"@nolebase/vitepress-plugin-highlight-targeted-heading": "^2.15.1",
|
|
13
|
+
"consola": "^3.4.0",
|
|
13
14
|
"js-yaml": "^4.1.0",
|
|
14
15
|
"lodash-es": "^4.17.21",
|
|
15
16
|
"vitepress-demo-plugin": "^1.3.1",
|
|
16
17
|
"vitepress-sidebar": "^1.31.1",
|
|
17
18
|
"vue": "^3.5.13",
|
|
18
|
-
"@ruan-cat/utils": "^4.1.
|
|
19
|
+
"@ruan-cat/utils": "^4.1.1"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
22
|
"@types/lodash-es": "^4.17.12",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// import { setUserConfig, setGenerateSidebar, addChangelog2doc } from "@ruan-cat/vitepress-preset-config/config";
|
|
3
3
|
// @ts-ignore
|
|
4
4
|
import { setUserConfig, setGenerateSidebar, addChangelog2doc } from "../../src/config.mts";
|
|
5
|
+
import { description } from "../../package.json";
|
|
5
6
|
|
|
6
7
|
addChangelog2doc({
|
|
7
8
|
target: "./src",
|
|
@@ -13,7 +14,18 @@ addChangelog2doc({
|
|
|
13
14
|
/**
|
|
14
15
|
* 本文档的渲染配置
|
|
15
16
|
*/
|
|
16
|
-
const thisDocUserConfig = setUserConfig(
|
|
17
|
+
const thisDocUserConfig = setUserConfig({
|
|
18
|
+
title: "vitepress预设配置",
|
|
19
|
+
description,
|
|
20
|
+
themeConfig: {
|
|
21
|
+
socialLinks: [
|
|
22
|
+
{
|
|
23
|
+
icon: "github",
|
|
24
|
+
link: "https://github.com/ruan-cat/vercel-monorepo-test/tree/main/packages/vitepress-preset-config",
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
});
|
|
17
29
|
// @ts-ignore
|
|
18
30
|
thisDocUserConfig.themeConfig.sidebar = setGenerateSidebar({
|
|
19
31
|
documentRootPath: "./src",
|
package/src/config.mts
CHANGED
|
@@ -7,10 +7,13 @@ import { GitChangelog, GitChangelogMarkdownSection } from "@nolebase/vitepress-p
|
|
|
7
7
|
import { vitepressDemoPlugin } from "vitepress-demo-plugin";
|
|
8
8
|
|
|
9
9
|
import { merge, isUndefined, cloneDeep } from "lodash-es";
|
|
10
|
+
import consola from "consola";
|
|
10
11
|
|
|
11
|
-
import { addChangelog2doc } from "@ruan-cat/utils/node-esm";
|
|
12
|
+
import { addChangelog2doc, hasChangelogMd } from "@ruan-cat/utils/node-esm";
|
|
12
13
|
export { addChangelog2doc };
|
|
13
14
|
|
|
15
|
+
type VitePressSidebarOptions = Parameters<typeof generateSidebar>[0];
|
|
16
|
+
|
|
14
17
|
/** 默认侧边栏配置 */
|
|
15
18
|
const defaultSidebarOptions: VitePressSidebarOptions = {
|
|
16
19
|
// documentRootPath: "src",
|
|
@@ -63,8 +66,8 @@ export function setGenerateSidebar(options?: VitePressSidebarOptions) {
|
|
|
63
66
|
|
|
64
67
|
/** 默认用户配置 */
|
|
65
68
|
const defaultUserConfig: UserConfig<DefaultTheme.Config> = {
|
|
66
|
-
title: "
|
|
67
|
-
description: "
|
|
69
|
+
title: "请填写有意义的标题",
|
|
70
|
+
description: "请填写有意义的描述",
|
|
68
71
|
|
|
69
72
|
lang: "zh",
|
|
70
73
|
// 暂不需要
|
|
@@ -78,12 +81,7 @@ const defaultUserConfig: UserConfig<DefaultTheme.Config> = {
|
|
|
78
81
|
},
|
|
79
82
|
|
|
80
83
|
// https://vitepress.dev/reference/default-theme-config
|
|
81
|
-
nav: [
|
|
82
|
-
{ text: "首页", link: "/" },
|
|
83
|
-
{ text: "更新日志", link: "/CHANGELOG.md" },
|
|
84
|
-
// TODO: 未来项目结束时,在此补充配置
|
|
85
|
-
// { text: "仓库地址", link: "https://github.com/ruan-cat/vercel-monorepo-test/tree/dev/packages/docs-01-star" },
|
|
86
|
-
],
|
|
84
|
+
nav: [{ text: "首页", link: "/" }],
|
|
87
85
|
|
|
88
86
|
outline: {
|
|
89
87
|
label: "本页目录",
|
|
@@ -96,7 +94,7 @@ const defaultUserConfig: UserConfig<DefaultTheme.Config> = {
|
|
|
96
94
|
socialLinks: [
|
|
97
95
|
{
|
|
98
96
|
icon: "github",
|
|
99
|
-
link: "https://github.com/ruan-cat
|
|
97
|
+
link: "https://github.com/ruan-cat",
|
|
100
98
|
},
|
|
101
99
|
],
|
|
102
100
|
},
|
|
@@ -145,13 +143,37 @@ const defaultUserConfig: UserConfig<DefaultTheme.Config> = {
|
|
|
145
143
|
},
|
|
146
144
|
};
|
|
147
145
|
|
|
146
|
+
/**
|
|
147
|
+
* 设置导航栏的变更日志
|
|
148
|
+
* @description
|
|
149
|
+
* 在导航栏内添加一行 变更日志 的入口
|
|
150
|
+
*
|
|
151
|
+
* 直接修改外部传递进来的配置对象即可
|
|
152
|
+
* @private 内部使用即可
|
|
153
|
+
*/
|
|
154
|
+
function handleChangeLog(userConfig: UserConfig<DefaultTheme.Config>) {
|
|
155
|
+
if (!hasChangelogMd()) {
|
|
156
|
+
consola.warn(` 未找到变更日志文件,不添加变更日志导航栏。 `);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const nav = userConfig?.themeConfig?.nav;
|
|
161
|
+
|
|
162
|
+
if (isUndefined(nav)) {
|
|
163
|
+
consola.error(` 当前的用户配置为: `, userConfig);
|
|
164
|
+
throw new Error(` nav 默认提供的导航栏配置为空。不符合默认配置,请检查。 `);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
nav.push({ text: "更新日志", link: "/CHANGELOG.md" });
|
|
168
|
+
}
|
|
169
|
+
|
|
148
170
|
/** 设置vitepress主配置 */
|
|
149
171
|
export function setUserConfig(config?: UserConfig<DefaultTheme.Config>) {
|
|
150
|
-
|
|
151
|
-
}
|
|
172
|
+
/** 最终的用户数据 */
|
|
173
|
+
const resUserConfig = merge({}, cloneDeep(defaultUserConfig), isUndefined(config) ? {} : config);
|
|
152
174
|
|
|
153
|
-
|
|
175
|
+
// 增加导航栏
|
|
176
|
+
handleChangeLog(resUserConfig);
|
|
154
177
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
function handleChangeLog() {}
|
|
178
|
+
return resUserConfig;
|
|
179
|
+
}
|