Añadiendo búsqueda al blog
Acabo de caer en la cuenta de que esto está más abandonado que Batman el día del padre. Hace no mucho, y a la vez hace muchísimo, decidí ponerle búsqueda al blog. Pero este blog está hecho con Hugo, no hay base de datos y eso se junta con que llevaba mucho tiempo con ganas de probar lunr.js para cualquier chuminada. Pues bien, al final utilicé fuse.js.
Tampoco es que sea un trabajo de ingeniería de la NASA. Al final lo que se ha tocado para poder buscar es:
- Añadir un stage más al Dockerfile para instalar fuse.js vía pnpm.
- Cambiar la config de Hugo para que saque los resultados en JSON, de momento solo la home. Aunque puedo jugar bastante con esto. Tampoco tengo tantas entradas como para preocuparme por ahora.
- Decirle a fuse dónde buscar.
- Crear una pagina de resultados de busqueda.
- Pelearme con los estilos para que la búsqueda se quede potable.
Y voilà. De camino he arreglado el tema oscuro y he añadido un switch para cambiar entre tema oscuro y claro.
Pero, ¿por qué fuse.js y no lunr.js?
Pues para la cantidad de entradas que voy a tener, varios miles en el mejor de los casos, es la opción más rápida, tanto en rendimiento, como en búsquedas, como en setup. ¿Que me quedo corto o se vuelve la UI inusable? Pues ya tiraré de lunr, o alguna otra opción más loca. De momento estoy contento con el resultado.