MCPcopy Index your code
hub / github.com/alin995/wechat-tiptap

github.com/alin995/wechat-tiptap @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
390 symbols 745 edges 221 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WechatTiptap

A WeChat-style rich text editor

About

WechatTiptap is a WYSIWYG editor based on Tiptap. The interface and operation are WeChat document style, while providing AI capabilities.

Features

  • WeChat document style
  • Outline
  • Toolbar
  • Statusbar
  • Tiptap extensions
  • AI:Completion, shorten, expansion, summary;
  • Table: floating toolbar, background
  • Image: floating crop and resizing bar
  • Font size
  • Quote
  • Indent
  • Link
  • Bubble menu
  • Image
  • Link
  • Table

How To Use

  • Environment

    Node 16 and above

  • Install

yarn

or

npm install
  • Debug
npm start dev
  • Build
npm start build

Tech Stack

WechatTiptap is based on the following technologies: - Tiptap - text editor - OpenAI - AI completions - TailwindCSS - styles

Roadmap

  • [x] WeChat document style
  • [x] Table
  • [x] Image
  • [ ] Export JOSN/HTML
  • [ ] Collaboration
  • [ ] I18n
  • [x] Chinese
  • [ ] English

License

Released under the MIT license. SeeLICENSE.txtfor more information.

Reference Engineering

Extension points exported contracts — how you extend this code

WechatEditorProps (Interface)
(no doc)
src/pages/wechat-editor/wechat-editor.tsx
ColorGroupProps (Interface)
(no doc)
src/pages/wechat-editor/components/color-selector/color-selector.tsx
ColorSelectorProps (Interface)
(no doc)
src/pages/wechat-editor/components/color-selector/color-selector.tsx
TableSize (Interface)
(no doc)
src/pages/wechat-editor/components/table-size-selector/table-size-selector.tsx
TableSizeSelectorProps (Interface)
(no doc)
src/pages/wechat-editor/components/table-size-selector/table-size-selector.tsx

Core symbols most depended-on inside this repo

hasTextSelection
called by 17
src/pages/wechat-editor/extensions/extension-magic/utils.tsx
createElementWithAttributes
called by 14
src/pages/wechat-editor/extensions/extension-table/utilities/createElementWithAttributes.ts
stopEvent
called by 9
src/pages/wechat-editor/extensions/extension-table/utilities/stopEvent.ts
closeAllPopup
called by 7
src/pages/wechat-editor/bubble-menu/text-content-bubble-menu/text-content-bubble-menu.tsx
toggleHeading
called by 6
src/pages/wechat-editor/toolbar/components/toolbar-heading/toolbar-heading.tsx
getTargetElement
called by 5
src/pages/wechat-editor/components/image-clipper/image-clipper.tsx
isCellSelection
called by 4
src/pages/wechat-editor/utils/is-cell-selection.ts
onOpenChange
called by 3
src/pages/wechat-editor/toolbar/components/toolbar-dropdown/toolbar-dropdown.tsx

Shape

Function 309
Interface 75
Method 3
Class 2
Enum 1

Languages

TypeScript100%

Modules by API surface

src/pages/wechat-editor/extensions/extension-search-and-replace/search-and-replace.ts17 symbols
src/pages/wechat-editor/extensions/extension-table/table.ts16 symbols
src/pages/wechat-editor/extensions/extension-indent/indent.ts14 symbols
src/pages/wechat-editor/extensions/extension-magic/magic-node-view.tsx12 symbols
src/pages/wechat-editor/extensions/extension-link/link.ts12 symbols
src/pages/wechat-editor/extensions/slash-command/slash-command.tsx10 symbols
src/pages/wechat-editor/extensions/extension-table/table-view.ts10 symbols
src/pages/wechat-editor/extensions/extension-resizable-image/resizable-image.ts10 symbols
src/pages/wechat-editor/extensions/extension-unique-id/unique-id.ts9 symbols
src/pages/wechat-editor/extensions/extension-magic/magic.ts8 symbols
src/pages/wechat-editor/extensions/extension-table-cell-background/table-cell-background.ts7 symbols
src/pages/wechat-editor/extensions/extension-blockquote-highlight/blockquote-highlight.ts7 symbols

For agents

$ claude mcp add wechat-tiptap \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact