gitextract__htlky14/ ├── .eslintrc.json ├── .gitattributes ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .stylelintrc.json ├── .vscode/ │ ├── launch.json │ └── snippets.code-snippets ├── License.md ├── README.md ├── app.js ├── babel.config.js ├── custom-types.d.ts ├── devDoc/ │ └── welcome to tripdocs.json ├── global.d.ts ├── index.js ├── jest.config.js ├── lib/ │ ├── index.css │ ├── index.html │ ├── index.js │ └── index.js.LICENSE.txt ├── middleware/ │ ├── get/ │ │ └── img.js │ └── post/ │ ├── nativeDoc.js │ ├── sourceGet.js │ ├── sourceSet.js │ ├── uploadImageByLink.js │ └── uploadImg.js ├── package.json ├── postcss.config.js ├── public/ │ ├── cdn/ │ │ ├── index.css │ │ ├── index.html │ │ ├── index.js │ │ ├── vendor.css │ │ ├── vendor.js │ │ └── vendor.js.LICENSE.txt │ └── index.html ├── readme_en.md ├── serverLib/ │ ├── cephUtils.js │ ├── consoleUp.js │ ├── format.js │ ├── globalVar.js │ ├── resCommon.js │ └── stringUtils.js ├── slate.d.ts ├── src/ │ ├── Docs.less │ ├── Docs.tsx │ ├── MdDocs.tsx │ ├── components/ │ │ ├── DropdownMenu/ │ │ │ ├── staticToolbarCardMenu.tsx │ │ │ ├── staticToolbarMoreMenu.tsx │ │ │ └── tableMenu.tsx │ │ ├── MdEditor/ │ │ │ ├── index.less │ │ │ ├── index.tsx │ │ │ └── theme.ts │ │ ├── app/ │ │ │ ├── Button/ │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── DiffComponent/ │ │ │ │ ├── HistoryDocReducer.ts │ │ │ │ ├── index.less │ │ │ │ ├── index.tsx │ │ │ │ ├── renderElement.tsx │ │ │ │ ├── renderLeaf.tsx │ │ │ │ └── slateFormatter.tsx │ │ │ ├── FallbackComponent/ │ │ │ │ └── index.tsx │ │ │ ├── HistoryManager/ │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── HotkeyHelper/ │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Modal/ │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── NoDiffComponent/ │ │ │ │ ├── index.less │ │ │ │ ├── index.tsx │ │ │ │ ├── renderElement.tsx │ │ │ │ └── renderLeaf.tsx │ │ │ ├── SideTipContainer/ │ │ │ │ ├── index.less │ │ │ │ ├── index.tsx │ │ │ │ └── renderSideTipContainer.tsx │ │ │ └── UpdateLogsModal/ │ │ │ └── index.tsx │ │ ├── docs/ │ │ │ ├── caret.tsx │ │ │ ├── findAndReplaceUI.tsx │ │ │ ├── inlineElement.tsx │ │ │ ├── nativeEditor.tsx │ │ │ ├── plugins/ │ │ │ │ ├── BlockQuote/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── normalizeBlockQuote.ts │ │ │ │ ├── Card/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── insertCard.tsx │ │ │ │ │ ├── normalizeCard.ts │ │ │ │ │ ├── onkeydownCard.ts │ │ │ │ │ ├── renderCard.tsx │ │ │ │ │ └── withCard.ts │ │ │ │ ├── CardBar/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.ts │ │ │ │ │ └── renderCardBar.tsx │ │ │ │ ├── CodeBlock/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── insertCodeBlock.ts │ │ │ │ │ ├── normalizeCodeBlock.ts │ │ │ │ │ ├── renderCodeBlock.tsx │ │ │ │ │ └── withCodeBlock.ts │ │ │ │ ├── Components.tsx │ │ │ │ ├── Divide/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── insertDivide.tsx │ │ │ │ │ ├── normalizeDivide.ts │ │ │ │ │ ├── onkeydownDivide.ts │ │ │ │ │ ├── renderDivide.tsx │ │ │ │ │ └── withDivide.ts │ │ │ │ ├── EditLink/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── normalizeLink.ts │ │ │ │ ├── ErrorHandle/ │ │ │ │ │ ├── handleSlateError.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── weak-maps.ts │ │ │ │ ├── Excalidraw/ │ │ │ │ │ ├── Button.css │ │ │ │ │ ├── Button.tsx │ │ │ │ │ ├── ExcalidrawApp.less │ │ │ │ │ ├── ExcalidrawEditor.tsx │ │ │ │ │ ├── ExcalidrawImage.tsx │ │ │ │ │ ├── ExcalidrawModal.css │ │ │ │ │ ├── ExcalidrawModal.tsx │ │ │ │ │ ├── ImageResizer.tsx │ │ │ │ │ ├── Modal.css │ │ │ │ │ ├── Modal.tsx │ │ │ │ │ ├── Sidebar/ │ │ │ │ │ │ ├── Sidebar.less │ │ │ │ │ │ └── Sidebar.tsx │ │ │ │ │ ├── excalidrawPlugins.tsx │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── initialData.ts │ │ │ │ │ ├── join-classes.ts │ │ │ │ │ └── withExcalidraw.ts │ │ │ │ ├── File/ │ │ │ │ │ ├── Progress.tsx │ │ │ │ │ ├── filePlugins.tsx │ │ │ │ │ ├── normalizeFile.ts │ │ │ │ │ └── uploadFile.tsx │ │ │ │ ├── GlobalComment/ │ │ │ │ │ ├── globalCommentEditor.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── renderGlobalComment.tsx │ │ │ │ ├── HoveringToolbar/ │ │ │ │ │ ├── align.ts │ │ │ │ │ ├── buttons.tsx │ │ │ │ │ ├── color.ts │ │ │ │ │ ├── dropdownMenus.tsx │ │ │ │ │ ├── fontSize.ts │ │ │ │ │ ├── format.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── lineheight.ts │ │ │ │ │ ├── mark.ts │ │ │ │ │ ├── onKeyDownCommon.ts │ │ │ │ │ ├── onKeyDownTextMark.ts │ │ │ │ │ ├── renderHoveringToolbar.tsx │ │ │ │ │ └── share.ts │ │ │ │ ├── Image/ │ │ │ │ │ ├── imagePlugins.tsx │ │ │ │ │ ├── normalizeImage.ts │ │ │ │ │ └── onKeyDownImage.tsx │ │ │ │ ├── InlineImage/ │ │ │ │ │ ├── ImageInnerButtonWrap/ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── inlineImagePlugins.tsx │ │ │ │ │ ├── normalizeInlineImage.ts │ │ │ │ │ ├── onKeyDownInlineImage.tsx │ │ │ │ │ └── utils.ts │ │ │ │ ├── Mention/ │ │ │ │ │ ├── mention.tsx │ │ │ │ │ ├── normalizeMetion.ts │ │ │ │ │ ├── onKeyDownMention.tsx │ │ │ │ │ └── withMention.ts │ │ │ │ ├── MobileToolbar/ │ │ │ │ │ ├── CardPopup/ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ColorPopup/ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.ts │ │ │ │ │ └── renderMobileToolbar.tsx │ │ │ │ ├── OLULList/ │ │ │ │ │ ├── OlList.less │ │ │ │ │ ├── OlList.tsx │ │ │ │ │ ├── normalizeOLULList.ts │ │ │ │ │ └── withOlList.ts │ │ │ │ ├── OutlineAnchor/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── renderOutlineAnchor.tsx │ │ │ │ ├── OverlayComponents/ │ │ │ │ │ ├── DragHandle/ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── Overlay/ │ │ │ │ │ │ ├── GeneralOverlayButton.less │ │ │ │ │ │ ├── GeneralOverlayButton.tsx │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── TableOverlay/ │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── ReadMe.md │ │ │ │ ├── ResizeDot/ │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── renderResizeDot.tsx │ │ │ │ ├── SideComment/ │ │ │ │ │ ├── commentOps.ts │ │ │ │ │ ├── deleteSideComment.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── inlineSlateEditor.tsx │ │ │ │ │ ├── insertSideComment.ts │ │ │ │ │ ├── renderAllCommentsList.tsx │ │ │ │ │ ├── renderSideComment.tsx │ │ │ │ │ ├── updateSideComment.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── Slides/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── StaticToolbar/ │ │ │ │ │ ├── buttons.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── renderStaticToolbar.tsx │ │ │ │ ├── TodoList/ │ │ │ │ │ ├── normalizeTodoList.ts │ │ │ │ │ ├── todoList.less │ │ │ │ │ └── todoList.tsx │ │ │ │ ├── Video/ │ │ │ │ │ ├── SlateVideo.tsx │ │ │ │ │ ├── normalizeVideo.ts │ │ │ │ │ └── withVideo.ts │ │ │ │ ├── block.ts │ │ │ │ ├── config.ts │ │ │ │ ├── deserializers/ │ │ │ │ │ ├── deserialize.ts │ │ │ │ │ ├── deserializeTags.ts │ │ │ │ │ ├── handleExportPlugins.ts │ │ │ │ │ ├── handleFragmentPlugins.ts │ │ │ │ │ ├── handleTablePlugins.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── findAndReplace.ts │ │ │ │ ├── iframe/ │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── indent.ts │ │ │ │ ├── normalizeHeadings.ts │ │ │ │ ├── normalizeParagraph.ts │ │ │ │ ├── pluginsUtils/ │ │ │ │ │ ├── antdPrompt.tsx │ │ │ │ │ ├── deleteFragment.ts │ │ │ │ │ ├── getPathUtils.ts │ │ │ │ │ ├── selectionUtils.ts │ │ │ │ │ └── setNodesUtils.ts │ │ │ │ ├── quikMenuByWord/ │ │ │ │ │ └── index.ts │ │ │ │ ├── rightClickMenu.ts │ │ │ │ ├── serializers/ │ │ │ │ │ ├── deserializeMD.ts │ │ │ │ │ └── withDeserializeMD.ts │ │ │ │ ├── siderMenu.tsx │ │ │ │ ├── table/ │ │ │ │ │ ├── ResizeMask.tsx │ │ │ │ │ ├── newTable.ts │ │ │ │ │ ├── normalizeTable.ts │ │ │ │ │ ├── onKeyDownTable.ts │ │ │ │ │ ├── pasteTable.ts │ │ │ │ │ ├── renderSideDiv.tsx │ │ │ │ │ ├── selection.ts │ │ │ │ │ ├── tableElement.tsx │ │ │ │ │ ├── tableOperation.ts │ │ │ │ │ └── withTable.ts │ │ │ │ ├── transformers/ │ │ │ │ │ ├── mdast-to-slate.ts │ │ │ │ │ ├── models/ │ │ │ │ │ │ ├── mdast.ts │ │ │ │ │ │ └── slate.ts │ │ │ │ │ ├── remark-to-slate.ts │ │ │ │ │ └── slate-to-mdast.ts │ │ │ │ ├── withAnchor.ts │ │ │ │ ├── withElmentId.ts │ │ │ │ ├── withHtml.ts │ │ │ │ ├── withInline.ts │ │ │ │ ├── withNormalize.ts │ │ │ │ ├── withShorcuts.ts │ │ │ │ ├── withTabLevel.ts │ │ │ │ └── withTitleNormalized.ts │ │ │ ├── slateEditor.tsx │ │ │ ├── templates.tsx │ │ │ └── yjsEditor.tsx │ │ └── slate-packages/ │ │ ├── README.md │ │ ├── slate/ │ │ │ ├── create-editor.ts │ │ │ ├── index.ts │ │ │ ├── interfaces/ │ │ │ │ ├── custom-types.ts │ │ │ │ ├── editor.ts │ │ │ │ ├── element.ts │ │ │ │ ├── location.ts │ │ │ │ ├── node.ts │ │ │ │ ├── operation.ts │ │ │ │ ├── path-ref.ts │ │ │ │ ├── path.ts │ │ │ │ ├── point-ref.ts │ │ │ │ ├── point.ts │ │ │ │ ├── range-ref.ts │ │ │ │ ├── range.ts │ │ │ │ └── text.ts │ │ │ ├── transforms/ │ │ │ │ ├── general.ts │ │ │ │ ├── index.ts │ │ │ │ ├── node.ts │ │ │ │ ├── selection.ts │ │ │ │ └── text.ts │ │ │ └── utils/ │ │ │ ├── deep-equal.ts │ │ │ ├── string.ts │ │ │ └── weak-maps.ts │ │ ├── slate-history/ │ │ │ ├── history-editor.ts │ │ │ ├── history.ts │ │ │ ├── index.ts │ │ │ └── with-history.ts │ │ ├── slate-hyperscript/ │ │ │ ├── creators.ts │ │ │ ├── hyperscript.ts │ │ │ ├── index.ts │ │ │ └── tokens.ts │ │ ├── slate-react/ │ │ │ ├── components/ │ │ │ │ ├── children.tsx │ │ │ │ ├── editable.tsx │ │ │ │ ├── element.tsx │ │ │ │ ├── leaf.tsx │ │ │ │ ├── slate.tsx │ │ │ │ ├── string.tsx │ │ │ │ └── text.tsx │ │ │ ├── hooks/ │ │ │ │ ├── use-editor.tsx │ │ │ │ ├── use-focused.ts │ │ │ │ ├── use-isomorphic-layout-effect.ts │ │ │ │ ├── use-read-only.ts │ │ │ │ ├── use-selected.ts │ │ │ │ └── use-slate.tsx │ │ │ ├── index.ts │ │ │ ├── plugin/ │ │ │ │ ├── react-editor.ts │ │ │ │ └── with-react.ts │ │ │ └── utils/ │ │ │ ├── dom.ts │ │ │ ├── environment.ts │ │ │ ├── hotkeys.ts │ │ │ ├── key.ts │ │ │ ├── lines.ts │ │ │ └── weak-maps.ts │ │ └── slate-yjs/ │ │ ├── applyToSlate/ │ │ │ ├── arrayEvent.ts │ │ │ ├── index.ts │ │ │ ├── mapEvent.ts │ │ │ └── textEvent.ts │ │ ├── applyToYjs/ │ │ │ ├── index.ts │ │ │ ├── node/ │ │ │ │ ├── index.ts │ │ │ │ ├── insertNode.ts │ │ │ │ ├── mergeNode.ts │ │ │ │ ├── moveNode.ts │ │ │ │ ├── removeNode.ts │ │ │ │ ├── setNode.ts │ │ │ │ └── splitNode.ts │ │ │ ├── text/ │ │ │ │ ├── index.ts │ │ │ │ ├── insertText.ts │ │ │ │ └── removeText.ts │ │ │ └── types.ts │ │ ├── cursor/ │ │ │ └── utils.ts │ │ ├── index.ts │ │ ├── model/ │ │ │ └── index.ts │ │ ├── path/ │ │ │ └── index.ts │ │ ├── plugin/ │ │ │ ├── cursorEditor.ts │ │ │ ├── index.ts │ │ │ ├── useCursors.ts │ │ │ └── yjsEditor.ts │ │ └── utils/ │ │ ├── clone.ts │ │ ├── convert.ts │ │ └── index.ts │ ├── index.html │ ├── index.tsx │ ├── indexBuild.js │ ├── indexDemo.html │ ├── resource/ │ │ └── string.ts │ ├── static/ │ │ └── healthcheck.html │ ├── style/ │ │ ├── iconfont/ │ │ │ └── Tripdocs.css │ │ ├── less/ │ │ │ ├── commentsRight.less │ │ │ ├── global.less │ │ │ ├── siderMenu.less │ │ │ ├── slatedocs-sdk.less │ │ │ ├── slatedocs.less │ │ │ └── variables.less │ │ └── temp/ │ │ └── tripdocs-document-md.css │ ├── utils/ │ │ ├── LList.ts │ │ ├── apiListener.ts │ │ ├── apiOperations/ │ │ │ └── hooks/ │ │ │ ├── useForceUpdate.ts │ │ │ ├── useLocation.ts │ │ │ ├── useVisualViewport.ts │ │ │ └── useWindowUnloadEffect.ts │ │ ├── arrayUtils.ts │ │ ├── cacheImage.ts │ │ ├── cacheUtils.ts │ │ ├── commentUtils.ts │ │ ├── compareUTC.ts │ │ ├── config.ts │ │ ├── convertTabLevel.ts │ │ ├── cookieUtils.ts │ │ ├── copyToClipboard.ts │ │ ├── createPortal.ts │ │ ├── eventEmitter.ts │ │ ├── execCommandUtils.ts │ │ ├── faster.ts │ │ ├── getDefaultValue.ts │ │ ├── getSelection.ts │ │ ├── helper/ │ │ │ ├── consumePlugins.ts │ │ │ ├── deferComponentRender.tsx │ │ │ └── getInnerContentWhenCopy.ts │ │ ├── hexColorUtils.ts │ │ ├── isBrowser.ts │ │ ├── listener.ts │ │ ├── normalize.ts │ │ ├── notification.ts │ │ ├── randomId.ts │ │ ├── request.ts │ │ ├── resizeUtils.ts │ │ ├── selectionUtils.ts │ │ ├── sessStorage.ts │ │ ├── storage.ts │ │ ├── switchCss.ts │ │ ├── treepath.ts │ │ ├── urlUtils.ts │ │ ├── useMeasure.ts │ │ └── weak-maps.ts │ └── worker/ │ ├── schema/ │ │ ├── schema.js │ │ └── schema.md │ ├── validation.worker.js │ ├── validationRun.worker.ts │ └── webpackPlugins/ │ └── ToInlineBlobWorkerPlugin.js ├── tsconfig.json ├── webpack.dev.js ├── webpack.native.js ├── webpack.prod.js └── webpack.prodnpm.js