@modern-js/main-doc 2.32.1 → 2.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/docs/en/apis/app/runtime/app/define-config.mdx +2 -2
  3. package/docs/en/apis/app/runtime/model/auto-actions.mdx +2 -2
  4. package/docs/en/apis/app/runtime/model/model_.mdx +0 -1
  5. package/docs/en/apis/app/runtime/model/use-static-model.mdx +1 -1
  6. package/docs/en/community/contributing-guide.mdx +2 -3
  7. package/docs/en/configure/app/builder-plugins.mdx +1 -1
  8. package/docs/en/configure/app/source/enable-async-entry.mdx +3 -1
  9. package/docs/en/configure/app/tools/tailwindcss.mdx +43 -1
  10. package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -2
  11. package/docs/en/guides/advanced-features/bff/function.mdx +1 -1
  12. package/docs/en/guides/basic-features/css.mdx +28 -18
  13. package/docs/en/guides/basic-features/mock.mdx +1 -1
  14. package/docs/en/guides/concept/builder.mdx +2 -2
  15. package/docs/en/guides/get-started/glossary.mdx +13 -1
  16. package/docs/en/guides/get-started/introduction.mdx +10 -6
  17. package/docs/en/guides/topic-detail/framework-plugin/hook.mdx +2 -2
  18. package/docs/en/guides/topic-detail/generator/create/use.mdx +1 -1
  19. package/docs/en/guides/topic-detail/generator/plugin/category.md +1 -1
  20. package/docs/en/guides/topic-detail/generator/plugin/context.md +1 -1
  21. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +2 -5
  22. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +2 -2
  23. package/docs/en/guides/topic-detail/model/auto-actions.mdx +1 -1
  24. package/docs/en/guides/topic-detail/model/performance.mdx +2 -1
  25. package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +1 -1
  26. package/docs/en/guides/topic-detail/model/use-model.mdx +1 -1
  27. package/docs/en/tutorials/first-app/c05-loader.mdx +0 -2
  28. package/docs/zh/community/blog/v2-release-note.mdx +7 -8
  29. package/docs/zh/community/contributing-guide.mdx +2 -3
  30. package/docs/zh/configure/app/builder-plugins.mdx +1 -1
  31. package/docs/zh/configure/app/source/enable-async-entry.mdx +4 -2
  32. package/docs/zh/configure/app/tools/tailwindcss.mdx +42 -2
  33. package/docs/zh/guides/basic-features/css.mdx +27 -18
  34. package/docs/zh/guides/concept/builder.mdx +3 -3
  35. package/docs/zh/guides/get-started/glossary.mdx +13 -1
  36. package/docs/zh/guides/get-started/introduction.mdx +11 -7
  37. package/docs/zh/guides/topic-detail/generator/create/use.mdx +1 -1
  38. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +3 -6
  39. package/docs/zh/tutorials/first-app/c06-model.mdx +1 -4
  40. package/package.json +9 -8
  41. package/{modern.config.ts → rspress.config.ts} +78 -76
  42. package/src/components/ContentCard/index.tsx +2 -3
  43. package/src/components/ListCard/index.tsx +1 -1
  44. package/src/components/RandomMemberList/index.tsx +1 -1
  45. package/src/components/ShowcaseList/index.module.scss +5 -5
  46. package/src/components/SolutionCards/index.module.scss +2 -2
  47. package/src/i18n/enUS.ts +2 -2
  48. package/src/i18n/index.ts +1 -1
  49. package/src/i18n/zhCN.ts +2 -2
  50. package/src/index.ts +3 -2
  51. package/src/pages/index.module.scss +1 -1
  52. package/src/pages/index.tsx +7 -6
  53. package/docs/en/configure/app/source/design-system.mdx +0 -1175
  54. package/docs/zh/configure/app/source/design-system.mdx +0 -1174
