Skip to content

Commit 55ea8c0

Browse files
committed
2 parents 8f5065f + f7bd7fd commit 55ea8c0

File tree

2 files changed

+173
-71
lines changed

2 files changed

+173
-71
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
### Added

README.md

Lines changed: 168 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -22,94 +22,103 @@ 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
64-
[structure](#structure) below) into your project.
71+
If you're running Jekyll v3.5+ and self-hosting you can quickly install the
72+
theme as a Ruby gem. If you're hosting with GitHub Pages you can install as a
73+
remote theme or directly copy all of the theme files (see [structure](#structure)
74+
below) into your project.
6575

6676
### Ruby Gem Method
6777

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

7080
```ruby
7181
gem "jekyll-theme-basically-basic"
7282
```
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`:
83+
2. Add this line to your Jekyll site's `_config.yml` file:
8284

8385
```yaml
8486
theme: jekyll-theme-basically-basic
8587
```
8688
87-
### GitHub Pages Method
89+
2. Then run [Bundler](http://bundler.io/) to install the theme gem and dependencies:
90+
91+
```terminal
92+
bundle install
93+
```
8894

89-
If you're hosting with GitHub Pages follow these steps instead:
95+
### GitHub Pages Method
9096

91-
Replace `gem "jekyll"` with:
97+
GitHub Pages has added [full support](https://github.com/blog/2464-use-any-theme-with-github-pages)
98+
for any GitHub-hosted theme.
9299

93-
```ruby
94-
gem "github-pages", group: :jekyll_plugins
95-
```
100+
1. Replace `gem "jekyll"` with:
96101

97-
Run `bundle update` and verify that all gems install properly.
102+
```ruby
103+
gem "github-pages", group: :jekyll_plugins
104+
```
98105

99-
Add `remote_theme: "mmistakes/jekyll-theme-basically-basic"` to your `_config.yml` file.
106+
2. Run `bundle update` and verify that all gems install properly.
100107

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:
108+
3. Add `remote_theme: "mmistakes/jekyll-theme-basically-basic"` to your
109+
`_config.yml` file. Remove any other `theme:` or `remote_theme:` entries.
102110

103-
```yaml
104-
plugins:
105-
- jekyll-remote-theme
106-
```
107-
108-
Remove any other `theme:` or `remote_theme:` entry.
111+
---
109112

110-
**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).
113+
**Note:** Your Jekyll site should be viewable immediately at
114+
<http://USERNAME.github.io>. If it's not, you can force a rebuild by
115+
**Customizing Your Site** (see below for more details).
111116

112-
If you're hosting several Jekyll based sites under the same GitHub username you will have to use Project Pages instead of User Pages. Essentially you rename the repo to something other than **USERNAME.github.io** and create a `gh-pages` branch off of `master`. For more details on how to set things up check [GitHub's documentation](https://help.github.com/articles/user-organization-and-project-pages/).
117+
If you're hosting several Jekyll based sites under the same GitHub username you
118+
will have to use Project Pages instead of User Pages. Essentially you rename the
119+
repo to something other than **USERNAME.github.io** and create a `gh-pages`
120+
branch off of `master`. For more details on how to set things up check
121+
[GitHub's documentation](https://help.github.com/articles/user-organization-and-project-pages/).
113122

114123
#### Remove the Unnecessary
115124

@@ -130,6 +139,95 @@ safely remove the following files and folders:
130139
- `/docs`
131140
- `/example`
132141

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

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

143-
```bash
241+
```terminal
144242
jekyll-theme-basically-basic
145243
├── _data # data files
146244
| └── theme.yml # theme settings and custom text
@@ -360,7 +458,8 @@ Front Matter.
360458
Optionally, if you have a [Disqus](https://disqus.com/) account, you can show a
361459
comments section below each post.
362460

363-
To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208) to your project's `_config.yml` file:
461+
To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208) to your project's
462+
`_config.yml` file:
364463

365464
```yaml
366465
disqus:
@@ -521,19 +620,17 @@ To override the default [Sass](http://sass-lang.com/guide) (located in theme's
521620
- Customize what you want inside `<your_project/assets/stylesheets/main.scss`.
522621

523622
**Note:** To make more extensive changes and customize the Sass partials bundled
524-
in the gem. You will need to copy the complete contents the `_sass` directory to
525-
`<your_project>` due to the way Jekyll currently reads those files.
623+
in the gem. You will need to copy the complete contents of the `_sass` directory
624+
to `<your_project>` due to the way Jekyll currently reads those files.
526625

527626
To make basic tweaks to theme's style Sass variables can be overridden by adding
528627
to `<your_project>/assets/stylesheets/main.scss`. For instance, to change the
529-
accent color used throughout the theme add:
628+
accent color used throughout the theme add the following:
530629

531630
```scss
532631
$accent-color: red;
533632
```
534633

535-
Before any `@import` lines.
536-
537634
### Customizing JavaScript
538635

539636
To override the default JavaScript bundled in the theme, do one of the following:

0 commit comments

Comments
 (0)