Snapblocks es un bifurcado de scratchblocks que permite a los usuarios convertir texto en imágenes de scripts de Snap!. Este plugin de Discourse permite a los usuarios utilizar snapblocks en sus publicaciones.
Puedes crear snapblocks en una publicación escribiendo código de snapblocks dentro de las etiquetas bbcode [snapblocks][/snapblocks]. Por ejemplo:
Existen varias configuraciones disponibles para modificar la forma en que se renderizan los snapblocks.
Estilo de bloque
Escala de bloque
Coloración en cebra
Ajuste de bloque
Mostrar espacios
Gorros de Santa
Muchas opciones también pueden utilizarse en fragmentos de snapblocks.
[snapblocks blockStyle="snap-flat" wrap="true" wrapSize=100 zebra="true" showSpaces="false" santa="true"]
cuando se haga clic en la bandera
si <[] = []> {
para siempre {
ejecutar ({} @addInput) con entradas [Hola mundo] @delInput @verticalEllipsis @addInput
}
}
[/snapblocks]
Diría que las únicas incompatibilidades son principalmente algunos ajustes menores de sintaxis, como los menús desplegables y el bloque define. En su mayor parte, el código de scratchblocks es mayormente compatible con snapblocks.
Aún así, creo que debería haber un plugin separado para scratchblocks, ya que sé que los foros que son para scratch/scratch mods podrían no querer usar snapblocks, ya que snapblocks está diseñado para funcionar mejor para snap (y he estado descuidando el pulido de los estilos de scratch), sin mencionar que no agregué la capacidad de cambiar el atajo de la barra de herramientas para usar scratchblocks en su lugar.
Si alguien quisiera intentar crear un plugin de scratchblocks usando este plugin como base (probablemente no me daré tiempo para hacer uno yo mismo), creo que vale la pena señalar que la función render que utilicé no está en la API de scratchblocks, por lo que requeriría un poco más de trabajo que simplemente incorporar scratchblocks.
A primera vista, parece que no hay objeción en utilizar este plugin para experimentos iniciales (mi entorno es un entorno escolar) y solo entonces invertir tiempo en un plugin de Scratch si surge la necesidad.
Solicitud de característica: El estilo de bloque podría definirse por separado para el alias [scratchblocks].
Esto permitiría el uso sin esfuerzo de diferentes estilos de elementos de Scratch y Snap!.
Se conecta al analizador de mensajes para asegurar que nada dentro de las etiquetas sea analizado e incluye muchas opciones para configurar el comportamiento. También quiero que el nuevo compositor de mensajes WYSIWYG sea compatible, pero he tenido problemas para hacerlo funcionar correctamente. Además, no quiero que los administradores del foro tengan que habilitarlo para cada tema, ya que eso puede causar problemas y confusión (ya he visto que eso sucede antes).
Entonces, ¿hay algo que no esté entendiendo sobre las capacidades de un componente de tema, y puede ser simplemente algo de habilitar una vez globalmente y olvidarse?
(¡ups, pulsé el botón de respuesta incorrecto @RGJ)
Instalar un plugin es mucho más engorroso que esto y no funcionará en los planes alojados de Discourse.org.
Además, creo que la mayoría de los foros solo tienen un tema activo.
Los componentes de tema pueden tener configuraciones y pueden hacer todo lo que puede hacer la parte de JavaScript de un plugin. Con el estado actual del plugin, no perderías ninguna funcionalidad.
¿No simplemente clonas el repositorio en el directorio de plugins? Siento que eso no es muy engorroso. Sin embargo, es cierto que no funciona en los planes alojados por Discourse.
No el foro para el que se creó este plugin. Pero acabo de verificar y parece que la interfaz de usuario de la configuración de los componentes del tema ha sufrido una gran reforma desde la última vez que tuve que ocuparme de ellos, así que parece más fácil de gestionar de lo que recordaba.
Vale, entonces probaré a reescribirlo como un componente de tema, pero no creo que pueda dedicarme a ello durante un tiempo debido a otras obligaciones.