From d604a377ef09f27d909e295203b3119119dd2b91 Mon Sep 17 00:00:00 2001
From: Jandiasnow <88074479@qq.com>
Date: Thu, 2 Nov 2023 15:04:47 +0800
Subject: [PATCH] feat: add DesignMarkdown
---
.../demo/assets.json | 18 +++----
.../lowcode/markdown/meta.ts | 8 +++-
.../lowcode/view.tsx | 23 ++++++++-
.../package.json | 1 +
.../src/index.tsx | 10 ++--
packages/shared/src/services/assets.json | 18 +++----
pnpm-lock.yaml | 48 +++++++++++++++++++
7 files changed, 102 insertions(+), 24 deletions(-)
diff --git a/packages/react-markdown-lowcode-materials/demo/assets.json b/packages/react-markdown-lowcode-materials/demo/assets.json
index b45eafd..7055a01 100644
--- a/packages/react-markdown-lowcode-materials/demo/assets.json
+++ b/packages/react-markdown-lowcode-materials/demo/assets.json
@@ -57,19 +57,19 @@
{
"id": "@tenx-ui/materials",
"meta": {
- "url": "http://172.22.96.37/@tenx-ui/materials@1.5.11/build/lowcode/meta.js",
+ "url": "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/meta.js",
"exportName": "TenxUiMaterialsMeta"
},
"urls": [
- "http://172.22.96.37/@tenx-ui/materials@1.5.11/dist/TenxUiMaterials.js",
- "http://172.22.96.37/@tenx-ui/materials@1.5.11/dist/TenxUiMaterials.css"
+ "http://172.22.96.37/@tenx-ui/materials@latest/dist/TenxUiMaterials.js",
+ "http://172.22.96.37/@tenx-ui/materials@latest/dist/TenxUiMaterials.css"
],
"library": "TenxUiMaterials",
"package": "@tenx-ui/materials",
- "version": "1.5.11",
+ "version": "latest",
"editUrls": [
- "http://172.22.96.37/@tenx-ui/materials@1.5.11/build/lowcode/view.css",
- "http://172.22.96.37/@tenx-ui/materials@1.5.11/build/lowcode/view.js"
+ "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/view.css",
+ "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/view.js"
]
},
{
@@ -95,11 +95,11 @@
],
"components": [
{
- "url": "http://172.22.96.37/@tenx-ui/materials@1.5.11/build/lowcode/meta.js",
- "version": "1.5.11",
+ "url": "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/meta.js",
+ "version": "latest",
"reference": {
"id": "@tenx-ui/materials",
- "version": "1.5.11"
+ "version": "latest"
},
"exportName": "TenxUiMaterialsMeta"
},
diff --git a/packages/react-markdown-lowcode-materials/lowcode/markdown/meta.ts b/packages/react-markdown-lowcode-materials/lowcode/markdown/meta.ts
index f764687..95b01f4 100644
--- a/packages/react-markdown-lowcode-materials/lowcode/markdown/meta.ts
+++ b/packages/react-markdown-lowcode-materials/lowcode/markdown/meta.ts
@@ -21,7 +21,9 @@ const MarkdownMeta: IPublicTypeComponentMetadata = {
label: '内容',
tip: 'children | 内容',
},
- setter: ['TextAreaSetter'],
+ setter: {
+ componentName: 'TextAreaSetter',
+ },
},
{
name: 'className',
@@ -29,7 +31,9 @@ const MarkdownMeta: IPublicTypeComponentMetadata = {
label: '类名',
tip: 'className | 类名',
},
- setter: ['StringSetter'],
+ setter: {
+ componentName: 'StringSetter',
+ },
},
{
title: {
diff --git a/packages/react-markdown-lowcode-materials/lowcode/view.tsx b/packages/react-markdown-lowcode-materials/lowcode/view.tsx
index 4c15842..b323c16 100644
--- a/packages/react-markdown-lowcode-materials/lowcode/view.tsx
+++ b/packages/react-markdown-lowcode-materials/lowcode/view.tsx
@@ -1,4 +1,25 @@
+import React from 'react';
import Markdown from '../src';
// 不需要对设计态进行特殊处理的,直接导出即可
-export default Markdown;
+const DesignMarkdown = props => {
+ const { children, ...otherProps } = props;
+ return (
+
+ ;
+ },
+ ...(otherProps.components || {}),
+ }}
+ >
+ {(children || '').toString()}
+
+
+ );
+};
+export default DesignMarkdown;
diff --git a/packages/react-markdown-lowcode-materials/package.json b/packages/react-markdown-lowcode-materials/package.json
index e79b136..57b30cf 100644
--- a/packages/react-markdown-lowcode-materials/package.json
+++ b/packages/react-markdown-lowcode-materials/package.json
@@ -24,6 +24,7 @@
"@alilc/lowcode-types": "^1.2.1",
"@babel/runtime": "^7.0.0",
"react-markdown": "^9.0.0",
+ "rehype-highlight": "^7.0.0",
"remark-gfm": "^4.0.0"
},
"peerDependencies": {
diff --git a/packages/react-markdown-lowcode-materials/src/index.tsx b/packages/react-markdown-lowcode-materials/src/index.tsx
index 6c2024c..ceb92a8 100644
--- a/packages/react-markdown-lowcode-materials/src/index.tsx
+++ b/packages/react-markdown-lowcode-materials/src/index.tsx
@@ -1,11 +1,15 @@
import React from 'react';
import OriginalMarkdown, { Options } from 'react-markdown';
+import rehypeHighlight from 'rehype-highlight';
import remarkGfm from 'remark-gfm';
-
const Markdown = (props: Options) => {
- const { children, remarkPlugins, ...otherProps } = props;
+ const { children, rehypePlugins, remarkPlugins, ...otherProps } = props;
return (
-
+
{(props.children || '').toString()}
);
diff --git a/packages/shared/src/services/assets.json b/packages/shared/src/services/assets.json
index 6946910..e85724d 100644
--- a/packages/shared/src/services/assets.json
+++ b/packages/shared/src/services/assets.json
@@ -57,19 +57,19 @@
{
"id": "@tenx-ui/materials",
"meta": {
- "url": "http://172.22.96.37/@tenx-ui/materials@1.5.9/build/lowcode/meta.js",
+ "url": "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/meta.js",
"exportName": "TenxUiMaterialsMeta"
},
"urls": [
- "http://172.22.96.37/@tenx-ui/materials@1.5.9/dist/TenxUiMaterials.js",
- "http://172.22.96.37/@tenx-ui/materials@1.5.9/dist/TenxUiMaterials.css"
+ "http://172.22.96.37/@tenx-ui/materials@latest/dist/TenxUiMaterials.js",
+ "http://172.22.96.37/@tenx-ui/materials@latest/dist/TenxUiMaterials.css"
],
"library": "TenxUiMaterials",
"package": "@tenx-ui/materials",
- "version": "1.5.9",
+ "version": "latest",
"editUrls": [
- "http://172.22.96.37/@tenx-ui/materials@1.5.9/build/lowcode/view.css",
- "http://172.22.96.37/@tenx-ui/materials@1.5.9/build/lowcode/view.js"
+ "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/view.css",
+ "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/view.js"
]
},
{
@@ -102,11 +102,11 @@
],
"components": [
{
- "url": "http://172.22.96.37/@tenx-ui/materials@1.5.9/build/lowcode/meta.js",
- "version": "1.5.9",
+ "url": "http://172.22.96.37/@tenx-ui/materials@latest/build/lowcode/meta.js",
+ "version": "latest",
"reference": {
"id": "@tenx-ui/materials",
- "version": "1.5.9"
+ "version": "latest"
},
"exportName": "TenxUiMaterialsMeta"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0aa00cb..26813fb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -95,6 +95,9 @@ importers:
react-markdown:
specifier: ^9.0.0
version: 9.0.0(@types/react@18.2.33)(react@17.0.2)
+ rehype-highlight:
+ specifier: ^7.0.0
+ version: 7.0.0
remark-gfm:
specifier: ^4.0.0
version: 4.0.0
@@ -10573,6 +10576,12 @@ packages:
'@types/unist': 2.0.9
dev: true
+ /hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+ dependencies:
+ '@types/hast': 3.0.2
+ dev: false
+
/hast-util-parse-selector@3.1.1:
resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==}
dependencies:
@@ -10681,6 +10690,15 @@ packages:
'@types/hast': 2.3.7
dev: true
+ /hast-util-to-text@4.0.0:
+ resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==}
+ dependencies:
+ '@types/hast': 3.0.2
+ '@types/unist': 3.0.1
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+ dev: false
+
/hast-util-whitespace@2.0.1:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
dev: true
@@ -10723,6 +10741,11 @@ packages:
heti-findandreplacedomtext: 0.5.0
dev: true
+ /highlight.js@11.9.0:
+ resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
+ engines: {node: '>=12.0.0'}
+ dev: false
+
/history@5.3.0:
resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==}
dependencies:
@@ -12451,6 +12474,14 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /lowlight@3.1.0:
+ resolution: {integrity: sha512-CEbNVoSikAxwDMDPjXlqlFYiZLkDJHwyGu/MfOsJnF3d7f3tds5J3z8s/l9TMXhzfsJCCJEAsD78842mwmg0PQ==}
+ dependencies:
+ '@types/hast': 3.0.2
+ devlop: 1.1.0
+ highlight.js: 11.9.0
+ dev: false
+
/lru-cache@4.1.5:
resolution: {integrity: sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=}
dependencies:
@@ -17304,6 +17335,16 @@ packages:
unist-util-visit: 4.1.2
dev: true
+ /rehype-highlight@7.0.0:
+ resolution: {integrity: sha512-QtobgRgYoQaK6p1eSr2SD1i61f7bjF2kZHAQHxeCHAuJf7ZUDMvQ7owDq9YTkmar5m5TSUol+2D3bp3KfJf/oA==}
+ dependencies:
+ '@types/hast': 3.0.2
+ hast-util-to-text: 4.0.0
+ lowlight: 3.1.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.1
+ dev: false
+
/rehype-remove-comments@5.0.0:
resolution: {integrity: sha1-iLT6uhDyF9SraLNuuVizhmMNVnI=}
dependencies:
@@ -19423,6 +19464,13 @@ packages:
unist-util-visit-parents: 5.1.3
dev: true
+ /unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+ dependencies:
+ '@types/unist': 3.0.1
+ unist-util-is: 6.0.0
+ dev: false
+
/unist-util-find-all-after@3.0.2:
resolution: {integrity: sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY=}
dependencies: