Me acabo de dar cuenta de que cuando publico contenido HTML usando la API posts.json y luego edito la publicación, veo el HTML en el contenido de la publicación.
La edición de estos mensajes no mostrará ninguna etiqueta <br>.
Nota: los párrafos se crean automáticamente según el contexto cuando se procesa la publicación, por lo que no es necesario agregar estas etiquetas a la entrada sin procesar de tu consulta.
Ok, ya veo. Entonces, la única opción para tener una visualización limpia cuando los usuarios editan sus publicacionesHTMLmigradas a través de la API es reemplazar todas las etiquetas <p> y <br> con \n si entiendo correctamente?
Si intentas sanear algún contenido HTML importado, supongo que también puedes reemplazar los párrafos con saltos de línea, así te asegurarás de que haya saltos de línea y la publicación se procesará correctamente.
Ok, gracias
Última pregunta:
¿Hay alguna forma de que me digas cómo añadir una mención, como esta: @Canapin, en una publicación a través de la API? Intenté usar @username en el campo raw, pero no funciona.
Si vas a importar un montón de datos, deberías usar un script de importación. Muchos de ellos tienen ejemplos de cómo eliminar HTML y manejar comillas y menciones.
Si quieres agregar datos continuamente a un sitio existente, usa la API.
¡Ah, veo mi error! Estaba probando con un nombre de usuario en minúsculas en lugar de usar el nombre de usuario exacto, ya que la mención distingue entre mayúsculas y minúsculas. Mis disculpas.
La verdad es que creé una prueba de concepto (POC) con un script de importación en Ruby, pero como necesito sincronizar datos de varios días entre una solución antigua y Discourse, prefiero ejecutar un script simple de Python. Es mucho más rápido de configurar y mantener. Además, es coherente, ya que extraigo los datos antiguos con Python. El proveedor anterior no nos concederá acceso a la base de datos, así que extraje todo el contenido a una base de datos.
Pero, por supuesto, es una mejor solución si es una migración simple