Hi again, so I’m working through this blog project, it’s my first Hugo project, and everything has been going pretty well, except now I’m at the point where I have to implement search, pagination and post filtering with about 400+ posts. The Hugo-based pagination works, but it refreshes the page (unless I make a specific template for this? Not sure). So what I’m thinking about is using the JSON features and making reload-free pagination as well as post filtering. I think I could also use the same JSON for searching.
So it seems like this is not necessarily idiomatic for Hugo. Any help reasoning about this would be amazing. Code-wise, I have my posts showing up in JSON at /posts/index.json
and all the posts show up nicely. But what I am really wondering is if this is a good path to follow. I’m sure it will probably work, but I’d like to hear some ideas.
Here’s what I would like to have happen ideally:
- Search bar in the nav goes to a page template at
/search/
with the search results on pressing Enter. Do I use URL query string to pass the search term to the new page and then the new page actually performs the search with something like Lunr.js? - Main post feed, should this populate with the JSON data as well, and then I can use JS to paginate and filter the posts? Can I do these things in a more “Hugo” sort of way instead? I would like no-refresh on filtering or navigating through post pages.
I realize I’m stepping outside of pure Hugo here, and I’m just kind of riffing about how to get this done. I can’t show full code because of NDA stuff, so I apologize for that, but Thank You for any and all help.