README.md in jekyll-theme-poole-2.0.1 vs README.md in jekyll-theme-poole-2.1.0

- old
+ new

@@ -95,9 +95,80 @@ ``` To easily scale your site's typography and components, simply customize the base `font-size`s here. +## Install as a gem-based theme + +Jekyll encourage the use of `bundler` to manage themes and plugins. [Themes](https://jekyllrb.com/docs/themes/) can be packaged as Ruby gems since Jekyll 3.3. If you don't intend to modify the theme a lot, this is a nice way of focusing on your content and benefits from theme updates. + +### 1. Install theme + +1. Create a folder that will be your Jekyll source directory, e.g `blog`. +2. Create a `Gemfile` in your source directory to list all theme dependencies, it should looks like this: + +```ruby +# frozen_string_literal: true + +source "https://rubygems.org" + +gem "jekyll", "~> 3.7.0" +gem "jekyll-theme-poole", "~> 2.0" +``` + +### 2. Configuration + +1. Run `bundle install` to install all theme dependencies. +2. Copy [`_config.yml`](example/_config.yml), [`index.html`](example/index.html), [`404.html`](example/404.html) (and [`about.md`](example/about.md)) from this repository's [example files](example) to your source directory. +3. Run `bundle exec jekyll serve --livereload` to preview your website locally. + +If you list the files in your source directory, don't be surprised if you only see: + +``` +├── 404.html # default 404 page template +├── Gemfile # bundler configuration +├── Gemfile.lock # bundler version lock +├── _config.yml # jekyll configuration +├── _posts # your posts are here +├── _site # default destination build directory +├── about.md # default example page +└── index.html # list all the posts on the homepage +``` + +:bulb: When you use gem-based themes, the themes files don't appear in your source directory, they're packaged within the gem. + +If you wonder where the original theme files are, `bundler` allows you to show a gem content: + +```sh +tree $(bundle show jekyll-theme-poole) +├── LICENSE.md +├── README.md +├── _includes +│   └── head.html +├── _layouts +│   ├── default.html +│   ├── home.html +│   ├── page.html +│   └── post.html +├── _sass +│   ├── _base.scss +│   ├── _code.scss +│   ├── _layout.scss +│   ├── _masthead.scss +│   ├── _message.scss +│   ├── _pagination.scss +│   ├── _posts.scss +│   ├── _syntax.scss +│   ├── _type.scss +│   └── _variables.scss +└── assets + ├── apple-touch-icon-precomposed.png + ├── favicon.ico + └── styles.scss +``` + +If you want to customize the theme, you'll have to copy the files you need to modify in your source directory. +Report to jekyll's documentation to learn [how to override a theme](https://jekyllrb.com/docs/themes/#overriding-theme-defaults). ## Development Poole has two branches, but only one is used for active development.