diff --git a/src/components/ContentParserFactory.js b/src/components/ContentParserFactory.js index fe16336..e03d579 100644 --- a/src/components/ContentParserFactory.js +++ b/src/components/ContentParserFactory.js @@ -1,9 +1,11 @@ -import { MarkdownParser } from './plugin/MarkdownParser' +import MarkdownIt from 'markdown-it' function contentParserFactory (parsers) { - return content => { - return MarkdownParser(content, parsers) - } + let converter = MarkdownIt() + parsers.forEach(parser => { + converter = converter.use(parser) + }) + return content => converter.render(content) } export { contentParserFactory } diff --git a/src/components/DefaultConfig.js b/src/components/DefaultConfig.js index 84895d2..8d3b0e9 100644 --- a/src/components/DefaultConfig.js +++ b/src/components/DefaultConfig.js @@ -27,7 +27,8 @@ export const defaultConfig = { mode: 'markdown', lineNumbers: true, lineWrapping: true - } + }, + scrollSync: true } export function getConfig (config) { diff --git a/src/components/InputArea.vue b/src/components/InputArea.vue index 9082256..9a16417 100644 --- a/src/components/InputArea.vue +++ b/src/components/InputArea.vue @@ -32,6 +32,7 @@ \ No newline at end of file + diff --git a/src/components/MarkdownPalettes.vue b/src/components/MarkdownPalettes.vue index 1e74f19..5468f82 100644 --- a/src/components/MarkdownPalettes.vue +++ b/src/components/MarkdownPalettes.vue @@ -13,14 +13,18 @@ ref="inputArea" @input="updateCode" @finish="insertCode = null" + @scroll-sync="doScrollSync('editor', $event)" :insertCode="insertCode" - :editorOption="editorConfig.editorOption"> + :editorOption="editorConfig.editorOption" + :scrollSync="scrollSync">