Skip to main content

A static website generator.

Project description

At its core, Engineer is a static website generator. In other words, Engineer let’s you build a website from a bunch of files - articles written in Markdown, templates, and other stuff - and outputs another bunch of files - HTML, mostly - that you can then copy wherever you want.

But Engineer has some pretty nifty features that you might find enticing. You can read more about the project at http://engineer.readthedocs.org/ or grab the code at http://github.com/tylerbutler/engineer.

Licensed under the MIT license.

Installation

A full installation guide is available at https://engineer.readthedocs.org/en/master/installation.html. If you’re in a hurry, though, you can install the most recent version of Engineer using pip. Simply run the following command:

pip install engineer

Features

Write posts from anywhere

Posts can be written/edited in Markdown and stored/synchronized using Dropbox or another file synchronization solution.

Preview your site locally

Engineer includes a small development web server that you can use to preview your site locally without deploying anywhere.

Manage your site remotely

Even baked sites need a little management, and many existing static generators require you to load up the terminal and execute a command to rebuild your site. Engineer lets you do that, of course, but also provides Emma, a built-in mini management site (optional) that lets you do most of the common management tasks remotely.

Themes make it easy to change your site’s appearance

Themes provide flexibility in the site look and feel without starting from scratch or rewriting a bunch of content. You can write your own themes as well.

Use LESS instead of CSS

Engineer lets you use LESS instead of CSS if you’d like. LESS can either be preprocessed on the server (requires that lessc be installed on non-Windows systems) or processed client-side using less.js.

It’s fast

Engineer outputs content quickly (and I’m working to make it even faster), and because the output content is completely static, it is blazingly fast to serve, scales up very well, and is completely independent of any specific web server or technology. Once generated, you can copy your site anywhere and use any web server you like. In addition, Engineer can optimize your JavaScript and CSS/LESS to minimize their size. Engineer is all about speed.

Caveats

Despite all of these great features, there are some things that you might not like:

No built-in search

Search isn’t built in. You can configure Google site search or something, but it’s not baked into Engineer. But… do people really use anything besides Google/Bing to find stuff anyway?

Dynamic things require a bit more work

Static sites can feel limited if you’re accustomed to doing something super-dynamic every time a page is loaded. Most of these things can be handled using either client-side JavaScript (e.g. timeago.js) or clever uses of the Jinja 2 template system (see the navigation highlighting functionality in Engineer itself for an example of things that can be done).

Might not fit your site’s needs

If you have a lot of one-off pages (template pages or other such things) then managing them can get a bit cumbersome. Engineer really excels when a majority of your site’s content has a similar look and feel and you can leverage the post metadata for a majority of your content. Engineer isn’t limited to blogs, per se, but it does make some assumptions that most of your content comes in the form of articles.

Only supports Markdown and Jinja 2

While ideally this will not always be true, currently Engineer requires your posts be written in Markdown and any templates you create be written in Jinja 2. This may change in the future, but for now you have to use those two languages.

Engineer is not a CMS

If you’re looking for a full-blown content management system, then… keep looking. Engineer is decidedly not what you want. Engineer operates on the basic principle that your content is stored in text files with minimal metadata in the files themselves, so if you’re looking for rich URL management, image/file manipulation capabilities, etc., Engineer will make you very sad. It’s not designed to do that stuff.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

engineer-0.5.2.zip (3.6 MB view details)

Uploaded Source

Built Distribution

engineer-0.5.2-py2-none-any.whl (3.6 MB view details)

Uploaded Python 2

File details

Details for the file engineer-0.5.2.zip.

File metadata

  • Download URL: engineer-0.5.2.zip
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for engineer-0.5.2.zip
Algorithm Hash digest
SHA256 095314e25ce317640bbf1d2b8b74d6a348283e857aa6941399092b33a0d76d07
MD5 c34e9aa7a778023294e66b208932c5e0
BLAKE2b-256 25deec3bda9ef7978afc8fd7915db1520b5ef3289978a3f9fdd157e120c407ab

See more details on using hashes here.

File details

Details for the file engineer-0.5.2-py2-none-any.whl.

File metadata

File hashes

Hashes for engineer-0.5.2-py2-none-any.whl
Algorithm Hash digest
SHA256 7a76919b2ff2d703140eb927051df034f71b4847c9c1003f35fb07ac17557cf8
MD5 92b7200c6ed1904102c6a98919bd876e
BLAKE2b-256 21833703a9334586d10925d3fbcc88a62b8c0e64c84ea70a696f07252ee8e1ce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page