When comparing Jekyll vs KeystoneJS, the Slant community recommends Jekyll for most people. In the question“What is the best online blogging platform?” Jekyll is ranked 2nd while KeystoneJS is ranked 4th. The most important reason people chose Jekyll is:
You can host your site with great stability and Jekyll support out of the box for free by using [GitHub pages](http://pages.github.com/).
Ranked in these QuestionsQuestion Ranking
Pro GitHub Pages offers free hosting with a github.io subdomain
You can host your site with great stability and Jekyll support out of the box for free by using GitHub pages.
Pro Has a built in server
You can spin up a static server at localhost:4000 by running
Pro Can use HTML to set up your page templates, and markdown for your blog posts
Pro Code highlighting with pygments
Jekyll has Pygments code highlighting built in so you can create syntax highlighted code blocks on your blog.
Pro Excels at blogging
Jekyll pages are structured by posts, which makes it easier to build a blog.
Pro Decent documentation
Link to docs
Pro Import your existing blog from many sources
Jekyll supports importing from many dynamic blog engines:
- Drupal 6
- Drupal 7
- Google Reader
- Movable Type
Pro Has built in watch mode
Watch mode will reconstruct the site as pages are updated which is great for testing.
Pro Large, active and helpful community
Thanks to it's popularity, Jekyll has a large and active community of users. This means there is plenty of learning material available for Jekyll and it's easy to find help from other users when needed.
Pro Customisable with data and collections
Can make sites very different from blogs but with a lot of pages by making templates using data and collections.
Pro Keystone comes with Express already configured
Express comes out of the box already configured from Keystone or it can be treated like any other Express Middleware.
Pro Out-of-the-box Admin UI
Keystone comes with an auto-generated Admin UI, which makes things very easy for any task that can be completed using Keystone. In any way Keystone is used, the Admin interfaces saves a lot of time and makes any job easier.
Pro Numerous amounts of templating engines are supported
Keystone supports almost all templating engines out there. Although it uses Jade directly after a fresh install and it points to using it further, other template engines can be installed and used instead.
Pro Keystone uses MongoDB through Mongoose
Keystone allows the usage of MongoDB since it comes with Mongoose, the most popular ODM for node and Mongo, this means that anything that is built using Mongo can be built with Keystone.
Pro Easy email management features
With Keystone it is easy to set up an email management system for an application. It has template-based emails and it's also integrated with Mandrill (Mailchimp's transaction email sending service)
Pro Easy to install and use
KeystoneJS is very easy to install and use.
Pro Effective session management
Keystone has advanced and effective session management and authentication features. Logging in and signing up is easy and it even has password encryption out of the box.
Pro Keystone has easy form processing
Using the data models defined by the developer, Keystone can validate forms automatically without any more setup. Form validation doesn't get easier than this.
Con Little Windows support
Windows is not an officially supported platform and setting it up on Windows requires a lot more tinkering than Linux or OSX.
Con It's slow for sites with a lot of posts
Con It does not have a built-in roles system
Although registering a new user is very easy, there is not any roles system out-of-the-box. There is only a check box "Access keystone" which gives a user full administrative power. Adding different kind of users is only possible by editing the user data model.
Con No default option to add pages in admin panel
Con Packaging externals libraries is tricky
Unless you want to import every JS.
Con It's hard for front-end developers with no MVC experience setting up views
Keystone follows MVC practices in managing routes, views and templates. Back-end developers with experience in working with MVC frameworks will find themselves at ease since the beginning, but developers who work on the front-end only will have a hard time finding what they are supposed to do to set up templates and such.
MongoDB is required to be up and running and a Yeoman generator is used to generate the application. Although the prompt based start-up in the command line helps you a lot, it still can be hard for someone inexperienced with NPM and Yeoman.