/blog

My personal work blog

Primary LanguageHTMLMIT LicenseMIT


Logo

Enjoyment Work: Theme for Jekyll

An extensive Jekyll theme designed to have similar functionality to Roam Research.
Explore the docs »

View Demo · Report Bug · Request Feature

Netlify Status GitHub code size in bytes GitHub repo size GitHub top language GitHub issues GitHub last commit GitHub license
GitHub followers GitHub watchers GitHub stars GitHub forks

About The Project

Enjoyment Work is an academic / research-focused theme that provides extensive features for note-taking and personal growth. It is based off of the Digital Garden philosophy, which you can read more about on the demo site

The next step for Enjoyment Work is to properly configure the syntax required to work with Obsidian, a powerful knowledge base that works on top of a local folder of plain text Markdown files. Which would ultimately allow somebody to turn their Obsidian notes into an online blog by simply using the _notes directory.

There are several other planned features in the Roadmap ahead, as the project is far from perfect. It is currently using the Bootstrap 4 framework, which although is powerful and extensive, does slow thing down, along with the rather large style.css file which needs to be trimmed down and converted into SASS.

If you like the idea of being able to use Jekyll as a free alternative to Roam Research, Notion, etc. then please feel free to use this template, or even better, contribute to this project by submitting a pull request or creating an issue! First-time contributors are definitely welcomed!

In addition, I have created three other free Jekyll themes that you might be interested in:

  • 🚰 Watery: A minimalist, bare-bones theme for Jekyll only using the Water.css framework while still following the best practices for accessibility and search-engine optimization.
  • 📔 Purelog: A responsive sidebar Jekyll theme using the Pure.css framework, designed for writers and bloggers of all kinds.
  • Classic Spirits: A classic sidebar Jekyll theme for old-school blogging, created with the Bulma framework. Built on Soot Spirits by Abhishek Nagekar.

Enjoyment-Work Screen Shot

Features

Here are a few interesting features of this Jekyll theme:

  • A fully customizable and empty _BLANK_config.yml to make getting up-and-running easy.
  • A speedy, on-site search function using Simply Jekyll Search.
  • Custom collections for different types of material (note-taking, journal writing, etc.)
  • An auto-generating /archive page that displays all entries from all collections.
  • Auto-generating /tags and /categories pages.
  • Breadcrumbs for improved navigation and SEO.
  • Having a _pages collection for easier organization.
  • An author bio at the end of each post. (Located in _inclues/author.html)
  • Full Rouge support for syntax highlighting. (Currently using base16.dark)
  • Auto-generated RSS feed, sitemap, accessibility features, and search-engine optimization.
  • Creates backlinks to other notes automatically
  • Context menu on feed to instantly see related posts and backlinks
  • Supports Roam-style double bracket link syntax to other notes
  • On hover page previews
  • Features a simple and responsive design
  • Supports Markdown or HTML notes

Installation

Prerequisites

Jekyll requires the following:

  • Ruby version 2.5.0 or higher
  • RubyGems
  • GCC and Make

See Requirements for guides and details.

Instructions

  1. Install all prerequisites.
  2. Install the jekyll and bundler gems.
gem install jekyll bundler
  1. Clone this repository.
git clone https://github.com/brennanbrown/enjoyment-work.git
  1. Change into your new directory.
cd enjoyment-work
  1. Install gems from the Gemfile.
bundle install
  1. Build the site and make it available on a local server.
bundle exec jekyll serve
  1. Browse to http://localhost:4000

If you encounter any errors during this process, check that you have installed all the prerequisites in Requirements.

If you still have issues, see Troubleshooting.

Getting Started

Once you have Jekyll up-and-running, there are only a few steps needed to make this theme your own:

  1. Fill out the _BLANK_config.yml configuration file and replace the current _config.yml
  2. Remove the example_posts folder in _posts, _notes, _journals and start writing your own!
  3. Modify or remove the pages in _pages to however you see fit.
  4. (Optional) Modify or remove this README.md with information about your own project or blog.
  5. (Optional) Modify the CSS files in the assets folder to customize the site.

Roadmap

There are several features that I'm still planning to create and integrate, including:

  • Optimize and minify the stylesheets and design.
  • Configure to work with Obsidian out-of-the-box.
  • Create a Theme Gem
  • Add easy and automatic buttons to "Deploy to Netlify", Heroku, etc.
  • Add Travis continious integration checks
  • Add additional documentation for creating custom collections and auto generated pages
  • Add more example posts and articles

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. You can use this project however you see fit without needing to give attribution.

See LICENSE for more information.

Resources

While creating this theme, I came across a lot of helpful and hard-to-find resources. If you'd like to dive deeper into Jekyll, check them out:

Other Resources

Credit

Simply Jekyll was created by Raghuveer S.

Simple Jekyll Search was created by Christian Fei.