Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/oschina/tide

๐Ÿชผ ๅผ€็ฎฑๅณ็”จใ€ๆ‰ฉๅฑ•ๆ€งๅผบใ€ๆ”ฏๆŒ Markdown ่ฏญๆณ•ใ€ๅŸบ็ก€ๅŠŸ่ƒฝๅฎŒๅ–„็š„ React ๅฏŒๆ–‡ๆœฌ็ผ–่พ‘ๅ™จใ€‚
https://github.com/oschina/tide

editor markdown prosemirror react wysiwyg-editor

Last synced: about 9 hours ago
JSON representation

๐Ÿชผ ๅผ€็ฎฑๅณ็”จใ€ๆ‰ฉๅฑ•ๆ€งๅผบใ€ๆ”ฏๆŒ Markdown ่ฏญๆณ•ใ€ๅŸบ็ก€ๅŠŸ่ƒฝๅฎŒๅ–„็š„ React ๅฏŒๆ–‡ๆœฌ็ผ–่พ‘ๅ™จใ€‚

Awesome Lists containing this project

README

        

# [Tide ๐Ÿชผ](https://gitee.com/oschina/tide)

Tide is a React-based rich text editor with out-of-the-box functionality, strong extensibility, and comprehensive support for Markdown syntax.

[![Version](https://img.shields.io/npm/v/@gitee/tide.svg?label=version)](https://www.npmjs.com/package/@gitee/tide)
[![Downloads](https://img.shields.io/npm/dm/@gitee/tide.svg)](https://npmcharts.com/compare/@gitee/tide?minimal=true)
[![License](https://img.shields.io/npm/l/@gitee/tide.svg)](https://www.npmjs.com/package/@gitee/tide)

## Online Demo

https://oschina.gitee.io/tide

![](./docs/images/tide-screenshot.jpg)

## Example Code

- [Basic Usage](./packages/editor/README.md)
- [Advanced Usage](./apps/demo)
- [Real-world Usage](./apps/legacy)

## Features

- 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

## Directories

```
.
โ”œโ”€โ”€ 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.
```

## Build and Run

Tide uses [turborepo](https://turbo.build/repo) to manage the compilation and distribution of multiple npm packages and [pnpm](https://pnpm.io) to manage local dependencies.

```shell
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`, and `pnpm link --global`.

## Contributing

- For bug reports, please use [Issues](https://gitee.com/oschina/tide/issues)
- For code contribution, please use [Pull Request](https://gitee.com/oschina/tide/pulls). Before creating a pull request, please read [CONTRIBUTING.md](./docs/CONTRIBUTING.md)

## Who's Using Tide

- [Gitee Enterprise Edition](https://e.gitee.com)
- [Gitee Community Edition](https://gitee.com)

## Credits

- [Tiptap](https://github.com/ueberdosis/tiptap)
- [ProseMirror](https://github.com/ProseMirror/prosemirror)