When creating a website from scratch, there are two modes of thinking: the design (or rather, purpose) and the technicality (or rather, how to achieve that purpose).
I've written before about the importance of having a website of your own--specifically using Gatsby--but there's another technology that I'd like to advocate for--one that's admittedly less trendy, but a lot older.
I've been a fan of the software Jekyll for years now, since I started dabbling in coding back in high school nearly ten years ago. In truth, a lot of different static generators, and the JAMstack movement itself has been built on the shoulders of Jekyll, at least partially.
Fun Fact: dev.to uses Jekyll front matter!
The idea that you could host a website with GitHub--by simply having the files in a repository and a domain name--makes Jekyll arguably the most accessible technology for people getting started in web development.
Before I get ahead of myself, Jekyll is a simple, blog-aware, static site generator for personal, project, or organization sites. It's written in Ruby-on-Rails, another less trendy but older and powerful framework.
From Wikipedia: Instead of using databases, Jekyll takes the content, renders Markdown or Textile and Liquid templates, (all good tools for a web developer to know) and produces a complete, static website ready to be served by Apache HTTP Server, Nginx or another web server. It's the engine behind GitHub Pages, a feature that allows users to host websites based on their GitHub repositories for no additional cost.
Although Jekyll is built to be extremely simple, it's also extremely extensible. I've learned a lot of little tricks after using it for so long that I'd love to share with others.
Resources
Planet Jekyll, which is home to a multitude of repositories dedicated to collect and share the best community-built additions to Jekyll:
- Awesome Jekyll: A collection of awesome Jekyll goodies (tools, templates, plugins, guides, etc.)
-
Plugins: A collection of awesome Jekyll plugins (gems, scripts, pasties, etc.)
- Pasties: A collection of awesome Jekyll plugins (scripts, pasties, etc.) adding converters, generators, filters & tags, importers, new commands & switches, and more.
- Editors: A collection of awesome Jekyll editors
- Themes: A collection of awesome (gem-packaged) Jekyll themes.
- Showcase: Showing off some of the most popular websites created with the framework!
Of course, since all of these repositories are open source, don't be shy to contribute yourself once you get deeper into your journey with Jekyll!
Funnily enough, the sheer accessibility of Jekyll sadly means that it's also extremely underutilized! There's so much opportunity for growth and creation, so many blogs or projects started that don't end up going anywhere--but I suppose you could say that about anything on the internet.
I'd love to see anybody else's blog or project that's using Jekyll! Thanks for reading.
Top comments (3)
Hi Brennan. Thanks for the follow on GH. I clicked through and found your post.
My coding blog uses a standard GH Pages theme and some customization to make a navbar, which is sadly missing from the couple of standard themes I looked at.
michaelcurrin.github.io/coding-blog/
I want to add to the resources list. How to solve problems with vanilla Jekyll - no plugin
jekyllcodex.org/without-plugins/
I don't know if that's the same as a pastie? Haven't heard that term before.
I collect Jekyll resources here
I am going to add some of your links there too :)
michaelcurrin.github.io/dev-resour...
ThX for shring Brennan. Jekyll is a gem.