Recientemente incluí en el blog una página de Tags para mostrar los tags de los post.
Esta tarea no fue fácil ya que no existía una categorización por tags de los post; es decir los post ya creados no tenían tags asignados, ni existe un catálogo de tags; ya que este contenido fue migrado de Drupal 8 a Gatsby y se hizo sin la taxonomía; dado que ya no tengo el proyecto de drupal tuve que ingeniarmelas para extraer de cada post las keywords más relevantes.
Para extraer las tags o keywords más relevantes lo hice con un script en Go, que básicamente lo que hace es leer de cada post, mediante la librería Tagify extrae los tags más relevantes y tiene la ventaja que soporta archivos de texto planos, HTML y markdown; lo malo que los archivos del post tienen mucho HTML y las etiquetas de HTML la librería las toma como keywords pero es mejor que tener que incluir a mano las tags de cada post.
Por último obtuve la lista de tags más relevantes de cada post, lo que siguió fue leer cada post línea por línea e insertar los tags y una vez hecho esto guarde los archivos.
Digamos que lo anterior fue el proceso de backend ahora lo que continua fue hacer que Gatsby leyera todos los post y me trajera todas las tags y la cantidad de post con esa categoría; eso mediante una query de graphQL.
Y posteriormente renderizarlas en una nueva página de tags llamada /tags Por ahora no le puse paginación.
A continuación cree otra página para mostrar los post relacionados con la tags que el usuario seleccionará; esta página la llamé /tags/{tag}.
Fue un proceso un poco largo pero prendí mucho en el camino.
Saludos.