1
1
import React from 'react' ;
2
2
import GithubCorner from './GithubCorner' ;
3
- import MDEditor , { IMDEditorProps } from '../' ;
3
+ import MDEditor , { IMDEditorProps , commands } from '../' ;
4
4
import Logo from './Logo' ;
5
5
import './App.less' ;
6
6
@@ -9,22 +9,10 @@ const mdStr = `
9
9
<img src="https://raw.githubusercontent.com/uiwjs/react-markdown-editor/4884f29f2aad59bf7f512184ba3726d76bbd7170/website/logo.svg?sanitize=true">
10
10
</p>
11
11
12
- # Markdown Editor for React
13
- ## 大标题
14
- ### 小标题
15
- #### 小标题
16
- ##### 小标题
17
- ###### 小标题
18
-
19
- <p align="center">
20
- <style>
21
- body {
22
- padding: 100px;
23
- }
24
- </style>
25
- A markdown editor with <b>preview</b>, implemented with React.js and TypeScript.
26
- </p>
27
-
12
+ \`\`\`javascript
13
+ // Preview Markdown!
14
+ <MDEditor.Markdown source="Preview Markdown!" />
15
+ \`\`\`
28
16
29
17
<p align="center">
30
18
A markdown editor with preview, implemented with React.js and TypeScript.
@@ -89,6 +77,24 @@ Licensed under the MIT License.
89
77
**粗体文本** __粗体文本__
90
78
***粗斜体文本*** ___粗斜体文本___
91
79
80
+ # Markdown Editor for React
81
+ ## Title Name
82
+ ### Title Name
83
+ #### Title Name
84
+ ##### Title Name
85
+ ###### Title Name
86
+
87
+ <p align="center">
88
+ <style>
89
+ body {
90
+ padding: 100px;
91
+ }
92
+ </style>
93
+ A markdown editor with <b>preview</b>, implemented with React.js and TypeScript.
94
+ </p>
95
+
96
+
97
+
92
98
\`\`\`javascript
93
99
$(document).ready(function () {
94
100
alert('hello world');
@@ -138,9 +144,9 @@ def g(x):
138
144
139
145
---
140
146
141
- | 表头 | 表头 |
147
+ | Header | Header |
142
148
| --- | --- |
143
- | 事实上 | 事实上 |
149
+ | Content | Content |
144
150
145
151
这个链接用 1 作为网址变量 [Google][1].
146
152
这个链接用 yahoo 作为网址变量 [Yahoo!][yahoo].
@@ -154,6 +160,7 @@ def g(x):
154
160
export default function App ( ) {
155
161
const [ state , setVisiable ] = React . useState ( {
156
162
visiableDragbar : true ,
163
+ value : mdStr ,
157
164
preview : 'edit' ,
158
165
} ) ;
159
166
const upDataVisiable = ( keyName , e ) => {
@@ -164,35 +171,47 @@ export default function App() {
164
171
}
165
172
return (
166
173
< div className = "warpper" >
167
- < Logo />
174
+ < header className = "header" >
175
+ < Logo />
176
+ </ header >
168
177
< GithubCorner url = "https://github.com/uiwjs/react-md-editor" />
169
178
< MDEditor
170
- value = { mdStr }
179
+ value = { state . value }
171
180
height = { 400 }
172
181
visiableDragbar = { state . visiableDragbar }
173
182
preview = { state . preview as IMDEditorProps [ 'preview' ] }
174
- onChange = { ( value ) => {
175
- console . log ( '【onChange】' , value ) ;
183
+ onChange = { ( newValue ) => {
184
+ setVisiable ( { ... state , value : newValue } ) ;
176
185
} }
177
186
/>
178
187
< div className = "doc-tools" >
179
188
< label >
180
189
< input type = "checkbox" checked = { state . visiableDragbar } onChange = { upDataVisiable . bind ( this , 'visiableDragbar' ) } />
181
- 是否显示拖拽工具
190
+ { state . visiableDragbar ? 'Show' : 'Hidden' } Drag Bar
182
191
</ label >
183
192
< label >
184
193
< input type = "radio" name = "preview" value = "edit" checked = { state . preview === 'edit' } onChange = { upPreview . bind ( this ) } />
185
- 编辑
194
+ Edit
186
195
</ label >
187
196
< label >
188
197
< input type = "radio" name = "preview" value = "live" checked = { state . preview === 'live' } onChange = { upPreview . bind ( this ) } />
189
- 实时编辑
198
+ Live Preview
190
199
</ label >
191
200
< label >
192
201
< input type = "radio" name = "preview" value = "preview" checked = { state . preview === 'preview' } onChange = { upPreview . bind ( this ) } />
193
- 预览
202
+ Preview
194
203
</ label >
195
204
</ div >
205
+ < div className = "title" > Custom toolbar</ div >
206
+ < MDEditor
207
+ value = "Hello Markdown!"
208
+ commands = { [
209
+ commands . bold , commands . hr , commands . italic , commands . divider ,
210
+ commands . codeEdit , commands . codeLive , commands . codePreview , commands . divider ,
211
+ commands . fullscreen ,
212
+ ] }
213
+ />
214
+ < MDEditor . Markdown source = { state . value } />
196
215
</ div >
197
216
)
198
217
}
0 commit comments