lexical-vue
Version:
An extensible Vue 3 web text-editor based on Lexical.
112 lines (84 loc) • 2.85 kB
Markdown
An extensible Vue 3 web text-editor based on [Lexical](https://github.com/facebook/lexical).
For documentation and more information about Lexical, be sure to visit the [Lexical website](https://lexical.dev/).
Here are some examples of what you can do with Lexical:
- [Lexical Vue Playground](https://lexical-vue-playground.vercel.app)
- [Rich Text Example](https://stackblitz.com/edit/vitejs-vite-qqdqcl)
- [Plain Text Example](https://stackblitz.com/edit/vitejs-vite-jxwkxo)
> Requires Vue >= 3.5.0.
Install `lexical-vue`:
```bash
npm install lexical-vue
```
Below is an example of a basic plain text editor using `lexical` and `lexical-vue`.
```vue
<script setup lang="ts">
import { $getRoot, $getSelection } from 'lexical'
import {
LexicalAutoFocusPlugin,
LexicalComposer,
LexicalContentEditable,
LexicalHistoryPlugin,
LexicalOnChangePlugin,
LexicalPlainTextPlugin,
} from 'lexical-vue'
const config = {
editable: true,
theme: {
// Theme styling goes here
},
}
function onError(error) {
throw error
}
// When the editor changes, you can get notified via the
// LexicalOnChangePlugin!
function onChange(editorState) {
editorState.read(() => {
// Read the contents of the EditorState here.
const root = $getRoot()
const selection = $getSelection()
console.log(root, selection)
})
}
</script>
<template>
<LexicalComposer :initial-config="config" @error="onError">
<LexicalPlainTextPlugin>
<template
<LexicalContentEditable />
</template>
<template
<div>
Enter some text...
</div>
</template>
</LexicalPlainTextPlugin>
<LexicalOnChangePlugin @change="onChange" />
<LexicalHistoryPlugin />
<LexicalAutoFocusPlugin />
</LexicalComposer>
</template>
```
For a more complex example, check the [rich text editor playground](https://github.com/wobsoriano/lexical-vue/tree/master/playground).
- [Creating custom decorator nodes](https://lexical-vue.vercel.app/docs/plugins/custom.html)
1. Create a new branch
- `git checkout -b my-new-branch`
2. Commit your changes
- `git commit -a -m 'Description of the changes'`
- There are many ways of doing this and this is just a suggestion
3. Push your branch to GitHub
- `git push origin my-new-branch`
4. Go to the repository page in GitHub and click on "Compare & pull request"
- The [GitHub CLI](https://cli.github.com/manual/gh_pr_create) allows you to skip the web interface for this step (and much more)
https://lexical-vue.vercel.app
- [Lexical](https://github.com/facebook/lexical)
- [Vite](https://vitejs.dev/)
- [Vercel](https://vercel.com/)
MIT