Marcador de posición de compositor giratorio

:discourse2: Resumen Rotating Composer Placeholder agrega texto de marcador de posición dinámico y rotativo al compositor de Discourse, mostrando un prompt diferente cada vez que se abre el compositor.
:hammer_and_wrench: Enlace al repositorio https://github.com/Ethsim12/discourse-rotating-composer-placeholder
:open_book: ¿Nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas en Discourse

Instalar este componente de tema

Características

  • Rota el texto de marcador de posición del compositor cada vez que se abre el compositor
  • Funciona para:
    • respuestas
    • compositor de nuevo tema
  • Totalmente configurable mediante configuraciones del componente de tema
  • No requiere plugin
  • Solo del lado del cliente (seguro y ligero)
  • Utiliza api-initializers modernos

Instalación

  1. En la administración de Discourse, vaya a:
    Administración → Apariencia → Temas y componentes → Componentes → Tres puntos

  2. Haga clic en Instalar.

  3. Elija Desde un repositorio git.

  4. Pegue la URL de este repositorio y haga clic en Instalar.

Habilitar el componente de tema

Instalar un componente de tema no lo activa automáticamente.
Debe adjuntarlo a un tema.

  1. Vaya a:
    Administración → Apariencia → Temas y componentes → Componentes → Rotating Composer Placeholder

  2. Haga clic en su tema activo
    (por ejemplo: «Predeterminado», «Escritorio» o su tema personalizado).

  3. Presione la casilla de verificación verde.

  4. Actualice su navegador.

Una vez habilitado, el componente se aplicará inmediatamente a ese tema.

Configurar el componente

  1. Permanezca en la página del componente de tema.

  2. Edite la lista rotating_placeholders.

Valores de ejemplo:

  • «¿Qué intentaste? Incluye pasos para reproducir el problema.»
  • «Una idea por respuesta. Si es un problema nuevo, inicia un nuevo tema.»
  • «Por favor incluye: resultado esperado, resultado real y cualquier error.»
  • «Consejo: pega los registros dentro de tres comillas invertidas».

Notas:

  • Cada entrada de la lista se convierte en un posible marcador de posición.
  • Las entradas vacías se ignoran.
  • Si la lista está vacía, se utiliza un marcador de posición predeterminado.

Limitaciones conocidas

  • Mejora solo de interfaz de usuario
  • No afecta el contenido de las publicaciones
  • El marcador de posición rota cuando se abre el compositor
  • Las futuras refactorizaciones del compositor podrían requerir actualizaciones menores de los selectores

Compatibilidad

  • Diseñado para versiones modernas de Discourse
  • Mínimo recomendado: Discourse 3.2+
  • Utiliza únicamente las APIs de temas compatibles
4 Me gusta

¿Puedes compartir ejemplos de casos de uso?

1 me gusta

Creo que los ejemplos hacen un buen trabajo al demostrar el caso de uso. Hay muchas cosas a considerar al componer un mensaje. Si pones solo una, pronto será ignorada. Si pones todas, nadie leerá ninguna de ellas. Tener una diferente cada vez aumenta la probabilidad de que alguien lea y considere una de ellas.

También podrías poner huevos de Pascua divertidos.

4 Me gusta

Ah, cierto, ni siquiera vi los ejemplos.

Juego de Tronos: La Caminata de la Vergüenza

3 Me gusta

¡Gracias! Una ventaja agradable que encontré es que el componente también funciona perfectamente con el editor de texto enriquecido; el marcador de posición sigue rotando correctamente allí.

Dado que se conecta al ciclo de vida del editor en lugar de a los elementos internos específicos del editor, no depende de selectores exclusivos de Markdown, lo que ayuda a mantenerlo compatible en todos los modos del editor.

Si Discourse vuelve a refactorizar el editor en el futuro, esto debería mantener la superficie de posibles fallos bastante pequeña.

1 me gusta

De hecho, quiero usar esto para hacerlos TODOS divertidos en uno de mis foros…

“¿QUÉ TE PASA? ¿NO SABES LEER???”
“¿Cuál es la diferencia entre alguien que no busca antes de publicar y un vago?”
“Si vas a reportar un error, por favor, asegúrate primero de que no sea un arácnido.”
“¿Cuál es la velocidad de vuelo de una golondrina sin carga?”

5 Me gusta

¡De nada! :slightly_smiling_face:

Los marcadores de posición específicos de la categoría son una idea realmente buena; puedo ver que será especialmente útil para las categorías “Soporte / Error” frente a “Chat general”, donde las indicaciones que quieres que vean los usuarios son completamente diferentes.

En cuanto a la implementación, el contexto del compositor normalmente proporciona suficiente señal para hacerlo de forma limpia:

  • Nuevo tema: basarse en el categoryId seleccionado en el modelo del compositor
  • Respuesta: derivar la categoría del contexto del tema

Así que una posible v1 podría verse así:

  • Una configuración de tema que mapea category_id → lista de marcadores de posición
  • Recurrir a los rotating_placeholders globales si no se encuentra ninguna coincidencia de categoría

Si recuerdas el componente existente en el que estás pensando, me encantaría un enlace; de lo contrario, estaré encantado de añadir esto aquí como una solicitud de función y medir el interés (y evitar duplicar el trabajo si ya existe).

Además, ¡tu lista “TODOS divertidos” es exactamente el tipo de caos benévolo que tenía en mente :joy:!

(Probablemente seguiría incluyendo algunos serios, ¡así que el recordatorio útil ocasional se cuela!)

Existe Topic Template Placeholder Text theme component donde puedes usar la plantilla de categoría como texto de marcador de posición

2 Me gusta

¡Gracias! Ese es un enlace realmente útil.

Ese componente (“Texto de marcador de posición de plantilla de tema”) es ligeramente diferente a lo que está haciendo este: utiliza la plantilla de tema de la categoría como marcador de posición (por lo que el marcador de posición es específico de la categoría, pero es esencialmente el contenido de la plantilla).

Este componente de tema rota a través de una lista de indicaciones cortas cada vez que se abre el compositor (y se aplica a las respuestas, así como a los nuevos temas). Por lo tanto, los “marcadores de posición específicos de la categoría” aún podrían ser una adición útil aquí si queremos listas rotativas por categoría con una opción de reserva a la lista global, especialmente para “Soporte/Error” frente a “Chat general”.

Pero si el objetivo de alguien es específicamente “mostrar la plantilla de mi categoría como marcador de posición”, ese otro TC ya lo resuelve muy bien.