jekyll-theme-basically-basic 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f2e0ab57f483f56071db22e3e78effbd02cd3995
4
- data.tar.gz: b664f1ffb586edaf91b519aa576d462ce1a8a399
3
+ metadata.gz: 72c7ec38c98bdf27990c7f85f2b6253acb88db8a
4
+ data.tar.gz: a2c577987fc1ace38282adbc7ce2cf56d0e6b03d
5
5
  SHA512:
6
- metadata.gz: c37d965922b6c8ba8f035b524f0d7fe9768f0f0a6ae98e2696bc758bae9cdd353e649e5260f3451d6e049297318875c6abbeb6a43a2426c3649c9932d92dc4f9
7
- data.tar.gz: c9b2989456d7cc6fcb07b9c2efd97a43decd6057f8a9f37a37dd582d645269a96826242d777080ac0d9bf2b5b6b7cb31613b6478ba721e6204794ff6b75326c4
6
+ metadata.gz: 097d7d4989d385ec38583f2dbe7dc3cd31023505c4f4c1bfc7eb5b798db8be0188ee28a8818d890bbaf98eda1ec44b132ff9f0388b74081eaca48cb2e40eeaf0
7
+ data.tar.gz: c4d91e56e0fc7776d42e2c9c817fc8bd17da2760cffddb10b8c39840c1fd171040ddddddab732e49b37a4b91804c9aab11d5bb968df9c142969fcd079cb1283b
data/CHANGELOG.md CHANGED
@@ -5,7 +5,10 @@ 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
- ## [Unreleased]
8
+ ## [1.1.1] - 2017-09-06
9
+ ### Changed
10
+ - Change `gems` key in `_config.yml` to `plugins`. [#23](https://github.com/mmistakes/jekyll-theme-basically-basic/pull/23)
11
+ - Liquid syntax error: "Expected id but found end_of_string_in `cv.skills.`" in `/cv/skills.html` include.
9
12
 
10
13
  ## [1.1.0] - 2017-03-30
11
14
  ### Added
data/README.md CHANGED
@@ -1,713 +1,713 @@
1
- # [Basically Basic Jekyll Theme][1]
2
-
3
- [![Gem](https://img.shields.io/gem/v/jekyll-theme-basically-basic.svg?style=flat-square)](https://rubygems.org/gems/jekyll-theme-basically-basic)
4
- [![license](https://img.shields.io/github/license/mmistakes/jekyll-theme-basically-basic.svg?style=flat-square)](LICENSE.md)
5
- [![Code Climate](https://img.shields.io/codeclimate/github/mmistakes/jekyll-theme-basically-basic.svg?style=flat-square)](https://codeclimate.com/github/mmistakes/jekyll-theme-basically-basic)
6
-
7
- Basically Basic is a [Jekyll theme](https://jekyllrb.com/docs/themes/) meant as
8
- a substitute for the default --- [Minima](https://github.com/jekyll/minima).
9
- Conventions and features found there are fully supported by **Basically Basic**,
10
- with a few enhancements thrown in for good measure:
11
-
12
- - Clean responsive design with [six customizable skins](#skin)
13
- - Curriculum Vitæ/Resume layout powered by [JSON data](http://registry.jsonresume.org/)
14
- - About page layout
15
- - Disqus Comments and Google Analytics support
16
- - SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/)
17
-
18
- [![Basically Basic live preview][2]][1]
19
-
20
- [1]: https://mmistakes.github.io/jekyll-theme-basically-basic/
21
- [2]: https://cloud.githubusercontent.com/assets/1376749/24117647/6dede894-0d81-11e7-9c2c-f19bea45e219.jpg (live preview)
22
-
23
- ## Table of Contents
24
-
25
- 1. [Installation](#installation)
26
- 1. [Ruby Gem Method](#ruby-gem-method)
27
- 2. [GitHub Pages Compatible Method](#github-pages-compatible-method)
28
- 1. [Remove the Unnecessary](#remove-the-unnecessary)
29
- 2. [Structure](#structure)
30
- 1. [Starting Fresh](#starting-fresh)
31
- 2. [Starting from jekyll new](#starting-from-jekyll-new)
32
- 3. [Configuration](#configuration)
33
- 1. [Skin](#skin)
34
- 2. [Google Fonts](#google-fonts)
35
- 3. [Text](#text)
36
- 4. [Navigation](#navigation)
37
- 5. [Pagination](#pagination)
38
- 6. [Author](#author)
39
- 7. [Reading Time](#reading-time)
40
- 8. [Comments (via Disqus)](#comments-via-disqus)
41
- 9. [Google Analytics](#google-analytics)
42
- 4. [Layouts](#layouts)
43
- 1. [Default](#layout-default)
44
- 2. [Post](#layout-post)
45
- 3. [Page](#layout-page)
46
- 4. [Home](#layout-home)
47
- 5. [About](#layout-about)
48
- 6. [Curriculum Vitæ/Resume](#layout-cv)
49
- 5. [Customization](#customization)
50
- 1. [Overriding Includes and Layouts](#overriding-includes-and-layouts)
51
- 2. [Customizing Sass (SCSS)](#customizing-sass-scss)
52
- 3. [Customizing JavaScript](#customizing-javascript)
53
- 4. [SVG Icons](#svg-icons)
54
- 5. [Customizing Sidebar Content](#customizing-sidebar-content)
55
- 6. [Development](#development)
56
- 7. [Contributing](#contributing)
57
- 1. [Pull Requests](#pull-requests)
58
- 8. [Credits](#credits)
59
-
60
- ## Installation
61
-
62
- If you're running Jekyll v3.3+ and self-hosting you can quickly install the
63
- theme as Ruby gem. If you're hosting with GitHub Pages you'll have to use the
64
- "repo fork" method or directly copy all of the theme files (see
65
- [structure](#structure) below) into your project.
66
-
67
- ### Ruby Gem Method
68
-
69
- 1. Install the theme as a Ruby Gem by adding it to your `Gemfile` like so:
70
-
71
- ```ruby
72
- gem "jekyll-theme-basically-basic"
73
- ```
74
-
75
- 2. Fetch and update your bundled gems by running the following
76
- [Bundler](http://bundler.io/) command:
77
-
78
- ```bash
79
- bundle
80
- ```
81
-
82
- 3. Set the `theme` in your project's Jekyll configuration, `_config.yml`:
83
-
84
- ```yaml
85
- theme: jekyll-theme-basically-basic
86
- ```
87
-
88
- ### GitHub Pages Compatible Method
89
-
90
- Fork the [Basically Basic repo](https://github.com/mmistakes/jekyll-theme-basically-basic/fork),
91
- then rename it to **USERNAME.github.io** --- replacing **USERNAME** with your
92
- GitHub username.
93
-
94
- **Note:** Your Jekyll site should be viewable immediately at
95
- <http://USERNAME.github.io>. If it's not, you can force a rebuild by
96
- **configuring your site** (see below for more details).
97
-
98
- Replace the contents of `Gemfile` found in the root of your Jekyll site with
99
- the following:
100
-
101
- ```ruby
102
- source "https://rubygems.org"
103
-
104
- gem "github-pages", group: :jekyll_plugins
105
- ```
106
-
107
- Then run `bundle update` and verify that the [GitHub Pages gem](https://github.com/github/pages-gem)
108
- and its dependencies install properly.
109
-
110
- #### Remove the Unnecessary
111
-
112
- If you forked or downloaded the `jekyll-theme-basically-basic` repo you can
113
- safely remove the following files and folders:
114
-
115
- - `.codeclimate.yml`
116
- - `.editorconfig`
117
- - `.gitattributes`
118
- - `.github`
119
- - `.scss-lint.yml`
120
- - `CHANGELOG.md`
121
- - `jekyll-theme-basically-basic.gemspec`
122
- - `LICENSE.md`
123
- - `Rakefile`
124
- - `README.md`
125
- - `screenshot.png`
126
- - `/docs`
127
- - `/example`
128
-
129
- ## Structure
130
-
131
- Layouts, includes, Sass partials, and data files are all placed in their default
132
- locations. Stylesheets and scripts in `assets`, and a few development related
133
- files in the project's root directory.
134
-
135
- **Please note:** If you installed Basically Basic via the Ruby Gem method, theme
136
- files found in `/_layouts`, `/_includes`, `/_sass`, and `/assets` will be
137
- missing. This is normal as they are bundled with the [`jekyll-theme-basically-basic`](https://rubygems.org/gems/jekyll-theme-basically-basic) gem.
138
-
139
- ```bash
140
- jekyll-theme-basically-basic
141
- ├── _data # data files
142
- | └── theme.yml # theme settings and custom text
143
- ├── _includes # theme includes and SVG icons
144
- ├── _layouts # theme layouts (see below for details)
145
- ├── _sass # Sass partials
146
- ├── assets
147
- | ├── javascripts
148
- | | └── main.js
149
- | └── stylesheets
150
- | └── main.scss
151
- ├── _config.yml # sample configuration
152
- └── index.md # sample home page (all posts/not paginated)
153
- ```
154
-
155
- ### Starting Fresh
156
-
157
- After creating a `Gemfile` and installing the theme you'll need to add and edit
158
- the following files:
159
-
160
- - [`_config.yml`](_config.yml)
161
- - [`/_data/theme.yml`](_data/theme.yml)
162
- - [`index.md`](index.md)
163
-
164
- **Note:** Consult the [**pagination**](#pagination) documentation below for
165
- instructions on how to enable it for the home page.
166
-
167
- ### Starting from `jekyll new`
168
-
169
- Using the `jekyll new` command will get you up and running the quickest.
170
-
171
- Edit `_config.yml` and create `_data/theme.yml` as instructed above and you're
172
- good to go.
173
-
174
- ## Configuration
175
-
176
- Configuration of site-wide elements (`lang`, `title`, `description`, `logo`,
177
- `author`, etc.) happens in your project's `_config.yml`. See the
178
- [example configuration](example/_config.yml) in this repo for additional
179
- reference.
180
-
181
- | | Description |
182
- | ------------------ | ------------------------------------------------------------------------- |
183
- | `lang` | Used to indicate the language of text (e.g., en-US, en-GB, fr) |
184
- | `title` | Your site's title (e.g., Dungan's Awesome Site) |
185
- | `description` | Short site description (e.g., A blog about grasshopper mash) |
186
- | `url` | The full URL to your site (e.g., https://groverloaf.org) |
187
- | `author` | Global author information (see below) |
188
- | `logo` | Path to a site-wide logo ~100x100px (e.g., /assets/your-company-logo.png) |
189
- | `twitter_username` | Site-wide Twitter username, used as a link in sidebar |
190
- | `github_username` | Site-wide GitHub username, used as a link in sidebar |
191
-
192
- For more configuration options be sure to consult the documentation for:
193
- [**jekyll-seo-tag**][jekyll-seo-tag], [**jekyll-feed**][jekyll-feed],
194
- [**jekyll-paginate**][jekyll-paginate], and [**jekyll-sitemap**][jekyll-sitemap].
195
-
196
- [jekyll-seo-tag]: https://github.com/jekyll/jekyll-seo-tag
197
- [jekyll-feed]: https://github.com/jekyll/jekyll-feed
198
- [jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
199
- [jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
200
-
201
- ### Skin
202
-
203
- This theme comes in six different skins (color variations). To change skins add
204
- one of the following to your [`/_data/theme.yml`](_data/theme.yml) file:
205
-
206
- | `skin: default` | `skin: night` | `skin: plum` |
207
- | --- | --- | --- |
208
- | ![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) |
209
-
210
- | `skin: sea` | `skin: soft` | `skin: steel` |
211
- | --- | --- | --- |
212
- | ![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) |
213
-
214
- ### Google Fonts
215
-
216
- This theme allows you to easily use [Google Fonts](https://fonts.google.com/)
217
- throughout the theme. Simply add the following to your
218
- [`/_data/theme.yml`](_data/theme.yml), replacing the font `name` and `weights`
219
- accordingly.
220
-
221
- ```yaml
222
- google_fonts:
223
- - name: "Fira Sans"
224
- weights: "400,400i,600,600i"
225
- - name: "Fira Sans Condensed"
226
- ```
227
-
228
- ### Text
229
-
230
- To change text found throughout the theme add the following to your
231
- [`/_data/theme.yml`](_data/theme.yml) file and customize as necessary.
232
-
233
- ```yaml
234
- t:
235
- skip_links: "Skip links"
236
- skip_primary_nav: "Skip to primary navigation"
237
- skip_content: "Skip to content"
238
- skip_footer: "Skip to footer"
239
- menu: "Menu"
240
- home: "Home"
241
- newer: "Newer"
242
- older: "Older"
243
- email: "Email"
244
- subscribe: "Subscribe"
245
- read_more: "Read More"
246
- posts: "Posts"
247
- page: "Page"
248
- of: "of"
249
- min_read: "min read"
250
- present: "Present"
251
- ```
252
-
253
- ### Navigation
254
-
255
- By default all internal pages with a `title` will be added to the "off-canvas"
256
- menu. For more granular control and sorting of these menu links:
257
-
258
- 1. Create a custom list to override the default setting by adding a
259
- `navigation_pages` array to your [`/_data/theme.yml`](_data/theme.yml) file.
260
-
261
- 2. Add raw page paths in the order you'd like:
262
-
263
- ```yaml
264
- navigation_pages:
265
- - about.md
266
- - cv.md
267
- ```
268
-
269
- Each menu link's title and URL will be populated based on their `title` and
270
- `permalink` respectively.
271
-
272
- ### Pagination
273
-
274
- Break up the main listing of posts into smaller lists and display them over
275
- multiple pages by [enabling pagination](http://jekyllrb.com/docs/pagination/).
276
-
277
- 1. Include the `jekyll-paginate` plugin in your `Gemfile`.
278
-
279
- ```ruby
280
- group :jekyll_plugins do
281
- gem "jekyll-paginate"
282
- end
283
- ```
284
-
285
- 2. Add `jekyll-paginate` to `gems` array in your `_config.yml` file and the
286
- following pagination settings:
287
-
288
- ```yaml
289
- paginate: 5 # amount of posts to show per page
290
- paginate_path: /page:num/
291
- ```
292
-
293
- 3. Create `index.html` (or rename `index.md`) in the root of your project and
294
- add the following front matter:
295
-
296
- ```yaml
297
- layout: home
298
- paginate: true
299
- ```
300
-
301
- ### Author
302
-
303
- Author information is used as meta data for post "by lines" and propagates the
304
- `creator` field of Twitter summary cards with the following front matter in
305
- `_config.yml`:
306
-
307
- ```yaml
308
- author:
309
- name: John Doe
310
- twitter: johndoetwitter
311
- picture: /assets/images/johndoe.png
312
- ```
313
-
314
- Site-wide author information can be overridden in a document's front matter in
315
- the same way:
316
-
317
- ```yaml
318
- author:
319
- name: Jane Doe
320
- twitter: janedoetwitter
321
- picture: /assets/images/janedoe.png
322
- ```
323
-
324
- Or by specifying a corresponding key in the document's front matter, that
325
- exists in `site.data.authors`. E.g., you have the following in the document's
326
- front matter:
327
-
328
- ```yaml
329
- author: megaman
330
- ```
331
-
332
- And you have the following in `_data/authors.yml`:
333
-
334
- ```yaml
335
- megaman:
336
- name: Mega Man
337
- twitter: megamantwitter
338
- picture: /assets/images/megaman.png
339
-
340
- drlight:
341
- name: Dr. Light
342
- twitter: drlighttwitter
343
- picture: /assets/images/drlight.png
344
- ```
345
-
346
- Currently `author.picture` is only used in `layout: about`. Recommended size is
347
- `300 x 300` pixels.
348
-
349
- ### Reading Time
350
-
351
- To enable reading time counts add `read_time: true` to a post or page's YAML
352
- Front Matter.
353
-
354
- ### Comments (via Disqus)
355
-
356
- Optionally, if you have a [Disqus](https://disqus.com/) account, you can show a
357
- comments section below each post.
358
-
359
- To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208) to your project's `_config.yml` file:
360
-
361
- ```yaml
362
- disqus:
363
- shortname: my_disqus_shortname
364
- ```
365
-
366
- Comments are enabled by default and will only appear in production when built
367
- with the following [environment value](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time):
368
- `JEKYLL_ENV=production`
369
-
370
- If you don't want to display comments for a particular post you can disable
371
- them by adding `comments: false` to that post's front matter.
372
-
373
- ### Google Analytics
374
-
375
- To enable Google Analytics, add your [tracking ID](https://support.google.com/analytics/answer/1032385)
376
- to `_config.yml` like so:
377
-
378
- ```yaml
379
- google_analytics: UA-NNNNNNNN-N
380
- ```
381
-
382
- Similar to comments, the Google Analytics tracking script will only appear in
383
- production when using the following environment value: `JEKYLL_ENV=production`.
384
-
385
- ## Layouts
386
-
387
- This theme provides the following layouts, which you can use by setting the
388
- `layout` [Front Matter](https://jekyllrb.com/docs/frontmatter/) on each page,
389
- like so:
390
-
391
- ```yaml
392
- ---
393
- layout: name
394
- ---
395
- ```
396
-
397
- ### `layout: default`
398
-
399
- This layout handles all of the basic page scaffolding placing the page content
400
- between the masthead and footer elements. All other layouts inherit this one
401
- and provide additional styling and features inside of the `{{ content }}` block.
402
-
403
- ### `layout: post`
404
-
405
- This layout accommodates the following front matter:
406
-
407
- ```yaml
408
- # optional alternate title to replace page.title at the top of the page
409
- alt_title: "Basically Basic"
410
-
411
- # optional sub-title below the page title
412
- sub_title: "The name says it all"
413
-
414
- # optional intro text below titles, Markdown allowed
415
- introduction: |
416
- 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**.
417
-
418
- # optional call to action links
419
- actions:
420
- - label: "Learn More"
421
- icon: github # references name of svg icon, see full list below
422
- url: "http://url-goes-here.com"
423
- - label: "Download"
424
- icon: download # references name of svg icon, see full list below
425
- url: "http://url-goes-here.com"
426
-
427
- image: # URL to a hero image associated with the post (e.g., /assets/page-pic.jpg)
428
-
429
- # post specific author data if different from what is set in _config.yml
430
- author:
431
- name: John Doe
432
- twitter: johndoetwitter
433
-
434
- comments: false # disable comments on this post
435
- ```
436
-
437
- ### `layout: page`
438
-
439
- Visually this layout looks and acts the same as `layout: post`, with two minor
440
- differences.
441
-
442
- - Author "by line" and publish date are omitted.
443
- - Disqus comments are omitted.
444
-
445
- ### `layout: home`
446
-
447
- This layout accommodates the same front matter as `layout: page`, with the
448
- addition of the following:
449
-
450
- ```yaml
451
- paginate: true # enables pagination loop, see section above for additional setup
452
- ```
453
-
454
- ### `layout: about`
455
-
456
- This layout accommodates the same front matter as `layout: page`, with the
457
- addition of the following to display an author picture:
458
-
459
- ```yaml
460
- author:
461
- name: John Doe
462
- picture: /assets/images/johndoe.png
463
- ```
464
-
465
- Recommended `picture` size is approximately `300 x 300` pixels. If `author`
466
- object is not explicitly set in the about page's front matter the theme
467
- will default to the value set in `_config.yml`.
468
-
469
- If blank there no image will appear.
470
-
471
- ### `layout: cv`
472
-
473
- This layout accommodates the same front matter as `layout: page`. It
474
- leverages a [JSON-based file standard](https://jsonresume.org/schema/) for
475
- resume data to conveniently render a curriculum vitæ or resume painlessly.
476
-
477
- Simply use JSON Resume's [in-browser resume builder](http://registry.jsonresume.org/)
478
- to export a JSON file and save to your project as `_data/cv.json`.
479
-
480
- ## Customization
481
-
482
- The default structure, style, and scripts of this theme can be overridden and
483
- customized in the following two ways.
484
-
485
- ### Overriding Includes and Layouts
486
-
487
- Theme defaults can be [overridden](http://jekyllrb.com/docs/themes/#overriding-theme-defaults)
488
- by placing a file with the same name into your project's `_includes` or
489
- `_layouts` directory. For instance:
490
-
491
- - To specify a custom style path or meta data to the [`_includes/head.html `](_includes/head.html)
492
- file, create an `_includes` directory in your project, copy
493
- `_includes/head.html` from Basically Basic's gem folder to
494
- `<your_project>/_includes` and start editing that file.
495
-
496
- **ProTip:** to locate the theme's files on your computer run
497
- `bundle show jekyll-theme-basically-basic`. This returns the location of the
498
- gem-based theme files.
499
-
500
- ### Customizing Sass (SCSS)
501
-
502
- To override the default [Sass](http://sass-lang.com/guide) (located in theme's
503
- `_sass` directory), do one of the following:
504
-
505
- 1. Copy directly from the Basically Basic gem
506
-
507
- - Go to your local Basically Basic gem installation directory (run
508
- `bundle show jekyll-theme-basically-basic` to get the path to it).
509
- - Copy the contents of `/assets/stylesheets/main.scss` from there to
510
- `<your_project>`.
511
- - Customize want you want inside `<your_project>/assets/stylesheets/main.scss`.
512
-
513
- 2. Copy from this repo.
514
-
515
- - Copy the contents of [assets/stylesheets/main.scss](assets/stylesheets/main.scss)
516
- to `<your_project>`.
517
- - Customize want you want inside `<your_project/assets/stylesheets/main.scss`.
518
-
519
- **Note:** To make more extensive changes and customize the Sass partials bundled
520
- in the gem. You will need to copy the complete contents the `_sass` directory to
521
- `<your_project>` due to the way Jekyll currently reads those files.
522
-
523
- To make basic tweaks to theme's style Sass variables can be overridden by adding
524
- to `<your_project>/assets/stylesheets/main.scss`. For instance, to change the
525
- accent color used throughout the theme add:
526
-
527
- ```scss
528
- $accent-color: red;
529
- ```
530
-
531
- Before any `@import` lines.
532
-
533
- ### Customizing JavaScript
534
-
535
- To override the default JavaScript bundled in the theme, do one of the following:
536
-
537
- 1. Copy directly from the Basically Basic gem
538
-
539
- - Go to your local Basically Basic gem installation directory (run
540
- `bundle show jekyll-theme-basically-basic` to get the path to it).
541
- - Copy the contents of `/assets/javascripts/main.js` from there to
542
- `<your_project>`.
543
- - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
544
-
545
- 2. Copy from this repo.
546
-
547
- - Copy the contents of [assets/javascripts/main.js](assets/javascripts/main.js)
548
- to `<your_project>`.
549
- - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
550
-
551
- ### SVG Icons
552
-
553
- The theme uses social network logos and other iconography saved as SVGs for
554
- performance and flexibility. Said SVGs are located in the `_includes` directory
555
- and prefixed with `icon-`. Each icon has been sized and designed to fit a
556
- `16 x 16` viewbox and optimized with [SVGO](https://github.com/svg/svgo).
557
-
558
- | Icon | Filename |
559
- | --- | --- |
560
- | <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 |
561
- | <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 |
562
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-bitbucket.svg" width="16" height="16"> | icon-bitbucket.svg |
563
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-calendar.svg" width="16" height="16"> | icon-calendar.svg |
564
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-codepen.svg" width="16" height="16"> | icon-codepen.svg |
565
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-download.svg" width="16" height="16"> | icon-download.svg |
566
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-dribbble.svg" width="16" height="16"> | icon-dribbble.svg |
567
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-email.svg" width="16" height="16"> | icon-email.svg |
568
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-facebook.svg" width="16" height="16"> | icon-facebook.svg |
569
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-flickr.svg" width="16" height="16"> | icon-flickr.svg |
570
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-github.svg" width="16" height="16"> | icon-github.svg |
571
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-gitlab.svg" width="16" height="16"> | icon-gitlab.svg |
572
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-googleplus.svg" width="16" height="16"> | icon-googleplus.svg |
573
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-instagram.svg" width="16" height="16"> | icon-instagram.svg |
574
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-lastfm.svg" width="16" height="16"> | icon-lastfm.svg |
575
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-linkedin.svg" width="16" height="16"> | icon-linkedin.svg |
576
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pdf.svg" width="16" height="16"> | icon-pdf.svg |
577
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pinterest.svg" width="16" height="16"> | icon-pinterest.svg |
578
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-rss.svg" width="16" height="16"> | icon-rss.svg |
579
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-soundcloud.svg" width="16" height="16"> | icon-soundcloud.svg |
580
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stackoverflow.svg" width="16" height="16"> | icon-stackoverflow.svg |
581
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stopwatch.svg" width="16" height="16"> | icon-stopwatch.svg |
582
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-tumblr.svg" width="16" height="16"> | icon-tumblr.svg |
583
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-twitter.svg" width="16" height="16"> | icon-twitter.svg |
584
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-xing.svg" width="16" height="16"> | icon-xing.svg |
585
- | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-youtube.svg" width="16" height="16"> | icon-youtube.svg |
586
-
587
- Fill colors are defined in the `_sass/basically-basic/_icons.scss` partial and
588
- set with `.icon-name` where class name matches the corresponding icon.
589
-
590
- For example the Twitter icon is given a fill color of `#1da1f2` like so:
591
-
592
- ```html
593
- <span class="icon icon--twitter">{% include icon-twitter.svg %}</span>
594
- ```
595
-
596
- Alongside the SVG assets, there are icon helper includes to aid in generating
597
- social network links.
598
-
599
- | Include Parameter | Description | Required |
600
- | ----------------- | ---------------------------------| ----------------------- |
601
- | `username` | Username on given social network | **Required** |
602
- | `label` | Text used for hyperlink | Optional, defaults to `username` |
603
-
604
- For example, the following `icon-github.html` include:
605
-
606
- ```liquid
607
- {% include icon-github.html username=jekyll label='GitHub' %}
608
- ```
609
-
610
- Will output the following HTML:
611
-
612
- ```html
613
- <a href="https://github.com/jekyll">
614
- <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>
615
- <span class="label">GitHub</span>
616
- </a>
617
- ```
618
-
619
- ### Customizing Sidebar Content
620
-
621
- ---
622
-
623
- ## Development
624
-
625
- To set up your environment to develop this theme:
626
-
627
- 1. Clone this repo
628
- 2. `cd` into `/example` and run `bundle install`.
629
-
630
- To test the theme the locally as you make changes to it:
631
-
632
- 1. `cd` into the root folder of the repo (e.g. `jekyll-theme-basically-basic`).
633
- 2. Run `bundle exec rake preview` and open your browser to
634
- `http://localhost:4000/example/`.
635
-
636
- This starts a Jekyll server using the theme's files and contents of the
637
- `example/` directory. As modifications are made, refresh your browser to see
638
- any changes.
639
-
640
- ## Contributing
641
-
642
- Found a typo in the documentation? Interested in adding a feature or
643
- [fixing a bug][issues]? Then by all means [submit an issue][new-issue] or take a
644
- stab at submitting a [pull request][using-pull-requests]. If this is your first
645
- pull request, it may be helpful to read up on the [GitHub Flow][github-flow].
646
-
647
- [issues]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues
648
- [new-issue]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues/new
649
- [using-pull-requests]: https://help.github.com/articles/using-pull-requests/
650
- [github-flow]: https://guides.github.com/introduction/flow/
651
-
652
- ### Pull Requests
653
-
654
- When submitting a pull request:
655
-
656
- 1. Clone the repo.
657
- 2. Create a branch off of `master` and give it a meaningful name (e.g.
658
- `my-awesome-new-feature`) and describe the feature or fix.
659
- 3. Open a pull request on GitHub.
660
-
661
- Sample pages can be found in the [`/docs`](docs) and [`/example`](/example)
662
- folders if you'd like to tackle any "low-hanging fruit" like fixing typos, bad
663
- grammar, etc.
664
-
665
- ---
666
-
667
- ## Credits
668
-
669
- ### Creator
670
-
671
- **Michael Rose**
672
-
673
- - <https://mademistakes.com>
674
- - <https://twitter.com/mmistakes>
675
- - <https://github.com/mmistakes>
676
-
677
- ### Icons + Demo Images:
678
-
679
- - [Simple Icons](https://simpleicons.org/)
680
- - [Noun Project](https://thenounproject.com)
681
- - [Unsplash](https://unsplash.com/)
682
-
683
- ### Other:
684
-
685
- - [Jekyll](http://jekyllrb.com/)
686
- - [Susy](http://susy.oddbird.net/)
687
- - [Breakpoint](http://breakpoint-sass.com/)
688
-
689
- ---
690
-
691
- ## License
692
-
693
- The MIT License (MIT)
694
-
695
- Copyright (c) 2017 Michael Rose
696
-
697
- Permission is hereby granted, free of charge, to any person obtaining a copy
698
- of this software and associated documentation files (the "Software"), to deal
699
- in the Software without restriction, including without limitation the rights
700
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
701
- copies of the Software, and to permit persons to whom the Software is
702
- furnished to do so, subject to the following conditions:
703
-
704
- The above copyright notice and this permission notice shall be included in all
705
- copies or substantial portions of the Software.
706
-
707
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
708
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
709
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
710
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
711
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
712
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
713
- SOFTWARE.
1
+ # [Basically Basic Jekyll Theme][1]
2
+
3
+ [![Gem](https://img.shields.io/gem/v/jekyll-theme-basically-basic.svg?style=flat-square)](https://rubygems.org/gems/jekyll-theme-basically-basic)
4
+ [![license](https://img.shields.io/github/license/mmistakes/jekyll-theme-basically-basic.svg?style=flat-square)](LICENSE.md)
5
+ [![Code Climate](https://img.shields.io/codeclimate/github/mmistakes/jekyll-theme-basically-basic.svg?style=flat-square)](https://codeclimate.com/github/mmistakes/jekyll-theme-basically-basic)
6
+
7
+ Basically Basic is a [Jekyll theme](https://jekyllrb.com/docs/themes/) meant as
8
+ a substitute for the default --- [Minima](https://github.com/jekyll/minima).
9
+ Conventions and features found there are fully supported by **Basically Basic**,
10
+ with a few enhancements thrown in for good measure:
11
+
12
+ - Clean responsive design with [six customizable skins](#skin)
13
+ - Curriculum Vitæ/Resume layout powered by [JSON data](http://registry.jsonresume.org/)
14
+ - About page layout
15
+ - Disqus Comments and Google Analytics support
16
+ - SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/)
17
+
18
+ [![Basically Basic live preview][2]][1]
19
+
20
+ [1]: https://mmistakes.github.io/jekyll-theme-basically-basic/
21
+ [2]: https://cloud.githubusercontent.com/assets/1376749/24117647/6dede894-0d81-11e7-9c2c-f19bea45e219.jpg (live preview)
22
+
23
+ ## Table of Contents
24
+
25
+ 1. [Installation](#installation)
26
+ 1. [Ruby Gem Method](#ruby-gem-method)
27
+ 2. [GitHub Pages Compatible Method](#github-pages-compatible-method)
28
+ 1. [Remove the Unnecessary](#remove-the-unnecessary)
29
+ 2. [Structure](#structure)
30
+ 1. [Starting Fresh](#starting-fresh)
31
+ 2. [Starting from jekyll new](#starting-from-jekyll-new)
32
+ 3. [Configuration](#configuration)
33
+ 1. [Skin](#skin)
34
+ 2. [Google Fonts](#google-fonts)
35
+ 3. [Text](#text)
36
+ 4. [Navigation](#navigation)
37
+ 5. [Pagination](#pagination)
38
+ 6. [Author](#author)
39
+ 7. [Reading Time](#reading-time)
40
+ 8. [Comments (via Disqus)](#comments-via-disqus)
41
+ 9. [Google Analytics](#google-analytics)
42
+ 4. [Layouts](#layouts)
43
+ 1. [Default](#layout-default)
44
+ 2. [Post](#layout-post)
45
+ 3. [Page](#layout-page)
46
+ 4. [Home](#layout-home)
47
+ 5. [About](#layout-about)
48
+ 6. [Curriculum Vitæ/Resume](#layout-cv)
49
+ 5. [Customization](#customization)
50
+ 1. [Overriding Includes and Layouts](#overriding-includes-and-layouts)
51
+ 2. [Customizing Sass (SCSS)](#customizing-sass-scss)
52
+ 3. [Customizing JavaScript](#customizing-javascript)
53
+ 4. [SVG Icons](#svg-icons)
54
+ 5. [Customizing Sidebar Content](#customizing-sidebar-content)
55
+ 6. [Development](#development)
56
+ 7. [Contributing](#contributing)
57
+ 1. [Pull Requests](#pull-requests)
58
+ 8. [Credits](#credits)
59
+
60
+ ## Installation
61
+
62
+ If you're running Jekyll v3.3+ and self-hosting you can quickly install the
63
+ theme as Ruby gem. If you're hosting with GitHub Pages you'll have to use the
64
+ "repo fork" method or directly copy all of the theme files (see
65
+ [structure](#structure) below) into your project.
66
+
67
+ ### Ruby Gem Method
68
+
69
+ 1. Install the theme as a Ruby Gem by adding it to your `Gemfile` like so:
70
+
71
+ ```ruby
72
+ gem "jekyll-theme-basically-basic"
73
+ ```
74
+
75
+ 2. Fetch and update your bundled gems by running the following
76
+ [Bundler](http://bundler.io/) command:
77
+
78
+ ```bash
79
+ bundle
80
+ ```
81
+
82
+ 3. Set the `theme` in your project's Jekyll configuration, `_config.yml`:
83
+
84
+ ```yaml
85
+ theme: jekyll-theme-basically-basic
86
+ ```
87
+
88
+ ### GitHub Pages Compatible Method
89
+
90
+ Fork the [Basically Basic repo](https://github.com/mmistakes/jekyll-theme-basically-basic/fork),
91
+ then rename it to **USERNAME.github.io** --- replacing **USERNAME** with your
92
+ GitHub username.
93
+
94
+ **Note:** Your Jekyll site should be viewable immediately at
95
+ <http://USERNAME.github.io>. If it's not, you can force a rebuild by
96
+ **configuring your site** (see below for more details).
97
+
98
+ Replace the contents of `Gemfile` found in the root of your Jekyll site with
99
+ the following:
100
+
101
+ ```ruby
102
+ source "https://rubygems.org"
103
+
104
+ gem "github-pages", group: :jekyll_plugins
105
+ ```
106
+
107
+ Then run `bundle update` and verify that the [GitHub Pages gem](https://github.com/github/pages-gem)
108
+ and its dependencies install properly.
109
+
110
+ #### Remove the Unnecessary
111
+
112
+ If you forked or downloaded the `jekyll-theme-basically-basic` repo you can
113
+ safely remove the following files and folders:
114
+
115
+ - `.codeclimate.yml`
116
+ - `.editorconfig`
117
+ - `.gitattributes`
118
+ - `.github`
119
+ - `.scss-lint.yml`
120
+ - `CHANGELOG.md`
121
+ - `jekyll-theme-basically-basic.gemspec`
122
+ - `LICENSE.md`
123
+ - `Rakefile`
124
+ - `README.md`
125
+ - `screenshot.png`
126
+ - `/docs`
127
+ - `/example`
128
+
129
+ ## Structure
130
+
131
+ Layouts, includes, Sass partials, and data files are all placed in their default
132
+ locations. Stylesheets and scripts in `assets`, and a few development related
133
+ files in the project's root directory.
134
+
135
+ **Please note:** If you installed Basically Basic via the Ruby Gem method, theme
136
+ files found in `/_layouts`, `/_includes`, `/_sass`, and `/assets` will be
137
+ missing. This is normal as they are bundled with the [`jekyll-theme-basically-basic`](https://rubygems.org/gems/jekyll-theme-basically-basic) gem.
138
+
139
+ ```bash
140
+ jekyll-theme-basically-basic
141
+ ├── _data # data files
142
+ | └── theme.yml # theme settings and custom text
143
+ ├── _includes # theme includes and SVG icons
144
+ ├── _layouts # theme layouts (see below for details)
145
+ ├── _sass # Sass partials
146
+ ├── assets
147
+ | ├── javascripts
148
+ | | └── main.js
149
+ | └── stylesheets
150
+ | └── main.scss
151
+ ├── _config.yml # sample configuration
152
+ └── index.md # sample home page (all posts/not paginated)
153
+ ```
154
+
155
+ ### Starting Fresh
156
+
157
+ After creating a `Gemfile` and installing the theme you'll need to add and edit
158
+ the following files:
159
+
160
+ - [`_config.yml`](_config.yml)
161
+ - [`/_data/theme.yml`](_data/theme.yml)
162
+ - [`index.md`](index.md)
163
+
164
+ **Note:** Consult the [**pagination**](#pagination) documentation below for
165
+ instructions on how to enable it for the home page.
166
+
167
+ ### Starting from `jekyll new`
168
+
169
+ Using the `jekyll new` command will get you up and running the quickest.
170
+
171
+ Edit `_config.yml` and create `_data/theme.yml` as instructed above and you're
172
+ good to go.
173
+
174
+ ## Configuration
175
+
176
+ Configuration of site-wide elements (`lang`, `title`, `description`, `logo`,
177
+ `author`, etc.) happens in your project's `_config.yml`. See the
178
+ [example configuration](example/_config.yml) in this repo for additional
179
+ reference.
180
+
181
+ | | Description |
182
+ | ------------------ | ------------------------------------------------------------------------- |
183
+ | `lang` | Used to indicate the language of text (e.g., en-US, en-GB, fr) |
184
+ | `title` | Your site's title (e.g., Dungan's Awesome Site) |
185
+ | `description` | Short site description (e.g., A blog about grasshopper mash) |
186
+ | `url` | The full URL to your site (e.g., https://groverloaf.org) |
187
+ | `author` | Global author information (see below) |
188
+ | `logo` | Path to a site-wide logo ~100x100px (e.g., /assets/your-company-logo.png) |
189
+ | `twitter_username` | Site-wide Twitter username, used as a link in sidebar |
190
+ | `github_username` | Site-wide GitHub username, used as a link in sidebar |
191
+
192
+ For more configuration options be sure to consult the documentation for:
193
+ [**jekyll-seo-tag**][jekyll-seo-tag], [**jekyll-feed**][jekyll-feed],
194
+ [**jekyll-paginate**][jekyll-paginate], and [**jekyll-sitemap**][jekyll-sitemap].
195
+
196
+ [jekyll-seo-tag]: https://github.com/jekyll/jekyll-seo-tag
197
+ [jekyll-feed]: https://github.com/jekyll/jekyll-feed
198
+ [jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
199
+ [jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
200
+
201
+ ### Skin
202
+
203
+ This theme comes in six different skins (color variations). To change skins add
204
+ one of the following to your [`/_data/theme.yml`](_data/theme.yml) file:
205
+
206
+ | `skin: default` | `skin: night` | `skin: plum` |
207
+ | --- | --- | --- |
208
+ | ![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) |
209
+
210
+ | `skin: sea` | `skin: soft` | `skin: steel` |
211
+ | --- | --- | --- |
212
+ | ![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) |
213
+
214
+ ### Google Fonts
215
+
216
+ This theme allows you to easily use [Google Fonts](https://fonts.google.com/)
217
+ throughout the theme. Simply add the following to your
218
+ [`/_data/theme.yml`](_data/theme.yml), replacing the font `name` and `weights`
219
+ accordingly.
220
+
221
+ ```yaml
222
+ google_fonts:
223
+ - name: "Fira Sans"
224
+ weights: "400,400i,600,600i"
225
+ - name: "Fira Sans Condensed"
226
+ ```
227
+
228
+ ### Text
229
+
230
+ To change text found throughout the theme add the following to your
231
+ [`/_data/theme.yml`](_data/theme.yml) file and customize as necessary.
232
+
233
+ ```yaml
234
+ t:
235
+ skip_links: "Skip links"
236
+ skip_primary_nav: "Skip to primary navigation"
237
+ skip_content: "Skip to content"
238
+ skip_footer: "Skip to footer"
239
+ menu: "Menu"
240
+ home: "Home"
241
+ newer: "Newer"
242
+ older: "Older"
243
+ email: "Email"
244
+ subscribe: "Subscribe"
245
+ read_more: "Read More"
246
+ posts: "Posts"
247
+ page: "Page"
248
+ of: "of"
249
+ min_read: "min read"
250
+ present: "Present"
251
+ ```
252
+
253
+ ### Navigation
254
+
255
+ By default all internal pages with a `title` will be added to the "off-canvas"
256
+ menu. For more granular control and sorting of these menu links:
257
+
258
+ 1. Create a custom list to override the default setting by adding a
259
+ `navigation_pages` array to your [`/_data/theme.yml`](_data/theme.yml) file.
260
+
261
+ 2. Add raw page paths in the order you'd like:
262
+
263
+ ```yaml
264
+ navigation_pages:
265
+ - about.md
266
+ - cv.md
267
+ ```
268
+
269
+ Each menu link's title and URL will be populated based on their `title` and
270
+ `permalink` respectively.
271
+
272
+ ### Pagination
273
+
274
+ Break up the main listing of posts into smaller lists and display them over
275
+ multiple pages by [enabling pagination](http://jekyllrb.com/docs/pagination/).
276
+
277
+ 1. Include the `jekyll-paginate` plugin in your `Gemfile`.
278
+
279
+ ```ruby
280
+ group :jekyll_plugins do
281
+ gem "jekyll-paginate"
282
+ end
283
+ ```
284
+
285
+ 2. Add `jekyll-paginate` to `gems` array in your `_config.yml` file and the
286
+ following pagination settings:
287
+
288
+ ```yaml
289
+ paginate: 5 # amount of posts to show per page
290
+ paginate_path: /page:num/
291
+ ```
292
+
293
+ 3. Create `index.html` (or rename `index.md`) in the root of your project and
294
+ add the following front matter:
295
+
296
+ ```yaml
297
+ layout: home
298
+ paginate: true
299
+ ```
300
+
301
+ ### Author
302
+
303
+ Author information is used as meta data for post "by lines" and propagates the
304
+ `creator` field of Twitter summary cards with the following front matter in
305
+ `_config.yml`:
306
+
307
+ ```yaml
308
+ author:
309
+ name: John Doe
310
+ twitter: johndoetwitter
311
+ picture: /assets/images/johndoe.png
312
+ ```
313
+
314
+ Site-wide author information can be overridden in a document's front matter in
315
+ the same way:
316
+
317
+ ```yaml
318
+ author:
319
+ name: Jane Doe
320
+ twitter: janedoetwitter
321
+ picture: /assets/images/janedoe.png
322
+ ```
323
+
324
+ Or by specifying a corresponding key in the document's front matter, that
325
+ exists in `site.data.authors`. E.g., you have the following in the document's
326
+ front matter:
327
+
328
+ ```yaml
329
+ author: megaman
330
+ ```
331
+
332
+ And you have the following in `_data/authors.yml`:
333
+
334
+ ```yaml
335
+ megaman:
336
+ name: Mega Man
337
+ twitter: megamantwitter
338
+ picture: /assets/images/megaman.png
339
+
340
+ drlight:
341
+ name: Dr. Light
342
+ twitter: drlighttwitter
343
+ picture: /assets/images/drlight.png
344
+ ```
345
+
346
+ Currently `author.picture` is only used in `layout: about`. Recommended size is
347
+ `300 x 300` pixels.
348
+
349
+ ### Reading Time
350
+
351
+ To enable reading time counts add `read_time: true` to a post or page's YAML
352
+ Front Matter.
353
+
354
+ ### Comments (via Disqus)
355
+
356
+ Optionally, if you have a [Disqus](https://disqus.com/) account, you can show a
357
+ comments section below each post.
358
+
359
+ To enable Disqus comments, add your [Disqus shortname](https://help.disqus.com/customer/portal/articles/466208) to your project's `_config.yml` file:
360
+
361
+ ```yaml
362
+ disqus:
363
+ shortname: my_disqus_shortname
364
+ ```
365
+
366
+ Comments are enabled by default and will only appear in production when built
367
+ with the following [environment value](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time):
368
+ `JEKYLL_ENV=production`
369
+
370
+ If you don't want to display comments for a particular post you can disable
371
+ them by adding `comments: false` to that post's front matter.
372
+
373
+ ### Google Analytics
374
+
375
+ To enable Google Analytics, add your [tracking ID](https://support.google.com/analytics/answer/1032385)
376
+ to `_config.yml` like so:
377
+
378
+ ```yaml
379
+ google_analytics: UA-NNNNNNNN-N
380
+ ```
381
+
382
+ Similar to comments, the Google Analytics tracking script will only appear in
383
+ production when using the following environment value: `JEKYLL_ENV=production`.
384
+
385
+ ## Layouts
386
+
387
+ This theme provides the following layouts, which you can use by setting the
388
+ `layout` [Front Matter](https://jekyllrb.com/docs/frontmatter/) on each page,
389
+ like so:
390
+
391
+ ```yaml
392
+ ---
393
+ layout: name
394
+ ---
395
+ ```
396
+
397
+ ### `layout: default`
398
+
399
+ This layout handles all of the basic page scaffolding placing the page content
400
+ between the masthead and footer elements. All other layouts inherit this one
401
+ and provide additional styling and features inside of the `{{ content }}` block.
402
+
403
+ ### `layout: post`
404
+
405
+ This layout accommodates the following front matter:
406
+
407
+ ```yaml
408
+ # optional alternate title to replace page.title at the top of the page
409
+ alt_title: "Basically Basic"
410
+
411
+ # optional sub-title below the page title
412
+ sub_title: "The name says it all"
413
+
414
+ # optional intro text below titles, Markdown allowed
415
+ introduction: |
416
+ 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**.
417
+
418
+ # optional call to action links
419
+ actions:
420
+ - label: "Learn More"
421
+ icon: github # references name of svg icon, see full list below
422
+ url: "http://url-goes-here.com"
423
+ - label: "Download"
424
+ icon: download # references name of svg icon, see full list below
425
+ url: "http://url-goes-here.com"
426
+
427
+ image: # URL to a hero image associated with the post (e.g., /assets/page-pic.jpg)
428
+
429
+ # post specific author data if different from what is set in _config.yml
430
+ author:
431
+ name: John Doe
432
+ twitter: johndoetwitter
433
+
434
+ comments: false # disable comments on this post
435
+ ```
436
+
437
+ ### `layout: page`
438
+
439
+ Visually this layout looks and acts the same as `layout: post`, with two minor
440
+ differences.
441
+
442
+ - Author "by line" and publish date are omitted.
443
+ - Disqus comments are omitted.
444
+
445
+ ### `layout: home`
446
+
447
+ This layout accommodates the same front matter as `layout: page`, with the
448
+ addition of the following:
449
+
450
+ ```yaml
451
+ paginate: true # enables pagination loop, see section above for additional setup
452
+ ```
453
+
454
+ ### `layout: about`
455
+
456
+ This layout accommodates the same front matter as `layout: page`, with the
457
+ addition of the following to display an author picture:
458
+
459
+ ```yaml
460
+ author:
461
+ name: John Doe
462
+ picture: /assets/images/johndoe.png
463
+ ```
464
+
465
+ Recommended `picture` size is approximately `300 x 300` pixels. If `author`
466
+ object is not explicitly set in the about page's front matter the theme
467
+ will default to the value set in `_config.yml`.
468
+
469
+ If blank there no image will appear.
470
+
471
+ ### `layout: cv`
472
+
473
+ This layout accommodates the same front matter as `layout: page`. It
474
+ leverages a [JSON-based file standard](https://jsonresume.org/schema/) for
475
+ resume data to conveniently render a curriculum vitæ or resume painlessly.
476
+
477
+ Simply use JSON Resume's [in-browser resume builder](http://registry.jsonresume.org/)
478
+ to export a JSON file and save to your project as `_data/cv.json`.
479
+
480
+ ## Customization
481
+
482
+ The default structure, style, and scripts of this theme can be overridden and
483
+ customized in the following two ways.
484
+
485
+ ### Overriding Includes and Layouts
486
+
487
+ Theme defaults can be [overridden](http://jekyllrb.com/docs/themes/#overriding-theme-defaults)
488
+ by placing a file with the same name into your project's `_includes` or
489
+ `_layouts` directory. For instance:
490
+
491
+ - To specify a custom style path or meta data to the [`_includes/head.html `](_includes/head.html)
492
+ file, create an `_includes` directory in your project, copy
493
+ `_includes/head.html` from Basically Basic's gem folder to
494
+ `<your_project>/_includes` and start editing that file.
495
+
496
+ **ProTip:** to locate the theme's files on your computer run
497
+ `bundle show jekyll-theme-basically-basic`. This returns the location of the
498
+ gem-based theme files.
499
+
500
+ ### Customizing Sass (SCSS)
501
+
502
+ To override the default [Sass](http://sass-lang.com/guide) (located in theme's
503
+ `_sass` directory), do one of the following:
504
+
505
+ 1. Copy directly from the Basically Basic gem
506
+
507
+ - Go to your local Basically Basic gem installation directory (run
508
+ `bundle show jekyll-theme-basically-basic` to get the path to it).
509
+ - Copy the contents of `/assets/stylesheets/main.scss` from there to
510
+ `<your_project>`.
511
+ - Customize what you want inside `<your_project>/assets/stylesheets/main.scss`.
512
+
513
+ 2. Copy from this repo.
514
+
515
+ - Copy the contents of [assets/stylesheets/main.scss](assets/stylesheets/main.scss)
516
+ to `<your_project>`.
517
+ - Customize what you want inside `<your_project/assets/stylesheets/main.scss`.
518
+
519
+ **Note:** To make more extensive changes and customize the Sass partials bundled
520
+ in the gem. You will need to copy the complete contents the `_sass` directory to
521
+ `<your_project>` due to the way Jekyll currently reads those files.
522
+
523
+ To make basic tweaks to theme's style Sass variables can be overridden by adding
524
+ to `<your_project>/assets/stylesheets/main.scss`. For instance, to change the
525
+ accent color used throughout the theme add:
526
+
527
+ ```scss
528
+ $accent-color: red;
529
+ ```
530
+
531
+ Before any `@import` lines.
532
+
533
+ ### Customizing JavaScript
534
+
535
+ To override the default JavaScript bundled in the theme, do one of the following:
536
+
537
+ 1. Copy directly from the Basically Basic gem
538
+
539
+ - Go to your local Basically Basic gem installation directory (run
540
+ `bundle show jekyll-theme-basically-basic` to get the path to it).
541
+ - Copy the contents of `/assets/javascripts/main.js` from there to
542
+ `<your_project>`.
543
+ - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
544
+
545
+ 2. Copy from this repo.
546
+
547
+ - Copy the contents of [assets/javascripts/main.js](assets/javascripts/main.js)
548
+ to `<your_project>`.
549
+ - Customize what you want inside `<your_project>/assets/javascripts/main.js`.
550
+
551
+ ### SVG Icons
552
+
553
+ The theme uses social network logos and other iconography saved as SVGs for
554
+ performance and flexibility. Said SVGs are located in the `_includes` directory
555
+ and prefixed with `icon-`. Each icon has been sized and designed to fit a
556
+ `16 x 16` viewbox and optimized with [SVGO](https://github.com/svg/svgo).
557
+
558
+ | Icon | Filename |
559
+ | --- | --- |
560
+ | <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 |
561
+ | <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 |
562
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-bitbucket.svg" width="16" height="16"> | icon-bitbucket.svg |
563
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-calendar.svg" width="16" height="16"> | icon-calendar.svg |
564
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-codepen.svg" width="16" height="16"> | icon-codepen.svg |
565
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-download.svg" width="16" height="16"> | icon-download.svg |
566
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-dribbble.svg" width="16" height="16"> | icon-dribbble.svg |
567
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-email.svg" width="16" height="16"> | icon-email.svg |
568
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-facebook.svg" width="16" height="16"> | icon-facebook.svg |
569
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-flickr.svg" width="16" height="16"> | icon-flickr.svg |
570
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-github.svg" width="16" height="16"> | icon-github.svg |
571
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-gitlab.svg" width="16" height="16"> | icon-gitlab.svg |
572
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-googleplus.svg" width="16" height="16"> | icon-googleplus.svg |
573
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-instagram.svg" width="16" height="16"> | icon-instagram.svg |
574
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-lastfm.svg" width="16" height="16"> | icon-lastfm.svg |
575
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-linkedin.svg" width="16" height="16"> | icon-linkedin.svg |
576
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pdf.svg" width="16" height="16"> | icon-pdf.svg |
577
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-pinterest.svg" width="16" height="16"> | icon-pinterest.svg |
578
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-rss.svg" width="16" height="16"> | icon-rss.svg |
579
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-soundcloud.svg" width="16" height="16"> | icon-soundcloud.svg |
580
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stackoverflow.svg" width="16" height="16"> | icon-stackoverflow.svg |
581
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-stopwatch.svg" width="16" height="16"> | icon-stopwatch.svg |
582
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-tumblr.svg" width="16" height="16"> | icon-tumblr.svg |
583
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-twitter.svg" width="16" height="16"> | icon-twitter.svg |
584
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-xing.svg" width="16" height="16"> | icon-xing.svg |
585
+ | <img src="https://cdn.rawgit.com/mmistakes/jekyll-theme-basically-basic/master/_includes/icon-youtube.svg" width="16" height="16"> | icon-youtube.svg |
586
+
587
+ Fill colors are defined in the `_sass/basically-basic/_icons.scss` partial and
588
+ set with `.icon-name` where class name matches the corresponding icon.
589
+
590
+ For example the Twitter icon is given a fill color of `#1da1f2` like so:
591
+
592
+ ```html
593
+ <span class="icon icon--twitter">{% include icon-twitter.svg %}</span>
594
+ ```
595
+
596
+ Alongside the SVG assets, there are icon helper includes to aid in generating
597
+ social network links.
598
+
599
+ | Include Parameter | Description | Required |
600
+ | ----------------- | ---------------------------------| ----------------------- |
601
+ | `username` | Username on given social network | **Required** |
602
+ | `label` | Text used for hyperlink | Optional, defaults to `username` |
603
+
604
+ For example, the following `icon-github.html` include:
605
+
606
+ ```liquid
607
+ {% include icon-github.html username=jekyll label='GitHub' %}
608
+ ```
609
+
610
+ Will output the following HTML:
611
+
612
+ ```html
613
+ <a href="https://github.com/jekyll">
614
+ <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>
615
+ <span class="label">GitHub</span>
616
+ </a>
617
+ ```
618
+
619
+ ### Customizing Sidebar Content
620
+
621
+ ---
622
+
623
+ ## Development
624
+
625
+ To set up your environment to develop this theme:
626
+
627
+ 1. Clone this repo
628
+ 2. `cd` into `/example` and run `bundle install`.
629
+
630
+ To test the theme the locally as you make changes to it:
631
+
632
+ 1. `cd` into the root folder of the repo (e.g. `jekyll-theme-basically-basic`).
633
+ 2. Run `bundle exec rake preview` and open your browser to
634
+ `http://localhost:4000/example/`.
635
+
636
+ This starts a Jekyll server using the theme's files and contents of the
637
+ `example/` directory. As modifications are made, refresh your browser to see
638
+ any changes.
639
+
640
+ ## Contributing
641
+
642
+ Found a typo in the documentation? Interested in adding a feature or
643
+ [fixing a bug][issues]? Then by all means [submit an issue][new-issue] or take a
644
+ stab at submitting a [pull request][using-pull-requests]. If this is your first
645
+ pull request, it may be helpful to read up on the [GitHub Flow][github-flow].
646
+
647
+ [issues]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues
648
+ [new-issue]: https://github.com/mmistakes/jekyll-theme-basically-basic/issues/new
649
+ [using-pull-requests]: https://help.github.com/articles/using-pull-requests/
650
+ [github-flow]: https://guides.github.com/introduction/flow/
651
+
652
+ ### Pull Requests
653
+
654
+ When submitting a pull request:
655
+
656
+ 1. Clone the repo.
657
+ 2. Create a branch off of `master` and give it a meaningful name (e.g.
658
+ `my-awesome-new-feature`) and describe the feature or fix.
659
+ 3. Open a pull request on GitHub.
660
+
661
+ Sample pages can be found in the [`/docs`](docs) and [`/example`](/example)
662
+ folders if you'd like to tackle any "low-hanging fruit" like fixing typos, bad
663
+ grammar, etc.
664
+
665
+ ---
666
+
667
+ ## Credits
668
+
669
+ ### Creator
670
+
671
+ **Michael Rose**
672
+
673
+ - <https://mademistakes.com>
674
+ - <https://twitter.com/mmistakes>
675
+ - <https://github.com/mmistakes>
676
+
677
+ ### Icons + Demo Images:
678
+
679
+ - [Simple Icons](https://simpleicons.org/)
680
+ - [Noun Project](https://thenounproject.com)
681
+ - [Unsplash](https://unsplash.com/)
682
+
683
+ ### Other:
684
+
685
+ - [Jekyll](http://jekyllrb.com/)
686
+ - [Susy](http://susy.oddbird.net/)
687
+ - [Breakpoint](http://breakpoint-sass.com/)
688
+
689
+ ---
690
+
691
+ ## License
692
+
693
+ The MIT License (MIT)
694
+
695
+ Copyright (c) 2017 Michael Rose
696
+
697
+ Permission is hereby granted, free of charge, to any person obtaining a copy
698
+ of this software and associated documentation files (the "Software"), to deal
699
+ in the Software without restriction, including without limitation the rights
700
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
701
+ copies of the Software, and to permit persons to whom the Software is
702
+ furnished to do so, subject to the following conditions:
703
+
704
+ The above copyright notice and this permission notice shall be included in all
705
+ copies or substantial portions of the Software.
706
+
707
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
708
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
709
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
710
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
711
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
712
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
713
+ SOFTWARE.