Mise en place de la recherche sur ce site
Je viens dâajouter la recherche sur ce site : elle est disponible depuis le lien /search. Enjoy đ
Jâai eu quelques difficultĂ©s Ă la mettre en place : la documentation sur hugo Ă ce sujet est difficle Ă comprendre et vraiment pas claire du tout ; poser des questions sur le forum amĂšne souvent Ă des rĂ©ponse de la forme âlis la docâ qui nâaident pas du tout au regard de la complexitĂ© de celle-ci. Il existe un grand nombre dâarticles sur le sujet, mais hugo a Ă©voluĂ© tellement que la plupart de ces articles proposent quelque chose qui ne fonctionne pas.
Je me suis fortement inspirĂ© de ce gist. Contraitement Ă ce quâon trouve en gĂ©nĂ©ral sur internet, cette implĂ©mentation sâappuie sur fuse.js et non sur lunr.js comme on trouve habituellement aujourdâhui. Je nâai pas dâavis sur la question, mais en tout cas cela fonctionne pour moi, câest la premiĂšre qualitĂ© du code !
Par contre je suis un peu âchagrinâ car il a fallu que jâimplĂ©mente Ă nouveau un peu de templating du site pour les rĂ©ponses Ă une recherche, mais en js/html plutot que en hugo : de la duplication pas facile Ă faire sauter⊠Jâai Ă©galement fait le choix de ne pas servir les fichiers javascript supplĂ©mentaires (fuse, jquery) par mon site mais de passer par les CDN existants (contrairement Ă ce que jâai fait dans Un petit peu dâoptimisation de ce site) car je me dis que la recherche sera trĂšs peu utilisĂ©e et quâil nâest pas nĂ©cessaire dâen optimiser le chargement.
Mais alors, pourquoi lâavoir implĂ©mentĂ©e cette recherche ?
- câest tout de mĂȘme fun Ă faire
- je voulais progresser dans ma connaissance de hugo
- câest une Ă©tape indispensable pour passer en IndieMark niveau 2 (en fait, je suis plutĂŽt dĂ©jĂ niveau 3 sur cet aspect) qui impose dâavoir un champ de recherche sur son site web.
Jâavance bien sur mon passage en niveau 2 qui est constituĂ© des Ă©lĂ©ments suivants :
- â avoir une h-card complĂšte et valide, avec icĂŽne de soi
- â avoir postĂ© plusieurs types de contenus diffĂ©rents (ici des articles de blog et des notes)
- â faire du POSSE vers les silos existants (par exemple, twitter) avec des boutons dâactions pour y rĂ©agir/reposter
- â avoir une navigation intĂ©grĂ©e au site (des liens suivant/prĂ©cĂ©dent entre les articles)
- â avoir une interface pour rechercher des contenus directement sur son site (pas nĂ©cessairement hĂ©bergĂ©e par le site en niveau 2, mais qui peut le plus peut le moins)
Il ne me reste plus quâun point Ă rĂ©soudre pour arriver au niveau 2, le niveau 3 implique de faire toutes ses interractions, y compris avec twitter et autres, depuis son propre site⊠exitant !
Posté également sur IndieNews
Réactions