¿Cómo iterar sobre todos los temas para exportarlos como Markdown?

Hola, gente. Estoy considerando opciones para archivar contenido en un sitio de Discourse. He encontrado el hilo sobre cómo crear y servir un WARC, lo que me da algo con lo que trabajar, pero realmente me gustaría exportar todos los temas/hilos/lo que sea como Markdown.

Leí esto: Export topic as markdown

Ahora me gustaría saber cómo iterar sobre todas las URL de los temas para poder convertirlas en URL /raw/ y descargar todos los hilos de temas como Markdown. ¿Hay alguna forma fácil de obtener una lista de todas las URL de los temas en el sitio? ¿Necesito abrir una consola de Rails? ¿Hay alguna clase Ruby única que pueda enumerar todas las URL de los temas? ¿Algo?

Muchas gracias.

1 me gusta

Llegué, pero aún me encantaría saber sobre rutas más sencillas.

  1. Usa la administración de Discourse para descargar una copia de seguridad del sitio.
  2. Encuentra el volcado de la base de datos PostgreSQL dentro del archivo de copia de seguridad, luego restáuralo en una base de datos local.
  3. select id from topics, luego pega eso en un archivo.
  4. Usa sed o cualquiera de sus primos para convertir los IDs de temas en https://my-discourse-site/raw/<topic ID>
  5. for...; do wget $url; done
  1. Recupera el JSON de la categoría, por ejemplo https://meta.discourse.org/c/support.json (que redirige a https://meta.discourse.org/c/support/6.json)
  2. Obtén el primer lote de ID de temas del array topic_list.topics en ese JSON.
  3. Recupera topic_list.more_topics_url y ve al paso #2

Gracias por esto. ¿Cómo iteraría sobre las categorías entonces?

solicita /site.json e itera sobre el array categories.

1 me gusta