I just discovered Hugo and was amazed by the how FAST builds are and I kinda like the philosophy as well.
Now I have never been an advocate for any specific technology, rather I like to “pick the right tool for the job”, and this is the object of this post: find the right tool for the job for a new project of mine.
The requirements are quite simple and straight-forward: being able to build a website with SEO in mind, while gathering content from multiple data sources.
The first assertion “build a website with SEO in mind” is quite what Hugo guarantees by ULTRA-MEGA-FASTLY pre-building the site in seconds ! Now, I have doubts regarding the second assertion: “using multiple data sources”. Indeed, from what I read so far it seems to me that Hugo only works “file based” by respecting its folders convention. Pages should come from the
content folder using
markdown + frontmatter and that’s it ?! or is there any way around actually ?
To be honest, I reduced my choices to “Hugo.js” or “Gatsby.js”. Hugo would be my preferred choice but I don’t find much thing around gathering data from external RESTful JSON APIs for example, whereas “Gatsby.js” offers it out of the box (but is of course WAY WAY WAY less performant than Hugo at build time).
So, does any of you is, by any chance, pulling ALL its content from some REST endpoints ?
I have searched this forum about “headless CMS”, “API JSON”, “REST content”… but honestly, there is not that much literature to get inspired from… The only “answer” I found was along the lines of “just create a program that will transform JSON to .md files”: that is clearly not a solution, as it would involve Creation/Read/Update/Delete mechanism with all the trouble one can get while building those transaction-based code (in essence, this would be like manage a file-oriented database just a la wordpress: total non-sense to me).
My question is then: can Hugo FETCH JSON from an REST API, and GIVEN THIS JSON => construct a website ?
Thanks A LOT for your help ! And I am really crossing fingers onn that one: I WANT TO USE HUGO PLEASE !!! ahah