jekyll-theme-basically-basic 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af4088cd3ad12fbbe43c2b1fc7deb2fd052830fc
4
- data.tar.gz: e1d3e245f9ff07477ec4cdb3a0062bf5602936c5
3
+ metadata.gz: 55ed4d4512c7304e57fb6fd110060bbc3f88dd4f
4
+ data.tar.gz: '090a93bbfe4dccdee9beb54d1440c8b9cf85cb31'
5
5
  SHA512:
6
- metadata.gz: 4f7a93fd96347a5778255048e2946b3577e446ad4cee5071864016e4876cd048fa60de0b7f9400f736fa9b033786fd15a1da4e1a155e689d6396ee95c3201b9b
7
- data.tar.gz: 2e43f709a5d0b19f9f032a1907bca588b2b1cc9e77603abab9c83c641056ef6ee471265491a35a00aa177fdf3365b4a2b89535ea80ba02366051507ab47f216b
6
+ metadata.gz: 2f64772f662b9b0fd3fc21273704f93760068ad3f67cd753d18aff71873d13a494f6a0af4015ab3110457ebc715c18d0f69061d3c924ac43e332158d8963c2c5
7
+ data.tar.gz: 895897592ad85773576288ed7820cd176e24f7f04281ea1b1eefa55d201d853b4bcadb55956496d8b3279441f7f7932322f4c2036e036b45f56a4fc244485340
@@ -5,13 +5,22 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
 
