Vue 2 y 3 componente JS para envoltura de editor medio con https://github.com/yabwe/medium-editor, pero todos los complementos se están rehaciendo en vue.js, todas las configuraciones de editor de medios son compatibles con
Manifestación
yarn add vuejs-medium-editor
# Vue 3
yarn add vuejs-medium-editor@next
O
npm install vuejs-medium-editor
# Vue 3
npm install vuejs-medium-editor@next
Agregar al componente global en Vue 2
import Vue from 'vue'
import MediumEditor from 'vuejs-medium-editor'
Vue . component ( 'medium-editor' , MediumEditor )O Vue 3
import { createApp } from 'vue'
import MediumEditor from 'vuejs-medium-editor'
import App from './App.vue'
const app = createApp ( App )
app . component ( 'medium-editor' , MediumEditor )
app . mount ( '#app' )No olvide incluir el archivo CSS en su proyecto para Vue 2
import 'medium-editor/dist/css/medium-editor.css'
import 'vuejs-medium-editor/src/themes/default.css'
// for the code highlighting
import 'highlight.js/styles/github.css' O en styles como abajo
<style lang = "css" >
@import "~medium-editor/dist/css/medium-editor.css" ;
@import "~vuejs-medium-editor/src/themes/default.css" ;
/*@import '~highlight.js/styles/github.css';*/
@import '~highlight.js/styles/github.css' ;
< / style >Para para vue 3
import 'medium-editor/dist/css/medium-editor.css'
import 'vuejs-medium-editor/dist/themes/default.css'
// for the code highlighting
import 'highlight.js/styles/github.css' O en styles como abajo
<style lang = "css" >
@import "medium-editor/dist/css/medium-editor.css" ;
@import "vuejs-medium-editor/dist/themes/default.css" ;
/*@import '~highlight.js/styles/github.css';*/
@import 'highlight.js/styles/github.css' ;
< / style > < medium-editor
v-model = " content "
: options = " options "
: onChange = " onChange "
v-on : uploaded = " uploadCallback "
/>
<script>
import Editor from 'vuejs-medium-editor'
export default {
data() {
return {
content: '',
options: {},
}
},
components: {
'medium-editor': Editor,
},
methods: {
onChange() {
console.log(this.content)
},
uploadCallback(url) {
console.log('uploaded url', url)
},
},
}
</script>También puede personalizar los botones de la barra de herramientas
options: {
toolbar : {
buttons : [
'bold' ,
'italic' ,
'underline' ,
'quote' ,
'h1' ,
'h2' ,
'h3' ,
'pre' ,
'unorderedlist' ,
]
}
}Opciones disponibles: Todas las opciones están disponibles aquí, también puede anular opciones como en Medium Editor;
options: {
buttons : [
'anchor' ,
{
name : 'pre' ,
action : 'append-pre' ,
aria : 'code highlight' ,
tagNames : [ 'pre' ] ,
contentDefault : '<b><\></b>' ,
contentFA : '<i class="fa fa-code fa-lg"></i>' ,
} ,
]
}Usando la opción de imagen en la barra de herramientas, agregue el enlace de imagen, resalte para editar, luego seleccione el icono de la imagen
buttons: [
{
name : 'image' ,
action : 'image' ,
aria : 'insert image from url' ,
tagNames : [ 'img' ] ,
contentDefault : '<b>image</b>' ,
contentFA : '<i class="fa fa-picture-o"></i>' ,
} ,
]Además, opción disponible: gracias a la solicitud de extracción de Ergofriend en el repositorio original
options: {
uploadUrl : "https://api.imgur.com/3/image" ,
uploadUrlHeader : { 'Authorization' : 'Client-ID a3tw6ve4wss3c' } ,
file_input_name : "image" ,
file_size : 1024 * 1024 * 10 ,
imgur : true ,
}pre en la barra de herramientas, ver opciones anteriores) Debe incluir el archivo highligh.js css dentro de los estilos
<style >
/*default css */
@import 'highlight.js/styles/default.css' ;
/* github style */
@import 'highlight.js/styles/github.css' ;
< / style >Puedes obtener más estilos temáticos aquí
< medium-editor : prefill = " defaultValue " : read-only = " true " /> Cree un archivo de complemento vuejs-medium-editor.js adentro /plugins Dir
import Vue from 'vue'
import MediumEditor from 'vuejs-medium-editor'
Vue . component ( 'medium-editor' , MediumEditor )Importar un complemento en nuxt.config.js con el modo SSR desactivado
plugins: [ { src : '~/plugins/vuejs-medium-editor' , ssr : false } ]incluir un archivo CSS para Vue 2
css: [
'medium-editor/dist/css/medium-editor.css' ,
'vuejs-medium-editor/src/themes/default.css' ,
'highlight.js/styles/github.css' , //if using code highlight
]Para vue 3
css: [
'medium-editor/dist/css/medium-editor.css' ,
'vuejs-medium-editor/dist/themes/default.css' ,
'highlight.js/styles/github.css' , //if using code highlight
] Magak Emmanuel
MIT
Feliz codificación, estrella antes de la bifurcación?