@@ -103,37 +103,46 @@ const App = () => (
103
103
 
104
104
  :::
105
105
 
106
- ### Tailwind CSS 自动补全
107
-
108
- Tailwind CSS 官方提供了 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件,用于在 VS Code 中自动补全 Tailwind CSS 的 class names、CSS functions 和 directives。
106
+ ### 配置 Tailwind CSS
109
107
 
110
- 你可以参考以下步骤来启动自动补全功能:
108
+ 在 Modern.js 中,你有两种方式来配置 Tailwind CSS:
111
109
 
112
- 1. VS Code 中安装 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件。
113
- 2. 在项目的根目录创建 `tailwind.config.ts` 文件,并写入你需要的 Tailwind CSS 配置。
110
+ 1. 使用 `tailwind.config.{ts,js}` 文件,该用法与 Tailwind CSS 的官方用法一致,请参考 ["Tailwind CSS - Configuration"](https://tailwindcss.com/docs/configuration) 来了解更多用法。
114
111
 
115
112
  ```ts title="tailwind.config.ts"
113
+ import type { Config } from 'tailwindcss';
114
+
116
115
  export default {
117
- content: [
118
- './src/**/*.{js,jsx,ts,tsx}',
119
- './config/html/**/*.{html,ejs,hbs}',
120
- './storybook/**/*',
121
- ],
122
- };
116
+ content: ['./src/**/*.{js,jsx,ts,tsx}'],
117
+ } as Config;
123
118
  ```
124
119
 
125
- 3. 在 `modern.config.ts` 中通过 [tools.tailwindcss](/configure/app/tools/tailwindcss) 引用你创建的 `tailwind.config.ts` 文件,使 Modern.js 可以正确识别 Tailwind CSS 配置内容。
120
+ :::tip
121
+ 请升级 Modern.js 到 >= MAJOR_VERSION.33.0 版本,以支持自动读取 `tailwind.config.{ts,js}` 文件。
122
+ :::
126
123
 
127
- ```ts title="modern.config.ts"
128
- import tailwindConfig from './tailwind.config';
124
+ 2. 使用 [tools.tailwindcss](/configure/app/tools/tailwindcss.html) 配置项,这是旧版本的用法,我们更推荐使用 `tailwind.config.{ts,js}` 文件进行配置。
129
125
 
130
- export default defineConfig({
126
+ ```ts title="modern.config.ts"
127
+ export default {
131
128
  tools: {
132
- tailwindcss: tailwindConfig,
129
+ tailwindcss: {
130
+ content: ['./src/**/*.{js,jsx,ts,tsx}'],
131
+ },
133
132
  },
134
- });
133
+ };
135
134
  ```
136
135
 
136
+ 如果你同时使用了 `tailwind.config.{ts,js}` 文件和 `tools.tailwindcss` 选项,那么 `tools.tailwindcss` 定义的配置会优先生效,并覆盖 `tailwind.config.{ts,js}` 中定义的内容。
137
+
138
+ ### Tailwind CSS 自动补全
139
+
140
+ Tailwind CSS 官方提供了 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件,用于在 VS Code 中自动补全 Tailwind CSS 的 class names、CSS functions 和 directives。
141
+
142
+ 你可以参考以下步骤来启动自动补全功能:
143
+
144
+ 1. 在 VS Code 中安装 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件。
145
+ 2. 如果项目的根目录没有 `tailwind.config.{ts,js}` 文件,那么你需要创建该文件,并写入当前项目的 Tailwind CSS 配置,否则 IDE 插件将无法正确生效。
137
146
 
138
147
  ### Tailwind CSS 版本
139
148
 
@@ -2,18 +2,18 @@
2
2
  sidebar_position: 2
3
3
  ---
4
4
 
5
- # 构建引擎
5
+ # 构建工具
6
6
 
7
7
  **Modern.js 的构建能力由 [Modern.js Builder](https://modernjs.dev/builder) 提供。**
8
8
 
9
- Modern.js Builder 是 Modern.js 体系的核心组件之一,它是一个面向 Web 开发场景的构建引擎,可以脱离 Modern.js 被独立使用。Modern.js Builder 同时支持 webpack 和 Rspack 等多种打包工具,默认情况下使用最成熟的 webpack 进行打包。
9
+ Modern.js Builder 是 Modern.js 体系的核心组件之一,它是一个基于 Rspack 的 Web 构建工具,可以脱离 Modern.js 被独立使用。Modern.js Builder 同时支持 webpack 和 Rspack 等多种打包工具,默认情况下使用最成熟的 webpack 进行打包。
10
10
 
11
11
  ## 构建架构
12
12
 
13
13
  从构建的角度看,Modern.js 分为三层架构,从上到下依次是:
14
14
 
15
15
  - 上层研发框架:Modern.js。
16
- - 通用构建引擎:Modern.js Builder。
16
+ - 通用构建工具:Modern.js Builder。
17
17
  - 底层打包工具:webpack 和 Rspack。
18
18
 
19
19
  <img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/builder-layers-0824.png" style={{ width: '100%', maxWidth: '540px' }} />
@@ -30,10 +30,22 @@ CSR 是 "Client-Side Rendering"(客户端渲染)的缩写。它表示页面
30
30
 
31
31
  ## Garfish
32
32
 
33
- [Garfish](https://garfish.bytedance.net/) 是一套微前端解决方案,主要用于解决 web 应用的跨团队协作、技术体系多样化等问题。
33
+ [Garfish](https://garfishjs.org/) 是一套微前端解决方案,主要用于解决 web 应用的跨团队协作、技术体系多样化等问题。
34
34
 
35
35
  它从架构层面出发,将多个独立交付的前端应用组成整体,这些前端应用能够独立开发、独立测试、独立部署,但是在用户视角仍然是内聚的单个产品。
36
36
 
37
+ ## Micro-frontend
38
+
39
+ import MicroFrontend from '@modern-js/builder-doc/docs/zh/shared/micro-frontend.md';
40
+
41
+ <MicroFrontend />
42
+
43
+ ## Module Federation
44
+
45
+ import ModuleFederation from '@modern-js/builder-doc/docs/zh/shared/module-federation.md';
46
+
47
+ <ModuleFederation />
48
+
37
49
  ## Rspack
38
50
 
39
51
  import Rspack from '@modern-js/builder-doc/docs/zh/shared/rspack.md';
@@ -7,7 +7,7 @@ sidebar_position: 1
7
7
 
8
8
  **Modern.js 是字节跳动 Web 工程体系的开源版本**,它提供多个解决方案,来帮助开发者解决不同研发场景下的问题。
9
9
 
10
- 目前 Modern.js 包含三个解决方案,分别面向 Web 应用开发场景、npm 包开发场景和文档站开发场景:
10
+ 目前 Modern.js 包含三个解决方案,分别面向 Web 应用开发场景、npm 包开发场景和 Web 应用构建场景:
11
11
 
12
12
  import { SolutionCards } from '@site/src/components/SolutionCards';
13
13
 
@@ -24,9 +24,9 @@ import { SolutionCards } from '@site/src/components/SolutionCards';
24
24
  link: 'http://modernjs.dev/module-tools/',
25
25
  },
26
26
  {
27
- title: 'Modern.js Doc',
28
- description: '基于 Rspack 的文档站解决方案',
29
- link: 'http://modernjs.dev/doc-tools/zh/',
27
+ title: 'Modern.js Builder',
28
+ description: '基于 Rspack 的 Web 构建工具',
29
+ link: 'http://modernjs.dev/builder/',
30
30
  },
31
31
  ]}
32
32
  />
@@ -37,14 +37,18 @@ import { SolutionCards } from '@site/src/components/SolutionCards';
37
37
 
38
38
  **当前文档站对应的是 Modern.js 框架**,适用于开发 Web 应用。
39
39
 
40
- - 如果你需要开发一个 npm 包,请移步至 [Modern.js Module](https://modernjs.dev/module-tools) 文档。
41
- - 如果你需要开发一个文档站点,请移步至 [Modern.js Doc](https://modernjs.dev/doc-tools/zh) 文档。
42
- - 如果你需要基于 Modern.js 的构建引擎来实现一个 Web 开发框架,请移步至 [Modern.js Builder](https://modernjs.dev/builder) 文档。
40
+ - 如果你需要开发一个 npm 包,请移步 [Modern.js Module](https://modernjs.dev/module-tools) 文档。
41
+ - 如果你需要基于 Modern.js 的构建工具来实现一个 Web 开发框架,请移步 [Modern.js Builder](https://modernjs.dev/builder) 文档。
43
42
 
44
43
  :::tip
45
44
  由于 Modern.js 框架的使用最为广泛,在本文档站中,我们会省略「框架」,直接称其为 Modern.js。
46
45
  :::
47
46
 
47
+ Modern.js 也可以与以下解决方案结合使用:
48
+
49
+ - 如果你需要开发一个文档站点,推荐使用 [Rspress](https://rspress.dev/) 文档。
50
+ - 如果你需要引入微前端架构,推荐使用 [Garfish](https://garfishjs.org/)。
51
+
48
52
  ## Modern.js 框架
49
53
 
50
54
  **Modern.js 框架是一个基于 React 的渐进式 Web 开发框架**。在字节跳动内部,我们将 Modern.js 封装为上层框架,并支撑了数千个 Web 应用的研发。
@@ -4,7 +4,7 @@ sidebar_position: 1
4
4
 
5
5
  # 使用
6
6
 
7
- Modern.js 提供了 `@modern-js/create` 工具用于创建 Modern.js 提供的工程方案项目,例如 [Web 应用](https://modernjs.dev/)、[Npm 模块](https://modernjs.dev/module-tools)、[文档站](https://modernjs.dev/doc-tools)、[Monorepo](/guides/topic-detail/monorepo/intro.html) 等。
7
+ Modern.js 提供了 `@modern-js/create` 工具用于创建 Modern.js 提供的工程方案项目,例如 [Web 应用](https://modernjs.dev/)、[Npm 模块](https://modernjs.dev/module-tools)、[Monorepo](/guides/topic-detail/monorepo/intro.html) 等。
8
8
 
9
9
  下面将介绍 `@modern-js/create` 的使用姿势。
10
10
 
@@ -1,15 +1,12 @@
1
1
  ---
2
2
  sidebar_position: 1
3
- title: 微前端介绍
4
3
  ---
5
- # 微前端介绍
6
4
 
7
- 微前端是一种类似于微服务的架构,是一种由独立交付的多个前端应用组成整体的架构风格,将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的应用,而在用户看来仍然是内聚的单个产品。
5
+ # 微前端介绍
8
6
 
9
- 它主要解决了两个问题:
7
+ import MicroFrontend from '@modern-js/builder-doc/docs/zh/shared/micro-frontend.md';
10
8
 
11
- - 随着项目迭代应用越来越庞大,难以维护。
12
- - 跨团队或跨部门协作开发项目导致效率低下的问题。
9
+ <MicroFrontend />
13
10
 
14
11
  ## 微前端关键词
15
12
 
@@ -1,8 +1,5 @@
1
- ---
2
- title: 添加业务模型(状态管理)
3
- ---
4
1
 
5
- # 添加业务模型(状态管理)
2
+ # 添加状态管理
6
3
 
7
4
  上一章节中,我们把硬编码的 `mockData` 改成从 Data Loader 中加载。
8
5
 
package/package.json CHANGED
@@ -15,14 +15,14 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.32.1",
18
+ "version": "2.33.0",
19
19
  "publishConfig": {
20
20
  "registry": "https://registry.npmjs.org/",
21
21
  "access": "public",
22
22
  "provenance": true
23
23
  },
24
24
  "peerDependencies": {
25
- "@modern-js/builder-doc": "^2.32.1"
25
+ "@modern-js/builder-doc": "^2.33.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "classnames": "^2",
@@ -32,16 +32,17 @@
32
32
  "ts-node": "^10.9.1",
33
33
  "typescript": "^5",
34
34
  "fs-extra": "^10",
35
+ "rspress": "0.0.6",
36
+ "@rspress/shared": "0.0.6",
35
37
  "@types/node": "^16",
36
38
  "@types/fs-extra": "^9",
37
- "@modern-js/builder-doc": "2.32.1",
38
- "@modern-js/doc-tools": "2.32.1",
39
- "@modern-js/doc-plugin-auto-sidebar": "2.32.1"
39
+ "@modern-js/doc-plugin-auto-sidebar": "2.33.0",
40
+ "@modern-js/builder-doc": "2.33.0"
40
41
  },
41
42
  "scripts": {
42
- "dev": "modern dev",
43
+ "dev": "rspress dev",
43
44
  "build": "npx ts-node ./scripts/sync.ts",
44
- "build:doc": "modern build",
45
- "preview": "modern preview"
45
+ "build:doc": "rspress build",
46
+ "preview": "rspress preview"
46
47
  }
47
48
  }
@@ -1,5 +1,6 @@
1
1
  import path from 'path';
2
- import { docTools, defineConfig, type NavItem } from '@modern-js/doc-tools';
2
+ import { defineConfig } from 'rspress/config';
3
+ import { NavItem } from '@rspress/shared';
3
4
  import { pluginAutoSidebar } from '@modern-js/doc-plugin-auto-sidebar';
4
5
 
5
6
  const rootCategories = [
@@ -52,10 +53,6 @@ const getNavbar = (lang: string): NavItem[] => {
52
53
  text: 'Modern.js Module',
53
54
  link: 'https://modernjs.dev/module-tools/en/',
54
55
  },
55
- {
56
- text: 'Modern.js Doc',
57
- link: 'https://modernjs.dev/doc-tools/',
58
- },
59
56
  {
60
57
  text: 'Modern.js Builder',
61
58
  link: 'https://modernjs.dev/builder/en/',
@@ -70,25 +67,24 @@ const getNavbar = (lang: string): NavItem[] => {
70
67
  };
71
68
 
72
69
  export default defineConfig({
73
- doc: {
74
- root: docPath,
75
- base: '/',
76
- logo: 'https://lf-cdn-tos.bytescm.com/obj/static/webinfra/modern-js-website/assets/images/images/modernjs-logo.svg',
77
- icon: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupenuhf/favicon.ico',
78
- lang: 'zh',
79
- themeDir: path.join(__dirname, 'src'),
80
- markdown: {
81
- checkDeadLinks: true,
82
- experimentalMdxRs: true,
83
- },
84
- head: [
85
- `
70
+ root: docPath,
71
+ base: '/',
72
+ logo: 'https://lf-cdn-tos.bytescm.com/obj/static/webinfra/modern-js-website/assets/images/images/modernjs-logo.svg',
73
+ icon: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupenuhf/favicon.ico',
74
+ lang: 'zh',
75
+ themeDir: path.join(__dirname, 'src'),
76
+ markdown: {
77
+ checkDeadLinks: true,
78
+ experimentalMdxRs: true,
79
+ },
80
+ head: [
81
+ `
86
82
  <script>
87
83
  ;(function (w, d, u, b, n, pc, ga, ae, po, s, p, e, t, pp) {pc = 'precollect';ga = 'getAttribute';ae = 'addEventListener';po = 'PerformanceObserver';s = function (m) {p = [].slice.call(arguments);p.push(Date.now(), location.href);(m == pc ? s.p.a : s.q).push(p)};s.q = [];s.p = { a: [] };w[n] = s;e = document.createElement('script');e.src = u + '?bid=' + b + '&globalName=' + n;e.crossorigin = u.indexOf('sdk-web') > 0 ? 'anonymous' : 'use-credentials';d.getElementsByTagName('head')[0].appendChild(e);if (ae in w) {s.pcErr = function (e) {e = e || w.event;t = e.target || e.srcElement;if (t instanceof Element || t instanceof HTMLElement) {if (t[ga]('integrity')) {w[n](pc, 'sri', t[ga]('href') || t[ga]('src'))} else {w[n](pc, 'st', { tagName: t.tagName, url: t[ga]('href') || t[ga]('src') })}} else {w[n](pc, 'err', e.error)}};s.pcRej = function (e) {e = e || w.event;w[n](pc, 'err', e.reason || (e.detail && e.detail.reason))};w[ae]('error', s.pcErr, true);w[ae]('unhandledrejection', s.pcRej, true);};if('PerformanceLongTaskTiming' in w) {pp = s.pp = { entries: [] };pp.observer = new PerformanceObserver(function (l) {pp.entries = pp.entries.concat(l.getEntries)});pp.observer.observe({ entryTypes: ['longtask', 'largest-contentful-paint','layout-shift'] })}})(window,document,'https://lf3-short.bytegoofy.com/slardar/fe/sdk-web/browser.cn.js','modernjs_dev','Slardar');
88
84
 
89
85
  </script>
90
86
  `,
91
- `
87
+ `
92
88
  <script>
93
89
  window.Slardar('init', {
94
90
  bid: 'modernjs_dev'
@@ -96,68 +92,74 @@ export default defineConfig({
96
92
  window.Slardar('start')
97
93
  </script>
98
94
  `,
95
+ ],
96
+ themeConfig: {
97
+ locales: [
98
+ {
99
+ lang: 'zh',
100
+ title: 'Modern.js',
101
+ description:
102
+ 'A Progressive React Framework for modern web development.',
103
+ nav: getNavbar('zh'),
104
+ label: '简体中文',
105
+ },
106
+ {
107
+ lang: 'en',
108
+ title: 'Modern.js',
109
+ description:
110
+ 'A Progressive React Framework for modern web development.',
111
+ nav: getNavbar('en'),
112
+ label: 'English',
113
+ },
99
114
  ],
100
- themeConfig: {
101
- locales: [
102
- {
103
- lang: 'zh',
104
- title: 'Modern.js',
105
- description:
106
- 'A Progressive React Framework for modern web development.',
107
- nav: getNavbar('zh'),
108
- label: '简体中文',
109
- },
110
- {
111
- lang: 'en',
112
- title: 'Modern.js',
113
- description:
114
- 'A Progressive React Framework for modern web development.',
115
- nav: getNavbar('en'),
116
- label: 'English',
117
- },
118
- ],
119
- editLink: {
120
- docRepoBaseUrl:
121
- 'https://github.com/web-infra-dev/modern.js/tree/main/packages/document/main-doc/docs',
122
- text: 'Edit this page on GitHub',
115
+ editLink: {
116
+ docRepoBaseUrl:
117
+ 'https://github.com/web-infra-dev/modern.js/tree/main/packages/document/main-doc/docs',
118
+ text: 'Edit this page on GitHub',
119
+ },
120
+ socialLinks: [
121
+ {
122
+ icon: 'github',
123
+ mode: 'link',
124
+ content: 'https://github.com/web-infra-dev/modern.js',
123
125
  },
124
- socialLinks: [
125
- {
126
- icon: 'github',
127
- mode: 'link',
128
- content: 'https://github.com/web-infra-dev/modern.js',
129
- },
130
- ],
126
+ ],
127
+ },
128
+ route: {
129
+ // exclude document fragments from routes
130
+ exclude: ['scripts/**', '**/zh/components/**', '**/en/components/**'],
131
+ },
132
+ replaceRules: [
133
+ {
134
+ // The major version is different inside the ByteDance,
135
+ // so we use a flag to define it.
136
+ search: /MAJOR_VERSION/g,
137
+ replace: '2',
131
138
  },
132
- route: {
133
- // exclude document fragments from routes
134
- exclude: ['scripts/**', '**/zh/components/**', '**/en/components/**'],
139
+ ],
140
+ builderConfig: {
141
+ output: {
142
+ disableTsChecker: true,
143
+ svgDefaultExport: 'component',
144
+ dataUriLimit: 0,
135
145
  },
136
- builderConfig: {
137
- output: {
138
- disableTsChecker: true,
139
- svgDefaultExport: 'component',
140
- dataUriLimit: 0,
141
- },
142
- dev: {
143
- startUrl: false,
144
- },
145
- source: {
146
- alias: {
147
- '@site-docs': path.join(__dirname, './docs/zh'),
148
- '@site-docs-en': path.join(__dirname, './docs/en'),
149
- '@site': require('path').resolve(__dirname),
150
- },
146
+ dev: {
147
+ startUrl: false,
148
+ },
149
+ source: {
150
+ alias: {
151
+ '@site-docs': path.join(__dirname, './docs/zh'),
152
+ '@site-docs-en': path.join(__dirname, './docs/en'),
153
+ '@site': require('path').resolve(__dirname),
151
154
  },
152
155
  },
153
- plugins: [
154
- pluginAutoSidebar({
155
- root: docPath,
156
- categories: ['zh', 'en'].flatMap(lang =>
157
- rootCategories.map(category => `${lang}/${category}`),
158
- ),
159
- }),
160
- ],
161
156
  },
162
- plugins: [docTools({})],
157
+ plugins: [
158
+ pluginAutoSidebar({
159
+ root: docPath,
160
+ categories: ['zh', 'en'].flatMap(lang =>
161
+ rootCategories.map(category => `${lang}/${category}`),
162
+ ),
163
+ }),
164
+ ],
163
165
  });
@@ -1,12 +1,11 @@
1
- import React, { ComponentType, SVGProps } from 'react';
1
+ import React from 'react';
2
2
  import cl from 'classnames';
3
- import { withBase } from '@modern-js/doc-tools/runtime';
3
+ import { withBase } from 'rspress/runtime';
4
4
  import styles from './index.module.scss';
5
5
 
6
6
  export interface ContentCardProps {
7
7
  title: string;
8
8
  desc?: string;
9
- img?: string | ComponentType<SVGProps<SVGSVGElement>>;
10
9
  href: string;
11
10
  }
12
11
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { withBase } from '@modern-js/doc-tools/runtime';
2
+ import { withBase } from 'rspress/runtime';
3
3
  import styles from './index.module.css';
4
4
 
5
5
  export interface ICardProps {
@@ -1,4 +1,4 @@
1
- import { NoSSR } from '@modern-js/doc-tools/runtime';
1
+ import { NoSSR } from 'rspress/runtime';
2
2
  import style from './index.module.scss';
3
3
 
4
4
  interface Member {
@@ -18,10 +18,10 @@
18
18
  border-radius: 20px;
19
19
  overflow: hidden;
20
20
  transition: 0.15s ease-in;
21
- border: 1px solid var(--modern-c-divider-light);
21
+ border: 1px solid var(--rp-c-divider-light);
22
22
 
23
23
  &:hover {
24
- border-color: var(--modern-c-brand);
24
+ border-color: var(--rp-c-brand);
25
25
  }
26
26
  }
27
27
 
@@ -33,7 +33,7 @@
33
33
  cursor: pointer;
34
34
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
35
35
  pointer-events: none;
36
- background-color: var(--modern-c-bg-soft);
36
+ background-color: var(--rp-c-bg-soft);
37
37
  }
38
38
 
39
39
  .bottom {
@@ -46,7 +46,7 @@
46
46
  font-weight: 600;
47
47
  font-size: 17px;
48
48
  line-height: 28px;
49
- color: var(--modern-c-text-1);
49
+ color: var(--rp-c-text-1);
50
50
  }
51
51
 
52
52
  .type {
@@ -76,5 +76,5 @@
76
76
  .domain {
77
77
  font-size: 13px;
78
78
  line-height: 24px;
79
- color: var(--modern-c-text-2);
79
+ color: var(--rp-c-text-2);
80
80
  }
@@ -7,8 +7,8 @@
7
7
 
8
8
  .card {
9
9
  cursor: pointer;
10
- border: 1px solid var(--modern-c-bg-soft);
11
- background-color: var(--modern-c-bg-soft);
10
+ border: 1px solid var(--rp-c-bg-soft);
11
+ background-color: var(--rp-c-bg-soft);
12
12
  transition: color 0.5s, background-color 0.5s;
13
13
  padding: 22px;
14
14
  border-radius: 16px;
package/src/i18n/enUS.ts CHANGED
@@ -27,8 +27,8 @@ export const EN_US = {
27
27
  solutions: 'Solutions',
28
28
  solutionsDesc1: 'A progressive React framework for web development.',
29
29
  solutionsDesc2: 'A powerful solution for npm package development.',
30
- solutionsDesc3: 'A Rspack based documentation site solution.',
31
- solutionsDesc4: 'A build engine for web development.',
30
+ solutionsDesc3: 'An Rspack-based build tool for web development.',
31
+ solutionsDesc4: 'A fast Rspack-based static site generator',
32
32
 
33
33
  // Footer
34
34
  guide: 'Guide',
package/src/i18n/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { withBase, useLang } from '@modern-js/doc-tools/runtime';
1
+ import { withBase, useLang } from 'rspress/runtime';
2
2
  import { EN_US } from './enUS';
3
3
  import { ZH_CN } from './zhCN';
4
4
 
package/src/i18n/zhCN.ts CHANGED
@@ -27,8 +27,8 @@ export const ZH_CN: Record<keyof typeof EN_US, string> = {
27
27
  solutions: '解决方案',
28
28
  solutionsDesc1: '基于 React 的渐进式 Web 开发框架。',
29
29
  solutionsDesc2: '简单、高性能的 npm 包开发方案。',
30
- solutionsDesc3: '基于 Rspack 的文档站解决方案。',
31
- solutionsDesc4: '面向 Web 开发场景的构建引擎。',
30
+ solutionsDesc3: '基于 Rspack 的 Web 构建工具。',
31
+ solutionsDesc4: '基于 Rspack 的静态站点生成器。',
32
32
 
33
33
  // Footer
34
34
  guide: '指南',
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Theme from '@modern-js/doc-tools/theme';
1
+ import Theme from 'rspress/theme';
2
2
  import HomeLayout from './pages';
3
3
 
4
4
  export default {
@@ -6,4 +6,5 @@ export default {
6
6
  HomeLayout,
7
7
  };
8
8
 
9
- export * from '@modern-js/doc-tools/theme';
9
+ // eslint-disable-next-line import/export
10
+ export * from 'rspress/theme';
@@ -233,6 +233,6 @@
233
233
  }
234
234
  }
235
235
 
236
- :global(.modern-doc-logo) {
236
+ :global(.rspress-logo) {
237
237
  width: auto !important;
238
238
  }
@@ -1,5 +1,6 @@
1
+ /* eslint-disable react/no-unescaped-entities */
1
2
  import clsx from 'clsx';
2
- import { useLang, Helmet, useLocation } from '@modern-js/doc-tools/runtime';
3
+ import { useLang, Helmet, useLocation } from 'rspress/runtime';
3
4
  import { useEffect } from 'react';
4
5
  import ContentCard from '../components/ContentCard';
5
6
  import SecondaryTitle from '../components/SecondaryTitle';
@@ -99,13 +100,13 @@ export default function Home() {
99
100
  desc: t('solutionsDesc2'),
100
101
  },
101
102
  {
102
- title: 'Modern.js Doc',
103
- href: `https://modernjs.dev/doc-tools${lang === 'en' ? '' : '/zh'}`,
103
+ title: 'Modern.js Builder',
104
+ href: `https://modernjs.dev/builder${lang === 'en' ? '/en' : ''}`,
104
105
  desc: t('solutionsDesc3'),
105
106
  },
106
107
  {
107
- title: 'Modern.js Builder',
108
- href: `https://modernjs.dev/builder${lang === 'en' ? '/en' : ''}`,
108
+ title: 'Rspress',
109
+ href: `https://rspress.dev${lang === 'en' ? '' : '/zh'}`,
109
110
  desc: t('solutionsDesc4'),
110
111
  },
111
112
  ];
@@ -116,7 +117,7 @@ export default function Home() {
116
117
  <html className="dark"></html>
117
118
  <script>window.MODERN_THEME = 'dark';</script>
118
119
  <style type="text/css">{`
119
- .modern-doc-appearance {
120
+ .rspress-doc-appearance {
120
121
  display: none!important;
121
122
  }
122
123
  `}</style>