├── .gitignore ├── README.md ├── common-editor-utils.js ├── config ├── env.js ├── getHttpsConfig.js ├── jest │ ├── babelTransform.js │ ├── cssTransform.js │ └── fileTransform.js ├── modules.js ├── paths.js ├── webpack.config.js ├── webpack │ └── persistentCache │ │ └── createEnvironmentHash.js └── webpackDevServer.config.js ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json └── robots.txt ├── scripts ├── build.js ├── start.js └── test.js └── src ├── App.js ├── components └── loading.js ├── css ├── article.css ├── formula.css ├── history-viewer.css ├── image.css ├── keyboard-shortcuts.css ├── link.css ├── table.css └── textlink-hovermenu.css ├── editor ├── code-highlight-package.js ├── controller │ ├── block-element-controller.js │ ├── inline-element-controller.js │ ├── normalize-controller.js │ ├── shortcut-controller.js │ └── void-element-controller.js ├── custom │ ├── custom.js │ ├── get-event-transfer.js │ ├── getNodesByTypeAtRange.js │ ├── insertNodes.js │ ├── is-empty-paragraph.js │ ├── set-event-transfer.js │ ├── split-nodes-at-point.js │ └── unwrap-node-by-type-at-range.js ├── editor-component │ ├── check-list-item.js │ ├── code-block.js │ ├── formula.js │ ├── image.js │ ├── link.js │ └── table.js ├── editor-plugin.js ├── editor-utils │ ├── block-element-utils │ │ ├── blockquote-utils.js │ │ ├── code-utils.js │ │ ├── formula-utils.js │ │ ├── index.js │ │ ├── list-utils.js │ │ └── table-utils.js │ ├── clear-format-utils.js │ ├── common-editor-utils.js │ ├── inline-element-utils │ │ └── index.js │ ├── mark-utils.js │ ├── range-utils.js │ ├── selection-utils.js │ └── text-utils.js ├── editor.js ├── element-model │ ├── blockquote.js │ ├── image.js │ ├── link.js │ ├── table.js │ └── text.js ├── load-script.js └── simple-editor.js ├── index.js ├── lib └── slate-hyperscript │ ├── creators.js │ ├── hyperscript.js │ ├── index.js │ └── tokens.js ├── utils ├── deserialize-html.js ├── render-slate.js ├── slate2markdown │ ├── deserialize.js │ ├── index.js │ └── serialize.js └── utils.js └── viewer ├── slate-viewer.js ├── viewer-formula.js └── viewer-image.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/README.md -------------------------------------------------------------------------------- /common-editor-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/common-editor-utils.js -------------------------------------------------------------------------------- /config/env.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/env.js -------------------------------------------------------------------------------- /config/getHttpsConfig.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/getHttpsConfig.js -------------------------------------------------------------------------------- /config/jest/babelTransform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/jest/babelTransform.js -------------------------------------------------------------------------------- /config/jest/cssTransform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/jest/cssTransform.js -------------------------------------------------------------------------------- /config/jest/fileTransform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/jest/fileTransform.js -------------------------------------------------------------------------------- /config/modules.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/modules.js -------------------------------------------------------------------------------- /config/paths.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/paths.js -------------------------------------------------------------------------------- /config/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/webpack.config.js -------------------------------------------------------------------------------- /config/webpack/persistentCache/createEnvironmentHash.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/webpack/persistentCache/createEnvironmentHash.js -------------------------------------------------------------------------------- /config/webpackDevServer.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/config/webpackDevServer.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/package.json -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/public/index.html -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/public/manifest.json -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/public/robots.txt -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/scripts/build.js -------------------------------------------------------------------------------- /scripts/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/scripts/start.js -------------------------------------------------------------------------------- /scripts/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/scripts/test.js -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/App.js -------------------------------------------------------------------------------- /src/components/loading.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/components/loading.js -------------------------------------------------------------------------------- /src/css/article.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/article.css -------------------------------------------------------------------------------- /src/css/formula.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/formula.css -------------------------------------------------------------------------------- /src/css/history-viewer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/history-viewer.css -------------------------------------------------------------------------------- /src/css/image.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/image.css -------------------------------------------------------------------------------- /src/css/keyboard-shortcuts.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/keyboard-shortcuts.css -------------------------------------------------------------------------------- /src/css/link.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/link.css -------------------------------------------------------------------------------- /src/css/table.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/table.css -------------------------------------------------------------------------------- /src/css/textlink-hovermenu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/css/textlink-hovermenu.css -------------------------------------------------------------------------------- /src/editor/code-highlight-package.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/code-highlight-package.js -------------------------------------------------------------------------------- /src/editor/controller/block-element-controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/controller/block-element-controller.js -------------------------------------------------------------------------------- /src/editor/controller/inline-element-controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/controller/inline-element-controller.js -------------------------------------------------------------------------------- /src/editor/controller/normalize-controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/controller/normalize-controller.js -------------------------------------------------------------------------------- /src/editor/controller/shortcut-controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/controller/shortcut-controller.js -------------------------------------------------------------------------------- /src/editor/controller/void-element-controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/controller/void-element-controller.js -------------------------------------------------------------------------------- /src/editor/custom/custom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/custom.js -------------------------------------------------------------------------------- /src/editor/custom/get-event-transfer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/get-event-transfer.js -------------------------------------------------------------------------------- /src/editor/custom/getNodesByTypeAtRange.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/getNodesByTypeAtRange.js -------------------------------------------------------------------------------- /src/editor/custom/insertNodes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/insertNodes.js -------------------------------------------------------------------------------- /src/editor/custom/is-empty-paragraph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/is-empty-paragraph.js -------------------------------------------------------------------------------- /src/editor/custom/set-event-transfer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/set-event-transfer.js -------------------------------------------------------------------------------- /src/editor/custom/split-nodes-at-point.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/split-nodes-at-point.js -------------------------------------------------------------------------------- /src/editor/custom/unwrap-node-by-type-at-range.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/custom/unwrap-node-by-type-at-range.js -------------------------------------------------------------------------------- /src/editor/editor-component/check-list-item.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-component/check-list-item.js -------------------------------------------------------------------------------- /src/editor/editor-component/code-block.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-component/code-block.js -------------------------------------------------------------------------------- /src/editor/editor-component/formula.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-component/formula.js -------------------------------------------------------------------------------- /src/editor/editor-component/image.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-component/image.js -------------------------------------------------------------------------------- /src/editor/editor-component/link.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-component/link.js -------------------------------------------------------------------------------- /src/editor/editor-component/table.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-component/table.js -------------------------------------------------------------------------------- /src/editor/editor-plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-plugin.js -------------------------------------------------------------------------------- /src/editor/editor-utils/block-element-utils/blockquote-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/block-element-utils/blockquote-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/block-element-utils/code-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/block-element-utils/code-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/block-element-utils/formula-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/block-element-utils/formula-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/block-element-utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/block-element-utils/index.js -------------------------------------------------------------------------------- /src/editor/editor-utils/block-element-utils/list-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/block-element-utils/list-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/block-element-utils/table-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/block-element-utils/table-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/clear-format-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/clear-format-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/common-editor-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/common-editor-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/inline-element-utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/inline-element-utils/index.js -------------------------------------------------------------------------------- /src/editor/editor-utils/mark-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/mark-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/range-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/range-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/selection-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/selection-utils.js -------------------------------------------------------------------------------- /src/editor/editor-utils/text-utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor-utils/text-utils.js -------------------------------------------------------------------------------- /src/editor/editor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/editor.js -------------------------------------------------------------------------------- /src/editor/element-model/blockquote.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/element-model/blockquote.js -------------------------------------------------------------------------------- /src/editor/element-model/image.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/element-model/image.js -------------------------------------------------------------------------------- /src/editor/element-model/link.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/element-model/link.js -------------------------------------------------------------------------------- /src/editor/element-model/table.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/element-model/table.js -------------------------------------------------------------------------------- /src/editor/element-model/text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/element-model/text.js -------------------------------------------------------------------------------- /src/editor/load-script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/load-script.js -------------------------------------------------------------------------------- /src/editor/simple-editor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/editor/simple-editor.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/index.js -------------------------------------------------------------------------------- /src/lib/slate-hyperscript/creators.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/lib/slate-hyperscript/creators.js -------------------------------------------------------------------------------- /src/lib/slate-hyperscript/hyperscript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/lib/slate-hyperscript/hyperscript.js -------------------------------------------------------------------------------- /src/lib/slate-hyperscript/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/lib/slate-hyperscript/index.js -------------------------------------------------------------------------------- /src/lib/slate-hyperscript/tokens.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/lib/slate-hyperscript/tokens.js -------------------------------------------------------------------------------- /src/utils/deserialize-html.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/utils/deserialize-html.js -------------------------------------------------------------------------------- /src/utils/render-slate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/utils/render-slate.js -------------------------------------------------------------------------------- /src/utils/slate2markdown/deserialize.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/utils/slate2markdown/deserialize.js -------------------------------------------------------------------------------- /src/utils/slate2markdown/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/utils/slate2markdown/index.js -------------------------------------------------------------------------------- /src/utils/slate2markdown/serialize.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/utils/slate2markdown/serialize.js -------------------------------------------------------------------------------- /src/utils/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/utils/utils.js -------------------------------------------------------------------------------- /src/viewer/slate-viewer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/viewer/slate-viewer.js -------------------------------------------------------------------------------- /src/viewer/viewer-formula.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/viewer/viewer-formula.js -------------------------------------------------------------------------------- /src/viewer/viewer-image.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/songjiaqi1/Editor/HEAD/src/viewer/viewer-image.js --------------------------------------------------------------------------------