Previsualizaciones de la lista de temas (TLP)

Oh, eso es un error, definitivamente. ¡Tendremos que investigar eso, buena observación!

4 Me gusta

Excelente, gracias por la PR, ¡fusionada!

IMPROVE: alineación del icono de “me gusta” cuando no hay “me gusta” por Canapin · Pull Request #16 · merefield/discourse-topic-list-previews-theme (github.com)

:clap:

4 Me gusta

¿Hay alguna forma de tener la miniatura en la página de categoría con los temas más recientes también?

Tres desafíos:

  • Estoy bastante seguro de que las miniaturas no se serializan aquí. Siéntete libre de confirmarlo. Eso podría superarse mejorando el plugin sidecar.
  • Cuando miré esto por última vez, la estructura de la página no permitía anulaciones de bajo riesgo aisladas en una plantilla de hoja. En general, no queremos anular toda la página, lo que podría causar cambios disruptivos o enmascarar actualizaciones de funciones del núcleo. Una PR para el núcleo podría ayudar aquí…
  • ¿Espacio?

Siéntete libre de enviar las PR requeridas.

1 me gusta

Puntos válidos. Quizás elija otra presentación para las páginas de categorías, tal vez en mosaico o algo así.

Tengo otra pregunta.
¿Es posible que las páginas de categorías (que contienen listas de temas) se muestren en mosaicos en el móvil, pero con miniaturas en el escritorio? Intenté varios ajustes de configuración pero no pude lograrlo.


edición: Lo logré. Detallaré cómo lo hice más adelante en caso de que pueda interesar a alguien más, agregué esta edición para que nadie pierda tiempo explicándome cómo hacerlo :wink:

Entonces, si no me equivoco, aquí están los ajustes…

Primero necesitamos que la visualización en mosaico solo aparezca en la vista móvil de (al menos?) una lista de temas:

Luego las miniaturas para escritorio Y móvil:


Me equivoqué al principio porque pensé que “mosaicos” y “miniaturas” eran dos presentaciones diferentes de una lista de temas, ambas que contenían las imágenes. pero este no es el caso. Las miniaturas son necesarias si quieres que las imágenes aparezcan en una lista de temas, ya sea en mosaico o no.

No es necesario agregar sus categorías manualmente aquí:
image

Ya que anularemos esta configuración habilitando la siguiente:
image

Ahora, deberías tener miniaturas pequeñas en el escritorio en cualquier lista de temas (la más reciente, una categoría específica, etc.), y una presentación “en mosaico” en el móvil con miniaturas grandes:

2 Me gusta

Tengo un pequeño problema con mi perfil de usuario, supongo que es un pequeño error:

Dado que menciona la miniatura, supongo que está relacionado con este componente temático.

Todavía estoy jugando con este componente temático, por cierto… Y es increíble. :+1:


Tengo una pregunta. ¿Es posible evitar que un tema tenga una miniatura, aunque el tema realmente contenga alguna?

Este es mi caso:
Tengo una categoría de documentación para la que las miniaturas son bienvenidas.
Pero también tengo un tema que simplemente da consejos generales al crear un nuevo tema:

No hay ninguna imagen significativa en él, pero añade automáticamente una miniatura:

La única forma que veo para sortear el problema es añadir una imagen aleatoria en algún momento del tema y establecerla como miniatura.

Ejemplo:

(pero admito que se ve bien, sin embargo…)

1 me gusta

Sí, esa localización está fallando y necesita ser arreglada. :beetle:

No, si hay una imagen, intentará usar una. Añadir una adicional agradable es la solución perfecta :+1:

Esto también se verá mejor para la consistencia del diseño de tu página.

En cualquier caso, a menudo utilizo un Componente de temas destacados (el incorporado de TLP u otro) para resumir ese tipo de publicaciones en la parte superior, por lo que tener una imagen es bastante agradable.

1 me gusta

Estoy intentando restringir la miniatura y las teselas a una etiqueta específica además de ciertas categorías, pero no funciona para las etiquetas. Aquí está mi página de configuración, solo quiero teselas y miniaturas para la etiqueta destacada. ¿Puedes decirme si estoy haciendo algo mal?

También falta una cadena en la configuración del plugin:

image

Y otro error con la opción topic list excerpt removes links (el extracto de la lista de temas elimina los enlaces).
Así que, como ya se informó, si la desactivo, ya no hay ningún enlace, ni siquiera el texto, así como el botón “leer más”:

