Auto-enlazar palabras

¿En el plugin linkify o abbr?

Linkify debería ser un mejor punto de partida.

Necesitarás modificar esta función:

4 Me gusta

Acabo de realizar una integración con la API de Google Sheets para @jrgong, de modo que los datos de linkify se puedan obtener desde una hoja de cálculo de Google. Sin embargo, necesita más trabajo antes de que pueda lanzarlo en Meta.

Durante el proceso, bifurqué el TC. Me preguntaba si se puede proporcionar algún gancho de datos en el TC para cambiar o agregar fuentes de datos desde otro complemento o TC. Podría crear una PR, pero no he visto ese patrón con anterioridad. Quizás algo en la línea de los métodos replaceDataSource o addDataSource en la API de complementos.

3 Me gusta

¿No sería más fácil simplemente añadir una configuración de tema adicional?

¿nueva configuración para qué?

¿Para la integración con GSheets? No estoy seguro de haber entendido qué preguntas, pero me parece que sería más fácil si pudieras enviar un PR y fusionar tus cambios aguas arriba.

1 me gusta

La integración se realiza en forma de un plugin, ya que necesitamos autenticarnos para obtener los datos de la hoja. Además, los datos deben almacenarse en caché en la base de datos para evitar llamadas a la API en cada publicación.

Si escribo “safe-mode” aquí en meta, se enlaza automáticamente al tema relacionado (nota que no he hipervinculado ninguna palabra como se puede ver en la imagen, solo he escrito safe-mode).

¿Es un resultado de este tema (añadiendo algunos temas y la palabra relacionada) o es algún tipo de nueva magia que aún no ha sido anunciada :smiley:?

3 Me gusta

Sí, este es el componente y un uso muy práctico de él

@codinghorror esta es una razón bastante legítima para querer esto en el núcleo; si tuviéramos esto en el núcleo, podríamos implementar enlaces de retroceso para casos como este. El componente no puede hacer esto, solo los plugins.

9 Me gusta

Está bien, siempre y cuando esté en el área de Palabras Vigiladas, donde debería estar.

1 me gusta

Uso linkify para transformar las URL en enlaces de afiliado, y acabo de descubrir que también transforma los correos electrónicos de los usuarios.

Ejemplo: Si alguien tiene un correo como helen@amazon.com y tengo un enlace de afiliado de linkify con Amazon (por ejemplo: amazon.com/affiliate35),

transforma el correo de la siguiente manera: helen@amazon.com/affiliate35 y las personas no reciben los correos.

¿Alguien tiene alguna idea para excluir los correos de los usuarios con las opciones “excluded tags” y “excluded classes”?

Gracias.

2 Me gusta

Aquí hay una idea que podría ser muy útil y fácil de implementar:

¿Qué tal si añadimos una tercera opción a cada línea para una clase CSS personalizada?
De esa manera, se podría cambiar el aspecto de cada enlace individual.

En nuestro caso particular, queremos tener estilos diferentes para:

  • enlaces a productos e incluso categorías de productos → enlaces de afiliados a tiendas asociadas
  • términos técnicos → entradas del glosario
  • páginas internas → índice, preguntas frecuentes, guía para principiantes, etc.

Antes, simplemente instalábamos una segunda instancia del componente linkify y ajustábamos la clase CSS en el componente. De esa forma, no era seguro ante actualizaciones y tenía que editarse manualmente con cada una.

Además, estamos utilizando un fork personalizado con una hoja de cálculo de Google para gestionar las entradas (¡felicitaciones a @fzngagan y al equipo de thepavillion :wink: )

2 Me gusta

Hola @jrgong, estamos en discusión y planeamos lanzar el plugin al mundo con instrucciones.

2 Me gusta

Hola a todos

¿Cómo maneja el componente de tema las coincidencias de expresiones regulares que son algo similares o se superponen?

En mi caso específico, tengo las siguientes entradas

/super.?skunk/gi,https://link1.com
/skunk(?:(?: #?|#)?1)?/gi,https://link2.com

Para el término super skunk, la salida actual es: Super Skunk
El resultado deseado es: Super Skunk

¿Cómo puedo lograrlo?

Puedes probar cambiando el orden de las expresiones regulares en la configuración del tema.

el 23 de agosto de 2020 a las 19:06, el remitente jrgong a través de Discourse Meta <meta@discoursemail.com> escribió:

1 me gusta

Este componente del tema solo funciona para una lista de asociaciones estáticas entre palabras y una URL, definidas en una hoja de cálculo de Google o a través del panel de administración. ¿Y si hubiera un patrón de palabras que se conecten a una URL mediante JavaScript? Por ejemplo, “Nombre1” se conectaría a “url/1.jpg”, donde la asociación entre “Nombre1” y “1” siempre sería la misma, pero se definiría a través de una API.

No estoy seguro de qué te refieres, pero el componente del tema está escrito completamente en JS, así que eres bienvenido a modificarlo según sea necesario.

2 Me gusta

¿Puedes compartir este complemento?

1 me gusta
1 me gusta

Nuestro sitio tiene algo similar que creó otro administrador.

El sitio es para el lenguaje de programación SWI-Prolog y en los publicaciones referenciamos regularmente los predicados (piensa en métodos en lenguajes imperativos), y los predicados se distinguen por el número de parámetros, que es un número. Así que regularmente escribimos append/2, append/3, append/2,3, etc. Antes del plugin personalizado, invertíamos una cantidad medible de tiempo insertando manualmente los enlaces a la documentación, por ejemplo, append/2 append/3.
Cuando se combinan el nombre del predicado y su aridad, se les llama indicador de predicado.

Con el plugin, ahora solo ingresamos el indicador de predicado y el enlace se agrega automáticamente.

Nuestro sitio es público y tiene una página de prueba que demuestra esta funcionalidad.

Ver: Publicación para probar temas y plugins de componentes instalados
( Auto enlazar predicados de Prolog)

El plugin está en GitHub, pero requirió algunos cambios en el servidor de documentación para que funcionara.

Ver: jamesnvc/ discourse-linkify-prolog-predicates :slightly_smiling_face:

Por favor, no me hagan preguntas sobre esto, ya que solo sé que funciona. Sí, podría averiguarlo si fuera necesario, pero eso me llevaría unas horas que no tengo. :frowning_face:

2 Me gusta