@gravity-ui/markdown-editor 15.34.4 → 15.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/bundle/MarkupEditorView.js +1 -1
- package/build/cjs/bundle/MarkupEditorView.js.map +1 -1
- package/build/cjs/bundle/ToolbarView.d.ts +1 -2
- package/build/cjs/bundle/ToolbarView.js +22 -10
- package/build/cjs/bundle/ToolbarView.js.map +1 -1
- package/build/cjs/bundle/WysiwygEditorView.d.ts +1 -1
- package/build/cjs/bundle/WysiwygEditorView.js +4 -4
- package/build/cjs/bundle/WysiwygEditorView.js.map +1 -1
- package/build/cjs/bundle/config/markup.js +1 -0
- package/build/cjs/bundle/config/markup.js.map +1 -1
- package/build/cjs/bundle/config/wysiwyg.js +2 -0
- package/build/cjs/bundle/config/wysiwyg.js.map +1 -1
- package/build/cjs/bundle/emoji.js +3 -0
- package/build/cjs/bundle/emoji.js.map +1 -1
- package/build/cjs/bundle/toolbar/wysiwyg/WToolbarColors.js +36 -2
- package/build/cjs/bundle/toolbar/wysiwyg/WToolbarColors.js.map +1 -1
- package/build/cjs/extensions/behavior/Placeholder/index.js +54 -20
- package/build/cjs/extensions/behavior/Placeholder/index.js.map +1 -1
- package/build/cjs/extensions/markdown/Lists/commands.d.ts +1 -0
- package/build/cjs/extensions/markdown/Lists/commands.js +14 -0
- package/build/cjs/extensions/markdown/Lists/commands.js.map +1 -1
- package/build/cjs/extensions/markdown/Lists/index.js +1 -0
- package/build/cjs/extensions/markdown/Lists/index.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.d.ts +27 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js +81 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js +33 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js.map +1 -1
- package/build/cjs/modules/toolbars/items.js +2 -0
- package/build/cjs/modules/toolbars/items.js.map +1 -1
- package/build/cjs/modules/toolbars/types.d.ts +1 -0
- package/build/cjs/modules/toolbars/types.js.map +1 -1
- package/build/cjs/react-utils/memo.d.ts +1 -0
- package/build/cjs/react-utils/memo.js +8 -0
- package/build/cjs/react-utils/memo.js.map +1 -0
- package/build/cjs/styles/markdown.css +1 -1
- package/build/cjs/styles/styles.css +5 -0
- package/build/cjs/styles/yfm-overrides.css +1 -1
- package/build/cjs/toolbar/Toolbar.d.ts +4 -0
- package/build/cjs/toolbar/Toolbar.js +9 -4
- package/build/cjs/toolbar/Toolbar.js.map +1 -1
- package/build/cjs/toolbar/ToolbarButton.js +3 -3
- package/build/cjs/toolbar/ToolbarButton.js.map +1 -1
- package/build/cjs/toolbar/ToolbarButtonPopup.js +3 -3
- package/build/cjs/toolbar/ToolbarButtonPopup.js.map +1 -1
- package/build/cjs/toolbar/ToolbarGroup.js +5 -4
- package/build/cjs/toolbar/ToolbarGroup.js.map +1 -1
- package/build/cjs/toolbar/ToolbarListButton.js +9 -6
- package/build/cjs/toolbar/ToolbarListButton.js.map +1 -1
- package/build/cjs/toolbar/ToolbarRerender.d.ts +3 -0
- package/build/cjs/toolbar/ToolbarRerender.js +48 -0
- package/build/cjs/toolbar/ToolbarRerender.js.map +1 -0
- package/build/cjs/toolbar/context.d.ts +10 -0
- package/build/cjs/toolbar/context.js +12 -0
- package/build/cjs/toolbar/context.js.map +1 -0
- package/build/cjs/toolbar/hooks.d.ts +8 -0
- package/build/cjs/toolbar/hooks.js +68 -0
- package/build/cjs/toolbar/hooks.js.map +1 -0
- package/build/cjs/toolbar/index.d.ts +1 -0
- package/build/cjs/toolbar/index.js +4 -0
- package/build/cjs/toolbar/index.js.map +1 -1
- package/build/cjs/toolbar/types.d.ts +1 -0
- package/build/cjs/toolbar/types.js.map +1 -1
- package/build/cjs/version.js +1 -1
- package/build/cjs/version.js.map +1 -1
- package/build/cjs/view/hocs/withMermaid/index.js +6 -1
- package/build/cjs/view/hocs/withMermaid/index.js.map +1 -1
- package/build/esm/bundle/MarkupEditorView.js +1 -1
- package/build/esm/bundle/MarkupEditorView.js.map +1 -1
- package/build/esm/bundle/ToolbarView.d.ts +1 -2
- package/build/esm/bundle/ToolbarView.js +24 -12
- package/build/esm/bundle/ToolbarView.js.map +1 -1
- package/build/esm/bundle/WysiwygEditorView.d.ts +1 -1
- package/build/esm/bundle/WysiwygEditorView.js +3 -4
- package/build/esm/bundle/WysiwygEditorView.js.map +1 -1
- package/build/esm/bundle/config/markup.js +1 -0
- package/build/esm/bundle/config/markup.js.map +1 -1
- package/build/esm/bundle/config/wysiwyg.js +2 -0
- package/build/esm/bundle/config/wysiwyg.js.map +1 -1
- package/build/esm/bundle/emoji.js +3 -0
- package/build/esm/bundle/emoji.js.map +1 -1
- package/build/esm/bundle/toolbar/wysiwyg/WToolbarColors.js +36 -2
- package/build/esm/bundle/toolbar/wysiwyg/WToolbarColors.js.map +1 -1
- package/build/esm/extensions/behavior/Placeholder/index.js +55 -21
- package/build/esm/extensions/behavior/Placeholder/index.js.map +1 -1
- package/build/esm/extensions/markdown/Lists/commands.d.ts +1 -0
- package/build/esm/extensions/markdown/Lists/commands.js +13 -0
- package/build/esm/extensions/markdown/Lists/commands.js.map +1 -1
- package/build/esm/extensions/markdown/Lists/index.js +2 -1
- package/build/esm/extensions/markdown/Lists/index.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.d.ts +27 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js +77 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js +33 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js.map +1 -1
- package/build/esm/modules/toolbars/items.js +2 -0
- package/build/esm/modules/toolbars/items.js.map +1 -1
- package/build/esm/modules/toolbars/types.d.ts +1 -0
- package/build/esm/modules/toolbars/types.js.map +1 -1
- package/build/esm/react-utils/memo.d.ts +1 -0
- package/build/esm/react-utils/memo.js +5 -0
- package/build/esm/react-utils/memo.js.map +1 -0
- package/build/esm/styles/markdown.css +1 -1
- package/build/esm/styles/styles.css +5 -0
- package/build/esm/styles/yfm-overrides.css +1 -1
- package/build/esm/toolbar/Toolbar.d.ts +4 -0
- package/build/esm/toolbar/Toolbar.js +9 -4
- package/build/esm/toolbar/Toolbar.js.map +1 -1
- package/build/esm/toolbar/ToolbarButton.js +3 -3
- package/build/esm/toolbar/ToolbarButton.js.map +1 -1
- package/build/esm/toolbar/ToolbarButtonPopup.js +3 -3
- package/build/esm/toolbar/ToolbarButtonPopup.js.map +1 -1
- package/build/esm/toolbar/ToolbarGroup.js +5 -4
- package/build/esm/toolbar/ToolbarGroup.js.map +1 -1
- package/build/esm/toolbar/ToolbarListButton.js +9 -6
- package/build/esm/toolbar/ToolbarListButton.js.map +1 -1
- package/build/esm/toolbar/ToolbarRerender.d.ts +3 -0
- package/build/esm/toolbar/ToolbarRerender.js +44 -0
- package/build/esm/toolbar/ToolbarRerender.js.map +1 -0
- package/build/esm/toolbar/context.d.ts +10 -0
- package/build/esm/toolbar/context.js +8 -0
- package/build/esm/toolbar/context.js.map +1 -0
- package/build/esm/toolbar/hooks.d.ts +8 -0
- package/build/esm/toolbar/hooks.js +64 -0
- package/build/esm/toolbar/hooks.js.map +1 -0
- package/build/esm/toolbar/index.d.ts +1 -0
- package/build/esm/toolbar/index.js +1 -0
- package/build/esm/toolbar/index.js.map +1 -1
- package/build/esm/toolbar/types.d.ts +1 -0
- package/build/esm/toolbar/types.js.map +1 -1
- package/build/esm/version.js +1 -1
- package/build/esm/version.js.map +1 -1
- package/build/esm/view/hocs/withMermaid/index.js +6 -1
- package/build/esm/view/hocs/withMermaid/index.js.map +1 -1
- package/build/styles.css +7 -2
- package/package.json +17 -79
- package/README.md +0 -89
package/build/styles.css
CHANGED
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
|
|
280
280
|
.yfm {
|
|
281
281
|
--yfm-hr-height: 4px;
|
|
282
|
-
--yfm-hr-margin: 24px;
|
|
282
|
+
--yfm-hr-margin: 24px 0;
|
|
283
283
|
}
|
|
284
284
|
|
|
285
285
|
.g-root .yfm:not(.yfm_only-light) {
|
|
@@ -609,6 +609,11 @@
|
|
|
609
609
|
.yfm li > p:last-child {
|
|
610
610
|
margin-block: var(--yfm-list-text-only-margin-block, 0);
|
|
611
611
|
}
|
|
612
|
+
|
|
613
|
+
.yfm {
|
|
614
|
+
--yfm-hr-height: 4px;
|
|
615
|
+
--yfm-hr-margin: 24px 0;
|
|
616
|
+
}
|
|
612
617
|
.g-root {
|
|
613
618
|
--yfm-color-text-gray: var(--g-color-text-secondary);
|
|
614
619
|
--yfm-color-text-yellow: var(--g-color-private-yellow-600-solid);
|
|
@@ -634,7 +639,7 @@
|
|
|
634
639
|
}
|
|
635
640
|
.yfm {
|
|
636
641
|
--yfm-hr-height: 4px;
|
|
637
|
-
--yfm-hr-margin: 24px;
|
|
642
|
+
--yfm-hr-margin: 24px 0;
|
|
638
643
|
}
|
|
639
644
|
.yfm {
|
|
640
645
|
--yfm-color-base: var(--g-color-base-background);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/markdown-editor",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.35.0",
|
|
4
4
|
"description": "Markdown wysiwyg and markup editor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,18 +14,6 @@
|
|
|
14
14
|
"codemirror",
|
|
15
15
|
"prosemirror"
|
|
16
16
|
],
|
|
17
|
-
"devEngines": {
|
|
18
|
-
"runtime": {
|
|
19
|
-
"name": "node",
|
|
20
|
-
"version": "24",
|
|
21
|
-
"onFail": "warn"
|
|
22
|
-
},
|
|
23
|
-
"packageManager": {
|
|
24
|
-
"name": "pnpm",
|
|
25
|
-
"version": "10.17.1",
|
|
26
|
-
"onFail": "warn"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
17
|
"exports": {
|
|
30
18
|
".": {
|
|
31
19
|
"import": {
|
|
@@ -173,7 +161,7 @@
|
|
|
173
161
|
"@lezer/highlight": "^1.2.1",
|
|
174
162
|
"@lezer/markdown": "^1.4.0",
|
|
175
163
|
"@types/is-number": "^7.0.1",
|
|
176
|
-
"@types/markdown-it": "^
|
|
164
|
+
"@types/markdown-it": "^13.0.0",
|
|
177
165
|
"base64-arraybuffer": "1.0.2",
|
|
178
166
|
"is-number": "^7.0.0",
|
|
179
167
|
"lodash": "^4.17.21",
|
|
@@ -206,35 +194,19 @@
|
|
|
206
194
|
"uuid": "11.0.5"
|
|
207
195
|
},
|
|
208
196
|
"devDependencies": {
|
|
209
|
-
"@babel/preset-env": "7.28.5",
|
|
210
|
-
"@babel/preset-react": "7.28.5",
|
|
211
|
-
"@babel/preset-typescript": "7.28.5",
|
|
212
|
-
"@commitlint/cli": "20.2.0",
|
|
213
|
-
"@commitlint/config-conventional": "20.2.0",
|
|
214
197
|
"@diplodoc/cut-extension": "^1.1.0",
|
|
198
|
+
"@diplodoc/file-extension": "^0.2.1",
|
|
215
199
|
"@diplodoc/folding-headings-extension": "^0.1.2",
|
|
216
200
|
"@diplodoc/html-extension": "^2.9.1",
|
|
217
201
|
"@diplodoc/latex-extension": "^1.4.1",
|
|
218
|
-
"@diplodoc/mermaid-extension": "^
|
|
202
|
+
"@diplodoc/mermaid-extension": "^2.0.0",
|
|
219
203
|
"@diplodoc/quote-link-extension": "0.1.3",
|
|
220
204
|
"@diplodoc/tabs-extension": "^3.7.5",
|
|
221
205
|
"@diplodoc/themes": "^1.0.0",
|
|
222
|
-
"@diplodoc/transform": "4.
|
|
206
|
+
"@diplodoc/transform": "4.69.0",
|
|
223
207
|
"@gravity-ui/components": "4.10.0",
|
|
224
|
-
"@gravity-ui/eslint-config": "4.2.0",
|
|
225
208
|
"@gravity-ui/gulp-utils": "1.0.3",
|
|
226
|
-
"@gravity-ui/prettier-config": "1.1.0",
|
|
227
|
-
"@gravity-ui/stylelint-config": "5.0.0",
|
|
228
|
-
"@gravity-ui/tsconfig": "1.0.0",
|
|
229
209
|
"@gravity-ui/uikit": "^7.13.1",
|
|
230
|
-
"@playwright/experimental-ct-react": "1.49.0",
|
|
231
|
-
"@playwright/test": "1.49.0",
|
|
232
|
-
"@storybook/addon-docs": "10.1.10",
|
|
233
|
-
"@storybook/addon-webpack5-compiler-babel": "4.0.0",
|
|
234
|
-
"@storybook/cli": "10.1.10",
|
|
235
|
-
"@storybook/preset-scss": "1.0.3",
|
|
236
|
-
"@storybook/react": "10.1.10",
|
|
237
|
-
"@storybook/react-webpack5": "10.1.10",
|
|
238
210
|
"@types/gulp": "4.0.9",
|
|
239
211
|
"@types/gulp-sass": "5.0.0",
|
|
240
212
|
"@types/jest": "^29.5.14",
|
|
@@ -248,43 +220,37 @@
|
|
|
248
220
|
"@types/sanitize-html": "2.11.0",
|
|
249
221
|
"bem-cn-lite": "4.1.0",
|
|
250
222
|
"dpdm": "3.14.0",
|
|
251
|
-
"esbuild": "0.
|
|
223
|
+
"esbuild": "0.21.5",
|
|
252
224
|
"esbuild-sass-plugin": "2.15.0",
|
|
253
|
-
"eslint": "9.39.2",
|
|
254
|
-
"eslint-plugin-lodash": "8.0.0",
|
|
255
|
-
"eslint-plugin-react": "7.37.5",
|
|
256
225
|
"gulp": "5.0.0",
|
|
257
226
|
"gulp-cli": "3.0.0",
|
|
258
227
|
"gulp-concat": "2.6.1",
|
|
259
228
|
"gulp-replace": "1.1.3",
|
|
260
229
|
"gulp-sass": "6.0.0",
|
|
261
230
|
"gulp-sourcemaps": "3.0.0",
|
|
231
|
+
"highlight.js": "^11.8.0",
|
|
262
232
|
"identity-obj-proxy": "^3.0.0",
|
|
263
233
|
"ist": "1.1.7",
|
|
264
234
|
"jest": "^29.7.0",
|
|
265
235
|
"jest-css-modules": "^2.1.0",
|
|
266
236
|
"jest-environment-jsdom": "^29.7.0",
|
|
267
237
|
"jsdom": "25.0.1",
|
|
238
|
+
"katex": "^0.16.9",
|
|
268
239
|
"lowlight": "3.0.0",
|
|
240
|
+
"markdown-it": "^13.0.0",
|
|
269
241
|
"markdown-it-testgen": "^0.1.6",
|
|
270
|
-
"mermaid": "11.
|
|
242
|
+
"mermaid": "11.13.0",
|
|
271
243
|
"npm-run-all": "^4.1.5",
|
|
272
|
-
"path-browserify": "1.0.1",
|
|
273
244
|
"postcss": "8.5.6",
|
|
274
245
|
"prettier": "3.7.4",
|
|
275
|
-
"process": "0.11.10",
|
|
276
|
-
"prosemirror-dev-toolkit": "1.1.8",
|
|
277
246
|
"react": "18.2.0",
|
|
278
247
|
"react-dom": "18.2.0",
|
|
279
248
|
"rimraf": "3.0.2",
|
|
280
249
|
"sass": "^1.84.0",
|
|
281
250
|
"sass-loader": "^13.3.2",
|
|
282
|
-
"storybook": "10.1.10",
|
|
283
|
-
"stylelint": "16.26.1",
|
|
284
251
|
"ts-jest": "^29.2.5",
|
|
285
252
|
"typescript": "^5.9.3",
|
|
286
|
-
"
|
|
287
|
-
"webpack": "^5.97.1"
|
|
253
|
+
"@markdown-editor/tsconfig": "0.0.0"
|
|
288
254
|
},
|
|
289
255
|
"peerDependenciesMeta": {
|
|
290
256
|
"@diplodoc/folding-headings-extension": {
|
|
@@ -315,7 +281,7 @@
|
|
|
315
281
|
"@diplodoc/folding-headings-extension": "^0.1.0",
|
|
316
282
|
"@diplodoc/html-extension": "^2.3.2",
|
|
317
283
|
"@diplodoc/latex-extension": "^1.0.3",
|
|
318
|
-
"@diplodoc/mermaid-extension": "^1.0.0",
|
|
284
|
+
"@diplodoc/mermaid-extension": "^1.0.0 || ^2.0.0",
|
|
319
285
|
"@diplodoc/quote-link-extension": "^0.1.3",
|
|
320
286
|
"@diplodoc/tabs-extension": "^3.5.1",
|
|
321
287
|
"@diplodoc/transform": "^4.43.0",
|
|
@@ -328,17 +294,6 @@
|
|
|
328
294
|
"react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
329
295
|
"react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
330
296
|
},
|
|
331
|
-
"lint-staged": {
|
|
332
|
-
"*.{css,scss}": [
|
|
333
|
-
"stylelint --fix",
|
|
334
|
-
"prettier --write"
|
|
335
|
-
],
|
|
336
|
-
"*.{js,jsx,ts,tsx}": [
|
|
337
|
-
"eslint --cache --fix --quiet",
|
|
338
|
-
"prettier --write"
|
|
339
|
-
],
|
|
340
|
-
"*.{md,json,yaml,yml}": "prettier --write"
|
|
341
|
-
},
|
|
342
297
|
"sideEffects": [
|
|
343
298
|
"*.css",
|
|
344
299
|
"*.scss",
|
|
@@ -348,34 +303,17 @@
|
|
|
348
303
|
"build/**/shortcuts/default.js"
|
|
349
304
|
],
|
|
350
305
|
"scripts": {
|
|
351
|
-
"deps:global": "npm install -g pnpm@10.17.1",
|
|
352
|
-
"deps:ci": "pnpm i --frozen-lockfile",
|
|
353
|
-
"start": "pnpm run sb:start",
|
|
354
306
|
"clean": "gulp clean",
|
|
355
|
-
"build": "gulp",
|
|
307
|
+
"build": "gulp build",
|
|
356
308
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
357
|
-
"sb:start": "storybook dev -p 8888 -c .storybook",
|
|
358
|
-
"sb:build": "storybook build -c .storybook -o storybook-static",
|
|
359
309
|
"lint": "run-p -cs lint:*",
|
|
360
|
-
"lint:js": "eslint
|
|
361
|
-
"lint:styles": "stylelint
|
|
362
|
-
"lint:prettier": "prettier --check
|
|
363
|
-
"check-circular-deps": "node scripts/check-circular-deps.js 49",
|
|
310
|
+
"lint:js": "eslint './**/*.{js,jsx,mjs,ts,tsx}'",
|
|
311
|
+
"lint:styles": "stylelint './**/*.{css,scss}'",
|
|
312
|
+
"lint:prettier": "prettier --check './**/*.{js,jsx,mjs,ts,tsx,css,scss}'",
|
|
364
313
|
"test": "jest",
|
|
365
314
|
"test:cov": "jest --coverage",
|
|
366
315
|
"test:watch": "jest --watchAll",
|
|
367
316
|
"test:esbuild": "node tests/esbuild-test/esbuild-tester.js",
|
|
368
|
-
"
|
|
369
|
-
"playwright": "playwright test --config=tests/playwright/playwright.config.ts",
|
|
370
|
-
"playwright:generate": "node scripts/generate-playwright-test.js",
|
|
371
|
-
"playwright:watch": "pnpm run playwright --ui",
|
|
372
|
-
"playwright:headed": "playwright test --config=tests/playwright/playwright.config.ts --headed",
|
|
373
|
-
"playwright:update": "pnpm run playwright -u",
|
|
374
|
-
"playwright:clear": "rm -rf ./tests/playwright/.cache",
|
|
375
|
-
"playwright:report": "playwright show-report playwright-report",
|
|
376
|
-
"playwright:docker": "./scripts/playwright-docker.sh test",
|
|
377
|
-
"playwright:docker:update": "./scripts/playwright-docker.sh update",
|
|
378
|
-
"playwright:docker:clear": "./scripts/playwright-docker.sh clear",
|
|
379
|
-
"playwright:docker:report": "playwright show-report playwright-report-docker"
|
|
317
|
+
"test:circular-deps": "node scripts/check-circular-deps.js 48"
|
|
380
318
|
}
|
|
381
319
|
}
|
package/README.md
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-

|
|
2
|
-
|
|
3
|
-
# @gravity-ui/markdown-editor · [](https://www.npmjs.com/package/@gravity-ui/markdown-editor) [](https://github.com/gravity-ui/markdown-editor/actions/workflows/ci.yml?query=branch:main) [](https://github.com/gravity-ui/markdown-editor/actions/workflows/release.yml?query=branch:main) [](https://preview.gravity-ui.com/md-editor/)
|
|
4
|
-
|
|
5
|
-
## Markdown wysiwyg and markup editor
|
|
6
|
-
|
|
7
|
-
MarkdownEditor is a powerful tool for working with Markdown, which combines WYSIWYG and Markup modes. This means that you can create and edit content in a convenient visual mode, as well as have full control over the markup.
|
|
8
|
-
|
|
9
|
-
### 🔧 Main features
|
|
10
|
-
|
|
11
|
-
- Support for the basic Markdown and [YFM](https://ydocs.tech) syntax.
|
|
12
|
-
- Extensibility through the use of ProseMirror and CodeMirror engines.
|
|
13
|
-
- The ability to work in WYSIWYG and Markup modes for maximum flexibility.
|
|
14
|
-
|
|
15
|
-
## Install
|
|
16
|
-
|
|
17
|
-
```shell
|
|
18
|
-
npm install @gravity-ui/markdown-editor
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### Required dependencies
|
|
22
|
-
|
|
23
|
-
Please note that to start using the package, your project must also have the following installed: `@diplodoc/transform`, `react`, `react-dom`, `@gravity-ui/uikit`, `@gravity-ui/components` and some others. Check out the `peerDependencies` section of `package.json` for accurate information.
|
|
24
|
-
|
|
25
|
-
## Getting started
|
|
26
|
-
|
|
27
|
-
The markdown editor is supplied as a React hook to create an instance of editor and a component for rendering the view.\
|
|
28
|
-
To set up styling and theme see [UIKit docs](https://github.com/gravity-ui/uikit?tab=readme-ov-file#styles).
|
|
29
|
-
|
|
30
|
-
```tsx
|
|
31
|
-
import React from 'react';
|
|
32
|
-
import {useMarkdownEditor, MarkdownEditorView} from '@gravity-ui/markdown-editor';
|
|
33
|
-
|
|
34
|
-
function Editor({onSubmit}) {
|
|
35
|
-
const editor = useMarkdownEditor({allowHTML: false});
|
|
36
|
-
|
|
37
|
-
React.useEffect(() => {
|
|
38
|
-
function submitHandler() {
|
|
39
|
-
// Serialize current content to markdown markup
|
|
40
|
-
const value = editor.getValue();
|
|
41
|
-
onSubmit(value);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
editor.on('submit', submitHandler);
|
|
45
|
-
return () => {
|
|
46
|
-
editor.off('submit', submitHandler);
|
|
47
|
-
};
|
|
48
|
-
}, [onSubmit]);
|
|
49
|
-
|
|
50
|
-
return <MarkdownEditorView stickyToolbar autofocus editor={editor} />;
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
Read more:
|
|
54
|
-
- [How to connect the editor in the Create React App](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-getting-started-create-react-app--docs)
|
|
55
|
-
- [How to add preview for markup mode](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-getting-started-preview--docs)
|
|
56
|
-
- [How to add HTML extension](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-html-block--docs)
|
|
57
|
-
- [How to add Latex extension](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-latex-extension--docs)
|
|
58
|
-
- [How to add Mermaid extension](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-mermaid-extension--docs)
|
|
59
|
-
- [How to write extension](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-develop-extension-creation--docs)
|
|
60
|
-
- [How to add GPT extension](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-gpt--docs)
|
|
61
|
-
- [How to add text binding extension in markdown](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-develop-extension-with-popup--docs)
|
|
62
|
-
|
|
63
|
-
### Development
|
|
64
|
-
|
|
65
|
-
1. Install Nodejs environment, version is specified in `.nvmrc` file. We recommend using [NVM](https://github.com/nvm-sh/nvm) or a similar tool.
|
|
66
|
-
2. Install [pnpm](https://pnpm.io/installation), version is specified in `package.json` in "packageManager" property.
|
|
67
|
-
|
|
68
|
-
You can use [Corepack](https://nodejs.org/api/corepack.html), or just install via npm: run `npm deps:global --force`.
|
|
69
|
-
3. Install dependencies: `pnpm i`
|
|
70
|
-
4. Run storybook dev-server: `pnpm start`
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
### i18n
|
|
74
|
-
|
|
75
|
-
To set up internationalization, you just need to use the `configure`:
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
import {configure} from '@gravity-ui/markdown-editor';
|
|
79
|
-
|
|
80
|
-
configure({
|
|
81
|
-
lang: 'ru',
|
|
82
|
-
});
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Don't forget to call `configure()` from [UIKit](https://github.com/gravity-ui/uikit?tab=readme-ov-file#i18n) and other UI libraries.
|
|
86
|
-
|
|
87
|
-
### Contributing
|
|
88
|
-
|
|
89
|
-
- [Contributor Guidelines](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-contributing--docs)
|