Jekyll vs Metalsmith: What are the differences?
What is Jekyll? Blog-aware, static site generator in Ruby. Think of Jekyll as a file-based CMS, without all the complexity. Jekyll takes your content, renders Markdown and Liquid templates, and spits out a complete, static website ready to be served by Apache, Nginx or another web server. Jekyll is the engine behind GitHub Pages, which you can use to host sites right from your GitHub repositories.
What is Metalsmith? An extremely simple, pluggable static site generator. In Metalsmith, all of the logic is handled by plugins. You simply chain them together. Since everything is a plugin, the core library is actually just an abstraction for manipulating a directory of files.
Jekyll and Metalsmith can be primarily classified as "Static Site Generators" tools.
Some of the features offered by Jekyll are:
- Simple - No more databases, comment moderation, or pesky updates to install—just your content.
- Static - Markdown (or Textile), Liquid, HTML & CSS go in. Static sites come out ready for deployment.
- Blog-aware - Permalinks, categories, pages, posts, and custom layouts are all first-class citizens here.
On the other hand, Metalsmith provides the following key features:
- Read template files from a directory
- Parse files for template placeholders
- Prompt user to fill in each placeholder
"Github pages integration" is the top reason why over 65 developers like Jekyll, while over 8 developers mention "Plugability" as the leading cause for choosing Metalsmith.
Jekyll and Metalsmith are both open source tools. It seems that Jekyll with 38.1K GitHub stars and 8.31K forks on GitHub has more adoption than Metalsmith with 7.27K GitHub stars and 640 GitHub forks.
What is Jekyll?
What is Metalsmith?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Metalsmith?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Earlier this year, I migrated my personal website (dzello.com) from Jekyll to Hugo. My goal with the migration was to make the development environment as pleasant as possible and to make it really easy to add new types of content. For example, I knew I wanted to add a consulting page and some portfolio-style pages to show off talks I had given and projects I had worked on.
I had heard about how fast Hugo was, so I tried it out with my content after using a simple migration tool. The results were impressive - the startup and rebuild times were in milliseconds, making the process of iterating on content or design less cumbersome. Then I started to see how I could use Hugo to create new page types and was very impressed by the flexibility of the content model. It took me a few days to really understand where content should go with Hugo, but then I felt very confident that I could create many different types of pages - even multiple blogs if I wanted - using a consistent syntax and with full control of the layouts and the URLs.
After about 6 months, I've been very happy with the results of the migration. The dev environment is light and fast and I feel at ease adding new pages and sections to the site.
We recently needed to rebuild our documentation site, currently built using Jekyll hosted on GitHub Pages. We wanted to update the content and refresh the style to make it easier to find answers.
We considered hosted services that could accept our markdown content, like ReadMe.io and Read the Docs, however both seemed expensive for essentially hosting the same platform we already had for free.
I also looked at the Gatsby Static Site generator to modernize Jekyll. I don't think this is a fit, as our documentation is relatively simple and relies heavily on Markdown. Jekyll excels at Markdown, while Gatsby seemed to struggle with it.
With limited knowledge of CSS/HTML5, Jekyll makes it easy to create templates for static HTML5 sites. Unless I really need a database for something, this is the tool I prefer for standing up websites.
I settled on Jekyll to be the CMS for my research blog. Out of the box it works, and over time I added to it... why write a dissertation when you can instead hack templates to tweak things.
This static site generator is used with "contentful-import" ruby plugin, which allows to fetch data from Contentfull and generate new web-pages based on it. Easy and fun to use.
We wanted to pay the cost for website generation up front. Doing this allows us to put our website up in AWS S3 where it can be served reliably and for cheap.
We use Jekyll to build our website. We created a collection for talks. We handle speakers and sponsors via data files.
Liked the approach the best of all SSR's out there, integrated it with Gulp for one single build pipeline