# Jekyll Jekyll is a static site generator written in Ruby, created by [[Tom Preston-Werner]] (GitHub co-founder) in 2008. It transforms plain text files (Markdown, HTML, Liquid templates) into static websites, eliminating the need for databases or server-side processing. Jekyll became the default engine for [[GitHub Pages]], making it one of the most widely used static site generators. Jekyll pioneered the "blog-aware" static site concept, with built-in support for posts, permalinks, categories, and pagination. Its simplicity—"no more databases, no more comment moderation, no more security updates"—made it popular for blogs, documentation, and project sites. While newer alternatives like Hugo and [[Quartz (App)|Quartz]] offer different features, Jekyll remains influential. ## Key Features - **Markdown support**: Write content in Markdown - **Liquid templating**: Flexible template language - **YAML front matter**: Metadata in files - **Blog-aware**: Built-in post handling - **GitHub Pages integration**: Deploy with git push - **Plugin ecosystem**: Extend functionality with Ruby gems ## Directory Structure ``` _config.yml # Site configuration _posts/ # Blog posts (date-prefixed) _layouts/ # Page templates _includes/ # Reusable components _data/ # YAML/JSON/CSV data files _site/ # Generated output ``` ## Basic Usage ```bash # Install gem install bundler jekyll # Create new site jekyll new my-site cd my-site # Serve locally bundle exec jekyll serve ``` ## Jekyll vs Other SSGs | Aspect | Jekyll | Hugo | Quartz | |--------|--------|------|--------| | Language | Ruby | Go | TypeScript | | Speed | Slower | Very fast | Fast | | GitHub Pages | Native | Manual | Manual | | Learning curve | Moderate | Moderate | Easy | ## References - https://jekyllrb.com - https://github.com/jekyll/jekyll - https://en.wikipedia.org/wiki/Jekyll_(software) ## Related - [[Tom Preston-Werner]] - [[GitHub Pages]] - [[Quartz (App)]] - [[GitHub]] - [[Markdown]]