Skip to content

Commit 3ae9bce

Browse files
committed
Update installation and upgrade instructions
1 parent 6d2ee6d commit 3ae9bce

File tree

2 files changed

+138
-62
lines changed

2 files changed

+138
-62
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8+
## Unreleased
9+
10+
### Changed
11+
- New installation and upgrade instructions.
12+
813
## [1.2.0] - 2018-01-05
914

1015
### Changed

README.md

Lines changed: 133 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -22,90 +22,89 @@ with a few enhancements thrown in for good measure:
2222
## Table of Contents
2323

2424
1. [Installation](#installation)
25-
1. [Ruby Gem Method](#ruby-gem-method)
26-
2. [GitHub Pages Method](#github-pages-method)
27-
1. [Remove the Unnecessary](#remove-the-unnecessary)
28-
2. [Structure](#structure)
29-
1. [Starting Fresh](#starting-fresh)
30-
2. [Starting from jekyll new](#starting-from-jekyll-new)
31-
3. [Configuration](#configuration)
32-
1. [Skin](#skin)
33-
2. [Google Fonts](#google-fonts)
34-
3. [Text](#text)
35-
4. [Navigation](#navigation)
36-
5. [Pagination](#pagination)
37-
6. [Author](#author)
38-
7. [Reading Time](#reading-time)
39-
8. [Comments (via Disqus)](#comments-via-disqus)
40-
9. [Google Analytics](#google-analytics)
41-
4. [Layouts](#layouts)
42-
1. [Default](#layout-default)
43-
2. [Post](#layout-post)
44-
3. [Page](#layout-page)
45-
4. [Home](#layout-home)
46-
5. [About](#layout-about)
47-
6. [Curriculum Vitæ/Resume](#layout-cv)
48-
5. [Customization](#customization)
49-
1. [Overriding Includes and Layouts](#overriding-includes-and-layouts)
50-
2. [Customizing Sass (SCSS)](#customizing-sass-scss)
51-
3. [Customizing JavaScript](#customizing-javascript)
52-
4. [SVG Icons](#svg-icons)
53-
5. [Customizing Sidebar Content](#customizing-sidebar-content)
54-
6. [Development](#development)
55-
7. [Contributing](#contributing)
56-
1. [Pull Requests](#pull-requests)
57-
8. [Credits](#credits)
25+
1. [Ruby Gem Method](#ruby-gem-method)
26+
2. [GitHub Pages Method](#github-pages-method)
27+
1. [Remove the Unnecessary](#remove-the-unnecessary)
28+
2. [Upgrading](#upgrading)
29+
3. [Ruby Gem](#ruby-gem)
30+
4. [Remote Theme](#remote-theme)
31+
5. [Use Git](#use-git)
32+
1. [Pull Down Updates](#pull-down-updates)
33+
6. [Update Files Manually](#update-files-manually)
34+
7. [Structure](#structure)
35+
1. [Starting Fresh](#starting-fresh)
36+
2. [Starting from `jekyll new`](#starting-from-jekyll-new)
37+
8. [Configuration](#configuration)
38+
1. [Skin](#skin)
39+
2. [Google Fonts](#google-fonts)
40+
3. [Text](#text)
41+
4. [Navigation](#navigation)
42+
5. [Pagination](#pagination)
43+
6. [Author](#author)
44+
7. [Reading Time](#reading-time)
45+
8. [Comments (via Disqus)](#comments-via-disqus)
46+
9. [Google Analytics](#google-analytics)
47+
9. [Layouts](#layouts)
48+
1. [`layout: default`](#layout-default)
49+
2. [`layout: post`](#layout-post)
50+
3. [`layout: page`](#layout-page)
51+
4. [`layout: home`](#layout-home)
52+
5. [`layout: about`](#layout-about)
53+
6. [`layout: cv`](#layout-cv)
54+
10. [Customization](#customization)
55+
1. [Overriding Includes and Layouts](#overriding-includes-and-layouts)
56+
2. [Customizing Sass (SCSS)](#customizing-sass-scss)
57+
3. [Customizing JavaScript](#customizing-javascript)
58+
4. [SVG Icons](#svg-icons)
59+
5. [Customizing Sidebar Content](#customizing-sidebar-content)
60+
11. [Development](#development)
61+
12. [Contributing](#contributing)
62+
1. [Pull Requests](#pull-requests)
63+
13. [Credits](#credits)
64+
1. [Creator](#creator)
65+
2. [Icons + Demo Images:](#icons--demo-images)
66+
3. [Other:](#other)
67+
14. [License](#license)
5868

5969
## Installation
6070

61-
If you're running Jekyll v3.3+ and self-hosting you can quickly install the
62-
theme as Ruby gem. If you're hosting with GitHub Pages you'll have to use the
63-
"repo fork" method or directly copy all of the theme files (see
71+
If you're running Jekyll v3.5+ and self-hosting you can quickly install the theme as a Ruby gem. If you're hosting with GitHub Pages you can install as a remote theme or directly copy all of the theme files (see
6472
[structure](#structure) below) into your project.
6573

6674
### Ruby Gem Method
6775

68-
1. Install the theme as a Ruby Gem by adding it to your `Gemfile` like so:
76+
1. Add this line to your Jekyll site's `Gemfile`:
6977

7078
```ruby
7179
gem "jekyll-theme-basically-basic"
7280
```
73-
74-
2. Fetch and update your bundled gems by running the following
75-
[Bundler](http://bundler.io/) command:
76-
77-
```bash
78-
bundle
79-
```
80-
81-
3. Set the `theme` in your project's Jekyll configuration, `_config.yml`:
81+
2. Add this line to your Jekyll site's `_config.yml` file:
8282

8383
```yaml
8484
theme: jekyll-theme-basically-basic
8585
```
8686
87-
### GitHub Pages Method
88-
89-
If you're hosting with GitHub Pages follow these steps instead:
87+
2. Then run [Bundler](http://bundler.io/) to install the theme gem and dependencies:
88+
89+
```terminal
90+
bundle install
91+
```
9092

91-
Replace `gem "jekyll"` with:
93+
### GitHub Pages Method
9294

93-
```ruby
94-
gem "github-pages", group: :jekyll_plugins
95-
```
95+
GitHub Pages has added [full support](https://github.com/blog/2464-use-any-theme-with-github-pages) for any GitHub-hosted theme.
9696

97-
Run `bundle update` and verify that all gems install properly.
97+
1. Replace `gem "jekyll"` with:
9898

99-
Add `remote_theme: "mmistakes/jekyll-theme-basically-basic"` to your `_config.yml` file.
99+
```ruby
100+
gem "github-pages", group: :jekyll_plugins
101+
```
100102

101-
Then add [`jekyll-remote-theme`](https://github.com/benbalter/jekyll-remote-theme) to the `plugins` (previously gems) array in your `_config.yml` file like so:
103+
2. Run `bundle update` and verify that all gems install properly.
102104

103-
```yaml
104-
plugins:
105-
- jekyll-remote-theme
106-
```
105+
3. Add `remote_theme: "mmistakes/jekyll-theme-basically-basic"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entries.
107106

108-
Remove any other `theme:` or `remote_theme:` entry.
107+
---
109108

110109
**Note:** Your Jekyll site should be viewable immediately at <http://USERNAME.github.io>. If it's not, you can force a rebuild by **Customizing Your Site** (see below for more details).
111110

@@ -130,6 +129,78 @@ safely remove the following files and folders:
130129
- `/docs`
131130
- `/example`
132131

132+
## Upgrading
133+
134+
If you're using the Ruby Gem or remote theme versions of Basically Basic, upgrading is fairly painless.
135+
136+
To check which version you are currently using, view the source of your built site and you should something similar to:
137+
138+
```
139+
<!--
140+
Basically Basic Jekyll Theme 1.2.0
141+
Copyright 2017-2018 Michael Rose - mademistakes.com | @mmistakes
142+
Free for personal and commercial use under the MIT license
143+
https://github.com/mmistakes/jekyll-basically-theme/blob/master/LICENSE.md
144+
-->
145+
```
146+
147+
At the top of every `.html` file, `/assets/css/main.css`, and `/assets/js/main.js`.
148+
149+
## Ruby Gem
150+
151+
Simply run `bundle update` if you're using Bundler (have a `Gemfile`) or `gem update jekyll-theme-basically-basic` if you're not.
152+
153+
## Remote Theme
154+
155+
When hosting with GitHub Pages you'll need to push up a commit to force a rebuild with the latest [theme release](https://github.com/mmistakes/jekyll-theme-basically-basic/releases).
156+
157+
An empty commit will get the job done too if you don't have anything to push at the moment:
158+
159+
```terminal
160+
git commit --allow-empty -m "Force rebuild of site"
161+
```
162+
163+
## Use Git
164+
165+
If you want to get the most out of the Jekyll + GitHub Pages workflow, then you'll need to utilize Git. To pull down theme updates you must first ensure there's an upstream remote. If you forked the theme's repo then you're likely good to go.
166+
167+
To double check, run `git remote -v` and verify that you can fetch from `origin https://github.com/mmistakes/jekyll-theme-basically-basic.git`.
168+
169+
To add it you can do the following:
170+
171+
```terminal
172+
git remote add upstream https://github.com/mmistakes/jekyll-theme-basically-basic.git
173+
```
174+
175+
### Pull Down Updates
176+
177+
Now you can pull any commits made to theme's `master` branch with:
178+
179+
```terminal
180+
git pull upstream master
181+
```
182+
183+
Depending on the amount of customizations you've made after forking, there's likely to be merge conflicts. Work through any conflicting files Git flags, staging the changes you wish to keep, and then commit them.
184+
185+
## Update Files Manually
186+
187+
Another way of dealing with updates is [downloading the theme](https://github.com/mmistakes/jekyll-theme-basically-basic/archive/master.zip) --- replacing your layouts, includes, and assets with the newer ones manually. To be sure that you don't miss any changes it's probably a good idea to review the theme's [commit history](https://github.com/mmistakes/jekyll-theme-basically-basic/commits/master) to see what's changed since.
188+
189+
Here's a quick checklist of the important folders/files you'll want to be mindful of:
190+
191+
| Name | |
192+
| ---- | --- |
193+
| `_layouts` | Replace all. Apply edits if you customized any layouts. |
194+
| `_includes` | Replace all. Apply edits if you customized any includes. |
195+
| `assets` | Replace all. Apply edits if you customized stylesheets or scripts. |
196+
| `_sass` | Replace all. Apply edits if you customized Sass partials. |
197+
| `_data/theme.yml` | Safe to keep. Verify that there were no major structural changes or additions. |
198+
| `_config.yml` | Safe to keep. Verify that there were no major structural changes or additions. |
199+
200+
---
201+
202+
**Note:** If you're not seeing the latest version, be sure to flush browser and CDN caches. Depending on your hosting environment older versions of `/assets/css/main.css`, `/assets/js/main.min.js`, or `*.html` may be cached.
203+
133204
## Structure
134205

135206
Layouts, includes, Sass partials, and data files are all placed in their default
@@ -140,7 +211,7 @@ files in the project's root directory.
140211
files found in `/_layouts`, `/_includes`, `/_sass`, and `/assets` will be
141212
missing. This is normal as they are bundled with the [`jekyll-theme-basically-basic`](https://rubygems.org/gems/jekyll-theme-basically-basic) gem.
142213

143-
```bash
214+
```terminal
144215
jekyll-theme-basically-basic
145216
├── _data # data files
146217
| └── theme.yml # theme settings and custom text

0 commit comments

Comments
 (0)