8
+ ## [1.3.1] - 2018-02-16
9
+
10
+ ### Changed
11
+ - Only include jQuery when using default Lunr search. [#49](https://github.com/mmistakes/jekyll-theme-basically-basic/issues/49)
12
+
13
+ ### Fixed
14
+ - Focus on search input after clicking on toggle.
15
+
8
16
  ## [1.3.0] - 2018-02-16
9
17
 
10
18
  ### Added
11
19
  - Add jQuery script.
12
20
  - Add site-wide search toggle.
13
- - Add support for Lunr search. [#48](https://github.com/mmistakes/jekyll-theme-basically-basic/pull/48)
14
- - Add support for Algolia search. [#48](https://github.com/mmistakes/jekyll-theme-basically-basic/pull/48)
21
+ - Add support for [Lunr](https://lunrjs.com/) search. [#48](https://github.com/mmistakes/jekyll-theme-basically-basic/pull/48)
22
+ - Add support for [Algolia](https://www.algolia.com/) search. [#48](https://github.com/mmistakes/jekyll-theme-basically-basic/pull/48)
23
+ - Add [Algolia search demo](https://mmistakes.github.io/jekyll-theme-basically-basic-algolia-search/).
15
24
 
16
25
  ### Changed
17
26
  - New installation and upgrade instructions.
data/README.md CHANGED
@@ -1,889 +1,890 @@
1
- # [Basically Basic Jekyll Theme][1]
2
-
3
- [![LICENSE](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/mmistakes/jekyll-theme-basically-basic/blob/master/LICENSE.md)
4
- [![Jekyll](https://img.shields.io/badge/jekyll-%3E%3D%203.6-blue.svg)](https://jekyllrb.com/)
5
- [![Ruby gem](https://img.shields.io/gem/v/jekyll-theme-basically-basic.svg)](https://rubygems.org/gems/jekyll-theme-basically-basic)
6
- [![Tip Me via PayPal](https://img.shields.io/badge/PayPal-tip%20me-green.svg?logo=paypal)](https://www.paypal.me/mmistakes)
7
-
8
- Basically Basic is a [Jekyll theme](https://jekyllrb.com/docs/themes/) meant as
9
- a substitute for the default --- [Minima](https://github.com/jekyll/minima).
10
- Conventions and features found there are fully supported by **Basically Basic**,
11
- with a few enhancements thrown in for good measure:
12
-
13
- - Clean responsive design with [six customizable skins](#skin)
14
- - Curriculum Vitæ/Resume layout powered by [JSON data](http://registry.jsonresume.org/)
15
- - About page layout
16
- - Disqus Comments and Google Analytics support
17
- - SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/)
18
-
19
- [![Basically Basic live preview][2]][1]
20
-
21
- [1]: https://mmistakes.github.io/jekyll-theme-basically-basic/
22
- [2]: https://cloud.githubusercontent.com/assets/1376749/24117647/6dede894-0d81-11e7-9c2c-f19bea45e219.jpg (live preview)
23
-
24
- ## Table of Contents
25
-
26
- 1. [Installation](#installation)
27
- 1. [Ruby Gem Method](#ruby-gem-method)
28
- 2. [GitHub Pages Method](#github-pages-method)
29
- 1. [Remove the Unnecessary](#remove-the-unnecessary)
30
- 2. [Upgrading](#upgrading)
31
- 1. [Ruby Gem](#ruby-gem)
32
- 2. [Remote Theme](#remote-theme)
33
- 3. [Use Git](#use-git)
34
- 1. [Pull Down Updates](#pull-down-updates)
35
- 4. [Update Files Manually](#update-files-manually)
36
- 3. [Structure](#structure)
37
- 1. [Starting Fresh](#starting-fresh)
38
- 2. [Starting from `jekyll new`](#starting-from-jekyll-new)
39
- 4. [Configuration](#configuration)
40
- 1. [Skin](#skin)
41
- 2. [Google Fonts](#google-fonts)
42
- 3. [Text](#text)
43
- 4. [Navigation](#navigation)
44
- 5. [Pagination](#pagination)
45
- 6. [Search](#search)
46
- 1. [Lunr (default)](#lunr-default)
47
- 2. [Algolia](#algolia)
48
- 7. [Author](#author)
49
- 8. [Reading Time](#reading-time)
50
- 9. [Comments (via Disqus)](#comments-via-disqus)
51
- 10. [Google Analytics](#google-analytics)
52
- 5. [Layouts](#layouts)
53
- 1. [`layout: default`](#layout-default)
54
- 2. [`layout: post`](#layout-post)
55
- 3. [`layout: page`](#layout-page)
56
- 4. [`layout: home`](#layout-home)
57
- 5. [`layout: about`](#layout-about)
58
- 6. [`layout: cv`](#layout-cv)
59
- 6. [Customization](#customization)
60
- 1. [Overriding Includes and Layouts](#overriding-includes-and-layouts)
61
- 2. [Customizing Sass (SCSS)](#customizing-sass-scss)
62
- 3. [Customizing JavaScript](#customizing-javascript)
63
- 4. [SVG Icons](#svg-icons)
64
- 5. [Customizing Sidebar Content](#customizing-sidebar-content)
65
- 7. [Development](#development)
66
- 8. [Contributing](#contributing)
67
- 1. [Pull Requests](#pull-requests)
68
- 9. [Credits](#credits)
69
- 10. [License](#license)
70
-
71
- ## Installation
72
-
73
- If you're running Jekyll v3.5+ and self-hosting you can quickly install the
74
- theme as a Ruby gem. If you're hosting with GitHub Pages you can install as a
75
- remote theme or directly copy all of the theme files (see [structure](#structure)
76
- below) into your project.
77
-
78
- ### Ruby Gem Method
79
-
80
- 1. Add this line to your Jekyll site's `Gemfile`:
81
-
82
- ```ruby
83
- gem "jekyll-theme-basically-basic"
84
- ```
85
- 2. Add this line to your Jekyll site's `_config.yml` file:
86
-
87
- ```yaml
88
- theme: jekyll-theme-basically-basic
89
- ```
90
-
91
- 2. Then run [Bundler](http://bundler.io/) to install the theme gem and dependencies:
92
-
93
- ```terminal
94
- bundle install
95
- ```
96
-
97
- ### GitHub Pages Method
98
-
99
- GitHub Pages has added [full support](https://github.com/blog/2464-use-any-theme-with-github-pages)
100
- for any GitHub-hosted theme.
101
-
102
- 1. Replace `gem "jekyll"` with:
103
-
104
- ```ruby
105
- gem "github-pages", group: :jekyll_plugins
106
- ```
107
-
108
- 2. Run `bundle update` and verify that all gems install properly.
109
-
110
- 3. Add `remote_theme: "mmistakes/jekyll-theme-basically-basic"` to your
111
- `_config.yml` file. Remove any other `theme:` or `remote_theme:` entries.
112
-
113
- ---
114
-
115
- **Note:** Your Jekyll site should be viewable immediately at
116
- <http://USERNAME.github.io>. If it's not, you can force a rebuild by
117
- **Customizing Your Site** (see below for more details).
118
-
119
- If you're hosting several Jekyll based sites under the same GitHub username you
120
- will have to use Project Pages instead of User Pages. Essentially you rename the
121
- repo to something other than **USERNAME.github.io** and create a `gh-pages`
122
- branch off of `master`. For more details on how to set things up check
123
- [GitHub's documentation](https://help.github.com/articles/user-organization-and-project-pages/).
124
-
125
- #### Remove the Unnecessary
126
-
127
- If you forked or downloaded the `jekyll-theme-basically-basic` repo you can
128
- safely remove the following files and folders:
129
-
130
- - `.codeclimate.yml`
131
- - `.editorconfig`
132
- - `.gitattributes`
133
- - `.github`
134
- - `.scss-lint.yml`
135
- - `CHANGELOG.md`
136
- - `jekyll-theme-basically-basic.gemspec`
137
- - `LICENSE.md`
138
- - `Rakefile`
139
- - `README.md`
140
- - `screenshot.png`
141
- - `/docs`
142
- - `/example`
143
-
144
- ## Upgrading
145
-
146
- If you're using the Ruby Gem or remote theme versions of Basically Basic,
147
- upgrading is fairly painless.
148
-
149
- To check which version you are currently using, view the source of your built
150
- site and you should something similar to:
151
-
152
- ```
153
- <!--
154
- Basically Basic Jekyll Theme 1.2.0
155
- Copyright 2017-2018 Michael Rose - mademistakes.com | @mmistakes
156
- Free for personal and commercial use under the MIT license
157
- https://github.com/mmistakes/jekyll-basically-theme/blob/master/LICENSE.md
158
- -->
159
- ```
160
-
161
- At the top of every `.html` file, `/assets/css/main.css`, and `/assets/js/main.js`.
162
-
163
- ### Ruby Gem
164
-
165
- Simply run `bundle update` if you're using Bundler (have a `Gemfile`) or `gem
166
- update jekyll-theme-basically-basic` if you're not.
167
-
168
- ### Remote Theme
169
-
170
- When hosting with GitHub Pages you'll need to push up a commit to force a
171
- rebuild with the latest [theme release](https://github.com/mmistakes/jekyll-theme-basically-basic/releases).
172
-
173
- An empty commit will get the job done too if you don't have anything to push at
174
- the moment:
175
-
176
- ```terminal
177
- git commit --allow-empty -m "Force rebuild of site"
178
- ```
179
-
180
- ### Use Git
181
-
182
- If you want to get the most out of the Jekyll + GitHub Pages workflow, then
183
- you'll need to utilize Git. To pull down theme updates you must first ensure
184
- there's an upstream remote. If you forked the theme's repo then you're likely
185
- good to go.
186
-
187
- To double check, run `git remote -v` and verify that you can fetch from `origin https://github.com/mmistakes/jekyll-theme-basically-basic.git`.
188
-
189
- To add it you can do the following:
190
-
191
- ```terminal
192
- git remote add upstream https://github.com/mmistakes/jekyll-theme-basically-basic.git
193
- ```
194
-
195
- #### Pull Down Updates
196
-
197
- Now you can pull any commits made to theme's `master` branch with:
198
-
199
- ```terminal
200
- git pull upstream master
201
- ```
202
-
203
- Depending on the amount of customizations you've made after forking, there's
204
- likely to be merge conflicts. Work through any conflicting files Git flags,
205
- staging the changes you wish to keep, and then commit them.
206
-
207
- ### Update Files Manually
208
-
209
- Another way of dealing with updates is [downloading the theme](https://github.com/mmistakes/jekyll-theme-basically-basic/archive/master.zip)
210
- --- replacing your layouts, includes, and assets with the newer ones manually.
211
- To be sure that you don't miss any changes it's probably a good idea to review
212
- the theme's [commit history](https://github.com/mmistakes/jekyll-theme-basically-basic/commits/master)
213
- to see what's changed since.
214
-
215
- Here's a quick checklist of the important folders/files you'll want to be
216
- mindful of:
217
-
218
- | Name | |
219
- | ---- | --- |
220
- | `_layouts` | Replace all. Apply edits if you customized any layouts. |
221
- | `_includes` | Replace all. Apply edits if you customized any includes. |
222
- | `assets` | Replace all. Apply edits if you customized stylesheets or scripts. |
223
- | `_sass` | Replace all. Apply edits if you customized Sass partials. |
224
- | `_data/theme.yml` | Safe to keep. Verify that there were no major structural changes or additions. |
225
- | `_config.yml` | Safe to keep. Verify that there were no major structural changes or additions. |
226
-
227
- ---
228
-
229
- **Note:** If you're not seeing the latest version, be sure to flush browser and
230
- CDN caches. Depending on your hosting environment older versions of
231
- `/assets/css/main.css`, `/assets/js/main.js`, or `*.html` may be cached.
232
-
233
- ## Structure
234
-
235
- Layouts, includes, Sass partials, and data files are all placed in their default
236
- locations. Stylesheets and scripts in `assets`, and a few development related
237
- files in the project's root directory.
238
-
239
- **Please note:** If you installed Basically Basic via the Ruby Gem method, theme
240
- files found in `/_layouts`, `/_includes`, `/_sass`, and `/assets` will be
241
- missing. This is normal as they are bundled with the [`jekyll-theme-basically-basic`](https://rubygems.org/gems/jekyll-theme-basically-basic) gem.
242
-
243
- ```terminal
244
- jekyll-theme-basically-basic
245
- ├── _data # data files
246
- | └── theme.yml # theme settings and custom text
247
- ├── _includes # theme includes and SVG icons
248
- ├── _layouts # theme layouts (see below for details)
249
- ├── _sass # Sass partials
250
- ├── assets
251
- | ├── javascripts
252
- | | └── main.js
253
- | └── stylesheets
254
- | └── main.scss
255
- ├── _config.yml # sample configuration
256
- └── index.md # sample home page (all posts/not paginated)
257
- ```
258
-
259
- ### Starting Fresh
260
-
261
- After creating a `Gemfile` and installing the theme you'll need to add and edit
262
- the following files:
263
-
264
- - [`_config.yml`](_config.yml)
265
- - [`/_data/theme.yml`](_data/theme.yml)
266
- - [`index.md`](index.md)
267
-
268
- **Note:** Consult the [**pagination**](#pagination) documentation below for
269
- instructions on how to enable it for the home page.
270
-
271
- ### Starting from `jekyll new`
272
-
273
- Using the `jekyll new` command will get you up and running the quickest.
274
-
275
- Edit `_config.yml` and create `_data/theme.yml` as instructed above and you're
276
- good to go.
277
-
278
- ## Configuration
279
-
280
- Configuration of site-wide elements (`lang`, `title`, `description`, `logo`,
281
- `author`, etc.) happens in your project's `_config.yml`. See the
282
- [example configuration](example/_config.yml) in this repo for additional
283
- reference.
284
-
285
- | | Description |
286
- | ------------------ | ------------------------------------------------------------------------- |
287
- | `lang` | Used to indicate the language of text (e.g., en-US, en-GB, fr) |
288
- | `title` | Your site's title (e.g., Dungan's Awesome Site) |
289
- | `description` | Short site description (e.g., A blog about grasshopper mash) |
290
- | `url` | The full URL to your site (e.g., https://groverloaf.org) |
291
- | `author` | Global author information (see below) |
292
- | `logo` | Path to a site-wide logo ~100x100px (e.g., /assets/your-company-logo.png) |
293
- | `twitter_username` | Site-wide Twitter username, used as a link in sidebar |
294
- | `github_username` | Site-wide GitHub username, used as a link in sidebar |
295
-
296
- For more configuration options be sure to consult the documentation for:
297
- [**jekyll-seo-tag**][jekyll-seo-tag], [**jekyll-feed**][jekyll-feed],
298
- [**jekyll-paginate**][jekyll-paginate], and [**jekyll-sitemap**][jekyll-sitemap].
299
-
300
- [jekyll-seo-tag]: https://github.com/jekyll/jekyll-seo-tag
301
- [jekyll-feed]: https://github.com/jekyll/jekyll-feed
302
- [jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
303
- [jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
304
-
305
- ### Skin
306
-
307
- This theme comes in six different skins (color variations). To change skins add
308
- one of the following to your [`/_data/theme.yml`](_data/theme.yml) file:
309
-
310
- | `skin: default` | `skin: night` | `skin: plum` |
311
- | --- | --- | --- |
312
- | ![default-skin](https://cloud.githubusercontent.com/assets/1376749/24115744/c0618c90-0d7a-11e7-8e2d-ec70f9db0c1b.png) | ![night-skin](https://cloud.githubusercontent.com/assets/1376749/24115770/d61127f8-0d7a-11e7-9158-986bee2be8e7.png) | ![plum-skin](https://cloud.githubusercontent.com/assets/1376749/24115778/db523a0e-0d7a-11e7-9452-8692b736d67e.png) |
313
-
314
- | `skin: sea` | `skin: soft` | `skin: steel` |
315
- | --- | --- | --- |
316
- | ![sea-skin](https://cloud.githubusercontent.com/assets/1376749/24115788/e27d818a-0d7a-11e7-8c56-2480e9ae83fb.png) | ![soft-skin](https://cloud.githubusercontent.com/assets/1376749/24115790/e6e548e8-0d7a-11e7-8e2d-d8053e8befd1.png) | ![steel-skin](https://cloud.githubusercontent.com/assets/1376749/24115799/eb2108e8-0d7a-11e7-8cc3-a6f22e4082ee.png) |
317
-
318
- ### Google Fonts
319
-
320
- This theme allows you to easily use [Google Fonts](https://fonts.google.com/)
321
- throughout the theme. Simply add the following to your
322
- [`/_data/theme.yml`](_data/theme.yml), replacing the font `name` and `weights`
323
- accordingly.
324
-
325
- ```yaml
326
- google_fonts:
327
- - name: "Fira Sans"
328
- weights: "400,400i,600,600i"
329
- - name: "Fira Sans Condensed"
330
- ```
331
-
332
- ### Text
333
-
334
- To change text found throughout the theme add the following to your
335
- [`/_data/theme.yml`](_data/theme.yml) file and customize as necessary.
336
-
337
- ```yaml
338
- t:
339
- skip_links: "Skip links"
340
- skip_primary_nav: "Skip to primary navigation"
341
- skip_content: "Skip to content"
342
- skip_footer: "Skip to footer"
343
- menu: "Menu"
344
- home: "Home"
345
- newer: "Newer"
346
- older: "Older"
347
- email: "Email"
348
- subscribe: "Subscribe"
349
- read_more: "Read More"
350
- posts: "Posts"
351
- page: "Page"
352
- of: "of"
353
- min_read: "min read"
354
- present: "Present"
355
- ```
356
-
357
- ### Navigation
358
-
359
- By default all internal pages with a `title` will be added to the "off-canvas"
360
- menu. For more granular control and sorting of these menu links:
361
-
362
- 1. Create a custom list to override the default setting by adding a
363
- `navigation_pages` array to your [`/_data/theme.yml`](_data/theme.yml) file.
364
-
365
- 2. Add raw page paths in the order you'd like:
366
-
367
- ```yaml
368
- navigation_pages:
369
- - about.md
370
- - cv.md
371
- ```
372
-
373
- Each menu link's title and URL will be populated based on their `title` and
374
- `permalink` respectively.
375
-
376
- ### Pagination
377
-
378
- Break up the main listing of posts into smaller lists and display them over
379
- multiple pages by [enabling pagination](http://jekyllrb.com/docs/pagination/).
380
-
381
- 1. Include the `jekyll-paginate` plugin in your `Gemfile`.
382
-
383
- ```ruby
384
- group :jekyll_plugins do
385
- gem "jekyll-paginate"
386
- end
387
- ```
388
-
389
- 2. Add `jekyll-paginate` to `gems` array in your `_config.yml` file and the
390
- following pagination settings:
391
-
392
- ```yaml
393
- paginate: 5 # amount of posts to show per page
394
- paginate_path: /page:num/
395
- ```
396
-
397
- 3. Create `index.html` (or rename `index.md`) in the root of your project and
398
- add the following front matter:
399
-
400
- ```yaml
401
- layout: home
402
- paginate: true
403
- ```
404
-
405
- ### Search
406
-
407
- To enable site-wide search add `search: true` to your `_config.yml`.
408
-
409
- #### Lunr (default)
410
-
411
- The default search uses [**Lunr**](https://lunrjs.com/) to build a search index of all your documents. This method is 100% compatible with sites hosted on GitHub Pages.
412
-
413
- **Note:** Only the first 50 words of a post or page's body content is added to the Lunr search index. Setting `search_full_content` to `true` in your `_config.yml` will override this and could impact page load performance.
414
-
415
- #### Algolia
416
-
417
- For faster and more relevant search:
418
-
419
- 1. Add the [`jekyll-algolia`](https://github.com/algolia/jekyll-algolia) gem to your `Gemfile`, in the `:jekyll_plugins` section.
420
-
421
- ```ruby
422
- group :jekyll_plugins do
423
- gem "jekyll-feed"
424
- gem "jekyll-seo-tag"
425
- gem "jekyll-sitemap"
426
- gem "jekyll-paginate"
427
- gem "jekyll-algolia"
428
- end
429
- ```
430
-
431
- Once this is done, download all dependencies by running `bundle install`.
432
-
433
- 2. Switch search providers from `lunr` to `algolia` in your `_config.yml` file:
434
-
435
- ```yaml
436
- search_provider: algolia
437
- ```
438
-
439
- 3. Add the following Algolia credentials to your `_config.yml` file. *If you don't have an Algolia account, you can open a free [Community plan](https://www.algolia.com/users/sign_up/hacker). Once signed in, you can grab your credentials from [your dashboard](https://www.algolia.com/licensing).*
440
-
441
- ```yaml
442
- algolia:
443
- application_id: # YOUR_APPLICATION_ID
444
- index_name: # YOUR_INDEX_NAME
445
- search_only_api_key: # YOUR_SEARCH_ONLY_API_KEY
446
- powered_by: # true (default), false
447
- ```
448
-
449
- 4. Once your credentials are setup, you can run the indexing with the following command:
450
-
451
- ```
452
- ALGOLIA_API_KEY=your_admin_api_key bundle exec jekyll algolia
453
- ```
454
-
455
- For Windows users you will have to use `set` to assigned the `ALGOLIA_API_KEY` environment variable.
456
-
457
- ```
458
- set ALGOLIA_API_KEY=your_admin_api_key
459
- bundle exec jekyll algolia
460
- ```
461
-
462
- Note that `ALGOLIA_API_KEY` should be set to your admin API key.
463
-
464
- To use the Algolia search with GitHub Pages hosted sites follow [this deployment guide](https://community.algolia.com/jekyll-algolia/github-pages.html). Or this guide for [deploying on Netlify](https://community.algolia.com/jekyll-algolia/netlify.html).
465
-
466
- ### Author
467
-
468
- Author information is used as meta data for post "by lines" and propagates the
469
- `creator` field of Twitter summary cards with the following front matter in
470
- `_config.yml`:
471
-
472
- ```yaml
473
- author:
474
- name: John Doe
475
- twitter: johndoetwitter
476
- picture: /assets/images/johndoe.png
477
- ```
478
-
479
- Site-wide author information can be overridden in a document's front matter in
480
- the same way:
481
-
482
- ```yaml
483
- author:
484
- name: Jane Doe
485
- twitter: janedoetwitter
486
- picture: /assets/images/janedoe.png
487
- ```
488
-
489
- Or by specifying a corresponding key in the document's front matter, that
490
- exists in `site.data.authors`. E.g., you have the following in the document's
491
- front matter:
492
-
493
- ```yaml
494
- author: megaman
495
- ```
496
-
497
- And you have the following in `_data/authors.yml`:
498
-
499
- ```yaml
500
- megaman:
501
- name: Mega Man
502
- twitter: megamantwitter
503
- picture: /assets/images/megaman.png
504
-
505
- drlight:
506
- name: Dr. Light
507
- twitter: drlighttwitter
508
- picture: /assets/images/drlight.png
509
- ```
510
-
511
- Currently `author.picture` is only used in `layout: about`. Recommended size is
512
- `300 x 300` pixels.
513
-
514
- ### Reading Time
515
-
516
- To enable reading time counts add `read_time: true` to a post or page's YAML
517
- Front Matter.
518
-
519
- ### Comments (via Disqus)
520
-
521
- Optionally, if you have a [Disqus](https://disqus.com/) account, you can show a
522
- comments section below each post.
523
-
524
- To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208) to your project's
525
- `_config.yml` file:
526
-
527
- ```yaml
528
- disqus:
529
- shortname: my_disqus_shortname
530
- ```
531
-
532
- Comments are enabled by default and will only appear in production when built
533
- with the following [environment value](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time):
534
- `JEKYLL_ENV=production`
535
-
536
- If you don't want to display comments for a particular post you can disable
537
- them by adding `comments: false` to that post's front matter.
538
-
539
- ### Google Analytics
540
-
541
- To enable Google Analytics, add your [tracking ID](https://support.google.com/analytics/answer/1032385)
542
- to `_config.yml` like so:
543
-
544
- ```yaml
545
- google_analytics: UA-NNNNNNNN-N
546
- ```
547
-
548
- Similar to comments, the Google Analytics tracking script will only appear in
549
- production when using the following environment value: `JEKYLL_ENV=production`.
550
-
551
- ## Layouts
552
-
553
- This theme provides the following layouts, which you can use by setting the
554
- `layout` [Front Matter](https://jekyllrb.com/docs/frontmatter/) on each page,
555
- like so:
556
-
557
- ```yaml
558
- ---
559
- layout: name
560
- ---
561
- ```
562
-
563
- ### `layout: default`
564
-
565
- This layout handles all of the basic page scaffolding placing the page content
566
- between the masthead and footer elements. All other layouts inherit this one
567
- and provide additional styling and features inside of the `{{ content }}` block.
568
-
569
- ### `layout: post`
570
-
571
- This layout accommodates the following front matter:
572
-
573
- ```yaml
574
- # optional alternate title to replace page.title at the top of the page
575
- alt_title: "Basically Basic"
576
-
577
- # optional sub-title below the page title
578
- sub_title: "The name says it all"
579
-
580
- # optional intro text below titles, Markdown allowed
581
- introduction: |
582
- Basically Basic is a Jekyll theme meant to be a substitute for the default --- [Minima](https://github.com/jekyll/minima). Conventions and features found in Minima are fully supported by **Basically Basic**.
583
-
584
- # optional call to action links
585
- actions:
586
- - label: "Learn More"
587
- icon: github # references name of svg icon, see full list below
588
- url: "http://url-goes-here.com"
589
- - label: "Download"
590
- icon: download # references name of svg icon, see full list below
591
- url: "http://url-goes-here.com"
592
-
593
- image: # URL to a hero image associated with the post (e.g., /assets/page-pic.jpg)
594
-
595
- # post specific author data if different from what is set in _config.yml
596
- author:
597
- name: John Doe
598
- twitter: johndoetwitter
599
-
600
- comments: false # disable comments on this post
601
- ```
602
-
603
- ### `layout: page`
604
-
605
- Visually this layout looks and acts the same as `layout: post`, with two minor
606
- differences.
607
-
608
- - Author "by line" and publish date are omitted.
609
- - Disqus comments are omitted.
610
-
611
- ### `layout: home`
612
-
613
- This layout accommodates the same front matter as `layout: page`, with the
614
- addition of the following:
615
-
616
- ```yaml
617
- paginate: true # enables pagination loop, see section above for additional setup
618
- ```
619
-
620
- ### `layout: about`
621
-
622
- This layout accommodates the same front matter as `layout: page`, with the
623
- addition of the following to display an author picture:
624
-
625
- ```yaml
626
- author:
627
- name: John Doe
628
- picture: /assets/images/johndoe.png
629
- ```
630
-
631
- Recommended `picture` size is approximately `300 x 300` pixels. If `author`
632
- object is not explicitly set in the about page's front matter the theme
633
- will default to the value set in `_config.yml`.
634
-
635
- If blank there no image will appear.
636
-
637
- ### `layout: cv`
638
-
639
- This layout accommodates the same front matter as `layout: page`. It
640
- leverages a [JSON-based file standard](https://jsonresume.org/schema/) for
641
- resume data to conveniently render a curriculum vitæ or resume painlessly.
642
-
643
- Simply use JSON Resume's [in-browser resume builder](http://registry.jsonresume.org/)
644
- to export a JSON file and save to your project as `_data/cv.json`.
645
-
646
- ## Customization
647
-
648
- The default structure, style, and scripts of this theme can be overridden and
649
- customized in the following two ways.
650
-
651
- ### Overriding Includes and Layouts
652
-
653
- Theme defaults can be [overridden](http://jekyllrb.com/docs/themes/#overriding-theme-defaults)
654
- by placing a file with the same name into your project's `_includes` or
655
- `_layouts` directory. For instance:
656
-
657
- - To specify a custom style path or meta data to the [`_includes/head.html `](_includes/head.html)
658
- file, create an `_includes` directory in your project, copy
659
- `_includes/head.html` from Basically Basic's gem folder to
660
- `<your_project>/_includes` and start editing that file.
661
-
662
- **ProTip:** to locate the theme's files on your computer run
663
- `bundle show jekyll-theme-basically-basic`. This returns the location of the
664
- gem-based theme files.
665
-
666
- ### Customizing Sass (SCSS)
667
-
668
- To override the default [Sass](http://sass-lang.com/guide) (located in theme's
669
- `_sass` directory), do one of the following:
670
-
671
- 1. Copy directly from the Basically Basic gem
672
-
673
- - Go to your local Basically Basic gem installation directory (run
674
- `bundle show jekyll-theme-basically-basic` to get the path to it).
675
- - Copy the contents of `/assets/stylesheets/main.scss` from there to
676
- `<your_project>`.
677
- - Customize what you want inside `<your_project>/assets/stylesheets/main.scss`.
678
-
679
- 2. Copy from this repo.
680
-
681
- - Copy the contents of [assets/stylesheets/main.scss](assets/stylesheets/main.scss)
682
- to `<your_project>`.
683
- - Customize what you want inside `<your_project/assets/stylesheets/main.scss`.
684
-
685
- **Note:** To make more extensive changes and customize the Sass partials bundled
686
- in the gem. You will need to copy the complete contents of the `_sass` directory
687
- to `<your_project>` due to the way Jekyll currently reads those files.
688
-
689
- To make basic tweaks to theme's style Sass variables can be overridden by adding
690
- to `<your_project>/assets/stylesheets/main.scss`. For instance, to change the
691
- accent color used throughout the theme add the following:
692
-
693
- ```scss
694
- $accent-color: red;
695
- ```
696
-
697
- ### Customizing JavaScript
698
-
699
- To override the default JavaScript bundled in the theme, do one of the following:
700
-
701
- 1. Copy directly from the Basically Basic gem
702
-
703
- - Go to your local Basically Basic gem installation directory (run
704
- `bundle show jekyll-theme-basically-basic` to get the path to it).
705
- - Copy the contents of `/assets/javascripts/main.js` from there to
706
- `<your_project>`.
707
- - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
708
-
709
- 2. Copy from this repo.
710
-
711
- - Copy the contents of [assets/javascripts/main.js](assets/javascripts/main.js)
712
- to `<your_project>`.
713
- - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
714
-
715
- ### SVG Icons
716
-
717
- The theme uses social network logos and other iconography saved as SVGs for
718
- performance and flexibility. Said SVGs are located in the `_includes` directory
719
- and prefixed with `icon-`. Each icon has been sized and designed to fit a
720
- `16 x 16` viewbox and optimized with [SVGO](https://github.com/svg/svgo).
721
-
722
- | Icon | Filename |
723
- | --- | --- |
724
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-arrow-left.svg" width="16" height="16"> | icon-arrow-left.svg |
725
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-arrow-right.svg" width="16" height="16"> | icon-arrow-right.svg |
726
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-bitbucket.svg" width="16" height="16"> | icon-bitbucket.svg |
727
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-calendar.svg" width="16" height="16"> | icon-calendar.svg |
728
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-codepen.svg" width="16" height="16"> | icon-codepen.svg |
729
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-download.svg" width="16" height="16"> | icon-download.svg |
730
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-dribbble.svg" width="16" height="16"> | icon-dribbble.svg |
731
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-email.svg" width="16" height="16"> | icon-email.svg |
732
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-facebook.svg" width="16" height="16"> | icon-facebook.svg |
733
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-flickr.svg" width="16" height="16"> | icon-flickr.svg |
734
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-github.svg" width="16" height="16"> | icon-github.svg |
735
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-gitlab.svg" width="16" height="16"> | icon-gitlab.svg |
736
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-googleplus.svg" width="16" height="16"> | icon-googleplus.svg |
737
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-instagram.svg" width="16" height="16"> | icon-instagram.svg |
738
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-lastfm.svg" width="16" height="16"> | icon-lastfm.svg |
739
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-linkedin.svg" width="16" height="16"> | icon-linkedin.svg |
740
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pdf.svg" width="16" height="16"> | icon-pdf.svg |
741
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pinterest.svg" width="16" height="16"> | icon-pinterest.svg |
742
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-rss.svg" width="16" height="16"> | icon-rss.svg |
743
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-soundcloud.svg" width="16" height="16"> | icon-soundcloud.svg |
744
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stackoverflow.svg" width="16" height="16"> | icon-stackoverflow.svg |
745
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stopwatch.svg" width="16" height="16"> | icon-stopwatch.svg |
746
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-tumblr.svg" width="16" height="16"> | icon-tumblr.svg |
747
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-twitter.svg" width="16" height="16"> | icon-twitter.svg |
748
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-xing.svg" width="16" height="16"> | icon-xing.svg |
749
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-youtube.svg" width="16" height="16"> | icon-youtube.svg |
750
-
751
- Fill colors are defined in the `_sass/basically-basic/_icons.scss` partial and
752
- set with `.icon-name` where class name matches the corresponding icon.
753
-
754
- For example the Twitter icon is given a fill color of `#1da1f2` like so:
755
-
756
- ```html
757
- <span class="icon icon--twitter">{% include icon-twitter.svg %}</span>
758
- ```
759
-
760
- Alongside the SVG assets, there are icon helper includes to aid in generating
761
- social network links.
762
-
763
- | Include Parameter | Description | Required |
764
- | ----------------- | ---------------------------------| ----------------------- |
765
- | `username` | Username on given social network | **Required** |
766
- | `label` | Text used for hyperlink | Optional, defaults to `username` |
767
-
768
- For example, the following `icon-github.html` include:
769
-
770
- ```liquid
771
- {% include icon-github.html username=jekyll label='GitHub' %}
772
- ```
773
-
774
- Will output the following HTML:
775
-
776
- ```html
777
- <a href="https://github.com/jekyll">
778
- <span class="icon icon--github"><svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"></path></svg></span>
779
- <span class="label">GitHub</span>
780
- </a>
781
- ```
782
-
783
- ### Customizing Sidebar Content
784
-
785
- ---
786
-
787
- ## Development
788
-
789
- To set up your environment to develop this theme:
790
-
791
- 1. Clone this repo
792
- 2. `cd` into `/example` and run `bundle install`.
793
-
794
- To test the theme the locally as you make changes to it:
795
-
796
- 1. `cd` into the root folder of the repo (e.g. `jekyll-theme-basically-basic`).
797
- 2. Run `bundle exec rake preview` and open your browser to
798
- `http://localhost:4000/example/`.
799
-
800
- This starts a Jekyll server using the theme's files and contents of the
801
- `example/` directory. As modifications are made, refresh your browser to see
802
- any changes.
803
-
804
- ## Contributing
805
-
806
- Found a typo in the documentation? Interested in adding a feature or
807
- [fixing a bug][issues]? Then by all means [submit an issue][new-issue] or take a
808
- stab at submitting a [pull request][using-pull-requests]. If this is your first
809
- pull request, it may be helpful to read up on the [GitHub Flow][github-flow].
810
-
811
- [issues]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues
812
- [new-issue]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues/new
813
- [using-pull-requests]: https://help.github.com/articles/using-pull-requests/
814
- [github-flow]: https://guides.github.com/introduction/flow/
815
-
816
- ### Pull Requests
817
-
818
- When submitting a pull request:
819
-
820
- 1. Clone the repo.
821
- 2. Create a branch off of `master` and give it a meaningful name (e.g.
822
- `my-awesome-new-feature`) and describe the feature or fix.
823
- 3. Open a pull request on GitHub.
824
-
825
- Sample pages can be found in the [`/docs`](docs) and [`/example`](/example)
826
- folders if you'd like to tackle any "low-hanging fruit" like fixing typos, bad
827
- grammar, etc.
828
-
829
- ---
830
-
831
- ## Credits
832
-
833
- ### Creator
834
-
835
- **Michael Rose**
836
-
837
- - <https://mademistakes.com>
838
- - <https://twitter.com/mmistakes>
839
- - <https://github.com/mmistakes>
840
-
841
- ### Icons + Demo Images:
842
-
843
- - [Simple Icons](https://simpleicons.org/)
844
- - [Noun Project](https://thenounproject.com)
845
- - [Unsplash](https://unsplash.com/)
846
-
847
- ### Other:
848
-
849
- - [Jekyll](http://jekyllrb.com/)
850
- - [Susy](http://susy.oddbird.net/)
851
- - [Breakpoint](http://breakpoint-sass.com/)
852
-
853
- ---
854
-
855
- ## License
856
-
857
- The MIT License (MIT)
858
-
859
- Copyright (c) 2017-2018 Michael Rose and contributors
860
-
861
- Permission is hereby granted, free of charge, to any person obtaining a copy
862
- of this software and associated documentation files (the "Software"), to deal
863
- in the Software without restriction, including without limitation the rights
864
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
865
- copies of the Software, and to permit persons to whom the Software is
866
- furnished to do so, subject to the following conditions:
867
-
868
- The above copyright notice and this permission notice shall be included in all
869
- copies or substantial portions of the Software.
870
-
871
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
872
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
873
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
874
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
875
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
876
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
877
- SOFTWARE.
878
-
879
- Basically Basic incorporates icons from [The Noun Project](https://thenounproject.com/).
880
- Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
881
-
882
- Basically Basic incorporates photographs from [Unsplash](https://unsplash.com).
883
-
884
- Basically Basic incorporates [Susy](http://susy.oddbird.net/),
885
- Copyright (c) 2017, Miriam Eric Suzanne.
886
- Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
887
-
888
- Basically Basic incorporates [Breakpoint](http://breakpoint-sass.com/).
889
- Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
1
+ # [Basically Basic Jekyll Theme][1]
2
+
3
+ [![LICENSE](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/mmistakes/jekyll-theme-basically-basic/blob/master/LICENSE.md)
4
+ [![Jekyll](https://img.shields.io/badge/jekyll-%3E%3D%203.6-blue.svg)](https://jekyllrb.com/)
5
+ [![Ruby gem](https://img.shields.io/gem/v/jekyll-theme-basically-basic.svg)](https://rubygems.org/gems/jekyll-theme-basically-basic)
6
+ [![Tip Me via PayPal](https://img.shields.io/badge/PayPal-tip%20me-green.svg?logo=paypal)](https://www.paypal.me/mmistakes)
7
+
8
+ Basically Basic is a [Jekyll theme](https://jekyllrb.com/docs/themes/) meant as
9
+ a substitute for the default --- [Minima](https://github.com/jekyll/minima).
10
+ Conventions and features found there are fully supported by **Basically Basic**,
11
+ with a few enhancements thrown in for good measure:
12
+
13
+ - Clean responsive design with [six customizable skins](#skin)
14
+ - Curriculum Vitæ/Resume layout powered by [JSON data](http://registry.jsonresume.org/)
15
+ - About page layout
16
+ - Site-wide search provided by [Algolia](https://www.algolia.com/) or [Lunr](https://lunrjs.com/).
17
+ - Disqus Comments and Google Analytics support
18
+ - SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/)
19
+
20
+ [![Basically Basic live preview][2]][1]
21
+
22
+ [1]: https://mmistakes.github.io/jekyll-theme-basically-basic/
23
+ [2]: https://cloud.githubusercontent.com/assets/1376749/24117647/6dede894-0d81-11e7-9c2c-f19bea45e219.jpg (live preview)
24
+
25
+ ## Table of Contents
26
+
27
+ 1. [Installation](#installation)
28
+ 1. [Ruby Gem Method](#ruby-gem-method)
29
+ 2. [GitHub Pages Method](#github-pages-method)
30
+ 1. [Remove the Unnecessary](#remove-the-unnecessary)
31
+ 2. [Upgrading](#upgrading)
32
+ 1. [Ruby Gem](#ruby-gem)
33
+ 2. [Remote Theme](#remote-theme)
34
+ 3. [Use Git](#use-git)
35
+ 1. [Pull Down Updates](#pull-down-updates)
36
+ 4. [Update Files Manually](#update-files-manually)
37
+ 3. [Structure](#structure)
38
+ 1. [Starting Fresh](#starting-fresh)
39
+ 2. [Starting from `jekyll new`](#starting-from-jekyll-new)
40
+ 4. [Configuration](#configuration)
41
+ 1. [Skin](#skin)
42
+ 2. [Google Fonts](#google-fonts)
43
+ 3. [Text](#text)
44
+ 4. [Navigation](#navigation)
45
+ 5. [Pagination](#pagination)
46
+ 6. [Search](#search)
47
+ 1. [Lunr (default)](#lunr-default)
48
+ 2. [Algolia](#algolia)
49
+ 7. [Author](#author)
50
+ 8. [Reading Time](#reading-time)
51
+ 9. [Comments (via Disqus)](#comments-via-disqus)
52
+ 10. [Google Analytics](#google-analytics)
53
+ 5. [Layouts](#layouts)
54
+ 1. [`layout: default`](#layout-default)
55
+ 2. [`layout: post`](#layout-post)
56
+ 3. [`layout: page`](#layout-page)
57
+ 4. [`layout: home`](#layout-home)
58
+ 5. [`layout: about`](#layout-about)
59
+ 6. [`layout: cv`](#layout-cv)
60
+ 6. [Customization](#customization)
61
+ 1. [Overriding Includes and Layouts](#overriding-includes-and-layouts)
62
+ 2. [Customizing Sass (SCSS)](#customizing-sass-scss)
63
+ 3. [Customizing JavaScript](#customizing-javascript)
64
+ 4. [SVG Icons](#svg-icons)
65
+ 5. [Customizing Sidebar Content](#customizing-sidebar-content)
66
+ 7. [Development](#development)
67
+ 8. [Contributing](#contributing)
68
+ 1. [Pull Requests](#pull-requests)
69
+ 9. [Credits](#credits)
70
+ 10. [License](#license)
71
+
72
+ ## Installation
73
+
74
+ If you're running Jekyll v3.5+ and self-hosting you can quickly install the
75
+ theme as a Ruby gem. If you're hosting with GitHub Pages you can install as a
76
+ remote theme or directly copy all of the theme files (see [structure](#structure)
77
+ below) into your project.
78
+
79
+ ### Ruby Gem Method
80
+
81
+ 1. Add this line to your Jekyll site's `Gemfile`:
82
+
83
+ ```ruby
84
+ gem "jekyll-theme-basically-basic"
85
+ ```
86
+ 2. Add this line to your Jekyll site's `_config.yml` file:
87
+
88
+ ```yaml
89
+ theme: jekyll-theme-basically-basic
90
+ ```
91
+
92
+ 2. Then run [Bundler](http://bundler.io/) to install the theme gem and dependencies:
93
+
94
+ ```terminal
95
+ bundle install
96
+ ```
97
+
98
+ ### GitHub Pages Method
99
+
100
+ GitHub Pages has added [full support](https://github.com/blog/2464-use-any-theme-with-github-pages)
101
+ for any GitHub-hosted theme.
102
+
103
+ 1. Replace `gem "jekyll"` with:
104
+
105
+ ```ruby
106
+ gem "github-pages", group: :jekyll_plugins
107
+ ```
108
+
109
+ 2. Run `bundle update` and verify that all gems install properly.
110
+
111
+ 3. Add `remote_theme: "mmistakes/jekyll-theme-basically-basic"` to your
112
+ `_config.yml` file. Remove any other `theme:` or `remote_theme:` entries.
113
+
114
+ ---
115
+
116
+ **Note:** Your Jekyll site should be viewable immediately at
117
+ <http://USERNAME.github.io>. If it's not, you can force a rebuild by
118
+ **Customizing Your Site** (see below for more details).
119
+
120
+ If you're hosting several Jekyll based sites under the same GitHub username you
121
+ will have to use Project Pages instead of User Pages. Essentially you rename the
122
+ repo to something other than **USERNAME.github.io** and create a `gh-pages`
123
+ branch off of `master`. For more details on how to set things up check
124
+ [GitHub's documentation](https://help.github.com/articles/user-organization-and-project-pages/).
125
+
126
+ #### Remove the Unnecessary
127
+
128
+ If you forked or downloaded the `jekyll-theme-basically-basic` repo you can
129
+ safely remove the following files and folders:
130
+
131
+ - `.codeclimate.yml`
132
+ - `.editorconfig`
133
+ - `.gitattributes`
134
+ - `.github`
135
+ - `.scss-lint.yml`
136
+ - `CHANGELOG.md`
137
+ - `jekyll-theme-basically-basic.gemspec`
138
+ - `LICENSE.md`
139
+ - `Rakefile`
140
+ - `README.md`
141
+ - `screenshot.png`
142
+ - `/docs`
143
+ - `/example`
144
+
145
+ ## Upgrading
146
+
147
+ If you're using the Ruby Gem or remote theme versions of Basically Basic,
148
+ upgrading is fairly painless.
149
+
150
+ To check which version you are currently using, view the source of your built
151
+ site and you should something similar to:
152
+
153
+ ```
154
+ <!--
155
+ Basically Basic Jekyll Theme 1.2.0
156
+ Copyright 2017-2018 Michael Rose - mademistakes.com | @mmistakes
157
+ Free for personal and commercial use under the MIT license
158
+ https://github.com/mmistakes/jekyll-basically-theme/blob/master/LICENSE.md
159
+ -->
160
+ ```
161
+
162
+ At the top of every `.html` file, `/assets/css/main.css`, and `/assets/js/main.js`.
163
+
164
+ ### Ruby Gem
165
+
166
+ Simply run `bundle update` if you're using Bundler (have a `Gemfile`) or `gem
167
+ update jekyll-theme-basically-basic` if you're not.
168
+
169
+ ### Remote Theme
170
+
171
+ When hosting with GitHub Pages you'll need to push up a commit to force a
172
+ rebuild with the latest [theme release](https://github.com/mmistakes/jekyll-theme-basically-basic/releases).
173
+
174
+ An empty commit will get the job done too if you don't have anything to push at
175
+ the moment:
176
+
177
+ ```terminal
178
+ git commit --allow-empty -m "Force rebuild of site"
179
+ ```
180
+
181
+ ### Use Git
182
+
183
+ If you want to get the most out of the Jekyll + GitHub Pages workflow, then
184
+ you'll need to utilize Git. To pull down theme updates you must first ensure
185
+ there's an upstream remote. If you forked the theme's repo then you're likely
186
+ good to go.
187
+
188
+ To double check, run `git remote -v` and verify that you can fetch from `origin https://github.com/mmistakes/jekyll-theme-basically-basic.git`.
189
+
190
+ To add it you can do the following:
191
+
192
+ ```terminal
193
+ git remote add upstream https://github.com/mmistakes/jekyll-theme-basically-basic.git
194
+ ```
195
+
196
+ #### Pull Down Updates
197
+
198
+ Now you can pull any commits made to theme's `master` branch with:
199
+
200
+ ```terminal
201
+ git pull upstream master
202
+ ```
203
+
204
+ Depending on the amount of customizations you've made after forking, there's
205
+ likely to be merge conflicts. Work through any conflicting files Git flags,
206
+ staging the changes you wish to keep, and then commit them.
207
+
208
+ ### Update Files Manually
209
+
210
+ Another way of dealing with updates is [downloading the theme](https://github.com/mmistakes/jekyll-theme-basically-basic/archive/master.zip)
211
+ --- replacing your layouts, includes, and assets with the newer ones manually.
212
+ To be sure that you don't miss any changes it's probably a good idea to review
213
+ the theme's [commit history](https://github.com/mmistakes/jekyll-theme-basically-basic/commits/master)
214
+ to see what's changed since.
215
+
216
+ Here's a quick checklist of the important folders/files you'll want to be
217
+ mindful of:
218
+
219
+ | Name | |
220
+ | ---- | --- |
221
+ | `_layouts` | Replace all. Apply edits if you customized any layouts. |
222
+ | `_includes` | Replace all. Apply edits if you customized any includes. |
223
+ | `assets` | Replace all. Apply edits if you customized stylesheets or scripts. |
224
+ | `_sass` | Replace all. Apply edits if you customized Sass partials. |
225
+ | `_data/theme.yml` | Safe to keep. Verify that there were no major structural changes or additions. |
226
+ | `_config.yml` | Safe to keep. Verify that there were no major structural changes or additions. |
227
+
228
+ ---
229
+
230
+ **Note:** If you're not seeing the latest version, be sure to flush browser and
231
+ CDN caches. Depending on your hosting environment older versions of
232
+ `/assets/css/main.css`, `/assets/js/main.js`, or `*.html` may be cached.
233
+
234
+ ## Structure
235
+
236
+ Layouts, includes, Sass partials, and data files are all placed in their default
237
+ locations. Stylesheets and scripts in `assets`, and a few development related
238
+ files in the project's root directory.
239
+
240
+ **Please note:** If you installed Basically Basic via the Ruby Gem method, theme
241
+ files found in `/_layouts`, `/_includes`, `/_sass`, and `/assets` will be
242
+ missing. This is normal as they are bundled with the [`jekyll-theme-basically-basic`](https://rubygems.org/gems/jekyll-theme-basically-basic) gem.
243
+
244
+ ```terminal
245
+ jekyll-theme-basically-basic
246
+ ├── _data # data files
247
+ | └── theme.yml # theme settings and custom text
248
+ ├── _includes # theme includes and SVG icons
249
+ ├── _layouts # theme layouts (see below for details)
250
+ ├── _sass # Sass partials
251
+ ├── assets
252
+ | ├── javascripts
253
+ | | └── main.js
254
+ | └── stylesheets
255
+ | └── main.scss
256
+ ├── _config.yml # sample configuration
257
+ └── index.md # sample home page (all posts/not paginated)
258
+ ```
259
+
260
+ ### Starting Fresh
261
+
262
+ After creating a `Gemfile` and installing the theme you'll need to add and edit
263
+ the following files:
264
+
265
+ - [`_config.yml`](_config.yml)
266
+ - [`/_data/theme.yml`](_data/theme.yml)
267
+ - [`index.md`](index.md)
268
+
269
+ **Note:** Consult the [**pagination**](#pagination) documentation below for
270
+ instructions on how to enable it for the home page.
271
+
272
+ ### Starting from `jekyll new`
273
+
274
+ Using the `jekyll new` command will get you up and running the quickest.
275
+
276
+ Edit `_config.yml` and create `_data/theme.yml` as instructed above and you're
277
+ good to go.
278
+
279
+ ## Configuration
280
+
281
+ Configuration of site-wide elements (`lang`, `title`, `description`, `logo`,
282
+ `author`, etc.) happens in your project's `_config.yml`. See the
283
+ [example configuration](example/_config.yml) in this repo for additional
284
+ reference.
285
+
286
+ | | Description |
287
+ | ------------------ | ------------------------------------------------------------------------- |
288
+ | `lang` | Used to indicate the language of text (e.g., en-US, en-GB, fr) |
289
+ | `title` | Your site's title (e.g., Dungan's Awesome Site) |
290
+ | `description` | Short site description (e.g., A blog about grasshopper mash) |
291
+ | `url` | The full URL to your site (e.g., https://groverloaf.org) |
292
+ | `author` | Global author information (see below) |
293
+ | `logo` | Path to a site-wide logo ~100x100px (e.g., /assets/your-company-logo.png) |
294
+ | `twitter_username` | Site-wide Twitter username, used as a link in sidebar |
295
+ | `github_username` | Site-wide GitHub username, used as a link in sidebar |
296
+
297
+ For more configuration options be sure to consult the documentation for:
298
+ [**jekyll-seo-tag**][jekyll-seo-tag], [**jekyll-feed**][jekyll-feed],
299
+ [**jekyll-paginate**][jekyll-paginate], and [**jekyll-sitemap**][jekyll-sitemap].
300
+
301
+ [jekyll-seo-tag]: https://github.com/jekyll/jekyll-seo-tag
302
+ [jekyll-feed]: https://github.com/jekyll/jekyll-feed
303
+ [jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
304
+ [jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
305
+
306
+ ### Skin
307
+
308
+ This theme comes in six different skins (color variations). To change skins add
309
+ one of the following to your [`/_data/theme.yml`](_data/theme.yml) file:
310
+
311
+ | `skin: default` | `skin: night` | `skin: plum` |
312
+ | --- | --- | --- |
313
+ | ![default-skin](https://cloud.githubusercontent.com/assets/1376749/24115744/c0618c90-0d7a-11e7-8e2d-ec70f9db0c1b.png) | ![night-skin](https://cloud.githubusercontent.com/assets/1376749/24115770/d61127f8-0d7a-11e7-9158-986bee2be8e7.png) | ![plum-skin](https://cloud.githubusercontent.com/assets/1376749/24115778/db523a0e-0d7a-11e7-9452-8692b736d67e.png) |
314
+
315
+ | `skin: sea` | `skin: soft` | `skin: steel` |
316
+ | --- | --- | --- |
317
+ | ![sea-skin](https://cloud.githubusercontent.com/assets/1376749/24115788/e27d818a-0d7a-11e7-8c56-2480e9ae83fb.png) | ![soft-skin](https://cloud.githubusercontent.com/assets/1376749/24115790/e6e548e8-0d7a-11e7-8e2d-d8053e8befd1.png) | ![steel-skin](https://cloud.githubusercontent.com/assets/1376749/24115799/eb2108e8-0d7a-11e7-8cc3-a6f22e4082ee.png) |
318
+
319
+ ### Google Fonts
320
+
321
+ This theme allows you to easily use [Google Fonts](https://fonts.google.com/)
322
+ throughout the theme. Simply add the following to your
323
+ [`/_data/theme.yml`](_data/theme.yml), replacing the font `name` and `weights`
324
+ accordingly.
325
+
326
+ ```yaml
327
+ google_fonts:
328
+ - name: "Fira Sans"
329
+ weights: "400,400i,600,600i"
330
+ - name: "Fira Sans Condensed"
331
+ ```
332
+
333
+ ### Text
334
+
335
+ To change text found throughout the theme add the following to your
336
+ [`/_data/theme.yml`](_data/theme.yml) file and customize as necessary.
337
+
338
+ ```yaml
339
+ t:
340
+ skip_links: "Skip links"
341
+ skip_primary_nav: "Skip to primary navigation"
342
+ skip_content: "Skip to content"
343
+ skip_footer: "Skip to footer"
344
+ menu: "Menu"
345
+ home: "Home"
346
+ newer: "Newer"
347
+ older: "Older"
348
+ email: "Email"
349
+ subscribe: "Subscribe"
350
+ read_more: "Read More"
351
+ posts: "Posts"
352
+ page: "Page"
353
+ of: "of"
354
+ min_read: "min read"
355
+ present: "Present"
356
+ ```
357
+
358
+ ### Navigation
359
+
360
+ By default all internal pages with a `title` will be added to the "off-canvas"
361
+ menu. For more granular control and sorting of these menu links:
362
+
363
+ 1. Create a custom list to override the default setting by adding a
364
+ `navigation_pages` array to your [`/_data/theme.yml`](_data/theme.yml) file.
365
+
366
+ 2. Add raw page paths in the order you'd like:
367
+
368
+ ```yaml
369
+ navigation_pages:
370
+ - about.md
371
+ - cv.md
372
+ ```
373
+
374
+ Each menu link's title and URL will be populated based on their `title` and
375
+ `permalink` respectively.
376
+
377
+ ### Pagination
378
+
379
+ Break up the main listing of posts into smaller lists and display them over
380
+ multiple pages by [enabling pagination](http://jekyllrb.com/docs/pagination/).
381
+
382
+ 1. Include the `jekyll-paginate` plugin in your `Gemfile`.
383
+
384
+ ```ruby
385
+ group :jekyll_plugins do
386
+ gem "jekyll-paginate"
387
+ end
388
+ ```
389
+
390
+ 2. Add `jekyll-paginate` to `gems` array in your `_config.yml` file and the
391
+ following pagination settings:
392
+
393
+ ```yaml
394
+ paginate: 5 # amount of posts to show per page
395
+ paginate_path: /page:num/
396
+ ```
397
+
398
+ 3. Create `index.html` (or rename `index.md`) in the root of your project and
399
+ add the following front matter:
400
+
401
+ ```yaml
402
+ layout: home
403
+ paginate: true
404
+ ```
405
+
406
+ ### Search
407
+
408
+ To enable site-wide search add `search: true` to your `_config.yml`.
409
+
410
+ #### Lunr (default)
411
+
412
+ The default search uses [**Lunr**](https://lunrjs.com/) to build a search index of all your documents. This method is 100% compatible with sites hosted on GitHub Pages.
413
+
414
+ **Note:** Only the first 50 words of a post or page's body content is added to the Lunr search index. Setting `search_full_content` to `true` in your `_config.yml` will override this and could impact page load performance.
415
+
416
+ #### Algolia
417
+
418
+ For faster and more relevant search ([see demo](https://mmistakes.github.io/jekyll-theme-basically-basic-algolia-search/)):
419
+
420
+ 1. Add the [`jekyll-algolia`](https://github.com/algolia/jekyll-algolia) gem to your `Gemfile`, in the `:jekyll_plugins` section.
421
+
422
+ ```ruby
423
+ group :jekyll_plugins do
424
+ gem "jekyll-feed"
425
+ gem "jekyll-seo-tag"
426
+ gem "jekyll-sitemap"
427
+ gem "jekyll-paginate"
428
+ gem "jekyll-algolia"
429
+ end
430
+ ```
431
+
432
+ Once this is done, download all dependencies by running `bundle install`.
433
+
434
+ 2. Switch search providers from `lunr` to `algolia` in your `_config.yml` file:
435
+
436
+ ```yaml
437
+ search_provider: algolia
438
+ ```
439
+
440
+ 3. Add the following Algolia credentials to your `_config.yml` file. *If you don't have an Algolia account, you can open a free [Community plan](https://www.algolia.com/users/sign_up/hacker). Once signed in, you can grab your credentials from [your dashboard](https://www.algolia.com/licensing).*
441
+
442
+ ```yaml
443
+ algolia:
444
+ application_id: # YOUR_APPLICATION_ID
445
+ index_name: # YOUR_INDEX_NAME
446
+ search_only_api_key: # YOUR_SEARCH_ONLY_API_KEY
447
+ powered_by: # true (default), false
448
+ ```
449
+
450
+ 4. Once your credentials are setup, you can run the indexing with the following command:
451
+
452
+ ```
453
+ ALGOLIA_API_KEY=your_admin_api_key bundle exec jekyll algolia
454
+ ```
455
+
456
+ For Windows users you will have to use `set` to assigned the `ALGOLIA_API_KEY` environment variable.
457
+
458
+ ```
459
+ set ALGOLIA_API_KEY=your_admin_api_key
460
+ bundle exec jekyll algolia
461
+ ```
462
+
463
+ Note that `ALGOLIA_API_KEY` should be set to your admin API key.
464
+
465
+ To use the Algolia search with GitHub Pages hosted sites follow [this deployment guide](https://community.algolia.com/jekyll-algolia/github-pages.html). Or this guide for [deploying on Netlify](https://community.algolia.com/jekyll-algolia/netlify.html).
466
+
467
+ ### Author
468
+
469
+ Author information is used as meta data for post "by lines" and propagates the
470
+ `creator` field of Twitter summary cards with the following front matter in
471
+ `_config.yml`:
472
+
473
+ ```yaml
474
+ author:
475
+ name: John Doe
476
+ twitter: johndoetwitter
477
+ picture: /assets/images/johndoe.png
478
+ ```
479
+
480
+ Site-wide author information can be overridden in a document's front matter in
481
+ the same way:
482
+
483
+ ```yaml
484
+ author:
485
+ name: Jane Doe
486
+ twitter: janedoetwitter
487
+ picture: /assets/images/janedoe.png
488
+ ```
489
+
490
+ Or by specifying a corresponding key in the document's front matter, that
491
+ exists in `site.data.authors`. E.g., you have the following in the document's
492
+ front matter:
493
+
494
+ ```yaml
495
+ author: megaman
496
+ ```
497
+
498
+ And you have the following in `_data/authors.yml`:
499
+
500
+ ```yaml
501
+ megaman:
502
+ name: Mega Man
503
+ twitter: megamantwitter
504
+ picture: /assets/images/megaman.png
505
+
506
+ drlight:
507
+ name: Dr. Light
508
+ twitter: drlighttwitter
509
+ picture: /assets/images/drlight.png
510
+ ```
511
+
512
+ Currently `author.picture` is only used in `layout: about`. Recommended size is
513
+ `300 x 300` pixels.
514
+
515
+ ### Reading Time
516
+
517
+ To enable reading time counts add `read_time: true` to a post or page's YAML
518
+ Front Matter.
519
+
520
+ ### Comments (via Disqus)
521
+
522
+ Optionally, if you have a [Disqus](https://disqus.com/) account, you can show a
523
+ comments section below each post.
524
+
525
+ To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208) to your project's
526
+ `_config.yml` file:
527
+
528
+ ```yaml
529
+ disqus:
530
+ shortname: my_disqus_shortname
531
+ ```
532
+
533
+ Comments are enabled by default and will only appear in production when built
534
+ with the following [environment value](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time):
535
+ `JEKYLL_ENV=production`
536
+
537
+ If you don't want to display comments for a particular post you can disable
538
+ them by adding `comments: false` to that post's front matter.
539
+
540
+ ### Google Analytics
541
+
542
+ To enable Google Analytics, add your [tracking ID](https://support.google.com/analytics/answer/1032385)
543
+ to `_config.yml` like so:
544
+
545
+ ```yaml
546
+ google_analytics: UA-NNNNNNNN-N
547
+ ```
548
+
549
+ Similar to comments, the Google Analytics tracking script will only appear in
550
+ production when using the following environment value: `JEKYLL_ENV=production`.
551
+
552
+ ## Layouts
553
+
554
+ This theme provides the following layouts, which you can use by setting the
555
+ `layout` [Front Matter](https://jekyllrb.com/docs/frontmatter/) on each page,
556
+ like so:
557
+
558
+ ```yaml
559
+ ---
560
+ layout: name
561
+ ---
562
+ ```
563
+
564
+ ### `layout: default`
565
+
566
+ This layout handles all of the basic page scaffolding placing the page content
567
+ between the masthead and footer elements. All other layouts inherit this one
568
+ and provide additional styling and features inside of the `{{ content }}` block.
569
+
570
+ ### `layout: post`
571
+
572
+ This layout accommodates the following front matter:
573
+
574
+ ```yaml
575
+ # optional alternate title to replace page.title at the top of the page
576
+ alt_title: "Basically Basic"
577
+
578
+ # optional sub-title below the page title
579
+ sub_title: "The name says it all"
580
+
581
+ # optional intro text below titles, Markdown allowed
582
+ introduction: |
583
+ Basically Basic is a Jekyll theme meant to be a substitute for the default --- [Minima](https://github.com/jekyll/minima). Conventions and features found in Minima are fully supported by **Basically Basic**.
584
+
585
+ # optional call to action links
586
+ actions:
587
+ - label: "Learn More"
588
+ icon: github # references name of svg icon, see full list below
589
+ url: "http://url-goes-here.com"
590
+ - label: "Download"
591
+ icon: download # references name of svg icon, see full list below
592
+ url: "http://url-goes-here.com"
593
+
594
+ image: # URL to a hero image associated with the post (e.g., /assets/page-pic.jpg)
595
+
596
+ # post specific author data if different from what is set in _config.yml
597
+ author:
598
+ name: John Doe
599
+ twitter: johndoetwitter
600
+
601
+ comments: false # disable comments on this post
602
+ ```
603
+
604
+ ### `layout: page`
605
+
606
+ Visually this layout looks and acts the same as `layout: post`, with two minor
607
+ differences.
608
+
609
+ - Author "by line" and publish date are omitted.
610
+ - Disqus comments are omitted.
611
+
612
+ ### `layout: home`
613
+
614
+ This layout accommodates the same front matter as `layout: page`, with the
615
+ addition of the following:
616
+
617
+ ```yaml
618
+ paginate: true # enables pagination loop, see section above for additional setup
619
+ ```
620
+
621
+ ### `layout: about`
622
+
623
+ This layout accommodates the same front matter as `layout: page`, with the
624
+ addition of the following to display an author picture:
625
+
626
+ ```yaml
627
+ author:
628
+ name: John Doe
629
+ picture: /assets/images/johndoe.png
630
+ ```
631
+
632
+ Recommended `picture` size is approximately `300 x 300` pixels. If `author`
633
+ object is not explicitly set in the about page's front matter the theme
634
+ will default to the value set in `_config.yml`.
635
+
636
+ If blank there no image will appear.
637
+
638
+ ### `layout: cv`
639
+
640
+ This layout accommodates the same front matter as `layout: page`. It
641
+ leverages a [JSON-based file standard](https://jsonresume.org/schema/) for
642
+ resume data to conveniently render a curriculum vitæ or resume painlessly.
643
+
644
+ Simply use JSON Resume's [in-browser resume builder](http://registry.jsonresume.org/)
645
+ to export a JSON file and save to your project as `_data/cv.json`.
646
+
647
+ ## Customization
648
+
649
+ The default structure, style, and scripts of this theme can be overridden and
650
+ customized in the following two ways.
651
+
652
+ ### Overriding Includes and Layouts
653
+
654
+ Theme defaults can be [overridden](http://jekyllrb.com/docs/themes/#overriding-theme-defaults)
655
+ by placing a file with the same name into your project's `_includes` or
656
+ `_layouts` directory. For instance:
657
+
658
+ - To specify a custom style path or meta data to the [`_includes/head.html `](_includes/head.html)
659
+ file, create an `_includes` directory in your project, copy
660
+ `_includes/head.html` from Basically Basic's gem folder to
661
+ `<your_project>/_includes` and start editing that file.
662
+
663
+ **ProTip:** to locate the theme's files on your computer run
664
+ `bundle show jekyll-theme-basically-basic`. This returns the location of the
665
+ gem-based theme files.
666
+
667
+ ### Customizing Sass (SCSS)
668
+
669
+ To override the default [Sass](http://sass-lang.com/guide) (located in theme's
670
+ `_sass` directory), do one of the following:
671
+
672
+ 1. Copy directly from the Basically Basic gem
673
+
674
+ - Go to your local Basically Basic gem installation directory (run
675
+ `bundle show jekyll-theme-basically-basic` to get the path to it).
676
+ - Copy the contents of `/assets/stylesheets/main.scss` from there to
677
+ `<your_project>`.
678
+ - Customize what you want inside `<your_project>/assets/stylesheets/main.scss`.
679
+
680
+ 2. Copy from this repo.
681
+
682
+ - Copy the contents of [assets/stylesheets/main.scss](assets/stylesheets/main.scss)
683
+ to `<your_project>`.
684
+ - Customize what you want inside `<your_project/assets/stylesheets/main.scss`.
685
+
686
+ **Note:** To make more extensive changes and customize the Sass partials bundled
687
+ in the gem. You will need to copy the complete contents of the `_sass` directory
688
+ to `<your_project>` due to the way Jekyll currently reads those files.
689
+
690
+ To make basic tweaks to theme's style Sass variables can be overridden by adding
691
+ to `<your_project>/assets/stylesheets/main.scss`. For instance, to change the
692
+ accent color used throughout the theme add the following:
693
+
694
+ ```scss
695
+ $accent-color: red;
696
+ ```
697
+
698
+ ### Customizing JavaScript
699
+
700
+ To override the default JavaScript bundled in the theme, do one of the following:
701
+
702
+ 1. Copy directly from the Basically Basic gem
703
+
704
+ - Go to your local Basically Basic gem installation directory (run
705
+ `bundle show jekyll-theme-basically-basic` to get the path to it).
706
+ - Copy the contents of `/assets/javascripts/main.js` from there to
707
+ `<your_project>`.
708
+ - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
709
+
710
+ 2. Copy from this repo.
711
+
712
+ - Copy the contents of [assets/javascripts/main.js](assets/javascripts/main.js)
713
+ to `<your_project>`.
714
+ - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
715
+
716
+ ### SVG Icons
717
+
718
+ The theme uses social network logos and other iconography saved as SVGs for
719
+ performance and flexibility. Said SVGs are located in the `_includes` directory
720
+ and prefixed with `icon-`. Each icon has been sized and designed to fit a
721
+ `16 x 16` viewbox and optimized with [SVGO](https://github.com/svg/svgo).
722
+
723
+ | Icon | Filename |
724
+ | --- | --- |
725
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-arrow-left.svg" width="16" height="16"> | icon-arrow-left.svg |
726
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-arrow-right.svg" width="16" height="16"> | icon-arrow-right.svg |
727
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-bitbucket.svg" width="16" height="16"> | icon-bitbucket.svg |
728
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-calendar.svg" width="16" height="16"> | icon-calendar.svg |
729
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-codepen.svg" width="16" height="16"> | icon-codepen.svg |
730
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-download.svg" width="16" height="16"> | icon-download.svg |
731
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-dribbble.svg" width="16" height="16"> | icon-dribbble.svg |
732
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-email.svg" width="16" height="16"> | icon-email.svg |
733
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-facebook.svg" width="16" height="16"> | icon-facebook.svg |
734
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-flickr.svg" width="16" height="16"> | icon-flickr.svg |
735
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-github.svg" width="16" height="16"> | icon-github.svg |
736
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-gitlab.svg" width="16" height="16"> | icon-gitlab.svg |
737
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-googleplus.svg" width="16" height="16"> | icon-googleplus.svg |
738
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-instagram.svg" width="16" height="16"> | icon-instagram.svg |
739
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-lastfm.svg" width="16" height="16"> | icon-lastfm.svg |
740
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-linkedin.svg" width="16" height="16"> | icon-linkedin.svg |
741
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pdf.svg" width="16" height="16"> | icon-pdf.svg |
742
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pinterest.svg" width="16" height="16"> | icon-pinterest.svg |
743
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-rss.svg" width="16" height="16"> | icon-rss.svg |
744
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-soundcloud.svg" width="16" height="16"> | icon-soundcloud.svg |
745
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stackoverflow.svg" width="16" height="16"> | icon-stackoverflow.svg |
746
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stopwatch.svg" width="16" height="16"> | icon-stopwatch.svg |
747
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-tumblr.svg" width="16" height="16"> | icon-tumblr.svg |
748
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-twitter.svg" width="16" height="16"> | icon-twitter.svg |
749
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-xing.svg" width="16" height="16"> | icon-xing.svg |
750
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-youtube.svg" width="16" height="16"> | icon-youtube.svg |
751
+
752
+ Fill colors are defined in the `_sass/basically-basic/_icons.scss` partial and
753
+ set with `.icon-name` where class name matches the corresponding icon.
754
+
755
+ For example the Twitter icon is given a fill color of `#1da1f2` like so:
756
+
757
+ ```html
758
+ <span class="icon icon--twitter">{% include icon-twitter.svg %}</span>
759
+ ```
760
+
761
+ Alongside the SVG assets, there are icon helper includes to aid in generating
762
+ social network links.
763
+
764
+ | Include Parameter | Description | Required |
765
+ | ----------------- | ---------------------------------| ----------------------- |
766
+ | `username` | Username on given social network | **Required** |
767
+ | `label` | Text used for hyperlink | Optional, defaults to `username` |
768
+
769
+ For example, the following `icon-github.html` include:
770
+
771
+ ```liquid
772
+ {% include icon-github.html username=jekyll label='GitHub' %}
773
+ ```
774
+
775
+ Will output the following HTML:
776
+
777
+ ```html
778
+ <a href="https://github.com/jekyll">
779
+ <span class="icon icon--github"><svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"></path></svg></span>
780
+ <span class="label">GitHub</span>
781
+ </a>
782
+ ```
783
+
784
+ ### Customizing Sidebar Content
785
+
786
+ ---
787
+
788
+ ## Development
789
+
790
+ To set up your environment to develop this theme:
791
+
792
+ 1. Clone this repo
793
+ 2. `cd` into `/example` and run `bundle install`.
794
+
795
+ To test the theme the locally as you make changes to it:
796
+
797
+ 1. `cd` into the root folder of the repo (e.g. `jekyll-theme-basically-basic`).
798
+ 2. Run `bundle exec rake preview` and open your browser to
799
+ `http://localhost:4000/example/`.
800
+
801
+ This starts a Jekyll server using the theme's files and contents of the
802
+ `example/` directory. As modifications are made, refresh your browser to see
803
+ any changes.
804
+
805
+ ## Contributing
806
+
807
+ Found a typo in the documentation? Interested in adding a feature or
808
+ [fixing a bug][issues]? Then by all means [submit an issue][new-issue] or take a
809
+ stab at submitting a [pull request][using-pull-requests]. If this is your first
810
+ pull request, it may be helpful to read up on the [GitHub Flow][github-flow].
811
+
812
+ [issues]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues
813
+ [new-issue]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues/new
814
+ [using-pull-requests]: https://help.github.com/articles/using-pull-requests/
815
+ [github-flow]: https://guides.github.com/introduction/flow/
816
+
817
+ ### Pull Requests
818
+
819
+ When submitting a pull request:
820
+
821
+ 1. Clone the repo.
822
+ 2. Create a branch off of `master` and give it a meaningful name (e.g.
823
+ `my-awesome-new-feature`) and describe the feature or fix.
824
+ 3. Open a pull request on GitHub.
825
+
826
+ Sample pages can be found in the [`/docs`](docs) and [`/example`](/example)
827
+ folders if you'd like to tackle any "low-hanging fruit" like fixing typos, bad
828
+ grammar, etc.
829
+
830
+ ---
831
+
832
+ ## Credits
833
+
834
+ ### Creator
835
+
836
+ **Michael Rose**
837
+
838
+ - <https://mademistakes.com>
839
+ - <https://twitter.com/mmistakes>
840
+ - <https://github.com/mmistakes>
841
+
842
+ ### Icons + Demo Images:
843
+
844
+ - [Simple Icons](https://simpleicons.org/)
845
+ - [Noun Project](https://thenounproject.com)
846
+ - [Unsplash](https://unsplash.com/)
847
+
848
+ ### Other:
849
+
850
+ - [Jekyll](http://jekyllrb.com/)
851
+ - [Susy](http://susy.oddbird.net/)
852
+ - [Breakpoint](http://breakpoint-sass.com/)
853
+
854
+ ---
855
+
856
+ ## License
857
+
858
+ The MIT License (MIT)
859
+
860
+ Copyright (c) 2017-2018 Michael Rose and contributors
861
+
862
+ Permission is hereby granted, free of charge, to any person obtaining a copy
863
+ of this software and associated documentation files (the "Software"), to deal
864
+ in the Software without restriction, including without limitation the rights
865
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
866
+ copies of the Software, and to permit persons to whom the Software is
867
+ furnished to do so, subject to the following conditions:
868
+
869
+ The above copyright notice and this permission notice shall be included in all
870
+ copies or substantial portions of the Software.
871
+
872
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
873
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
874
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
875
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
876
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
877
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
878
+ SOFTWARE.
879
+
880
+ Basically Basic incorporates icons from [The Noun Project](https://thenounproject.com/).
881
+ Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
882
+
883
+ Basically Basic incorporates photographs from [Unsplash](https://unsplash.com).
884
+
885
+ Basically Basic incorporates [Susy](http://susy.oddbird.net/),
886
+ Copyright (c) 2017, Miriam Eric Suzanne.
887
+ Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
888
+
889
+ Basically Basic incorporates [Breakpoint](http://breakpoint-sass.com/).
890
+ Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).