Skip to content

Commit 61615ec

Browse files
committed
docs(compile docs): compile docs
affects: he-tree-website
1 parent 4fa789f commit 61615ec

9 files changed

+39
-57
lines changed

packages/website/README.md

Lines changed: 7 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,7 @@
1-
## Structure
2-
3-
refer https://miyauchi.dev/posts/vite-vue3-typescript#checking-template-statically-in-vti
4-
5-
resolve markdown
6-
const md = fs
7-
.readFileSync(`./src/content/cmd-generators/${ctx.params.name}.md`)
8-
.toString()
9-
const html = marked(md)
10-
const $ = cheerio.load(html)
11-
const nodes = []
12-
const root = { children: nodes, depth: 0 }
13-
const parents = [root]
14-
$('body')
15-
.children()
16-
.each((i, el) => {
17-
// make nodes nested
18-
const node = {
19-
tagName: el.tagName,
20-
children: [],
21-
}
22-
const isParent = /^h\d$/.test(el.tagName)
23-
const depth = isParent && parseInt(el.tagName.substring(1))
24-
Object.assign(node, {
25-
isParent,
26-
depth,
27-
})
28-
if (!isParent || depth > parents[0].depth) {
29-
parents[0].children.push(node)
30-
} else {
31-
parents.shift()
32-
parents[0].children.push(node)
33-
}
34-
if (isParent) {
35-
parents.unshift(node)
36-
}
37-
// resolve node self content
38-
if (isParent) {
39-
node.text = $(el).text()
40-
node.slug = strToURIComponent(node.text)
41-
} else if (node.tagName === 'pre') {
42-
node.isJSON = true
43-
node.value = JSON.parse($(el).find('code').html())
44-
} else {
45-
node.html = $.html(el) // outerHTML
46-
}
47-
})
48-
ctx.body = JSON.stringify(nodes)
1+
## build and preprender
2+
```sh
3+
npm run compile-docs
4+
npm run build
5+
npm run serve
6+
npm run preprender
7+
```

packages/website/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"serve": "vite preview",
1111
"lint:script": "eslint --ext .ts,vue --ignore-path .gitignore .",
1212
"lint:style": "stylelint src/**/*.{css,scss,vue}",
13-
"compile-docs": "ts-node scripts/compile-docs.ts"
13+
"compile-docs": "ts-node scripts/compile-docs.ts",
14+
"deploy": "sh deploy.sh"
1415
},
1516
"dependencies": {
1617
"@he-tree/vue3": "^1.2.5",
@@ -70,4 +71,4 @@
7071
"*.{css,scss,vue}": "stylelint --fix",
7172
"*": "prettier -w -u"
7273
}
73-
}
74+
}

packages/website/src/compiled-docs/0452ec218fa58e31b65e27668556ebf6.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<p>我可以提供 he-tree 定制开发, 高级 Vue 组件定制, 或其他 Vue 相关开发. <Anchor :to="resolveHref('mailto:[email protected]?subject=&body=')">请联系我</Anchor>.</p>
4040
<vheading :level="2" id="联系方式">联系方式</vheading>
4141
<ul>
42-
<li>Email: <Anchor :to="resolveHref('mailto:&#x70;&#104;&#x70;&#x68;&#x65;&#x40;&#111;&#x75;&#116;&#108;&#111;&#x6f;&#107;&#x2e;&#99;&#111;&#x6d;')">&#x70;&#104;&#x70;&#x68;&#x65;&#x40;&#111;&#x75;&#116;&#108;&#111;&#x6f;&#107;&#x2e;&#99;&#111;&#x6d;</Anchor></li>
42+
<li>Email: <Anchor :to="resolveHref('mailto:&#x70;&#104;&#112;&#104;&#x65;&#x40;&#111;&#x75;&#116;&#x6c;&#111;&#x6f;&#107;&#46;&#x63;&#111;&#x6d;')">&#x70;&#104;&#112;&#104;&#x65;&#x40;&#111;&#x75;&#116;&#x6c;&#111;&#x6f;&#107;&#46;&#x63;&#111;&#x6d;</Anchor></li>
4343
</ul>
4444

4545
</div>

packages/website/src/compiled-docs/6db004dbaedf4e5784f248bfbbf25c95.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<p>I can work on the custom made of he-tree. Advanced Vue custom components. And other work about Vue. Please <Anchor :to="resolveHref('mailto:[email protected]?subject=&body=')">contact me</Anchor> by email.</p>
4646
<vheading :level="2" id="contact">Contact</vheading>
4747
<ul>
48-
<li>Email: <Anchor :to="resolveHref('mailto:&#112;&#x68;&#112;&#104;&#101;&#64;&#x6f;&#x75;&#116;&#x6c;&#111;&#x6f;&#x6b;&#x2e;&#x63;&#111;&#x6d;')">&#112;&#x68;&#112;&#104;&#101;&#64;&#x6f;&#x75;&#116;&#x6c;&#111;&#x6f;&#x6b;&#x2e;&#x63;&#111;&#x6d;</Anchor></li>
48+
<li>Email: <Anchor :to="resolveHref('mailto:&#112;&#104;&#112;&#104;&#101;&#x40;&#x6f;&#117;&#116;&#108;&#x6f;&#111;&#107;&#46;&#x63;&#x6f;&#109;')">&#112;&#104;&#112;&#104;&#101;&#x40;&#x6f;&#117;&#116;&#108;&#x6f;&#111;&#107;&#46;&#x63;&#x6f;&#109;</Anchor></li>
4949
</ul>
5050

