Tide is a React-based rich text editor with out-of-the-box functionality, strong extensibility, and comprehensive support for Markdown syntax.
- JSON-based storage format
- Supports Markdown shortcut syntax
- Headings
- Quotes
- Code blocks
- Tables
- Hyperlinks
- Images
- Separators
- Bold, italic, strikethrough
- Unordered lists, ordered lists, task lists
- Supports pasting Markdown text
- Supports enhanced Table functionality
- Supports pasting and dragging images
- Supports Emoji selection
- Built-in menu bar
- Supports multiple themes
.
โโโ apps
โ โโโ demo # Demo project deployed on Pages, URL: https://oschina.gitee.io/tide
โ โโโ legacy # Real-world project used by Gitee Community Edition,
โ # package name is @gitee/tide-legacy
โโโ presets # Presets with UI and configuration for @, #, ! mention functionality,
โ # mainly used by @gitee/tide-legacy
โโโ docs # Documentation (to be completed), including contribution guidelines
โโโ packages # Directory for organizing monorepo packages
โ โโโ editor # Out-of-the-box editor base package, package name is @gitee/tide
โ โโโ starter-kit # Integrates commonly used extension packages with the @gitee/tide package
โ โ # to provide an out-of-the-box experience
โ โโโ common # Common utility classes, etc.
โ โโโ react # React wrapper for the editor, facilitating usage in React projects
โ โโโ extension-* # Packages starting with extension- that provide
โ โ # extension functionality for the editor
โ โโโ tsconfig # Unified tsconfig configuration
โ โโโ eslint-config-custom # Unified eslint configuration
โโโ scripts # Scripts to simplify the development process, etc.
Tide uses turborepo to manage the compilation and distribution of multiple npm packages and pnpm to manage local dependencies.
git clone https://gitee.com/oschina/tide.git
cd tide
# Install dependencies
pnpm i
# Build packages
pnpm build
# Run the demo for development, it will automatically open the browser
pnpm dev:demo --open
Due to the complex dependency relationships in the monorepo, local builds are not currently supported for use through
npm link
,yarn link
, andpnpm link --global
.
- For bug reports, please use Issues
- For code contribution, please use Pull Request. Before creating a pull request, please read CONTRIBUTING.md