This commit is contained in:
rzen
2020-08-31 21:07:53 -04:00
parent 80d69fc179
commit 98ab475ef5
23 changed files with 455 additions and 227 deletions

View File

@ -1,28 +1,30 @@
---
title: README
title: Getting Started (attic)
layout: page
date: 2019-07-22
tags: readme wip
permalink: /readme/
categories: xglobal
tags: isabelline install
permalink: /getting-started-attic/
categories: global
sort_order: 1
---
# jekyll-theme-isabelline
# Jekyll theme: «Isabelline»
Simple clean mobile-friendly theme for long form blogging. Also good for private note taking.
{% include image.html name="undraw_browsing_online_sr8c.svg" caption="Welcome to «Isabelline»!" %}
## Installation
Start with a jekyll website ([new](#how-to-create-new-jekyll-website) or existing).
Update Gemfile to reference the new theme and plugins it requires:
```ruby
```sh
# ...
gem "jekyll-theme-isabelline", "~> 1.0.0"
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
gem 'jekyll-tidy'
gem 'jekyll-tagging'
gem 'jekyll-mentions'

View File

@ -2,18 +2,23 @@
layout: page
title: About
permalink: /about/
tags: about isabelline
categories: xglobal
sort_order: 0
categories: global about
pinned: true
---
# Meet jekyll theme «Isabelline»
This theme is designed for long form note-taking. Works reasonably well for blogging as well.
- Available as a gem
- Mobile friendly
- Comfy styling for long form reading
- Progressive customizability
- Semantic HTML markup
- Categories and tags
- Compatible with Github Pages (with minor exceptions)
Please enjoy!

View File

@ -1,9 +1,10 @@
---
title: Change log
layout: page
date: 2019-07-21
tags: changelog wip
date: 2020-05-01
tags: isabelline changelog
categories: global
sort_order: 4
---
# Change log
@ -14,3 +15,14 @@ categories: global
- **Ver 0.2.x**: Public beta releases. Primarily for internal use.
- **Ver 0.3.x**: Public beta releases for general use.
- **Ver 1.0.0**: General release. (ETA 9/1/2019)
# TODO
- [ ] Move project to github (ETA 9/1/2019)
- [ ] Write a feature-comprehensive example/tutorial page
- [ ] Find and include a large number of blogs/posts to show off what a real isabelline blog might look like
- [ ] Feature: picture gallery; read pictures from a directory
- [x] Remove all badges except for private
- [ ] Create an option for showing text in footer "Jekyll theme Isabelline."
- [ ] Make sure `site.baseurl` is pre-pended everywhere it needs to be

272
_pages/getting-started.md Normal file
View File

@ -0,0 +1,272 @@
---
title: Getting Started
layout: page
date: 2019-07-22
tags: isabelline install
permalink: /getting-started/
categories: global
sort_order: 1
---
# Jekyll theme: «Isabelline»
Simple clean mobile-friendly theme for long form blogging. Also good for private note taking.
{% include image.html name="undraw_browsing_online_sr8c.svg" caption="Welcome to «Isabelline»!" %}
## Features
- Compatible with Jekyll 4.0
- Mobile friendly & responsive
- Semantic lightweight markup, super fast
- Customizable color scheme
- Reserved, minimalistic, elegant design
- Conventional image or image include
- Content features: Quote, Aside, Image, ...
- Fully personalizable
## Installation
Read
Start with a jekyll website ([new](#how-to-create-new-jekyll-website) or existing).
Update Gemfile to reference the new theme and plugins it requires:
```sh
# ...
gem "jekyll-theme-isabelline", "~> 1.0.0"
group :jekyll_plugins do
gem 'jekyll-tidy'
gem 'jekyll-tagging'
gem 'jekyll-mentions'
gem 'jekyll-sitemap'
gem 'jekyll-feed'
gem 'jekyll-seo-tag'
end
# ...
```
(Optionally) Backup your `_config.yaml`, e.g.:
```sh
cp _config.yaml _config.yaml.backup
```
Copy `isabelline`'s starter `_config.yaml` and customize it to your liking:
```sh
curl https://git.rzen.dev/rzen/jekyll-theme-isabelline/raw/branch/master/_config.yaml -o _config.yaml
```
Create the following folders for your future contents: `_blog`, `_drafts`, `_pages`, `_posts`, and `_private`. The latter is for private notes which will only be rendered in [local mode](#local-mode):
```sh
mkdir _blog _drafts _pages _posts _private
```
Also note that `/_private` is included in `.gitignore` (along with `_drafts`).
Copy `docker-compose.yaml`, `.gitignore` and `index.html` file into the root of your website:
```sh
curl https://git.rzen.dev/rzen/jekyll-theme-isabelline/raw/branch/master/docker-compose.yaml -o docker-compose.yaml
curl https://git.rzen.dev/rzen/jekyll-theme-isabelline/raw/branch/master/.gitignore -o .gitignore
curl https://git.rzen.dev/rzen/jekyll-theme-isabelline/raw/branch/master/index.html -o index.html
```
Run bundle install:
```sh
docker-compose 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 .
```
ALternatively you may run this command using docker compose:
```sh
docker-compose run 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).
<a id="local-mode"></a>`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
Email: your_rubygem_account@example.com
Password: your_password
Signed in.
Pushing gem to https://rubygems.org...
Successfully registered gem: jekyll-theme-isabelline (0.1.8)
```
Maks sure to update version in `jekyll-theme-isabelline.gemspec`. Also, the script will prompt you to authenticate.
Additional helpers, to run jekyll directly, for example to create a new website:
```sh
$ docker-compose run jekyll help
Fetching gem metadata from https://rubygems.org/.............
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
[ .. skipping superfluous output for brevity .. ]
Using jekyll-theme-isabelline 0.1.8 (was 0.1.7) from source at `.`
Fetching jekyll-tidy 0.2.2
Installing jekyll-tidy 0.2.2
Bundle complete! 8 Gemfile dependencies, 43 gems now installed.
Bundled gems are installed into `/usr/local/bundle`
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux-musl]
jekyll 3.8.6 -- Jekyll is a blog-aware, static site generator in Ruby
Usage:
jekyll <subcommand> [options]
Options:
-s, --source [DIR] Source directory (defaults to ./)
-d, --destination [DIR] Destination directory (defaults to ./_site)
--safe Safe mode (defaults to false)
-p, --plugins PLUGINS_DIR1[,PLUGINS_DIR2[,...]] Plugins directory (defaults to ./_plugins)
--layouts DIR Layouts directory (defaults to ./_layouts)
--profile Generate a Liquid rendering profile
-h, --help Show this message
-v, --version Print the name and version
-t, --trace Show the full backtrace when an error occurs
Subcommands:
docs
import
build, b Build your site
clean Clean the site (removes site output and metadata file) without building.
doctor, hyde Search site and print specific deprecation warnings
help Show the help message, optionally for a given subcommand.
new Creates a new Jekyll site scaffold in PATH
new-theme Creates a new Jekyll theme scaffold
serve, server, s Serve your site locally
```
To run gem:
```sh
$ docker-compose run gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 3.0.4
- RUBY VERSION: 2.6.3 (2019-04-16 patchlevel 62) [x86_64-linux-musl]
- INSTALLATION DIRECTORY: /usr/gem
- 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).

View File

@ -0,0 +1,58 @@
---
title: Configuration
layout: page
date: 2020-05-31
tags: isabelline configuration
categories: global
sort_order: 2
---
# Configuration parameters in `_config.yaml`
## title
The title of the blog.
## subtitle
Not currently used.
## nav.home
Override for the "Home" menu item in the main navigation.
## description
Copy that will be used in the `description` tag of the `head` section of generated html.
## tagline
Used as part of the home page title.
## baseurl
Will be pre-pended to all links generated for the blog.
## copyright_owner
`full_name`, `short_name` and `email` are used to construct the copyright message rendered at the bottom of all generated pages.
## author
`full_name`, `short_name` and `email` are used to construct byline on pages that use `blog`, `post` and `page` layouts.
## license
`name` and `url` used to generate the licensing message at the bottom of every page.
## tz
## jekyll_theme_isabelline
`name` and `url` used to generate a message indicating that the site was generated using this theme. Can be optionally removed.
## theme: jekyll-theme-isabelline
Tells `jekyll` to use this theme.

View File

@ -0,0 +1,13 @@
---
title: Features
layout: page
date: 2020-05-31
tags: isabelline features
categories: global
sort_order: 3
---
# Features
## image.html

16
_pages/todo.md Normal file
View File

@ -0,0 +1,16 @@
---
title: TODO
layout: page
date: 2019-07-23
tags: todo wip
categories: xglobal
---
# TODO
- [ ] Move project to github (ETA 9/1/2019)
- [ ] Write a feature-comprehensive example/tutorial page
- [ ] Find and include a large number of blogs/posts to show off what a real isabelline blog might look like
- [ ] Feature: picture gallery; read pictures from a directory
- [x] Remove all badges except for private
- [ ] Create an option for showing text in footer "Jekyll theme Isabelline."
- [ ] Make sure `site.baseurl` is pre-pended everywhere it needs to be