Simple clean mobile-friendly theme for long form blogging. Also good for private note taking.
## Installation
Fundamentally setting up a jekyll website with a theme is a straightforward process.
1. Start with a website ([new](#how-to-create-new-jekyll-website) or existing).
2. Update Gemfile to reference the new theme and plugins it requires
3. (Optionally) Backup previous configs.
4. Copy `isabelline`'s starter `_config.yaml` and customize it to your liking.
5. Run bundle install.
## Docker cookbook
### <a id="how-to-create-new-jekyll-website"></a>How to create a new jekyll website
```sh
$ docker run --rm -it -v "$PWD:/srv/jekyll" jekyll/jekyll:3.8 jekyll new .
```
### How to backup previous configs
`isabelline` needs the following files placed in the root directory of your jekyll website:
`index.html`
: This is the entry page for the website. It lists out blogs and posts grouped by year.
`_config.yaml`
: Global configurations for the website.
`Gemfile`
: A Gemfile is a file which is used for describing gem dependencies for Ruby programs. A gem is a collection of Ruby code that is extracted into a “collection” which can be called later.
`404.html`
: A page that is shown when the target for a link isnt available. Here's an example of a [404 link](/broken-link).
`private.html`
: Index file for private notes. These notes will only render in local mode. That is when `JEKYLL_ENV` is set to `local`.
`docker-compose.yaml`
: Useful helper for running development tasks.
### Using `docker-compose.yaml`
To run jekyll in local development mode:
```sh
$ docker-compose up jekyll-serve
```
To push gem to [rubygems.org](https://rubygems.org):
```sh
$ docker-compose run gem-push
Successfully built RubyGem
Name: jekyll-theme-isabelline
Version: 0.1.8
File: jekyll-theme-isabelline-0.1.8.gem
Enter your RubyGems.org credentials.
Don't have an account yet? Create one at https://rubygems.org/sign_up
- USER INSTALLATION DIRECTORY: /root/.gem/ruby/2.6.0
- RUBY EXECUTABLE: /usr/local/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: /usr/gem/bin
- SPEC CACHE DIRECTORY: /root/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/gem
- /root/.gem/ruby/2.6.0
- /usr/local/lib/ruby/gems/2.6.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "install" => "--no-document"
- "update" => "--no-document"
- "gem" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/jekyll/bin
- /usr/local/bundle/bin
- /usr/local/bundle/gems/bin
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
```
And to run bundle:
```sh
$ docker-compose run bundle help
[ .. skipped budnle help output for brevity .. ]
```
Of course if docker isn't your thing, conventional development lifecycle is perfectly usable.
### Basic customization
Simply follow instructions in `_config.yaml`.
### Tweaking color scheme
`isabelline` is a pretty color but she likes to play. Copy `_config.scss` from the source and place it under `_sass/_config.scss`. Follow instructions in that file on how to adjust colors.
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/rzen/jekyll-theme-isabelline. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## Development
To develop and test simply run from the root of a cloned `jekyll-theme-isabelline` project:
```sh
$ docker-compose up jekyll-serve
```
## License
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).