浏览代码

Migrated from to-markdown to Turndown (except converters).

fredck 5 年之前
父节点
当前提交
f537b9aa80

+ 3 - 1
packages/ckeditor5-markdown-gfm/package.json

@@ -10,7 +10,9 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-engine": "^21.0.0"
+    "@ckeditor/ckeditor5-engine": "^21.0.0",
+    "turndown": "^5.0.3",
+    "turndown-plugin-gfm": "^1.0.2"
   },
   "engines": {
     "node": ">=12.0.0",

+ 7 - 3
packages/ckeditor5-markdown-gfm/src/gfmdataprocessor.js

@@ -8,10 +8,13 @@
  */
 
 import marked from './lib/marked/marked';
-import toMarkdown from './lib/to-markdown/to-markdown';
 import HtmlDataProcessor from '@ckeditor/ckeditor5-engine/src/dataprocessor/htmldataprocessor';
 import GFMRenderer from './lib/marked/renderer';
-import converters from './lib/to-markdown/converters';
+
+// import toMarkdown from './lib/to-markdown/to-markdown';
+// import converters from './lib/to-markdown/converters';
+
+import html2markdown from './html2markdown/html2markdown';
 
 /**
  * This data processor implementation uses GitHub Flavored Markdown as input/output data.
@@ -64,6 +67,7 @@ export default class GFMDataProcessor {
 	toData( viewFragment ) {
 		const html = this._htmlDP.toData( viewFragment );
 
-		return toMarkdown( html, { gfm: true, converters } );
+		return html2markdown( html );
+		// return toMarkdown( html, { gfm: true, converters } );
 	}
 }

+ 14 - 0
packages/ckeditor5-markdown-gfm/src/html2markdown/html2markdown.js

@@ -0,0 +1,14 @@
+/**
+ * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+import TurndownService from 'turndown';
+import { gfm } from 'turndown-plugin-gfm';
+
+const turndownService = new TurndownService();
+turndownService.use( gfm );
+
+export default function html2markdown( html ) {
+	return turndownService.turndown( html );
+}