5151
</div>

packages/website/src/compiled-docs/8ad65299c634049f551a465a053f67bd.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,12 @@ import &#39;@he-tree/vue3/dist/he-tree-vue3.css&#39;
149149
<p>Use prop <code v-pre>rtl</code> to enable.</p>
150150
<vheading :level="2" id="virtualization">Virtualization</vheading>
151151
<p>Improve performance when there are a lot of nodes. Use prop <code v-pre>virtualization</code> to enable. Use prop <code v-pre>virtualizationPrerender</code> to define render length at start.</p>
152+
<p>Must add style <code v-pre>overflow:auto</code> for tree. And set height. The height can be fixed value. Use <code v-pre>max-height</code> or <code v-pre>display:flex</code> to set dynamic height also works.</p>
153+
<pre><code v-pre class="language-html">&lt;Draggable virtualization style=&quot;height:300px;overflow:auto&quot; /&gt;
154+
</code></pre>
155+
<p>You can use follow code update virtualization list manually:</p>
156+
<pre><code v-pre class="language-js">tree.$refs.virtualizationList.update()
157+
</code></pre>
152158
<vheading :level="2" id="draggable">Draggable</vheading>
153159
<pre><code v-pre class="language-vue">&lt;template&gt;
154160
&lt;Draggable :flatData=&quot;flatData&quot; idKey=&quot;id&quot; parentIdKey=&quot;pid&quot; /&gt;

packages/website/src/compiled-docs/b32937653ee2e0496387531df72863f0.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@
188188
}
189189
</code></pre>
190190
<p><strong><code v-pre>ondragend</code> 支持 promise, 但 <code v-pre>ondragstart</code> 不支持.</strong></p>
191+
<p><strong>执行<code v-pre>ondragend</code>时, 数据尚未更新.</strong></p>
191192
<vheading :level="4" id="afterplaceholdercreated">afterPlaceholderCreated</vheading>
192193
<pre><code v-pre class="language-ts">(placeholder: HTMLElement, store: Store3) =&gt; void
193194
</code></pre>
@@ -274,8 +275,12 @@ default: &quot;top_left_corner&quot;,
274275
<vheading :level="3" id="draggable-2">Draggable</vheading>
275276
<p>Draggable 组件的 Vue 实例(vm).</p>
276277
<vheading :level="3" id="eachdraggablefunc">eachDraggableFunc</vheading>
277-
<pre><code v-pre class="language-ts">;(node: Node | undefined, store: Store3, options: Options2, vm: Draggable) =&gt;
278-
boolean | undefined
278+
<pre><code v-pre class="language-ts">type eachDraggableFunc = (
279+
node: Node | undefined,
280+
store: Store3,
281+
options: Options2,
282+
vm: Draggable
283+
) =&gt; boolean | undefined
279284
</code></pre>
280285
<vheading :level="3" id="positionmode">PositionMode</vheading>
281286
<pre><code v-pre class="language-ts">&#39;top_left_corner&#39; | &#39;mouse&#39;

packages/website/src/compiled-docs/bd5b80e6d4151126cf317aa95373f03c.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@
186186
}
187187
</code></pre>
188188
<p><strong><code v-pre>ondragend</code> supports promise, but <code v-pre>ondragstart</code> does not.</strong></p>
189+
<p><strong>The data is not updated in <code v-pre>ondragend</code>.</strong></p>
189190
<vheading :level="4" id="afterplaceholdercreated">afterPlaceholderCreated</vheading>
190191
<pre><code v-pre class="language-ts">(placeholder: HTMLElement, store: Store3) =&gt; void
191192
</code></pre>
@@ -272,8 +273,12 @@ default: &quot;top_left_corner&quot;,
272273
<vheading :level="3" id="draggable-2">Draggable</vheading>
273274
<p>The Vue instance(vm) of the Draggable component.</p>
274275
<vheading :level="3" id="eachdraggablefunc">eachDraggableFunc</vheading>
275-
<pre><code v-pre class="language-ts">;(node: Node | undefined, store: Store3, options: Options2, vm: Draggable) =&gt;
276-
boolean | undefined
276+
<pre><code v-pre class="language-ts">type eachDraggableFunc = (
277+
node: Node | undefined,
278+
store: Store3,
279+
options: Options2,
280+
vm: Draggable
281+
) =&gt; boolean | undefined
277282
</code></pre>
278283
<vheading :level="3" id="positionmode">PositionMode</vheading>
279284
<pre><code v-pre class="language-ts">&#39;top_left_corner&#39; | &#39;mouse&#39;

