trello2hugo: using trello as a backend for hugo static website generator

Hugo is a nice static web site generator, suitable for blogs and much more. I use trello as a backend for drafting, organizing and publishing content via hugo. It works wonders.

Hugo

hugo is written in golang. It is fast (when compared to jekyll for instance), it is simple and well, the website is here to tell you more about it.

hugo typical use case is:

I wrote something about this workflow a while ago.

hugo is however not limited to this very convenient and quite hacky workflow. Its features are quite extensive, from menus, sitemaps, shortcodes and such allows for a lot of use cases and with some creativity, even “quite dynamic” websites.

Trello

trello is more difficult to describe. It is said to be a “great tool to organize your life”. 10m users and rocking.

trello provides their users “boards” that contain “lists” (columns) that contain “cards”. The user experience is great whether it be the browser and mobile apps or the REST API, with its collaborative, “near real time” and open features.

Considering how great trello is to organize professional development project in a agile/kanban way, ease recruitment process, follow commercial leads, I have grown interested in using it as a website backend, not to say a “content management system”:

trello to hugo

trello2hugo is implemented as a daemon:

For now, my workflow is pretty convoluted:

  1. set up a hugo site and a trello2hugo instance on a server (requires a trello board id)
  2. create a trello board per web site,
  3. then create “_” prefixed lists, such as “_ideas”, “_drafts” or “_tobevalidated”, whose content will not be published
  4. and normal lists, such as “posts”, “tips”, “pages” whose content will be published
  5. then create card in the desired list, adding content, attachments and such
  6. then eventually move it to another list, possibly publishable
  7. trello2hugo then receives trello’s webhook POST, fetches content and regenerate the website.

Images

trello 2 hugo