81 lines
3.5 KiB
Markdown
81 lines
3.5 KiB
Markdown
title: What is Lektor
|
|
---
|
|
summary: A brief introduction into what makes Lektor special.
|
|
---
|
|
sort_key: 20
|
|
---
|
|
body:
|
|
|
|
When it comes to creating websites, there is a ludicrous amount of tools available.
|
|
They range from full blown content management solutions like Drupal over
|
|
desktop solutions like Google Web Designer to Cloud Hosted Website solutions
|
|
like WIX to more programmer focused approaches like Jekyll which generate
|
|
websites out of templates and markdown files.
|
|
|
|
*Lektor is different from any of these.*
|
|
|
|
## Lektor is Static
|
|
|
|
Lektor learned from the huge range of static file generators like Jekyll,
|
|
Pelican, Hugo, Middleman and many more about the values of generating a
|
|
completely static website. This means that unlike WordPress or similar
|
|
solutions it does not run on a server, but your local computer (or a build
|
|
server) and generates out static HTML that can be uploaded to any web server
|
|
or content distribution platform like S3 with CloudFront.
|
|
|
|
Why go static? Because the vast, vast majority of websites will be read many
|
|
more times than they will update. This is crucial because dynamic does not
|
|
come for free. It needs server resources and because program code is running
|
|
there it needs to be kept up to date for to ensure there are no security
|
|
problems that are left unpatched. Also when a website gets a sudden spike
|
|
of traffic a static website will stay up for longer on the same server than
|
|
a dynamic one that needs to execute code.
|
|
|
|
Sure, there are some things you cannot do on a static website, but those
|
|
things you would not use Lektor for. For small dynamic sections, JavaScript
|
|
and pairing up with other services is a good solution.
|
|
|
|
<img src="static.png" alt="" class="screenshot">
|
|
|
|
## Lektor is a CMS
|
|
|
|
However Lektor also takes from content management systems like WordPress
|
|
and provides a flexible browser based admin interface from which you can
|
|
edit your website's contents. Unlike traditional CMS solutions however it
|
|
runs entirely on your own computer.
|
|
|
|
This means you can give a Lektor website to people that have no understanding
|
|
of programming and they can still modify the content and update the website.
|
|
|
|
<img src="admin.png" alt="" class="screenshot">
|
|
|
|
## Lektor is a Framework
|
|
|
|
Lastly however Lektor learns from experience in writing web frameworks. Lektor
|
|
is much more than a website generator because it is based on a very flexible
|
|
internal flat file database which can be used to model any website content.
|
|
Unlike static blog generators which are based on some markdown content and
|
|
“front matter” metadata Lektor's content is 100% configurable.
|
|
|
|
If you have ever used a web framework like Django or Ruby on Rails you might
|
|
feel right at home in how you can model and query your data.
|
|
|
|
<img src="templates.png" alt="" class="screenshot">
|
|
|
|
## Collaborate and Synchronize
|
|
|
|
Lektor acknowledges that there are web developers and content editors and that
|
|
their interests and preferences are very different. This is reflected heavily
|
|
in the design of Lektor and if you make your first Lektor project you can see
|
|
why. A web developer would go in and setup the theme and structure of a
|
|
Lektor project and content creators can then fill in the content of the site.
|
|
|
|
The collaboration can be based on version control systems like git or just
|
|
basic solutions like Dropbox. It's intentionally built so that collaboration
|
|
can work via the most basic systems like Dropbox or just network shares.
|
|
|
|
When you go live, you can synchronize up your changes into a remote server
|
|
just as easily.
|
|
|
|
<img src="git.png" alt="" class="screenshot">
|