An extensive Jekyll theme designed to have similar functionality to Roam Research.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
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.
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
Jekyll requires the following:
- Ruby version 2.5.0 or higher
- RubyGems
- GCC and Make
See Requirements for guides and details.
- Install all prerequisites.
- Install the jekyll and bundler gems.
gem install jekyll bundler
- Clone this repository.
git clone https://github.com/brennanbrown/enjoyment-work.git
- Change into your new directory.
cd enjoyment-work
- Install gems from the
Gemfile
.
bundle install
- Build the site and make it available on a local server.
bundle exec jekyll serve
- 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.
Once you have Jekyll up-and-running, there are only a few steps needed to make this theme your own:
- Fill out the
_BLANK_config.yml
configuration file and replace the current_config.yml
- Remove the
example_posts
folder in_posts
,_notes
,_journals
and start writing your own! - Modify or remove the pages in
_pages
to however you see fit. - (Optional) Modify or remove this
README.md
with information about your own project or blog. - (Optional) Modify the CSS files in the
assets
folder to customize the site.
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).
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.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. You can use this project however you see fit without needing to give attribution.
See LICENSE
for more information.
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:
- Jumping Into Jekyll: https://dev.to/brennan/jumping-into-jekyll-4o9h
- Jekyll Cheatsheet: https://devhints.io/jekyll
- Course on Jekyll: https://learn-the-web.algonquindesign.ca/topics/jekyll/
- Jekyll for Designers: http://simpleprimate.com/jekyll-for-designers/index.html
- Dynamic Copyright on Jekyll: https://michaelsoolee.com/jekyll-copyright/
- Creating breadcrumbs in Jekyll: https://jekyllcodex.org/without-plugin/breadcrumbs/
- Display all items from ALL collections: https://stackoverflow.com/questions/31171041/listing-all-collections-in-jekyll
- For markdown previews: https://jaspervdj.be/lorem-markdownum/
- Case Study on webfont performance: https://www.keycdn.com/blog/web-font-performance
- An extensive
.gitignore
: https://miguelmota.com/bytes/extensive-gitignore/
Simply Jekyll was created by Raghuveer S.
Simple Jekyll Search was created by Christian Fei.