leecason / element-tiptap Goto Github PK
View Code? Open in Web Editor NEW🌸A modern WYSIWYG rich-text editor using tiptap and Element UI for Vue3 (1.0 for Vue2)
Home Page: https://element-tiptap.vercel.app/
License: MIT License
🌸A modern WYSIWYG rich-text editor using tiptap and Element UI for Vue3 (1.0 for Vue2)
Home Page: https://element-tiptap.vercel.app/
License: MIT License
Hi, I have problem with "apply link". Pasted link did not show up after insert.
Demo
Tested on Firefox and Chromium.
zh:
Indent: {
buttons: {
indent: {
tooltip: '增加锁进',// error
},
outdent: {
tooltip: '减少锁进',//error
},
},
},
Indent = 缩进
Can't upload image as a custom event? This event is used to upload directly to the server, return the image address, and insert it into the editor
element-ui 不维护了,后续版本还会依赖element-ui吗?
这样其他地方用不了啊,比如上传到微信素材
I want to group the BOLD, ITALIC, UNDERLINE extensions under category, STYLES
, is there any option?
图片上传到自定义的服务器暴露的api是什么,图片上传过程中是否可以提供可自定义的占位符,图片是否可以实现旋转。这些是希望开箱可用的。
Hey,
After release 1.17.1, I started getting error:
Error in nextTick: "TypeError: Cannot redefine property: isFullscreen"
I have tiptap editor on two different pages and I'm using simple vue transition
to switch between them. On initial page load editor is fully visible and functional, but it breaks while navigating to a different page with different editor (same component).
Structure for reference:
Project
|-- components
| |-- ElementTipTap.vue
|-- views
| |-- Page1.vue (imports ElementTipTap component)
| |-- Page2.vue (imports ElementTipTap component)
插入图片输出的HTML标签竟然是image ,请问这里要怎么处理。标准的html标签应该是img才对呢
Maybe?
终于看到一个一眼就心动的编辑器了,太棒了。
插入图片是否可以设计一个服务器得图片空间,从图片空间中得图片选择进行插入。同时页能批量上传图片到图片空间。
希望能有这样的一个组件或者指一条明路。
I already use https://kazupon.github.io/vue-i18n/, so I get:
[Vue warn]: Method "$i18n" conflicts with an existing Vue instance method. Avoid defining component methods that start with _ or $.
给你的邮箱发了邮件,期待你的回复
看到文档中说明全局注册可以配置 lang
语言,但是如果是局部注册使用组件的话如何配置呢?
How do I create custom extension, say for Heading?
In the doc it is mentioned to extend the Base Class, but what if I want to add a custom class to it?
Is it similar to tiptap, wherein the we need to define it in the schema/doc?
Also can you explain what menuBtnView (editorContext) {} expects and needs to return.
Thanks.
Great work on the plugin!
When the text is aligned centered, the editor should apply some inline styles like style='text-align: center'
but its using data-*
<p><strong>This</strong></p><p></p><h1>ddddd</h1><p></p><p data-text-align="center">{{code}}</p>
Due to this the HTML in email not rendered properly
Is shift+enter supported? If not, is it possible to add it?
Expected result:
Hitting shift+enter inserts a BR in active P tag.
Actual result:
Hitting shift+enter does nothing.
I want implement a template button, that has variables like {{first_name}}
, whenever the user clicks on that button, it adds the {{first_name}}
at current cursor position
It would be perfect if elm-tiptap could be insert a video👍🏿👍🏿👍🏿
When we add a table to the content, it is hard to shift to a new line. So a new line always in the end of the document is necessary. We should shift to a new line simply by clicking the blank.
Hello, I've had a hard time understanding the relationship between the custom extensions and their components. Is there perhaps a way you could provide a diagram with all the things you've added on top of TipTap with and how data is being passed back and forth? I've read both TipTap and Prosemirror documentation and I can't seem to understand how it all comes together.
Right now I need to overwrite default editor styles in order to apply my global styles. Would be nice if the editor could optionally inherit these styles for its content alone. Menu-bar is fine, I wouldn't want to change that.
`
[Vue warn]: Error in mounted hook: "RangeError: Schema is missing its top node type ('doc')"
found in
--->
at packages/form/src/form-item.vue
at packages/form/src/form.vue
at packages/card/src/main.vue
相关依赖版本
"element-tiptap": "^1.20.0",
"element-ui": "^2.13.1",
"vue": "^2.6.11"
`
Is there any extension (if not, could you make it) that shows rendered html in the editor itself like in other wysiwygs.
Test URL: https://froala.com/wysiwyg-editor/
And yes the idea of grouping extension #78 came from this wysiwyg only
HI, upon new install i get the following error.
[Vue warn]: Error in mounted hook: "TypeError: Cannot read property 'spellcheck' of undefined"
advice please?
代码如何下
<template>
<div class="el-tips-page">
<el-tiptap
v-model="content"
:extensions="extensions"
></el-tiptap>
</div>
</template>
<script>
import Vue from 'vue'
import ElementUI from 'element-ui'
import { ElementTiptapPlugin,
Doc,
Text,
Paragraph,
Heading,
Bold,
Underline,
Italic,
Strike,
ListItem,
BulletList,
OrderedList,
FontType,
SelectAll,
Fullscreen,
Print,
Preview,
TextHighlight,
TextColor,
FormatClear,
TableRow,
TableCell,
TableHeader,
Table,
History,
TrailingNode,
HardBreak,
HorizontalRule,
LineHeight,
Indent,
TextAlign,
TodoList,
TodoItem,
Blockquote,
CodeBlock,
Iframe,
Image,
Link
} from 'element-tiptap'
// 安装 ElementUI 插件
Vue.use(ElementUI)
// 安装 element-tiptap 插件
Vue.use(ElementTiptapPlugin, { lang: 'zh', spellcheck: true })
// 引入 ElementUI 样式
import 'element-ui/lib/theme-chalk/index.css'
// import element-tiptap 样式
import 'element-tiptap/lib/index.css'
export default {
// components: {
// 'el-tiptap': ElementTiptap
// },
data() {
return {
extensions: [
new Doc(),
new Text(),
new Paragraph(),
new Heading({level: 5}),
new Bold(), // 在气泡菜单中渲染菜单按钮
new Underline(),
new Italic(),
new Strike(),
new ListItem(),
new BulletList(),
new OrderedList(),
new FontType(),
new SelectAll(),
new Fullscreen(),
new Print(),
new Preview(),
new TextHighlight(),
new TextColor(),
new FormatClear(),
new TableRow(),
new TableCell(),
new TableHeader(),
new Table(),
new History(),
new TrailingNode(),
new HardBreak(),
new HorizontalRule(),
new LineHeight(),
new Indent(),
new TextAlign(),
new TodoList(),
new TodoItem(),
new Blockquote(),
new CodeBlock(),
new Iframe(),
new Image(),
new Link()
],
content: ''
}
}
}
</script>
<style lang="scss" scoped>
.el-tips-page {
width:100%;
height:100%;
min-height: 400px;
min-width: 50vw;
}
</style>
Hello I'm not sure how to exclude extensions from the top menu if I want to still use them in the bubble menu and vice-versa. Let me know, thank you!
前几天npm install 之后 npm run dev console出现这样的错误,页面无法加载请问是tiptap-extensions 的问题么?
Uncaught RangeError: Duplicate use of selection JSON ID cell
at Function.jsonID (webpack-internal:///./node_modules/prosemirror-state/dist/index.es.js:200)
at eval (webpack-internal:///./node_modules/tiptap-extensions/node_modules/prosemirror-tables/dist/index.es.js:631)
at Object../node_modules/tiptap-extensions/node_modules/prosemirror-tables/dist/index.es.js (app.js:3341)
at __webpack_require__ (app.js:708)
at fn (app.js:113)
at eval (webpack-internal:///./node_modules/tiptap-extensions/dist/extensions.esm.js:40)
at Object../node_modules/tiptap-extensions/dist/extensions.esm.js (app.js:3333)
at __webpack_require__ (app.js:708)
at fn (app.js:113)
at Object.eval (webpack-internal:///./node_modules/element-tiptap/lib/element-tiptap.esm.js:38)
Hi,
Nothing is getting working in IE 11. It is working in firefox and chrome. Are there plans to support older browsers?
Thanks
视频插入的时候提示这个是为什么?
vue.runtime.esm.js:619 [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
found in
---> Anonymous>
EditorContent>
ElTiptap>
Support i18n?
这个是可以配置的吗?
The input and paste rules lead to annoying unexpected behavior.
So I suggest disabling them by default or adding a quick option to do so.
I for instance tried to paste LaTeX-Formulas but they were not displayed properly on the website. And it really took me a while to figure out, that the problem had to do something with the editor and that some parts of the formulas were misinterpreted to italian style ;)
初始化数据时会被过滤
不知可不可以提供floating menu,像medium那样编辑方法(看起来非常高级)的支持?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.