Extras de MD Composer

Este componente de tema agrega algunas opciones de formato en el editor: subrayado, centrar, alinear a la derecha, justificar y tachado. Puedes personalizar el texto de cada botón en la configuración, haciéndolo compatible con todos los idiomas. Existe una versión RTL (cambia alinear a la derecha por alinear a la izquierda).

Compatibilidad

Este componente de tema es una alternativa a la Barra de herramientas de formato de Discourse, no recomiendo usar ambas.

Recomiendo el plugin, pero si no deseas (o no puedes) instalar un plugin, este componente de tema podría agregar suficientes opciones en el editor para ti.

Además, para adaptar el componente en dispositivos móviles, oculté algunos botones: lista con viñetas, lista y justificar. Parecían los menos útiles en este tipo de dispositivo.

Para foros en idiomas RTL, aquí está la versión RTL: GitHub - MonDiscourse/md-composer-extras-rtl: Add some formatting option in your discourse composer (rtl version) · GitHub

¡Házmelo saber si hay algún problema!

42 Me gusta

It becomes like this if I use alignin together with underline.

That’s a limitation of the div align code, you need to add a line between the div align and your text

<div align="center">

[u]underline[/u]
</div>

That’s why I used a bbcode in my formatting toolbar, but I could only use the div in this theme component.

I’ll probably add an extra line by default and a little explanation

3 Me gusta

I upgraded the component to add those extra lines by default, now, when you use a align button and the underline button, you’ll have something like this

What are the disadvantages of using the theme-component?

The plugin is easier to customize, we can choose which buttons will appear or not, and there are some additional options like color or a float button that can do something like this with the image

3 Me gusta

¡Es realmente increíble lo que se puede lograr con los componentes de temas! Muy bien hecho.

2 Me gusta

¡Bien hecho :slight_smile:
¿Crees que es posible convertir de alguna manera las etiquetas HTML a una etiqueta predeterminada como [Center] y que algo en el backend las convierta de nuevo (por razones de interfaz de usuario)? :slight_smile:

En aquel momento, no era posible crear algunos bbcodes fácilmente con componentes de tema; no sé si ahora sí lo sea.

Por ahora, si deseas un botón de centrado de bbcode en el editor, la mejor opción es usar el plugin: Formatting toolbar

1 me gusta

Una etiqueta como [center] aún requerirá un plugin, pero tienes razón, @Steven :+1:

En el momento de la creación de este componente, tenías que usar las etiquetas HTML <div>. Sin embargo, ahora puedes usar [wrap="foo"][/wrap] en temas y componentes.

Puedes leer más sobre esto aquí:

Aquí tienes un ejemplo sencillo:

[wrap="center"] 
Algun texto centrado 
[/wrap]

Esto generaría el siguiente marcado cuando se procese la publicación:

<div class="d-wrap" data-wrap="center">
  <p>Algun texto centrado</p>
</div>

Lo cual puedes seleccionar con un selector de atributo CSS de la siguiente manera:

[data-wrap="center"] {
  text-align: center;
}

Y esto generaría algo como lo que se muestra tanto en la vista previa del editor como en la publicación renderizada:

O también:

[wrap="right"] 
Algun texto alineado a la derecha 
[/wrap]

Lo que resultaría en este marcado procesado:

<div class="d-wrap" data-wrap="right">
  <p>Algun texto centrado</p>
</div>

Luego puedes agregar este CSS:

[data-wrap="right"] {
  text-align: right;
}

Para obtener este resultado:

Dado que el componente actualmente utiliza el atributo HTML align, este cambio debería ser 100 % compatible hacia atrás.

Pruébalo cuando tengas tiempo y no dudes en enviarme un mensaje privado si tienes alguna pregunta al respecto.

12 Me gusta

Acabo de enviar solicitudes de extracción para los componentes de envoltura.

https://github.com/iunctis/md-composer-extras/pull/1
https://github.com/iunctis/md-composer-extras/pull/2
https://github.com/iunctis/md-composer-extras/pull/3

5 Me gusta

Añadí más solicitudes de extracción para el flotado a la izquierda, con una opción CSS para el flotado a la derecha, moví el botón de tachado para que esté junto a los botones de negrita, cursiva y subrayado, y creé un botón básico de columnas. Este último podría funcionar mejor como un componente independiente o moverse al menú emergente.

Eliminé la solicitud de extracción; necesita más modificaciones. También estoy buscando agregar botones de superíndice e subíndice, pero una vez que se añaden eventos de calendario, slick y mosaicos, hay demasiados botones en el compositor móvil en su versión vertical. No debería ser un problema en la versión horizontal, pero si todos los botones deben ser accesibles desde cualquiera de los menús, entonces deberían moverse al menú emergente.

¿Qué opinas, @Steven, sobre cómo quieres manejar esto?

Simplemente dividiré el archivo JS principal en dos archivos y trabajaré en CSS responsivo.

Idealmente, también deberíamos agregar configuraciones para desactivar/ocultar los botones según sea necesario.


EDITA: He implementado los cambios mencionados (pero los elementos no tienen una opción para ocultarse fuera del CSS) y solo necesito probar los cambios antes de enviar una solicitud de extracción.

3 Me gusta

Esa PR debería estar bien ahora, @Steven.

https://github.com/iunctis/md-composer-extras/pull/8

Esta PR implementa la adaptabilidad, las flotaciones, las columnas, el superíndice y el subíndice. Consulta el README para ver cómo funcionan las columnas.

2 Me gusta

Hola,
No tengo idea de por qué estoy recibiendo esto. Lo subí el otro día. Estoy en la última versión de esto. Al menos eso es lo que me dice.
Gracias

1 me gusta

Recientemente implementé una actualización, pero debería funcionar correctamente. Acabo de probarla en un sitio web tanto en escritorio como en móvil.

¿Podrías intentar eliminar el componente y reinstalarlo? Parece que está roto en tu foro.

¿O también utilizas el plugin de la barra de herramientas de formato? Podría estar creando iconos duplicados.

3 Me gusta

OK, gracias. Lo revisaré y haré lo que dices. ¡Feliz cumpleaños también! :slight_smile:

3 Me gusta

¿Es posible ocultar algunos iconos?

¿Cuáles quieres ocultar? Te ayudo a hacerlo.

Strike, sub, sup ¡Gracias!

La forma más sencilla sería agregar estas líneas de CSS en tu tema, en Común > CSS

.d-editor-button-bar .strikethrough_button, .d-editor-button-bar .superscript_button, .d-editor-button-bar .subscript_button {
    display: none;
}
6 Me gusta