An open API service indexing awesome lists of open source software.

https://github.com/brennanbrown/purelog

๐Ÿ“” A responsive sidebar Jekyll theme, created with the Pure.css framework, designed for writers and bloggers of all kinds.
https://github.com/brennanbrown/purelog

jekyll jekyll-theme ruby-on-rails

Last synced: 9 months ago
JSON representation

๐Ÿ“” A responsive sidebar Jekyll theme, created with the Pure.css framework, designed for writers and bloggers of all kinds.

Awesome Lists containing this project

README

          





Logo

Purelog Theme for Jekyll


A responsive, well-designed template to help you get started on your next blog or website.


Explore the docs ยป




View Demo
ยท
Report Bug
ยท
Request Feature
ยท
Changelog


Netlify Status
GitHub code size in bytes
GitHub repo size
GitHub release (latest by date)
RubyGems
GitHub top language
GitHub issues
GitHub last commit
GitHub license
Website


Deploy to Netlify
GitHub followers
GitHub watchers
GitHub stars
GitHub forks

## Quick start โ€” use Purelog as a theme gem

The Purelog theme is published on RubyGems and can be used in any Jekyll site.

1) Add to your Gemfile:

```ruby
gem "purelog", "~> 0.1.0"
```

2) In your `_config.yml`:

```yaml
theme: purelog
plugins:
- jekyll-feed
- jekyll-seo-tag
- jekyll-paginate-v2
- jekyll-sitemap
```

3) Install and run:

```bash
bundle install
bundle exec jekyll serve
```

See also:
- Changelog: [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
- Theme gem guide/playbook: [`docs/THEME_GEM_GUIDE.md`](docs/THEME_GEM_GUIDE.md)

## About The Project

**Purelog** is a responsive, sidebar theme for the popular JAMstack generator Jekyll that only uses the minimal [**Pure.css** framework](https://github.com/pure-css/pure) (hence the name!), while still following the best practices possible for accessibility and search-engine optimization.

I created this after finishing [Watery](https://github.com/brennanbrown/watery) (which this theme is built off of), as a way to add more functionality and design while still remaining as lightweight as possible.

This project is aimed towards those looking for an interesting theme for Jekyll that has features that aren't found commonly elsewhere, specifically having separate sections dedicated towards: blogging, note-taking, and daily journal entries.

![Purelog Screen Shot](https://i.postimg.cc/NfxJvZgx/purelog2.png)

### 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](https://github.com/christian-fei/Simple-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.
- Having a `_pages` collection for easier organization.
- An author bio at the end of each post. (Located in `_includes/author.html`)
- Full Rouge support for syntax highlighting. (Currently using `base16.solarized.light`)
- Auto-generated RSS feed, sitemap, accessibility features, and search-engine optimization.

## Installation

### Prerequisites

Jekyll requires the following:

- Ruby version **2.5.0** or higher
- RubyGems
- GCC and Make

See [Requirements](https://jekyllrb.com/docs/installation/#requirements) for guides and details.

### Instructions

1. Install all [prerequisites](https://jekyllrb.com/docs/installation/).
2. Install the jekyll and bundler [gems](https://jekyllrb.com/docs/ruby-101/#gems).

```
gem install jekyll bundler
```

3. Clone this repository.

```
git clone https://github.com/brennanbrown/purelog.git
```

4. Change into your new directory.

```
cd purelog
```

5. Install gems from the `Gemfile`.

```
bundle install
```

6. Build the site and make it available on a local server.

```
bundle exec jekyll serve
```

7. Browse to [http://localhost:4000](http://localhost:4000)

If you encounter any errors during this process, check that you have installed all the prerequisites in [Requirements](https://jekyllrb.com/docs/installation/#requirements).

If you still have issues, see [Troubleshooting](https://jekyllrb.com/docs/troubleshooting/#configuration-problems).

## 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.

### Analytics (optional)

This theme supports Google Analytics 4 (GA4):

- Set `google_analytics: G-XXXXXXXXXX` in `_config.yml` (or only in production via a separate config).
- The snippet only loads in production builds.

## Documentation

- Project overview: this `README.md`
- Changelog: [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
- Configuration: [`_config.yml`](_config.yml) and `_BLANK_config.yml`
- Layouts and includes: [`_layouts/`](_layouts/) and [`_includes/`](_includes/)
- Collections: [`docs/COLLECTIONS.md`](docs/COLLECTIONS.md)
- Deploying: [`docs/DEPLOYING.md`](docs/DEPLOYING.md)
- Using as a theme (preview): [`docs/THEME.md`](docs/THEME.md)

## Roadmap

There are several features that I'm still planning to create and integrate. Completed items are checked:

- [ ] Create a [Theme Gem](https://jekyllrb.com/docs/themes/#publishing-your-theme)
- [x] Add easy and automatic button to [Deploy to Netlify](https://docs.netlify.com/site-deploys/create-deploys/#deploy-to-netlify-button)
- [x] Add continuous integration (GitHub Actions) for build checks
- [x] Add documentation for creating custom collections and auto-generated pages
- [ ] Add more example posts and articles

See the [open issues](https://github.com/othneildrew/Best-README-Template/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:

- Jumping Into Jekyll:
- Jekyll Cheatsheet:
- Course on Jekyll:
- Jekyll for Designers:
- Dynamic Copyright on Jekyll:
- Creating breadcrumbs in Jekyll:
- Display all items from ALL collections:

### Other Resources

- For markdown previews:
- Case Study on webfont performance:
- An extensive `.gitignore`:

## Credit

[**Pure.css**](https://purecss.io/) was created by the [Pure CSS](https://github.com/pure-css) group.

[**Simple Jekyll Search**](https://github.com/christian-fei/Simple-Jekyll-Search) was created by [Christian Fei](https://github.com/christian-fei).

Various notes and ideas were taken from [**Simply Jekyll**](https://github.com/raghuveerdotnet/simply-jekyll) by [Raghuveer S.](https://github.com/raghuveerdotnet).