Why Lektor, Jonathan?
So I told you a bit about what Lektor is, but why am I using it? There are a few reasons, but a few that really stuck out to me and made me pretty interested in trying Lektor (or any static content generator, for that matter). These are in no apparent order, but if I had to choose a #1 reason for using a static content generator, it'd probably be some combination of 1 and 2.
When there are no databases or crazy backend things happening on a web server, it's a lot harder to compromise. There's no opportunity for things like SQL injection, brute-forcing admin credentials for login, etc.
It's just simple. I created a few templates, utilized a theme I found on the Internet, and my site was up and running in no time.
There's almost no overhead to running a static site. Yes, I am still running a web server (Nginx, to be exact). No, I am not running MySQL, complicated PHP processes, etc.
Since my entire site is made from primarily flat files into other flat files by way of Lektor, it's very easily kept in git, and THAT is awesome.
What are the negatives?
I was pleasantly surprised that I was able to get this entire site stood up in roughly four hours. I think that most people appreciate the shiny of something like WordPress or Drupal, but at the end of the day, if you're just trying to maintain a simple site, you'd be doing yourself a service to consider a static content generator. I like Lektor enough that I am interested in potentially working on the project if I have the time. Python3 is not officially supported, though the functionality exists and should be in the next release. As soon as that hits, I will probably fork the repo and try to tackle a few bugs to become more intimate with Lektor. The community seems to be an interesting mix of people who are die hard users, fans, and developers while others are just clueless as to how to leverage Lektor.
I would also consider trying an alternative static content generator, but I really like that Lektor uses Jinja2 for templating. In general, it feels very Pythonic and reminds me a lot of developing in Flask which I've used for several other projects. I admit that for me, letting things like comments to someone outside of myself (e.g. Disqus in this case) is really difficult. I'm a very DIY kind of guy whenever I can be, and I know I have written that type of functionality before.