Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/umaranis/svelte-lexical
A rich text editor for Svelte based on lexical
https://github.com/umaranis/svelte-lexical
component lexical rich-text-editor svelte
Last synced: about 1 month ago
JSON representation
A rich text editor for Svelte based on lexical
- Host: GitHub
- URL: https://github.com/umaranis/svelte-lexical
- Owner: umaranis
- License: mit
- Created: 2022-04-19T12:03:36.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T10:18:50.000Z (5 months ago)
- Last Synced: 2024-08-01T11:24:03.166Z (5 months ago)
- Topics: component, lexical, rich-text-editor, svelte
- Language: Svelte
- Homepage:
- Size: 5.27 MB
- Stars: 330
- Watchers: 13
- Forks: 29
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build](https://github.com/umaranis/svelte-lexical/actions/workflows/build.yml/badge.svg)](https://github.com/umaranis/svelte-lexical/actions/workflows/build.yml)
# svelte-lexical
A rich-text editor for Svelte based on [Lexical](https://lexical.dev/)
Lexical is an extensible text editor framework developed by awesome developers at Facebook. The purpose of this project is to provide Svelte bindings for Lexical and also develop high-level components using Lexical.
![Screenshot-Svelte-Lexical](docs/images/Screenshot-Svelte-Lexical.jpg)
## Getting Started
Pick one of the demo projects to understand how `svelte-lexical` can be incorporated into your project. For instance, use `demos/sveltekit` for a SvelteKit and `demos/playground` for Svelte.
To run the demo project:
- First build `svelte-lexical` library
- change directory: `cd packages/svelte-lexical`
- install dependencies: `pnpm i`
- build the lib: `pnpm build`
- Run the demo project
- change directory: `cd ../../demos/playground`
- run dev: `pnpm dev`## Development Notes
- This project is set up as a monorepo using pnpm workspaces.
- To run a demo in development, executepnpm -C demos/playground dev
.
- ESLint is set up for VS Code.
- The npm package is automatically published on creation of a GitHub release using GitHub Actions.
- Unit testing is set up for the svelte-lexical package using Jest and Testing Library.
- E2E testing is set up for the playground package using Playwright.
- [Size Limit](https://github.com/ai/size-limit) controls the library size.## Plugins
Most of the `svelte-lexical` functionality is implemented through plugins. See the [list of plugins here](docs/plugins/readme.md).