Si la activo, aparecen enlaces en los extractos, así como el enlace “leer más”, pero por alguna razón:

  1. El enlace “leer más” no tiene el estilo de un enlace (también ya se informó, pero como todo está relacionado con la misma opción, prefiero agrupar todos los problemas a la vez)

  2. Algunos extractos están mal envueltos. Algunos ejemplos:
    Aquí solo se envuelve la primera parte de la oración del extracto:


Se envuelve una línea vacía como extracto:

Estaría feliz de ayudar más, pero desafortunadamente, no sé nada sobre plugins y la mayor parte del código de Discourse… :pensive:

1 me gusta

eso parece un error, lo revisaré pronto.

3 Me gusta

Lo he corregido en la rama beta, ¿podrías confirmar que todo parece estar bien ahora y luego fusionaré?

Para que esto funcione, tienes que eliminar tag y tag-mobile y añadir la etiqueta específica a la configuración de la lista de etiquetas.

(Instala la versión beta como otro componente y asóciala con un tema de prueba).

Resultó ser un cambio importante en el núcleo.

Usa el botón avanzado para revelar la rama y escribe beta:

Si no tengo noticias tuyas en un tiempo, lo fusionaré de todos modos, pero esta es tu oportunidad de probarlo y adelantarlo.

1 me gusta

Esto solo se consigue haciendo :hammer_and_wrench: , un poco a la vez y recogiendo trozos de conocimiento por el camino :nerd_face: :open_book:

3 Me gusta

También hay un error de JS cuando navegamos por el sitio web si el componente de tema está instalado.

También es visible en tu propio sitio web: https://starzen.space/
Haz clic en cualquier publicación y mira la consola de JS.

TypeError: Cannot read properties of null (reading 'querySelector')
El error se activa en esta línea del archivo de Discourse:

1 me gusta

Parece un cambio disruptivo en el núcleo: FIX: Don't listen for focus/blur events if the topic-list opts out of… · discourse/discourse@97e7bb1 · GitHub

Principalmente solucionado con: COMPATIBILITY: add css class to tiles to support focus · merefield/discourse-tc-topic-list-previews@4f0f0f0 · GitHub

Solución en la rama beta como se demostró en mi sitio.

La ventaja de solucionar esto de esta manera es que ahora obtenemos el indicador de la última visita en la ficha :+1:

(La mayoría de los errores también desaparecen en el móvil, pero este indicador normalmente no es visible en el móvil en ningún caso, ¡así que voy a considerar esto solucionado!)

Tendré que hacer un seguimiento del error menos frecuente relacionado con el elemento del título.

1 me gusta

Esto está corregido en beta: FIX: missing localisation on user prefs and update locale paths

1 me gusta

¡Gracias!

Con respecto a la opción del plugin topic list excerpt remove links, ¿puedo sugerir cambiar la expresión regular que utilizas actualmente?

URI::regexp eliminará cualquier cadena que tenga un patrón de enlace, lo cual no es, en mi opinión, siempre deseable.
Los enlaces a veces tienen el mismo contenido de texto que su valor href. Este es incluso un caso muy común en cualquier foro, y eliminar el contenido del texto puede llevar a extractos extraños con oraciones que no tienen sentido.
Esta expresión regular también eliminará palabras que estén dentro o fuera de los enlaces a veces. Doy ejemplos a continuación.

Aquí hay una comparación con otra expresión regular: \u003ca .+?\\\u003e(.+)?\u003c\\/a\u003e
Esta es solo una expresión regular de ejemplo; entiendo que URI::regexp cubre los enlaces de una manera más compleja (y supuestamente más confiable).

Aquí hay un ejemplo de publicación:

Y los extractos resultantes en la lista de temas:

URI::regexp

\u003cbig\u003e↓\u003c/big\u003e


(se eliminó el contenido del texto del enlace de Facebook, y también se eliminó la palabra “Day” en “Astronomy Picture of the Day” por una razón desconocida :face_with_raised_eyebrow:)

\u003ca .+?\\\u003e(.+)?\u003c\\/a\u003e
\u003cbig\u003e↓\u003c/big\u003e


Otro ejemplo, solo sobre el contenido de texto de un enlace eliminado que hace que el extracto sea extraño de leer:

URI::regexp
\u003cbig\u003e↓\u003c/big\u003e


(“¿el enlace era This may be my favorite halo”?)

