Skip to content

Commit b3232a8

Browse files
committed
docs: add beta site to deployment
1 parent a612223 commit b3232a8

File tree

14 files changed

+516
-5
lines changed

14 files changed

+516
-5
lines changed

.dumi/theme/builtins/Hero/index.less

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
.dumi-tmp-hero {
2+
margin-bottom: 80px;
3+
padding-top: 80px;
4+
padding-bottom: 100px;
5+
text-align: center;
6+
border-bottom: 1px solid #eee;
7+
8+
h1 {
9+
padding-left: 56px;
10+
letter-spacing: 2px;
11+
margin-bottom: 50px;
12+
color: #333;
13+
font-size: 80px;
14+
15+
small {
16+
display: inline-block;
17+
padding: 0 4px 0 6px;
18+
color: #fff;
19+
font-size: 14px;
20+
line-height: 1.4;
21+
font-weight: normal;
22+
vertical-align: text-top;
23+
background-color: rgb(255 91 26);
24+
border-radius: 3px;
25+
}
26+
}
27+
28+
p {
29+
color: #666;
30+
text-align: center !important;
31+
32+
+ p {
33+
color: rgb(255 91 26);
34+
}
35+
}
36+
37+
> a {
38+
margin-top: 24px;
39+
display: inline-block;
40+
color: #1677ff;
41+
text-decoration: none;
42+
padding: 12px 48px !important;
43+
border: 1px solid #1677ff;
44+
border-radius: 30px;
45+
}
46+
}

