From a4a2299ea49857a91f90ceb6398d93a988493ba6 Mon Sep 17 00:00:00 2001 From: hustcc Date: Tue, 20 Feb 2024 13:25:29 +0800 Subject: [PATCH] docs: make site build (#5446) * chore: make site build * docs: make api reference work * chore: add case gallery * docs: add one demo --- package.json | 4 +- packages/site/.dumi/global.ts | 9 +- packages/site/.dumirc.ts | 18 +- .../{new-features.en.md => v5/features.en.md} | 0 .../{new-features.zh.md => v5/features.zh.md} | 0 .../{betaPublish.en.md => v5/publish.en.md} | 2 +- .../{betaPublish.zh.md => v5/publish.zh.md} | 2 +- .../site/docs/manual/{ => v5}/upgrade.en.md | 0 .../site/docs/manual/{ => v5}/upgrade.zh.md | 0 .../examples/feature/features/demo/meta.json | 8 - .../examples/item/customNode/demo/meta.json | 8 - .../examples/item/defaultNodes/demo/circle.js | 167 ++++++------------ packages/site/package.json | 2 +- packages/site/scripts/generate-api.ts | 2 +- 14 files changed, 79 insertions(+), 143 deletions(-) rename packages/site/docs/manual/{new-features.en.md => v5/features.en.md} (100%) rename packages/site/docs/manual/{new-features.zh.md => v5/features.zh.md} (100%) rename packages/site/docs/manual/{betaPublish.en.md => v5/publish.en.md} (99%) rename packages/site/docs/manual/{betaPublish.zh.md => v5/publish.zh.md} (99%) rename packages/site/docs/manual/{ => v5}/upgrade.en.md (100%) rename packages/site/docs/manual/{ => v5}/upgrade.zh.md (100%) diff --git a/package.json b/package.json index 439319de0ed..5bf56fc7ca9 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "prepare": "husky install", "build": "run-s build:*", "build:g6": "cd ./packages/g6 && npm run build", - "build:map-view": "cd ./packages/g6-plugin-map-view && npm run build", - "build:react-node": "cd ./packages/react-node && npm run build", + "build:map-view": "cd ./packages/g6-plugin-map-view", + "build:react-node": "cd ./packages/react-node", "build:site": "cd ./packages/site && npm run build", "ci:g6": "cd ./packages/g6 && npm run ci", "ci": "run-s ci:*" diff --git a/packages/site/.dumi/global.ts b/packages/site/.dumi/global.ts index 26fbab69dc8..941c45fe3a6 100644 --- a/packages/site/.dumi/global.ts +++ b/packages/site/.dumi/global.ts @@ -1,16 +1,16 @@ // @ts-nocheck - if (window) { // window.g6 = require('@antv/g6/es'); // import the source for debugging - window.g6 = require('@antv/g6/lib'); // import the source for debugging + window.g6 = require('@antv/g6'); // import the source for debugging window.layoutGpu = require('@antv/layout-gpu'); // import the source for debugging window.algorithm = require('@antv/algorithm'); window.layoutWasm = require('@antv/layout-wasm'); // import the source for debugging window.graphlib = require('@antv/graphlib'); - window.g6PluginMapView = require('@antv/g6-plugin-map-view'); - // window.g6 = require('@antv/g6/diFst/g6.min.js'); // import the package for webworker + // todo 两个包目前报错 + // window.g6PluginMapView = require('@antv/g6-plugin-map-view'); + // window.g6ReactNode = require('@antv/g6-react-node'); window.insertCss = require('insert-css'); window.util = require('@antv/util'); window.stats = require('stats.js'); @@ -19,5 +19,4 @@ if (window) { window.React = require('react'); window.ReactDOM = require('react-dom'); - window.g6ReactNode = require('@antv/g6-react-node'); } diff --git a/packages/site/.dumirc.ts b/packages/site/.dumirc.ts index baf737ea1c4..94f36cff3c0 100644 --- a/packages/site/.dumirc.ts +++ b/packages/site/.dumirc.ts @@ -97,6 +97,14 @@ export default defineConfig({ // 头部的菜单中的「周边生态」 ], docs: [ + { + slug: 'manual/v5', + title: { + zh: '🎉 新版本 5.0', + en: '🎉 New v5.0', + }, + order: 4, + }, { slug: 'manual/tutorial', title: { @@ -125,7 +133,7 @@ export default defineConfig({ { slug: 'apis/reference', title: { - zh: 'API Reference', + zh: 'API 文档', en: 'API Reference', }, order: 1, @@ -229,6 +237,14 @@ export default defineConfig({ en: '5.0 Features', }, }, + { + slug: 'case', + icon: 'gallery', + title: { + zh: '场景案例', + en: 'Case', + }, + }, { slug: 'net', icon: 'net', diff --git a/packages/site/docs/manual/new-features.en.md b/packages/site/docs/manual/v5/features.en.md similarity index 100% rename from packages/site/docs/manual/new-features.en.md rename to packages/site/docs/manual/v5/features.en.md diff --git a/packages/site/docs/manual/new-features.zh.md b/packages/site/docs/manual/v5/features.zh.md similarity index 100% rename from packages/site/docs/manual/new-features.zh.md rename to packages/site/docs/manual/v5/features.zh.md diff --git a/packages/site/docs/manual/betaPublish.en.md b/packages/site/docs/manual/v5/publish.en.md similarity index 99% rename from packages/site/docs/manual/betaPublish.en.md rename to packages/site/docs/manual/v5/publish.en.md index 83761184b0f..8abd11d7791 100644 --- a/packages/site/docs/manual/betaPublish.en.md +++ b/packages/site/docs/manual/v5/publish.en.md @@ -1,5 +1,5 @@ --- -title: 🎉 Beta Published +title: Beta Published order: 2 --- diff --git a/packages/site/docs/manual/betaPublish.zh.md b/packages/site/docs/manual/v5/publish.zh.md similarity index 99% rename from packages/site/docs/manual/betaPublish.zh.md rename to packages/site/docs/manual/v5/publish.zh.md index 9b83a7e5123..d189985c95a 100644 --- a/packages/site/docs/manual/betaPublish.zh.md +++ b/packages/site/docs/manual/v5/publish.zh.md @@ -1,5 +1,5 @@ --- -title: 🎉 Beta 发布稿 +title: Beta 发布稿 order: 2 --- diff --git a/packages/site/docs/manual/upgrade.en.md b/packages/site/docs/manual/v5/upgrade.en.md similarity index 100% rename from packages/site/docs/manual/upgrade.en.md rename to packages/site/docs/manual/v5/upgrade.en.md diff --git a/packages/site/docs/manual/upgrade.zh.md b/packages/site/docs/manual/v5/upgrade.zh.md similarity index 100% rename from packages/site/docs/manual/upgrade.zh.md rename to packages/site/docs/manual/v5/upgrade.zh.md diff --git a/packages/site/examples/feature/features/demo/meta.json b/packages/site/examples/feature/features/demo/meta.json index fbdb8b4e251..15497b04b2c 100644 --- a/packages/site/examples/feature/features/demo/meta.json +++ b/packages/site/examples/feature/features/demo/meta.json @@ -20,14 +20,6 @@ }, "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*Pz31S5UcA8AAAAAAAAAAAAAADmJ7AQ/original" }, - { - "filename": "mapView.js", - "title": { - "zh": "地图视图", - "en": "Map View" - }, - "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*uQ_4R60w8sgAAAAAAAAAAAAADmJ7AQ/original" - }, { "filename": "lodLevels.js", "title": { diff --git a/packages/site/examples/item/customNode/demo/meta.json b/packages/site/examples/item/customNode/demo/meta.json index 2fffdaa74e4..ac6d0f68034 100644 --- a/packages/site/examples/item/customNode/demo/meta.json +++ b/packages/site/examples/item/customNode/demo/meta.json @@ -52,14 +52,6 @@ }, "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*GVyoQKk2WIIAAAAAAAAAAAAADmJ7AQ/original" }, - { - "filename": "jsx-g-node.js", - "title": { - "zh": "使用 JSX 写法创建自定义 G 节点", - "en": "JSX G Node" - }, - "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*nFzoQ7qBLvEAAAAAAAAAAAAADmJ7AQ/original" - }, { "filename": "react-node.js", "title": { diff --git a/packages/site/examples/item/defaultNodes/demo/circle.js b/packages/site/examples/item/defaultNodes/demo/circle.js index 70500e7c411..f5ac6d5752d 100644 --- a/packages/site/examples/item/defaultNodes/demo/circle.js +++ b/packages/site/examples/item/defaultNodes/demo/circle.js @@ -1,133 +1,70 @@ import { Graph } from '@antv/g6'; +const Icons = [ + 'https://gw.alipayobjects.com/zos/rmsportal/eOYRaLPOmkieVvjyjTzM.png', + 'https://gw.alipayobjects.com/zos/rmsportal/dWJWRLWfpOEbwCyxmZwu.png', + 'https://gw.alipayobjects.com/zos/rmsportal/ZEPeDluKmAoTioCABBTc.png', + 'https://gw.alipayobjects.com/zos/rmsportal/eZYhlLzqWLAYwOHQAXmc.png', + 'https://gw.alipayobjects.com/zos/rmsportal/vXiGOWCGZNKuVVpVYQAw.png', + 'https://gw.alipayobjects.com/zos/rmsportal/NjApYXminrnhBgOXyuaK.png', +]; + const data = { nodes: [ - { - id: 'circle', - data: {}, - }, - { - id: 'circle-active', - data: {}, - }, - { - id: 'circle-selected', - data: {}, - }, - - { - id: 'circle-highlight', - data: {}, - }, - { - id: 'circle-inactive', - data: {}, - }, - { - id: 'circle-badges', - data: {}, - }, - { - id: 'circle-anchorShapes', - data: {}, - }, + { id: 'circle' }, + { id: 'circle-halo' }, + { id: 'circle-badges' }, + { id: 'circle-ports' }, + { id: 'circle-active' }, + { id: 'circle-selected' }, + { id: 'circle-highlight' }, + { id: 'circle-inactive' }, ], }; -const container = document.getElementById('container'); -const width = container.scrollWidth; -const height = container.scrollHeight || 500; const graph = new Graph({ container: 'container', - width, - height, - modes: { - default: ['zoom-canvas', 'drag-canvas', 'drag-node', 'click-select'], - }, - plugins: [ - { - // lod-controller will be automatically assigned to graph with `disableLod: false` to graph if it is not configured as following - type: 'lod-controller', - disableLod: true, - }, - ], + width: 600, + height: 400, + theme: 'light', data, layout: { type: 'grid', }, - node: (model) => { - const { id, data } = model; - const config = { - id, - data: { - ...data, - type: 'circle-node', - labelShape: { - text: id, - position: 'bottom', - maxWidth: '500%', - }, - labelBackgroundShape: {}, - iconShape: { - img: 'https://gw.alipayobjects.com/zos/basement_prod/012bcf4f-423b-4922-8c24-32a89f8c41ce.svg', - }, - animates: { - update: [ - { - fields: ['opacity'], - shapeId: 'haloShape', - states: ['selected', 'active'], - }, - { - fields: ['lineWidth'], - shapeId: 'keyShape', - states: ['selected', 'active'], - }, - ], - }, + node: { + style: { + type: 'circle', + r: 20, + labelText: (d) => d.id, + iconSrc: (_, idx) => Icons[idx % Icons.length], + halo: (d) => d.id.includes('halo'), + }, + state: { + active: { + halo: true, }, - }; - if (id.includes('badges')) { - config.data.badgeShapes = [ - { - text: 'A', - position: 'rightTop', - }, - { - text: 'Important', - position: 'right', - }, - { - text: 'Notice', - position: 'rightBottom', - }, - ]; - } - if (id.includes('anchorShapes')) { - config.data.anchorShapes = [ - { - position: [0, 0.5], - }, - { - position: [0.5, 0], - }, - { - position: [0.5, 1], - }, - { - position: [1, 0.5], - }, - ]; + selected: { + halo: true, + lineWidth: 2, + stroke: '#000', + }, + highlight: { + halo: false, + lineWidth: 2, + stroke: '#000', + }, + inactive: { + opacity: 0.2, + } } - return config; - }, + } }); -graph.on('afterrender', (e) => { - graph.setItemState('circle-active', 'active', true); - graph.setItemState('circle-selected', 'selected', true); - graph.setItemState('circle-highlight', 'highlight', true); - graph.setItemState('circle-inactive', 'inactive', true); -}); +graph.render(); -window.graph = graph; +graph.on('afterrender', () => { + graph.setElementState('circle-active', 'active'); + graph.setElementState('circle-selected', 'selected'); + graph.setElementState('circle-highlight', 'highlight'); + graph.setElementState('circle-inactive', 'inactive'); +}); diff --git a/packages/site/package.json b/packages/site/package.json index 13f0943eda8..92df8a34e7c 100644 --- a/packages/site/package.json +++ b/packages/site/package.json @@ -27,7 +27,7 @@ "scripts": { "build": "npm run doc && dumi build", "deploy": "npm run build && gh-pages -d dist", - "develop": "dumi dev", + "dev": "dumi dev", "doc": "npm run doc:prepare && ts-node ./scripts/generate-api.ts && ts-node ./scripts/generate-intl.ts", "doc:prepare": "node ./scripts/env-setup.cjs USE_TS_NODE true", "find-unused-demos": "node ./scripts/find-unused-demos.js", diff --git a/packages/site/scripts/generate-api.ts b/packages/site/scripts/generate-api.ts index 9b28ee0294b..d115e7f142f 100644 --- a/packages/site/scripts/generate-api.ts +++ b/packages/site/scripts/generate-api.ts @@ -39,7 +39,7 @@ export function mangleScopedPackageName(packageName: string): string { const reportFolderRoot = path.resolve(__dirname, '..', path.join('support', 'api')); const reportTempFolderRoot = path.resolve(reportFolderRoot, 'temp'); -const ignorePackages = new Set(['@antv/g6-react-node']); +const ignorePackages = new Set(['@antv/g6-react-node', '@antv/g6-plugin-map-view', '@antv/g6-site']); /** * Get all typed packages.