\u003ca .+?\\\u003e(.+)?\u003c\\/a\u003e
\u003cbig\u003e↓\u003c/big\u003e


(ahora eso tiene sentido)

Por lo tanto, no estoy sugiriendo que \u003ca .+?\\\u003e(.+)?\u003c\\/a\u003e sea mejor, fue solo una prueba rápida, pero no estoy seguro de que usar URI::regexp sea la mejor opción con respecto a los resultados, tanto por las dos razones que mencioné: el contenido del texto del enlace desaparece, haciendo que los extractos sean extraños a veces, y también elimina palabras dentro o fuera de los enlaces de vez en cuando por una razón oscura. Este último problema parece ser lo suficientemente frecuente como para no ser despreciable.

3 Me gusta

Aprecio las desventajas del método actual (incluido el entusiasmo exagerado y sorprendentemente extraño del algoritmo actual, que elimina demasiado), pero llegamos aquí a través de la experiencia.

La razón principal por la que existe esta opción es en realidad para:

  • preservar el formato de la vista previa cuando los enlaces son muy largos (es decir, eliminar todos los enlaces para que un enlace largo nunca se filtre en el extracto y cause problemas). Intenta el escenario en el que un enlace es muy, muy largo. El antiguo tema de soporte está plagado de problemas con las publicaciones del tema que contienen enlaces largos.
  • preservar el extracto como una superficie de clic predecible donde siempre navegará al tema. El texto es demasiado pequeño para que esto sea discrecional.

También debería ser:

  • sencillo de mantener y no causar ruido de soporte. Debido a que el método actual es una clase de utilidad compatible, no tengo que preocuparme por mantenerla.

¿Todavía no estoy convencido de que necesitemos cambiar esto para el público en general?

Podría estar abierto a hacer de esto una selección de tres opciones: APAGADO, sin enlaces (es decir, el método actual) y experimental. Se aceptan PR (solicitudes de extracción). Primero moveré el código auxiliar actual a la rama principal del plugin. Intentaré hacer eso esta semana.

3 Me gusta

Gracias por tu respuesta :slight_smile:

Arreglé la última frase de mi publicación anterior, olvidé una palabra…
Escribí

y además elimina palabras dentro o fuera de los enlaces de vez en cuando por una razón oscura. El último problema parece ser lo suficientemente frecuente como para ser insignificante.

Olvidé un “no”, así que…

y además elimina palabras dentro o fuera de los enlaces de vez en cuando por una razón oscura. El último problema parece ser lo suficientemente frecuente como para no ser insignificante.


Puede que no entienda mucho de código, pero intentaré entender y arreglar el problema número 2 que mencioné aquí: Topic List Previews (TLP) - #110 by Canapin hoy.

(los extractos no están correctamente envueltos por .topic-excerpt: el envoltorio parece cerrarse justo antes del primer enlace presente en el extracto en lugar del final del extracto)

A decir verdad, ¿el mejor enfoque podría ser que le planteemos un problema al mantenedor de esa utilidad y consigamos que lo solucione? Ciertamente no se está comportando como cabría esperar.

Sí, aún no he mirado eso. Siéntete libre de enviar un PR con una solución mientras tanto.

1 me gusta

Gracias, no había pensado en eso, no tenía idea de dónde venía esta utilidad.

Después de buscar un poco, básicamente la expresión regular reconoce casi cualquier palabra o cadena como parte de un esquema de URI siempre que vaya inmediatamente seguida de dos puntos, es decir, sin espacio entre ellos, lo cual es comprensible, pero también un poco excesivo, ya que en el idioma inglés (a diferencia del francés, por ejemplo), no ponemos espacio entre una palabra y dos puntos. De ahí que las palabras “legítimas” sean devoradas por la expresión regular solo porque, desafortunadamente, van seguidas de dos puntos.


Una solución podría ser tener un campo (no prellenado para evitar daños en instalaciones existentes) en la configuración del plugin para introducir los esquemas que queremos eliminar.

Por ejemplo, la configuración podría ser:

Esquemas de URI a eliminar: http|https|ftp|mailto

Eso resultaría en:

#{URI::regexp(['http', 'https', 'ftp', 'mailto'])}
(pero, desafortunadamente, distingue entre mayúsculas y minúsculas, aunque eso seguramente se puede ajustar de alguna manera)

Si la configuración está vacía, entonces se usaría esto:

#{URI::regexp}

Siendo el comportamiento actual.

¿Sería bienvenido un pull request con dicha configuración?