How can I use Hugo in conjunction with other Golang tools?

I’d like to take the hugo website one step further, or at least try to, because I’m working on adding some dynamic functionality to it. I’d prefer to avoid using NextJS in the future, therefore I looked for some Golang utilities to help extend the hugo static site. My issue is how to best integrate these technologies; I’d like to retain Hugo as the core project and simply add routing and authentication using tools like Gin from Gin-Gonic.

Is this something that has already been done?

Is Hugo simple to combine with other tools?

Should I just abandon hugo if I require something other than static content?

Thanks in advance for taking the time

I discovered other tools that leverage webassembly and other techniques to create Golang frontends, such as:

or

Is there anything preventing Hugo from implementing routing or token validation? Is this something I should expect with version 1?

Thanks

Hugo is a standalone tool that compiles into a standalone static binary. It integrates with a set of Go libraries, but that is a fixed set of libraries. If it’s not mentioned in the documentation, then it’s not supported.

hi @bep

I was well aware of Hugo’s current capabilities. My question was, should one expect some additions in the future? similar to nextjs to add not just ssg but also the SSR and ISR possibilities since the Go libraries already exist.

Thanks

Your title is not about the future. Yes, you can expect additions to Hugo in the future. What that is, time will tell.

1 Like

I just realise hugo is already using parts of https://gobuffalo.io can i already make use of hot reloading from within hugo project or is it something i can expect in the near future?

Hugo has its own hot reloading mechanism which you an expect improvements in.

Hi @bep

The HOT CODE RELOAD on web not on local host. Similar to what Gobuffalo does. This will help build more powerful websites with Hugo.

My question is, will Hugo always be static, or is there any plan to add routing, hot code reloading, and other features in the near future? Similar to what nextjs does with react but hugo to use golang.

Thanks


That’s not what Gobuffalo does, from what I read:

“Code, save, refresh. Use the buffalo dev command to rebuild your app, from backend to frontend, and just see the changes live!”

To answer your more general question:

  • Hugo uses open source Go libraries add great enough value (and which solves problem that would be much harder to write from scratch).
  • But it’s hard to look at a Go Application (not a library) and see a feature that application is doing well and just incorporate it in Hugo. Gobuffalo uses webpack for it’s asset bundling (and hot reloading, I think), which is a Node thing, which we try to avoid whenever possible (last time I looked, it was also fairly slow). It would not make sense to try to somehow reuse their code (I haven’t looked if that is even possible).

To summarise: Hugo uses a lot of powerful Go libaries (e.g. Goldmark, ESBuild) and will continue to do so.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.