.dumi/theme/builtins/Hero/index.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// @ts-ignore
2+
import { Link } from 'dumi';
3+
import React, { type FC } from 'react';
4+
import './index.less';
5+
6+
const Hero: FC = () => (
7+
<div className="dumi-tmp-hero">
8+
<h1>
9+
dumi 2<small>Beta</small>
10+
</h1>
11+
<p>为组件研发而生的静态站点框架,现已进入 Beta 测试阶段,欢迎试用尝鲜</p>
12+
<p>注:Beta 版尚不稳定,功能也可能会有调整,请谨慎用于正式项目</p>
13+
<Link to="/guide">抢先体验</Link>
14+
</div>
15+
);
16+
17+
export default Hero;

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/node_modules
22
/examples/*/node_modules
33
/dist
4+
/docs-dist
45
/theme-default
56
.DS_Store
67
.umi

.prettierrc.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@ module.exports = {
22
pluginSearchDirs: false,
33
plugins: [
44
require.resolve('prettier-plugin-organize-imports'),
5-
require.resolve('prettier-plugin-packagejson')
5+
require.resolve('prettier-plugin-packagejson'),
66
],
77
printWidth: 80,
88
proseWrap: 'never',
99
singleQuote: true,
10-
trailingComma: 'all'
11-
}
10+
trailingComma: 'all',
11+
overrides: [
12+
{
13+
files: '*.md',
14+
options: {
15+
proseWrap: 'preserve',
16+
},
17+
},
18+
],
19+
};

.umirc.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export default {
2+
mfsu: false,
3+
outputPath: 'docs-dist',
4+
themeConfig: {
5+
name: 'dumi',
6+
},
7+
};

bin/dumi.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env node
22

3-
require('v8-compile-cache');
3+
// disable for TypeError [ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING]: A dynamic import callback was not specified.
4+
// require('v8-compile-cache');
45
require('../dist/cli');

docs/.gitkeep

Whitespace-only changes.

docs/config/demo.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Demo 配置
2+
3+
Demo 的配置用于控制 demo 渲染。
4+
5+
对于代码块 demo 来说,仅有 FrontMatter 一种配置方式:
6+
7+
<pre>
8+
```jsx
9+
/**
10+
* title: demo 标题
11+
*/
12+
import React from 'react';
13+
14+
export default () => <>Hello world!</>;
15+
```
16+
</pre>
17+
18+
对于外部 demo 来说,除了可以和代码块 demo 一样通过 FrontMatter 配置外,还可以通过 `code` 标签属性进行配置:
19+
20+
```md
21+
<!-- 通过 code 标签配置 -->
22+
23+
<code src="./demos/a.tsx" description="demo 描述">demo 标题</code>
24+
```
25+
26+
目前 dumi 支持以下 demo 配置项。
27+
28+
## title
29+
30+
- 类型:`string`
31+
- 默认值:`undefined`
32+
33+
配置 demo 的标题,会展示在 demo 预览器里,后续也会用于搜索。
34+
35+
## description
36+
37+
- 类型:`string`
38+
- 默认值:`undefined`
39+
40+
配置 demo 的描述,会展示在 demo 预览器里,后续也会用于搜索。
41+
42+
## iframe
43+
44+
- 类型:`boolean`
45+
- 默认值:`false`
46+
47+
使用 iframe 形式渲染 demo,通常用于 Layout 等需要与页面隔离的 demo。
48+
49+
## compact
50+
51+
- 类型:`boolean`
52+
- 默认值:`false`
53+
54+
以紧凑模式渲染 demo,开启时 demo 预览容器将不会有内边距。
55+
56+
## transform
57+
58+
- 类型:`boolean`
59+
- 默认值:`false`
60+
61+
开启时 demo 预览容器将会添加 `transform` 的 CSS 值,以控制 `position: fixed;` 的元素相对于 demo 容器定位。
62+
63+
## background
64+
65+
- 类型:`string`
66+
- 默认值:`undefined`
67+
68+
用于设置 demo 渲染容器的背景色。
69+
70+
## demoUrl
71+
72+
- 类型:`string`
73+
- 默认值:`dumi 自动生成的 demo 独立访问链接`
74+
75+
用于指定该 demo 的访问链接,仅在 `iframe` 呈现模式下才会生效;通常在 dumi 默认渲染的 demo 无法满足展示需要时使用,例如需要呈现 ReactNative 的渲染结果。

docs/config/index.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
nav: 配置项
3+
---
4+
5+
# 框架配置
6+
7+
dumi 2 基于 Umi 4,除了自身特有的配置项以外,也支持 Umi 4 的配置项,两者均在 `.umirc.ts``config/config.ts` 中配置。
8+
9+
```ts
10+
// .umirc.ts or config/config.ts
11+
import { defineConfig } from 'dumi';
12+
13+
export default defineConfig({
14+
...
15+
});
16+
```
17+
18+
## dumi 配置项
19+
20+
### resolve
21+
22+
用于配置 Markdown 解析相关的行为,包含如下子项。
23+
24+
#### docDirs
25+
26+
- 类型:`string[]`
27+
- 默认值:`['docs']`
28+
29+
配置 Markdown 文档的解析目录,路径下的 Markdown 文档会根据目录结构解析为路由。
30+
31+
#### entityDirs
32+
33+
- 类型:`{ type: string; dir: string }[]`
34+
- 默认值:`[{ type: 'components', dir: 'src' }]`
35+
36+
配置 Markdown 实体(例如组件、函数、工具等)的解析目录,该目录下 **第一层级** 的 Markdown 文档会被解析为该实体分类下的路由,嵌套层级将不会识别。比如在默认配置下,`src/Foo/index.md` 将被解析为 `components/foo` 的路由。
37+
38+
设计实体的概念是为了解决 dumi 1 中普通文档与源码目录下的组件文档混淆不清、分组困难的问题。
39+
40+
#### codeBlockMode
41+
42+
- 类型:`'active' | 'passive'`
43+
- 默认值:`'active'`
44+
45+
### locales
46+
47+
- 类型:`{ id: string, name: string, base?: string }[]`
48+
- 默认值:`[{ id: 'zh-CN', name: '中文' }]`
49+
50+
配置站点的多语言,各子项释义如下:
51+
52+
1. `id` 值会作为 dumi 识别 Markdown 文件后缀的依据,以及主题国际化文案的 `key`。例如,值为 `zh-CN` 时意味着 `index.zh-CN.md` 的文件会被归类到该语言下
53+
2. 对于默认语言的 Markdown 文件而言,后缀是可选的。例如,在默认配置下,`index.zh-CN.md``index.md` 等价
54+
3. `name` 值会作为页面渲染语言切换链接的文本值,当只有一种语言时,不会展示切换链接
55+
4. `base` 值指定该雨燕的基础路由,对默认语言来说默认值为 `/`,对非默认雨语言来说默认值为 `/${id}`,仅在希望 `id``base` 不一致时才需要配置
56+
57+
### extraRemarkPlugins
58+
59+
- 类型:`(string | function | [string, object] | [function, object])[]`
60+
- 默认值:`[]`
61+
62+
配置额外的 [remark](https://remark.js.org/) 插件,用于处理 Markdown 语法树的编译。数组项的值可以是:
63+
64+
1. 插件名称或路径
65+
2. 插件函数
66+
3. 传递数组时,第一项为插件名称/路径/函数,第二项为插件配置
67+
68+
### extraRehypePlugins
69+
70+
- 类型:`(string | function | [string, object] | [function, object])[]`
71+
- 默认值:`[]`
72+
73+
配置额外的 [rehype](https://github.com/rehypejs/rehype) 插件,用于处理 HTML 语法树的编译。数组项的值可以是:
74+
75+
1. 插件名称或路径
76+
2. 插件函数
77+
3. 传递数组时,第一项为插件名称/路径/函数,第二项为插件配置
78+
79+
### themeConfig
80+
81+
配置传递给主题的配置项,具体包含哪些配置取决于主题实现。默认主题目前支持如下配置项:
82+
83+
```ts
84+
{
85+
themeConfig: {
86+
name: '站点名称(可选)';
87+
logo: '站点 LOGO 地址';
88+
nav: [{ title: '导航标题', link: '导航路由' }]; // 可选,未配置时走约定式导航
89+
sidebar: { // 可选,未配置时走约定式菜单
90+
'/guide': [
91+
{
92+
title: '侧边菜单分组名称(可选)',
93+
children: [
94+
{ title: '菜单项标题', link: '菜单项路由' }
95+
]
96+
}
97+
]
98+
};
99+
}
100+
}
101+
```
102+
103+
## Umi 配置项
104+
105+
参考 Umi 4 的文档:https://umijs.org/docs/api/config

0 commit comments

Comments
 (0)