@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 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 { addChangelog2doc } from "@ruan-cat/utils/node-esm";
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: "10wms\u524D\u7AEF\u7EC4\u6280\u672F\u6587\u6863",
40
- description: "\u672C\u524D\u7AEF\u9879\u76EE\u5185\u7684\u7EC4\u4EF6\u4F7F\u7528\u3001api\u3001\u7C7B\u578B\u4EE5\u53CA\u4F7F\u7528\u6587\u6863",
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/vercel-monorepo-test/blob/dev/packages/docs-01-star/docs/index.md"
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
- return merge({}, cloneDeep(defaultUserConfig), isUndefined(config) ? {} : config);
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.1",
3
+ "version": "0.0.3",
4
4
  "description": "用于给大多数的vitepress项目提供一个预设的配置文件。",
5
- "homepage": "https://utils.ruancat6312.top",
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.0"
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: "10wms前端组技术文档",
67
- description: "本前端项目内的组件使用、api、类型以及使用文档",
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/vercel-monorepo-test/blob/dev/packages/docs-01-star/docs/index.md",
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
- return merge({}, cloneDeep(defaultUserConfig), isUndefined(config) ? {} : config);
151
- }
172
+ /** 最终的用户数据 */
173
+ const resUserConfig = merge({}, cloneDeep(defaultUserConfig), isUndefined(config) ? {} : config);
152
174
 
153
- type VitePressSidebarOptions = Parameters<typeof generateSidebar>[0];
175
+ // 增加导航栏
176
+ handleChangeLog(resUserConfig);
154
177
 
155
- // TODO:
156
- /** 设置导航栏的变更日志 */
157
- function handleChangeLog() {}
178
+ return resUserConfig;
179
+ }