packages/website/src/compiled-docs/c7967f78a598bb1d55c32377e6d33e2b.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,12 @@ import &#39;@he-tree/vue3/dist/he-tree-vue3.css&#39;
149149
<p>从右到左显示. 使用 prop <code v-pre>rtl</code> 控制.</p>
150150
<vheading :level="2" id="虚拟列表">虚拟列表</vheading>
151151
<p>此功能可以在有许多节点时提高渲染性能. 使用 prop <code v-pre>virtualization</code> 启用. 使用 prop <code v-pre>virtualizationPrerender</code> 设置开始时显示的节点数量.</p>
152+
<p>一定要给树添加样式<code v-pre>overflow:auto</code>, 并指定高度, 可以设置固定值, 也可以使用 max-height 或者 flex 动态设置高度.</p>
153+
<pre><code v-pre class="language-html">&lt;Draggable virtualization style=&quot;height:300px;overflow:auto&quot; /&gt;
154+
</code></pre>
155+
<p>使用以下代码手动更新虚拟列表:</p>
156+
<pre><code v-pre class="language-js">tree.$refs.virtualizationList.update()
157+
</code></pre>
152158
<vheading :level="2" id="拖拽">拖拽</vheading>
153159
<pre><code v-pre class="language-vue">&lt;template&gt;
154160
&lt;Draggable :flatData=&quot;flatData&quot; idKey=&quot;id&quot; parentIdKey=&quot;pid&quot; /&gt;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default [{"name":"6db004dbaedf4e5784f248bfbbf25c95","path":"/pro-plugin","meta":{"locale":"en","alternate":{"en":"/pro-plugin","zh":"/zh/pro-plugin"},"fromMarkdown":true},"component":() => import('./6db004dbaedf4e5784f248bfbbf25c95.vue')},{"name":"0452ec218fa58e31b65e27668556ebf6","path":"/zh/pro-plugin","meta":{"locale":"zh","alternate":{"en":"/pro-plugin","zh":"/zh/pro-plugin"},"fromMarkdown":true},"component":() => import('./0452ec218fa58e31b65e27668556ebf6.vue')},{"name":"bd5b80e6d4151126cf317aa95373f03c","path":"/v1/api","meta":{"locale":"en","alternate":{"en":"/v1/api","zh":"/zh/v1/api"},"fromMarkdown":true},"component":() => import('./bd5b80e6d4151126cf317aa95373f03c.vue')},{"name":"8ad65299c634049f551a465a053f67bd","path":"/v1/guide","meta":{"locale":"en","alternate":{"en":"/v1/guide","zh":"/zh/v1/guide"},"fromMarkdown":true},"component":() => import('./8ad65299c634049f551a465a053f67bd.vue')},{"name":"b32937653ee2e0496387531df72863f0","path":"/zh/v1/api","meta":{"locale":"zh","alternate":{"en":"/v1/api","zh":"/zh/v1/api"},"fromMarkdown":true},"component":() => import('./b32937653ee2e0496387531df72863f0.vue')},{"name":"c7967f78a598bb1d55c32377e6d33e2b","path":"/zh/v1/guide","meta":{"locale":"zh","alternate":{"en":"/v1/guide","zh":"/zh/v1/guide"},"fromMarkdown":true},"component":() => import('./c7967f78a598bb1d55c32377e6d33e2b.vue')}]
1+
export default [{"name":"0452ec218fa58e31b65e27668556ebf6","path":"/zh/pro-plugin","meta":{"locale":"zh","alternate":{"en":"/pro-plugin","zh":"/zh/pro-plugin"},"fromMarkdown":true},"component":() => import('./0452ec218fa58e31b65e27668556ebf6.vue')},{"name":"6db004dbaedf4e5784f248bfbbf25c95","path":"/pro-plugin","meta":{"locale":"en","alternate":{"en":"/pro-plugin","zh":"/zh/pro-plugin"},"fromMarkdown":true},"component":() => import('./6db004dbaedf4e5784f248bfbbf25c95.vue')},{"name":"b32937653ee2e0496387531df72863f0","path":"/zh/v1/api","meta":{"locale":"zh","alternate":{"en":"/v1/api","zh":"/zh/v1/api"},"fromMarkdown":true},"component":() => import('./b32937653ee2e0496387531df72863f0.vue')},{"name":"c7967f78a598bb1d55c32377e6d33e2b","path":"/zh/v1/guide","meta":{"locale":"zh","alternate":{"en":"/v1/guide","zh":"/zh/v1/guide"},"fromMarkdown":true},"component":() => import('./c7967f78a598bb1d55c32377e6d33e2b.vue')},{"name":"bd5b80e6d4151126cf317aa95373f03c","path":"/v1/api","meta":{"locale":"en","alternate":{"en":"/v1/api","zh":"/zh/v1/api"},"fromMarkdown":true},"component":() => import('./bd5b80e6d4151126cf317aa95373f03c.vue')},{"name":"8ad65299c634049f551a465a053f67bd","path":"/v1/guide","meta":{"locale":"en","alternate":{"en":"/v1/guide","zh":"/zh/v1/guide"},"fromMarkdown":true},"component":() => import('./8ad65299c634049f551a465a053f67bd.vue')}]

0 commit comments

Comments
 (0)