Hugo vs Lektor?

I’m looking for a static site generator, and the community and momentum around Hugo make it a compelling choice. I’ve also looked at Lektor, which is pretty easy to get started with and has a powerful data model. I was wondering if anyone here has used both and can help me decide? Obviously the answer will be a bit biased towards Hugo, but any feedback is welcome!

1 Like

I don’t know. Lektor looks very nice, it has an admin interface, which Hugo lacks. But I have not heard of it before now, so I guess it is pretty young – so I would guess that if you want to invest in a static site generator, taking both for a spin would be the best way to decide.

I have :confused: To be honest, Lektor was quite straightforward to create a site with and theme, but it seems to have much less momentum than Hugo. Hugo also has a rather steep learning curve, all I managed to make with it was a page so trivial that I ended up taking the generator out and sticking with raw html.

Lektor’s data model is very customizable, and that’s one of its strengths, but I am mostly wondering whether Hugo can do that too. Unfortunately, reading the documentation doesn’t give me a sense for data modeling with Hugo, as I find it hard to understand without lots of study of the concepts Hugo uses.

I have just glanced through the Lektor pages, and the approach Lektor takes looks takes looks slightly different from Hugo, with a concept of a model that is very close to the view, while Hugo is more content-oriented with some semi-fixed conventions. I would guess you could do the same with both, but I guess some stuff is easier in the other and vice versa. We should improve the docs on this, you are right about this.

Also, this issue

Tells me that Lektor is targeting smaller type of sites.

First I’ve heard of Lektor, too. It looks like you could build the same site with Hugo except without having to define a model for content. Hugo’s data model is loose where Lektor’s is explicit. I’m assuming Lektor primarily uses the data model for it’s web editor.

PS - There are several capable SSGs out there. The main reason I chose Hugo was because it’s written in Go, and you get a single binary. No need to manage Node, Ruby and Python run-time environments.

1 Like

Ah, thank you both. I also like that Hugo is a single binary, but what I like more is that it’s actively maintained. The issue @bep pointed out is very concerning, and the fact that it’s 9 months old shows that Lektor isn’t very active.

Improving Hugo’s docs (particularly the high-level architecture, because low-level concepts are well-documented) would be great, I think I’ll soldier on with the current docs for now, thank you!

Considering you were exploring Lektor - Python powered generator - have you considered Nikola and/or Pelican - both are actively developed and very capable although not as speedy as Hugo and it’s recommended to install them using virtualenv.

I haven’t, but I’ll take a look at them now, thank you! I’ve heard good things about Nikola after I made this topic, so I’m curious now.

Lektor is built by a very renowed person in the python universe. Armin Ronacher. he has been creating werkzeug, Jinja2, flask. Werkzeug is a very famous basic http framework. jinja2 has been created for sphinx as template engine, which in turn is used for the official python documentation and the quasi de facto standard in python land for good documentation. readthedocs a famous site for hosting documentation is built upon sphinx. And Armin has a very been doing brilliant design choices whenever he has been touching and creating a framework. It will be my next tryout next to Phonemic, as I’m also interested in React. Flask a micro framework integrating both werkzeug and jinja and a lot more into a modular and powerfull webframework you can scale up to your needs. You can built a custom website with server in no time with that. And all of this knowledge is built into Lektor. I’m pretty sure you wont be dissapointed. And the documentation is straight forward. Definitely easier, and the template system is documented brilliantly and you can do almost everything in the template system which you can do in python! It’s just a matter of configuration.

The only thing that makes Lektor score a point in my -non-dev- eyes is the in-built CMS GUI

But then again there are CMS GUIs out there, that one can hook up to work with Hugo.

Not really a CMS GUI, but you might try caddy-hugo plugin for Caddy server which provides web interface for Hugo-powered sites.

Yes I know about Caddy. Thanks.

Had a look at lektor again yesterday and deleted it again. Sticking with hugo so far.