Compare commits

..
657 Commits
Author SHA1 Message Date
Michael Rose a7b749650e Merge branch 'release/3.2.3' 2016-06-03 15:04:27 -04:00
Michael Rose 89c252e347 Update CHANGELOG 2016-06-03 15:04:09 -04:00
Michael Rose 400111c58b Merge branch 'feature/discourse-comments' into develop 2016-06-03 12:03:34 -04:00
Michael Rose 5bbf801d8c Remove last blank line 2016-06-03 12:03:19 -04:00
Michael Rose d9ac4a7940 Merge branch 'feature-discourse-comments' of https://github.com/rriemann/minimal-mistakes into feature/discourse-comments 2016-06-03 12:01:08 -04:00
Michael Rose b3c0b79b92 Replace contains "http" with contains "://" 2016-06-03 11:59:19 -04:00
Robert Riemann e186ee3650 take into account an optional basepath 2016-06-03 10:57:52 +02:00
Robert Riemann f6f7d0cd97 javascript to embed comments from discourse forum
The comment system can be changed to embed topics from the Discourse
forum software: http://discourse.org/

More details: https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963
2016-06-03 00:34:14 +02:00
Michael Rose 9b833feb7d Update CHANGELOG 2016-06-01 21:53:35 -04:00
Michael Rose 8b793dde76 Update CHANGELOG 2016-06-01 21:53:03 -04:00
Michael Rose 449051d9c9 Merge branch 'release/3.2.2' into develop 2016-06-01 21:33:54 -04:00
Michael Rose 5bc7f00f91 Merge branch 'release/3.2.2'
# Conflicts:
#	CHANGELOG.md
2016-06-01 21:32:55 -04:00
Michael Rose 34d2bdf049 Update CHANGELOG 2016-06-01 21:31:45 -04:00
Michael Rose b7185c8155 Add support for gallery image captions in Magnific Popup overlays
- Apply optional `title` attribute to image anchors that trigger Magnific Popup overlays
- Close #334
2016-06-01 21:26:14 -04:00
Michael Rose 9fa7b23507 Update CHANGELOG 2016-05-31 12:37:41 -04:00
Michael Rose 2a05b6e907 Update CHANGELOG 2016-05-31 12:37:17 -04:00
Michael Rose 952f7b500b Merge branch 'hotfix/3.2.1' into develop 2016-05-31 12:32:09 -04:00
Michael Rose 15f4ac9641 Merge branch 'hotfix/3.2.1' 2016-05-31 12:32:04 -04:00
Michael Rose 68b02cd8d8 Use CSS3 transform instead of change in width for masthead menu underline effect 2016-05-31 12:31:39 -04:00
Michael Rose 213e2fe3f3 Update gems 2016-05-31 12:22:57 -04:00
Michael Rose cec8d40bc1 Add issue template for GitHub 2016-05-31 11:57:10 -04:00
Michael Rose 63aa6104a8 Remove >>>>>> conflict text from CHANGELOG 2016-05-31 11:03:27 -04:00
Michael Rose 87baf36b3a Merge branch 'release/3.2.0' into develop 2016-05-29 21:16:16 -04:00
Michael Rose 02f0e8c6c4 Merge branch 'release/3.2.0' 2016-05-29 21:16:16 -04:00
Michael Rose 9a8eea6e14 Update CHANGELOG 2016-05-29 21:15:54 -04:00
Michael Rose f1a7470d3b Merge branch 'feature/update-dependencies' into develop 2016-05-29 21:13:09 -04:00
Michael Rose 45f3a7a8ee Rename tag/category archive variables to avoid possible conflicts with site.tags and site.categories
- Fixes #329
2016-05-29 21:12:24 -04:00
Michael Rose 21d15c9cf9 Update gems 2016-05-29 20:44:33 -04:00
Michael Rose 28f85dfc4d Merge branch 'release/3.1.8' into develop 2016-05-16 09:57:08 -04:00
Michael Rose 3812f708fa Merge branch 'release/3.1.8' 2016-05-16 09:57:04 -04:00
Michael Rose 8e5d47d82f Update CHANGELOG 2016-05-16 09:56:47 -04:00
Michael Rose 86d08455e8 Remove duplicate fa-twitter and fa-twitter-square classes from _utilities.scss
- Fixes #302
2016-05-16 09:48:16 -04:00
Michael Rose 55efbd1782 Make page.title conditional in <h1>
- Fix #312
2016-05-16 09:42:16 -04:00
Michael Rose 6a3d24dac9 Merge branch 'release/3.1.7' into develop 2016-05-13 10:43:07 -04:00
Michael Rose d285f9d7bd Merge branch 'release/3.1.7' 2016-05-13 10:43:03 -04:00
Michael Rose 22a232365a Update CHANGELOG 2016-05-13 10:42:47 -04:00
Michael Rose c1a37c72c9 Merge branch 'feature/translate-recent-posts-title' into develop 2016-05-13 10:40:01 -04:00
Michael Rose ab2f7043b1 Merge branch 'master' of https://github.com/flohw/minimal-mistakes into feature/translate-recent-posts-title 2016-05-13 10:38:29 -04:00
Michael Rose 500ed4453f Merge branch 'feature/underline-fix' into develop 2016-05-13 10:37:41 -04:00
Michael Rose cfc32ac5e5 Merge branch 'fix-ws' of https://github.com/tobie/minimal-mistakes into feature/underline-fix 2016-05-13 10:33:47 -04:00
Flohw ee25653da2 Translate index page title 2016-05-13 07:24:06 +02:00
Michael Rose d80c24629f Merge branch 'release/3.1.6' into develop 2016-05-10 08:27:04 -04:00
Michael Rose aceb6cdd7f Merge branch 'release/3.1.6' 2016-05-10 08:27:01 -04:00
Michael Rose 5385a84205 Bump version to 3.1.6 2016-05-10 08:26:45 -04:00
Michael Rose 188e0e8911 Update dependencies 2016-05-10 08:24:26 -04:00
Tobie Langel 9582a1b117 Fix whitespace issue using CSS. 2016-05-05 23:43:04 +02:00
Michael Rose efb4d14248 Merge branch 'release/3.1.5' into develop 2016-05-02 11:55:00 -04:00
Michael Rose 7b7bafe3a4 Merge branch 'release/3.1.5' 2016-05-02 11:54:55 -04:00
Michael Rose ed2b26461d Update CHANGELOG for 3.1.5 2016-05-02 11:54:34 -04:00
Michael Rose 95fc1b7259 Merge branch 'feature/fix-www-author-profile' into develop 2016-05-02 11:52:47 -04:00
Michael Rose 7b070cb3ae Merge branch 'Issue-292-fix-www-in-links-to-social-media' of https://github.com/wilsonmar/minimal-mistakes into feature/fix-www-author-profile 2016-05-02 11:51:57 -04:00
Michael Rose 0109c385d7 Merge branch 'release/3.1.4' into develop 2016-05-02 11:45:37 -04:00
Michael Rose 9bfa6bbb84 Merge branch 'release/3.1.4' 2016-05-02 11:45:32 -04:00
Michael Rose 2b77f7516c Update changelog 2016-05-02 11:45:01 -04:00
Michael Rose 557fbfb059 Merge branch 'feature/overlay-filter' into develop 2016-05-02 11:42:03 -04:00
Michael Rose b59de95b62 Merge branch 'tobie-hero-filter' of https://github.com/tobie/minimal-mistakes into feature/overlay-filter 2016-05-02 11:40:47 -04:00
Tobie Langel 1edfcea306 Style fixes 2016-05-02 14:25:26 +02:00
Tobie Langel f077ec4343 Add overlay_filter param to hero headers
The `overlay_filter` param lets you darken or otherwise filter the hero header picture to make the text content pop out more.

You can use it by specifying the opacity (between 0 and 1) of a black overlay like so:

```yaml
excerpt: "This post should display a **header with an overlay image**, if the theme supports it."
header:
  overlay_image: unsplash-image-1.jpg
  overlay_filter: 0.5 # same as adding an opacity of 0.5 to a black background
  caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
  cta_label: "More Info"
  cta_url: "https://unsplash.com"
```

Or if you want to do more fancy things, go full rgba: 

```yaml
excerpt: "This post should display a **header with an overlay image**, if the theme supports it."
header:
  overlay_image: unsplash-image-1.jpg
  overlay_filter: rgba(255, 0, 0, 0.5)
  caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
  cta_label: "More Info"
  cta_url: "https://unsplash.com"
```
2016-05-02 13:59:31 +02:00
Wilson Mar cd795c44a2 Update author-profile.html for issue 292
This changes some http to https and add www.
All to avoid extra redirect that slows display.
Link to YouTube also added.
2016-04-28 09:28:51 -06:00
Wilson Mar c7c5d9888f Update author-profile.html 2016-04-28 09:21:28 -06:00
Michael Rose d584eb42d2 Merge branch 'release/3.1.3' into develop 2016-04-27 10:58:11 -04:00
Michael Rose b0e9c10ecb Merge branch 'release/3.1.3' 2016-04-27 10:58:08 -04:00
Michael Rose 0103da2e7d Update CHANGELOG notes to version 3.1.3 2016-04-27 10:57:47 -04:00
Michael Rose b33dc25323 Merge branch 'feature/artokai-patch-1' into develop 2016-04-27 10:44:09 -04:00
Michael Rose 767539927f Merge branch 'patch-1' of https://github.com/artokai/minimal-mistakes into feature/artokai-patch-1 2016-04-27 10:43:32 -04:00
Michael Rose b459af2120 Fix SEO author bug
- If `twitter.username` is set and `author.twitter` is nil bad things happen.
- Close #289
2016-04-27 10:19:00 -04:00
Michael Rose 5c8506088c Allow author_profile to be toggled in a _layout (eg. archive-taxonomy.html)
- Close #285
2016-04-27 10:15:42 -04:00
Michael Rose 0259611085 Remove white space as it was causing issues with Markdown and parsing as code blocks
- Close #279
2016-04-27 10:09:24 -04:00
Arto Kaitosaari d463b26a83 Fix "build:all" npm script
The script "build:all" was missing the "npm run" section for the "build:js" part.
2016-04-25 11:41:17 +03:00
Michael Rose 5bba54da0b Fix site.og_image URL by appending /images/ the path
- Close #277
2016-04-19 08:43:21 -04:00
Michael Rose 157dcbbec6 Update README 2016-04-18 16:40:02 -04:00
Michael Rose 2e67f66bdc Update README 2016-04-18 16:39:01 -04:00
Michael Rose 0c5996c904 Merge branch 'release/3.1.2' into develop 2016-04-18 16:33:26 -04:00
Michael Rose 7be5c973db Merge branch 'release/3.1.2' 2016-04-18 16:33:22 -04:00
Michael Rose 3e33585340 Update CHANGELOG 2016-04-18 16:33:03 -04:00
Michael Rose 3e0527fa78 Improve nav_list helper to be used with any type of navigation list defined in navigation.yml data file
- Close #272
2016-04-18 16:22:53 -04:00
Michael Rose 8cba6c6c41 Merge branch 'feature/related-posts-alignment' into develop 2016-04-18 16:18:28 -04:00
Michael Rose c3e28b3754 Decrease left/right page padding on small screens to give more space for content. 2016-04-18 16:18:12 -04:00
Michael Rose a8201afaae Fix related posts alignment
- Close #273
2016-04-18 16:16:38 -04:00
Michael Rose 0bf2d67635 Fix alignment of "Follow" button in author profile
- Close #274
2016-04-18 16:13:53 -04:00
Michael Rose 97af5d1c73 Merge branch 'hotfix/3.1.1' 2016-04-16 21:51:20 -04:00
Michael Rose 1325e666ef Merge branch 'hotfix/3.1.1' into develop 2016-04-16 21:51:20 -04:00
Michael Rose dfdc2f0e62 Update CHANGELOG 2016-04-16 21:51:09 -04:00
Michael Rose 6bf9981a4d Fix reading time bug
- Close #271
2016-04-16 21:49:36 -04:00
Michael Rose ae9f65cafb Merge branch 'release/3.1.0'
Conflicts:
	CHANGELOG.md
2016-04-15 09:38:13 -04:00
Michael Rose 7f4dd372b6 Update CHANGELOG notes 2016-04-15 09:36:30 -04:00
Michael Rose 712487d243 Add theme preview image 2016-04-15 09:32:00 -04:00
Michael Rose 208f4f36db Merge branch 'feature/add-footer-links' into develop 2016-04-15 09:19:04 -04:00
Michael Rose 3c15a37c0f Fix typo in Bitbucket URL 2016-04-15 09:18:42 -04:00
Michael Rose 43f49dbd47 Add GitHub and Bitbucket optional links to footer 2016-04-15 09:18:31 -04:00
Michael Rose 378916f6c5 Update Font Awesome to version 4.6.1 2016-04-15 09:11:51 -04:00
Michael Rose 45fc070d63 Bump version to 3.0.3 2016-04-14 22:48:38 -04:00
Michael Rose af501b3047 Bump version to 3.0.3 2016-04-14 22:48:25 -04:00
Michael Rose 0967450208 Merge branch 'hotfix/3.0.3' into develop 2016-04-14 22:43:37 -04:00
Michael Rose 163fc368c8 Merge branch 'hotfix/3.0.3' 2016-04-14 22:43:36 -04:00
Michael Rose aae29fb9c8 Increase white-space between sidebar and main content 2016-04-14 22:42:33 -04:00
Michael Rose 2d5fd7726b Update history 2016-04-14 22:41:03 -04:00
Michael Rose 8892666e91 Merge branch 'hotfix/3.0.2' into develop 2016-04-14 21:33:54 -04:00
Michael Rose 0c2cddf192 Merge branch 'hotfix/3.0.2' 2016-04-14 21:33:54 -04:00
Michael Rose d9c6183ed7 Fix table of contents z-index stacking bug with <code> blocks
- Close #263
2016-04-14 21:31:53 -04:00
Michael Rose 089dd195bb Fix sticky sidebar at wrong breakpoint
- Close #262
2016-04-14 21:29:55 -04:00
Michael Rose 46628a1986 Merge branch 'hotfix/config-typo' into develop 2016-04-14 16:38:57 -04:00
Michael Rose 5a63f9b7b1 Merge branch 'hotfix/config-typo' 2016-04-14 16:38:53 -04:00
Michael Rose 667344b19a Fix typo in URL example 2016-04-14 16:38:13 -04:00
Michael Rose 1cce75a35e Merge branch 'release/3.0.0' 2016-04-14 15:59:12 -04:00
Michael Rose 7a5793c27d Merge branch 'feature/remove-sample-files' into develop 2016-04-14 15:54:23 -04:00
Michael Rose 035081fe0a Add layout examples to README 2016-04-14 15:53:10 -04:00
Michael Rose 507e4db9e6 Add .md extension 2016-04-14 15:46:00 -04:00
Michael Rose 9f99cf16b2 Update README 2016-04-14 15:44:07 -04:00
Michael Rose 23e291bd30 Reduce config to bare minimum and remove sample content 2016-04-14 15:35:33 -04:00
Michael Rose 501561389a Add layout to 404 page 2016-04-14 15:12:28 -04:00
Michael Rose 92bfc93cc4 Fix bug when site.twitter is null 2016-04-14 15:12:04 -04:00
Michael Rose 58a59d7d00 Merge branch 'feature/documentation-and-demo' into develop 2016-04-14 14:50:55 -04:00
Michael Rose 0074f85a16 Update home splash page 2016-04-14 14:50:03 -04:00
Michael Rose ac6f4729e4 Remove overlay header to simplify page 2016-04-14 14:47:16 -04:00
Michael Rose d8f559bc03 Fix typo in title 2016-04-14 14:46:29 -04:00
Michael Rose d7df394a5e Make base_path available to all includes that need it 2016-04-14 14:45:48 -04:00
Michael Rose a473d9467d Disable breadcrumbs on paginated home pages 2016-04-14 14:36:48 -04:00
Michael Rose f540ed6d78 Fix broken breadcrumb links by including base_path helper 2016-04-14 14:33:13 -04:00
Michael Rose 9ce87108ff If page doesn't have a title fallback to site.title 2016-04-14 14:26:47 -04:00
Michael Rose 759766a66e Build home splash page 2016-04-14 13:01:42 -04:00
Michael Rose fe124580af Adjust white-space around feature row items 2016-04-14 12:23:32 -04:00
Michael Rose 84e85c0f14 Improve URL handling for internally and externally linked pages 2016-04-14 10:46:33 -04:00
Michael Rose e2f06fbfc0 Update about page 2016-04-14 10:26:55 -04:00
Michael Rose baefd0ab06 Fix stacking order of author "Follow" button 2016-04-14 09:47:54 -04:00
Michael Rose 3ec509075d Update docs' excerpts 2016-04-14 09:20:44 -04:00
Michael Rose 140674ac9a Update docs 2016-04-13 22:38:28 -04:00
Michael Rose f3d2421b4e Update gems 2016-04-13 17:10:07 -04:00
Michael Rose 03dac00db9 Update docs 2016-04-13 17:10:01 -04:00
Michael Rose 12a0489256 Update stylesheets and JavaScript docs 2016-04-13 14:56:42 -04:00
Michael Rose 7d033d57ef Update class utility docs 2016-04-13 11:29:44 -04:00
Michael Rose ab244a0e13 Update helpers table 2016-04-13 11:29:25 -04:00
Michael Rose f1f34ee654 Update table 2016-04-13 11:29:09 -04:00
Michael Rose 817d2bb71b Add images to repo and reference them in post 2016-04-13 11:28:40 -04:00
Michael Rose 98ada1b98e Increase contrast of table borders 2016-04-13 08:50:14 -04:00
Michael Rose 98fc300995 Update docs 2016-04-12 22:31:31 -04:00
Michael Rose c1a9f8d9cb Update docs 2016-04-12 16:48:27 -04:00
Michael Rose 29a47da3f2 Add GitHub repo URL 2016-04-12 14:34:36 -04:00
Michael Rose a4ff482323 Update archive layout docs 2016-04-12 13:09:05 -04:00
Michael Rose b52e4a8715 Update layout docs 2016-04-12 12:04:16 -04:00
Michael Rose 2e2e5bfb51 Fix improperly positioned sticky element 2016-04-12 10:42:00 -04:00
Michael Rose 944629b422 Add subtle intro animation to elements and fix z-index stacking issues 2016-04-12 10:00:32 -04:00
Michael Rose 1dbc92d08c Update docs 2016-04-11 16:19:43 -04:00
Michael Rose 5ae39ef82c Add Bitbucket link to author sidebar
- Close #256
2016-04-11 09:30:28 -04:00
Michael Rose e5d5685ad5 Add optional location to author sidebar 2016-04-10 12:16:10 -04:00
Michael Rose 4711a23161 Update syntax highlighting styles 2016-04-10 12:07:00 -04:00
Michael Rose 0511f39995 Add screenshots of various layouts included with the theme 2016-04-09 22:06:16 -04:00
Michael Rose a79b31502a Update docs 2016-04-08 21:49:50 -04:00
Michael Rose ff431ae28f Add /docs/ redirect to Quick-Start Guide 2016-04-08 21:08:09 -04:00
Michael Rose f3013f4623 Add development config file 2016-04-08 21:00:30 -04:00
Michael Rose 7e41263808 Update Navigation docs 2016-04-08 16:07:19 -04:00
Michael Rose 2b9c999980 Update Configuration docs 2016-04-08 15:37:45 -04:00
Michael Rose 9e82d76b91 Re-order settings 2016-04-07 21:55:56 -04:00
Michael Rose a3ffac3c91 Update docs 2016-04-07 21:55:27 -04:00
Michael Rose 66498bd74e Re-order settings 2016-04-07 21:55:22 -04:00
Michael Rose f2153d5b7e Increase white-space between headings 2016-04-07 21:17:26 -04:00
Michael Rose 8115e439b2 Remove site.share conditional 2016-04-07 20:45:24 -04:00
Michael Rose 8157848161 Update docs 2016-04-07 16:27:07 -04:00
Michael Rose fdd9bde786 Reorder config and remove some variables 2016-04-07 16:27:01 -04:00
Michael Rose add3811ba7 Remove site.read_time condition 2016-04-07 16:25:50 -04:00
Michael Rose 1e53e7fca2 Allow breadcrumbs to be enabled with non-Jekyll Archives plugin 2016-04-07 16:05:17 -04:00
Michael Rose 461a1348c0 Bump up text contrast to improve readability 2016-04-07 11:36:27 -04:00
Michael Rose f2ebc55ac0 Edit doc 2016-04-06 15:50:42 -04:00
Michael Rose f92d800c3a Darken $info-color 2016-04-06 15:50:30 -04:00
Michael Rose 2808bd322c Rename site.logo to site.og_image 2016-04-06 15:50:10 -04:00
Michael Rose 6738fa4cbb Add some color to links 2016-04-06 14:46:35 -04:00
Michael Rose 60c0b6c653 Ignore node .log files 2016-04-06 14:25:49 -04:00
Michael Rose 2b0c40bbd7 Update docs 2016-04-05 22:35:15 -04:00
Michael Rose 85db09fe35 Use $notice-color to style box-shadow on notices 2016-04-05 22:05:26 -04:00
Michael Rose 3e34300529 Remove white-space around browser upgrade notice 2016-04-05 22:02:36 -04:00
Michael Rose e58dc5d57f Remove default favicons and add note about using Real Favicon Generator to create your own set 2016-04-05 22:02:14 -04:00
Michael Rose 813c3bdae9 Add download icon to button 2016-04-05 21:50:19 -04:00
Michael Rose f9ac13eff7 Add title to nav_list helper 2016-04-05 21:50:10 -04:00
Michael Rose 47fd353201 Adjust link color 2016-04-05 21:37:16 -04:00
Michael Rose 1c8239f664 Move breadcrumb text out of _config.yml and into ui-text.yml data file 2016-04-05 21:36:32 -04:00
Michael Rose 20fe00d058 Style links in notices 2016-04-05 21:30:25 -04:00
Michael Rose 234368718f Change "table of contents" default icon and text label 2016-04-05 21:15:56 -04:00
Michael Rose 71a7adec31 Improve list element white-space 2016-04-05 21:15:39 -04:00
Michael Rose c1d8c79152 Update docs 2016-04-05 16:55:13 -04:00
Michael Rose 0d61b26dd4 Change caption typeface 2016-04-05 16:14:52 -04:00
Michael Rose ba2bec7317 Dim sidebar 2016-04-05 16:14:35 -04:00
Michael Rose ecae46746d Improve flexibility of applying color to the theme 2016-04-05 15:18:05 -04:00
Michael Rose 1b9508d229 Ignore node .log files 2016-04-05 14:36:04 -04:00
Michael Rose 759bc857fe Ignore node .log files 2016-04-05 13:00:20 -04:00
Michael Rose 341e523283 Add images to docs 2016-04-04 21:16:25 -04:00
Michael Rose 4f3733f0fe Add images to Quick-Start Guide 2016-04-04 20:44:44 -04:00
Michael Rose 6befcd09f5 Rename feature row include 2016-04-04 16:36:38 -04:00
Michael Rose f7a4710330 Reorder docs navigation 2016-04-04 16:36:26 -04:00
Michael Rose 0af17256f6 Add jemoji gem 2016-04-04 16:36:04 -04:00
Michael Rose d3e08eb2b6 Slugify tags 2016-04-04 14:42:54 -04:00
Michael Rose 0e385bece2 Add missing apostrophe 2016-04-04 14:21:47 -04:00
Michael Rose b2611c3f2e Fix path bugs in breadcrumbs 2016-04-04 14:20:47 -04:00
Michael Rose 0cba582d02 Reduce white-space above masthead 2016-04-04 12:45:44 -04:00
Michael Rose 0ad429c9c7 Properly style inline <code> 2016-04-03 21:52:52 -04:00
Michael Rose 8d1a149e35 Properly style inline <code> 2016-04-03 21:42:02 -04:00
Michael Rose 803096d9fa Add icons to page meta labels (tags, categories, and date) 2016-04-03 21:35:53 -04:00
Michael Rose 7c1bddf704 Refine masthead 2016-04-03 21:23:24 -04:00
Michael Rose c9da12f79e Make sure .full negative margin sticks on images wrapped in <p></p> 2016-04-01 16:31:31 -04:00
Michael Rose 7db4724ddf Update sample image 2016-04-01 16:22:05 -04:00
Michael Rose 7be24f1728 Use GFM ``` code block 2016-04-01 16:12:37 -04:00
Michael Rose 287e73d9e6 Make .current stand out more in pagination bar 2016-04-01 16:08:22 -04:00
Michael Rose 715852ba19 Hidden button labels on small screens but allow screen readers to see them 2016-04-01 16:02:19 -04:00
Michael Rose e41bb95bee Add Keybase to author sidebar and aria-hidden to icons
- Close #138
- Close #186
- Close #188
2016-04-01 15:49:28 -04:00
Michael Rose 416cc123ec Add LinkedIn social share button and add ARIA hidden to Font Awesome icons
- Close #174
- Close #179
2016-04-01 15:40:38 -04:00
Michael Rose 541d230b7a Remove AdSense code and add ARIA hidden to Font Awesome icons 2016-04-01 15:39:57 -04:00
Michael Rose 273becae54 Wrap locale in double quotes 2016-04-01 15:39:24 -04:00
Michael Rose a625d4a8f1 Revert background color back to white 2016-04-01 15:14:54 -04:00
Michael Rose e528565f63 Simplify feature row SCSS 2016-04-01 12:50:07 -04:00
Michael Rose b26bc6fa87 Adjust button sizes 2016-04-01 12:43:19 -04:00
Michael Rose 55feca46df Adjust table of contents typography 2016-03-31 22:00:06 -04:00
Michael Rose 9a3d4de6e1 Adjust type scale 2016-03-31 21:47:10 -04:00
Michael Rose d04308520f Adjust sidebar navigation list and syntax highlighting styles 2016-03-31 21:41:00 -04:00
Michael Rose 7d93083b91 Simplify build scripts to use npm instead of gulp
- Close #229
2016-03-31 20:55:54 -04:00
Michael Rose 7a41a04dcc Make typography refinements 2016-03-30 22:20:55 -04:00
Michael Rose 8a58559144 Change syntax highlighting theme again 2016-03-30 22:20:39 -04:00
Michael Rose 58662946cd Only show post pagination if there are previous or next posts 2016-03-30 21:54:49 -04:00
Michael Rose 4548f70ee5 Refine notices 2016-03-30 21:52:58 -04:00
Michael Rose 66d6a70480 Reduce button size 2016-03-30 17:02:49 -04:00
Michael Rose 045c7db1dd Replace px font-size with relative units (em and rem) 2016-03-30 16:59:48 -04:00
Michael Rose 570864dfb8 Improve pagination styling 2016-03-30 15:26:25 -04:00
Michael Rose 9d14c68382 Order docs in collection to correct next/previous pagination links 2016-03-29 23:15:07 -04:00
Michael Rose 85fb0d0283 Style tweaks to pagination, right sidebar, and background color 2016-03-29 23:13:00 -04:00
Michael Rose 181ac73615 Update docs 2016-03-29 16:53:39 -04:00
Michael Rose c4fd0b0836 Archive v2 "Theme Setup" documentation into docs collection 2016-03-28 22:04:02 -04:00
Michael Rose 945fb58044 Add post pagination to sidebar and make minor styling alterations 2016-03-28 21:48:42 -04:00
Michael Rose c335b70007 Knock down font-size of <code> 2016-03-27 21:23:04 -04:00
Michael Rose b04ede54ab Modify nav_list and styling 2016-03-25 20:57:52 -04:00
Michael Rose 9ea795ef95 Optimize image 2016-03-25 14:51:04 -04:00
Michael Rose 0d8a76857f Expand on nav_list styles
- Consolidate SCSS partials
2016-03-25 14:50:59 -04:00
Michael Rose 9b964a90e3 Unused, remove 2016-03-25 14:26:12 -04:00
Michael Rose 75d382fd5f Rename "template" to "layout" to match Jekyll nomenclature 2016-03-25 14:19:12 -04:00
Michael Rose 6739aee59b Rough out Documentation collection 2016-03-25 14:12:25 -04:00
Michael Rose 678aecdd61 Build navigation list include helper
- Update navigation.yml to support multiple navigations and levels
- Optional include navigation into left sidebar
2016-03-25 14:12:03 -04:00
Michael Rose e52c06273e Disable read time 2016-03-25 11:19:35 -04:00
Michael Rose be9bc1a17f Add teaser images 2016-03-25 11:18:18 -04:00
Michael Rose 646454db24 Add localized labels for "website" and "email" author sidebar 2016-03-25 10:48:08 -04:00
Michael Rose d0a29ff4b4 Configure documentation/demo GitHub Pages hosted site 2016-03-25 10:45:31 -04:00
Michael Rose ad0a61b4a6 Merge branch 'feature/spit-and-polish' into develop 2016-03-25 10:25:33 -04:00
Michael Rose 8c93dfbe93 Add white space around archive subtitles 2016-03-25 10:25:14 -04:00
Michael Rose 678fafd98d Sample post cleanup 2016-03-25 10:21:08 -04:00
Michael Rose 0a79f95c60 Finesse author sidebar 2016-03-25 09:39:18 -04:00
Michael Rose 627100bf92 Change syntax highlighting colors 2016-03-25 09:33:28 -04:00
Michael Rose 83f519db1e Finesse paragraph indention 2016-03-25 09:11:13 -04:00
Michael Rose 9f63281751 Add notes about feature_row type used 2016-03-25 08:58:30 -04:00
Michael Rose 62109b7f0a Improve masthead links' hover state 2016-03-24 15:46:06 -04:00
Michael Rose 83c74a1c40 Remove underline on footnote arrow 2016-03-24 15:34:29 -04:00
Michael Rose 28d6c28050 Build out overlay header and feature row _include helper 2016-03-24 15:28:29 -04:00
Michael Rose 4a38b2a4c5 Add button size classes 2016-03-24 12:14:40 -04:00
Michael Rose 9ae1611925 Center overlay image 2016-03-24 12:04:23 -04:00
Michael Rose 5635a42ed5 Add test content 2016-03-23 22:03:27 -04:00
Michael Rose 974797a2b8 Style overlay background image and add support for caption 2016-03-23 21:59:58 -04:00
Michael Rose cae92a8770 Add header overlay sample posts 2016-03-23 21:50:22 -04:00
Michael Rose bda9a23261 Add locale string for "Page" 2016-03-23 21:49:01 -04:00
Michael Rose 479bce3682 Rough out splash page _layout with styles and test content 2016-03-23 16:35:01 -04:00
Michael Rose 02a1a0b04a Add .wrapper utility class 2016-03-23 16:34:28 -04:00
Michael Rose c36a7eb62c Disable breadcrumbs by default 2016-03-23 16:34:04 -04:00
Michael Rose 6af658b019 Apply rounded corners to all teaser images 2016-03-23 16:33:47 -04:00
Michael Rose 7f42a0e4c2 Fix collapsing floats 2016-03-23 16:33:21 -04:00
Michael Rose 6e12c95067 Remove alt from teaser image 2016-03-23 16:32:50 -04:00
Michael Rose b642972d82 Rename variables to stay consistent with naming convention 2016-03-23 16:31:30 -04:00
Michael Rose 3663ba897a Create includes for greater layout flexibility 2016-03-23 12:56:23 -04:00
Michael Rose 0e365ee248 Organize comments providers includes and make FB fill parent container 2016-03-23 12:55:36 -04:00
Michael Rose f19f08070d Make minor adjustments 2016-03-23 11:43:16 -04:00
Michael Rose d5c3383f2a Disable breadcrumbs on homepage 2016-03-23 11:42:58 -04:00
Michael Rose bd7839833b Remove unused declarations 2016-03-23 11:12:04 -04:00
Michael Rose b694a36559 Fix breadcrumb alignment 2016-03-23 11:06:58 -04:00
Michael Rose 0feeb21821 Update labels, and colors, and things 2016-03-22 22:59:39 -04:00
Michael Rose f029ce6e25 Add reading time to archive layout and include icon 2016-03-22 22:28:12 -04:00
Michael Rose bf4bf6ed82 Add optional reading time to single _layout 2016-03-21 21:42:55 -04:00
Michael Rose c7ebe1d4b3 Merge branch 'feature/visual-refresh' into develop 2016-03-21 16:37:26 -04:00
Michael Rose 8504380045 Disable author sidebar on home page 2016-03-21 16:36:47 -04:00
Michael Rose 7dad1ad461 Edit text label 2016-03-21 16:36:35 -04:00
Michael Rose d541d45c9c Improve code readability 2016-03-21 16:36:24 -04:00
Michael Rose 4df2367e1c Add "priority plus" navigation pattern for masthead links 2016-03-21 16:01:19 -04:00
Michael Rose 3925087ac2 Remove button move on :active state 2016-03-21 16:00:18 -04:00
Michael Rose c09a8b2c6f Add default 'no-js' class to be removed with JS if enabled 2016-03-21 15:59:50 -04:00
Michael Rose 3173c0dc1d Add test for JavaScript to help style elements progressively 2016-03-21 15:59:16 -04:00
Michael Rose 5c79a09f08 Add custom footer include 2016-03-21 14:11:39 -04:00
Michael Rose 7f30ab04ea Remove Google webfonts as default and include for custom <head> includes
- Create font stacks using system fonts for improved performance
2016-03-21 14:11:14 -04:00
Michael Rose c7d2a8f82c Increase white space around right sidebar on x-large screens 2016-03-21 14:09:45 -04:00
Michael Rose 0cf5f3d9bc Fix IE9 author sidebar styling 2016-03-21 12:37:10 -04:00
Michael Rose a2a4f84580 Improve social follow popover button 2016-03-21 00:03:46 -04:00
Michael Rose abb89f7eb6 Hide social urls behind a button 2016-03-20 22:15:43 -04:00
Michael Rose 60de8f20aa Keep images from becoming over optimize... revisit this later 2016-03-20 15:20:54 -04:00
Michael Rose 780b30c9f6 Massage the grid layout 2016-03-20 15:20:33 -04:00
Michael Rose 1e3b62d893 Include images task in default 2016-03-19 22:00:55 -04:00
Michael Rose 50b6c7ca50 Add grid archive to Portfolio index 2016-03-19 21:58:41 -04:00
Michael Rose d5ce1b2226 Simplify styling 2016-03-19 21:50:18 -04:00
Michael Rose 109f4ffb44 DRY up archive include
- Combine grid and list view into one include
2016-03-19 20:58:17 -04:00
Michael Rose da90ccaf49 Stack social links 2016-03-18 20:54:28 -04:00
Michael Rose ddedefd52c Update _scss path in watch 2016-03-18 20:53:56 -04:00
Michael Rose c94ccf056b Whitelist GitHub Pages supported plugins for use with --safe flag 2016-03-18 20:51:42 -04:00
Michael Rose ce06d2e806 Rename folder scss with an "_" for Jekyll to ignore it 2016-03-18 15:49:50 -04:00
Michael Rose eb2f3d052a Create grid styling for related posts module
- Add default teaser image
- Disable image watch gulp task
2016-03-18 15:07:02 -04:00
Michael Rose 17a6afcd35 Improve sidebar styling for small screens 2016-03-18 11:58:56 -04:00
Michael Rose dc20be33a0 Add second row of gallery images for testing purposes 2016-03-18 11:31:55 -04:00
Michael Rose b657148484 Table of contents styling updates 2016-03-18 11:29:13 -04:00
Michael Rose e7ff7d260a Update gulp image minification task 2016-03-18 10:54:47 -04:00
Michael Rose 7f62d35e86 Replace " with ' 2016-03-18 10:44:09 -04:00
Michael Rose 0e97df213e Replace ' with " 2016-03-18 10:43:17 -04:00
Michael Rose cf473ef12f Increase width of main content to better fill large screens sizes 2016-03-17 22:56:01 -04:00
Michael Rose 266f87d5ab Customizable comments label 2016-03-17 22:55:13 -04:00
Michael Rose 9fecb03081 Add title to comments section
- Style .page__comments-title
- Add comments label text to data file
- Add .html extension to comment provider _includes
2016-03-17 22:36:20 -04:00
Michael Rose f69b84df75 Watch script files except _*.js for changes 2016-03-17 21:41:02 -04:00
Michael Rose af16afdaf2 Combine SCSS and JS into one assets folder 2016-03-17 21:32:55 -04:00
Michael Rose f87b828ca2 Adjust widths 2016-03-17 15:50:22 -04:00
Michael Rose f85dd7aee2 Enable Stickyfill on screen width > 768px 2016-03-17 15:38:07 -04:00
Michael Rose e72642539e Revert "Remove position: sticky polyfill"
This reverts commit 6ab127f293.
2016-03-17 15:07:30 -04:00
Michael Rose 6ab127f293 Remove position: sticky polyfill 2016-03-16 16:47:28 -04:00
Michael Rose 1ce8926272 Improve right sidebar styling to better handle position: fixed content 2016-03-16 16:18:37 -04:00
Michael Rose 2b1a38715c Fix typo 2016-03-15 14:11:31 -04:00
Michael Rose 5a14bfb98c Add .full image class for spanning the entire content container 2016-03-15 12:55:19 -04:00
Michael Rose 2b28790ae8 Remove unused style declarations 2016-03-15 12:54:50 -04:00
Michael Rose 6a66f431da Disable Susy grid debug 2016-03-15 12:38:04 -04:00
Michael Rose 6c6546c1ea Gut grid mixins and replace with Susy for greater flexibility 2016-03-15 12:34:14 -04:00
Michael Rose 72661942cf Cleanup table of contents styling 2016-03-14 23:02:06 -04:00
Michael Rose add794e05e Hide sidebar on small screens 2016-03-14 22:00:19 -04:00
Michael Rose f2b4b4ebc9 Add spaces 2016-03-14 21:59:55 -04:00
Michael Rose c7a7a5d707 Enable sticky sidebar
- Hide sidebar on small screens
2016-03-14 21:30:03 -04:00
Michael Rose 7fa159a9a2 Only enable breadcrumbs when using Jekyll Archives category pages 2016-03-11 21:09:09 -05:00
Michael Rose 2c2d5fb616 Adjust sidebar styling
- Disable sticky
- Show for small screens and adjust accordingly
2016-03-11 16:36:41 -05:00
Michael Rose 53b6bf549c Make "Follow: " label option 2016-03-11 16:18:58 -05:00
Michael Rose 1bce5a55e8 Harmonize spacing 2016-03-11 16:17:41 -05:00
Michael Rose 0b7f243aeb Make sure breadcrumbs, tag lists, and category lists only display when enabled 2016-03-11 16:17:20 -05:00
Michael Rose a08934bbe3 Add examples for tags and categories path_type 2016-03-11 16:16:18 -05:00
Michael Rose 5d9e0af805 More style cleanup and housekeeping 2016-03-11 15:55:06 -05:00
Michael Rose a3d251a18e Improve breadcrumb helper
- Add support for collections
- Add support for crumb links that point to auto-generated archive pages (courtesy of Jekyll Archives plugin) and single page Liquid spaghetti pages
- Improve styling
2016-03-11 15:54:16 -05:00
Michael Rose 3aa50cc5a5 Add support for Jekyll Archives plugin
- Option to select GitHub Pages compatible tag/category page archive or plugin generated archives
2016-03-11 09:39:20 -05:00
Michael Rose 1ccd5f6bf0 Edit sidebar and page meta styles 2016-03-10 22:29:30 -05:00
Michael Rose a31bd447d0 Properly detect if a page has tags or categories
- Arrays are truthy, test on first item instead
2016-03-10 22:12:37 -05:00
Michael Rose cf0db7c19a Simplify collections and remove categories and tags for now 2016-03-10 22:11:00 -05:00
Michael Rose 4427cf4c8e Add page taxonomy links for tags and categories
- Customizable text via _data file
- Enable/disable links by setting archive page filenames in _config.yml
2016-03-10 21:53:28 -05:00
Michael Rose f63b8fe294 Add file extensions back to non-helper _includes 2016-03-10 21:13:01 -05:00
Michael Rose 8d046af7a9 Continue to refine styles and layouts 2016-03-10 13:06:59 -05:00
Michael Rose 3df0afbdc9 Add smooth scroll and sticky scripts 2016-03-10 13:06:17 -05:00
Michael Rose caefcce729 Cleanup SCSS 2016-03-10 11:13:54 -05:00
Michael Rose dd6d29ba76 Add WDM gem to properly enable auto-regeneration on Windows 2016-03-10 08:59:23 -05:00
Michael Rose 3b1cefde27 First pass at cleaning out the CSS cruft
- Dump unused styles
- Use breakpoint mixin for media queries
2016-03-09 22:19:11 -05:00
Michael Rose d84f35c0e1 Correct headline hierarchy 2016-03-09 22:18:10 -05:00
Michael Rose d0a08a0e7a Update gems 2016-03-09 22:17:18 -05:00
Michael Rose 2b494bb9d8 Update vendor files
- Drop IE8 polyfill scripts
2016-03-09 21:23:27 -05:00
Michael Rose 611be93d83 Add white space to improve code readability 2016-03-09 20:49:33 -05:00
Michael Rose feb504592c Remove locale hash to shorten Liquid variable names 2016-03-09 20:49:17 -05:00
Michael Rose ea8fb6fe33 Add support for localizing UI text with a _data file 2016-03-09 16:33:27 -05:00
Michael Rose 927b3d36ff Add follow links to footer
- Close #205
2016-03-09 15:54:20 -05:00
Michael Rose d6e43b6977 Merge branch 'feature/visual-refresh' of https://github.com/mmistakes/minimal-mistakes into feature/visual-refresh 2016-03-09 15:23:50 -05:00
Michael Rose 1a4c935c27 Merge branch 'feature/pagination' into develop 2016-03-09 15:12:09 -05:00
Michael Rose 7ac2a1263e Paginate posts for home page
- Configurejekyll-paginate
- Modify home page to include paginator loop
- Add pagination include and basic styling
- Add " - page #" to <title></tile> for SEO benefits
2016-03-09 15:11:34 -05:00
Michael Rose fee2adfa46 Merge branch 'feature/pagination' of https://github.com/mmistakes/minimal-mistakes into feature/pagination 2016-03-09 14:21:26 -05:00
Michael Rose e6664adc0c Merge branch 'feature/more-sample-posts' into develop 2016-03-09 12:23:08 -05:00
Michael Rose 9d8b2f5de2 Disable author sidebar 2016-03-09 12:22:46 -05:00
Michael Rose 9662a83a5c Add author sidebar disabled and custom sidebar content sample posts 2016-03-09 12:22:18 -05:00
Michael Rose 4a1ab51ec9 Merge branch 'feature/refactor-tasks' into develop 2016-03-09 12:17:48 -05:00
Michael Rose 1ee7b092bc Try to get Linguist to ignore vendor files 2016-03-09 12:16:54 -05:00
Michael Rose a5f8516ef5 Minor edits to Gulpfile 2016-03-09 12:10:43 -05:00
Michael Rose c19cd2a391 Replace Grunt tasks with Gulp 2016-03-07 22:20:32 -05:00
Michael Rose 85a3df7fd7 Alphabetize 2016-03-07 22:20:01 -05:00
Michael Rose 8259f9a6b1 Merge branch 'feature/refactor-tasks' of https://github.com/mmistakes/minimal-mistakes into feature/refactor-tasks 2016-03-07 12:47:18 -05:00
Michael Rose 856e86d4e9 Merge branch 'feature/refactor-includes-layouts' into develop 2016-03-07 11:49:13 -05:00
Michael Rose 455067a000 Add option to disable social sharing globally 2016-03-07 11:48:25 -05:00
Michael Rose 9164c5053d Add more analytics and commenting options 2016-03-07 11:29:35 -05:00
Michael Rose 3bd495f1d4 Remove extensions from _includes to simplify naming 2016-03-07 10:27:07 -05:00
Michael Rose 0ccaef5a96 Add space after YAML Front Matter 2016-03-07 09:51:50 -05:00
Michael Rose f4cc49ffca Remove some categories to get around Windows path limit errors 2016-03-07 09:47:00 -05:00
Michael Rose 9da33af942 Merge branch 'feature/use-jekyll-feed' into develop 2016-03-06 22:32:50 -05:00
Michael Rose 7d21c0afc3 Rename author hashes for friendlier names in feed.xml 2016-03-06 22:32:01 -05:00
Michael Rose 1c300ef040 Replace bespoke feed.xml with jekyll-feed plugin 2016-03-06 22:31:38 -05:00
Michael Rose 3b0f42d9bc Merge branch 'feature/use-jekyll-feed' of https://github.com/mmistakes/minimal-mistakes into feature/use-jekyll-feed
* 'feature/use-jekyll-feed' of https://github.com/mmistakes/minimal-mistakes:
  Feature: Replace feed.xml with jekyll-feed gem
2016-03-06 22:14:11 -05:00
Michael Rose b7bff6c8cd Merge branch 'feature/improve-demos' into develop 2016-03-06 22:11:03 -05:00
Michael Rose 6787b61933 Edit defaults 2016-03-06 22:08:36 -05:00
Michael Rose b2cc96622e Add sample portfolio/case study 2016-03-06 22:08:13 -05:00
Michael Rose 8e125b7617 Disable author profile on archive pages 2016-03-06 22:07:48 -05:00
Michael Rose cf2fbef815 Add flag to enable sidebar author profile or alternate info 2016-03-06 22:05:43 -05:00
Michael Rose 0665dccffb Rename post.html _layout to single 2016-03-06 21:11:27 -05:00
Michael Rose 9702a5f3d8 Fix <title> for pages without a title 2016-03-06 21:08:27 -05:00
Michael Rose 178f414a92 Rename include to archive-list-single.html 2016-03-06 21:01:09 -05:00
Michael Rose 427ed394ad Use archive template for home page
- Remove home specific _layout
2016-03-06 21:00:48 -05:00
Michael Rose 0788e48bb2 Markdownify post titles 2016-03-06 20:51:16 -05:00
Michael Rose b6a0db9f70 Add Sitemap 2016-03-05 22:11:43 -05:00
Michael Rose 9e38799433 Edit 2016-03-05 22:11:32 -05:00
Michael Rose feb4509f65 DRY up archives by using an include 2016-03-05 22:11:23 -05:00
Michael Rose aa8e427570 Markdownify titles and excerpts 2016-03-05 22:11:00 -05:00
Michael Rose ec3eb91fcc Add excerpts 2016-03-05 21:29:58 -05:00
Michael Rose ba4e4ab110 Fix indents 2016-03-05 21:29:50 -05:00
Michael Rose 0a4c90e031 DRY up archives by using an include 2016-03-05 21:29:39 -05:00
Michael Rose 8e838e1062 Improve gallery include variable names 2016-03-05 21:29:08 -05:00
Michael Rose 7c77274567 Add breadcrumb navigation include
- Disable by default
- Add schema.org markup
- Add basic styling
2016-03-04 22:57:12 -05:00
Michael Rose 239c949298 Add "group by array" include to simplify archive pages 2016-03-04 21:45:30 -05:00
Michael Rose cf42731352 Add sample collection documents 2016-03-04 16:23:59 -05:00
Michael Rose 78913e5877 Edit title 2016-03-04 16:23:43 -05:00
Michael Rose b2a56d6978 Remove space after --- 2016-03-04 16:23:34 -05:00
Michael Rose 3b13509329 Update and add samples 2016-03-04 12:37:24 -05:00
Michael Rose bc67d8d136 Update gallery sample post and build _include 2016-03-03 16:24:18 -05:00
Michael Rose 27a8f669d9 Change baseurl to match gh-pages project 2016-03-03 14:34:17 -05:00
Michael Rose 1ec858b500 Edit sample posts 2016-02-25 08:26:30 -05:00
Michael Rose acd8720126 Allow Markdown for header.image.caption
- Simplify and remove extra variables by condensing into one
2016-02-25 08:15:54 -05:00
Michael Rose 63f8c36348 Rename to .html to keep indents and avoid Markdown parsing 2016-02-24 22:18:18 -05:00
Michael Rose f27033b509 Update navigation links 2016-02-24 22:17:46 -05:00
Michael Rose c71992e1c4 Add archives for pages and posts by [category, year, tags] 2016-02-24 22:08:59 -05:00
Michael Rose da2b8b2650 Add sample post with <code> in excerpt 2016-02-24 21:23:59 -05:00
Michael Rose 538d4cf450 Update header images
- Rename image.feature to header.image
2016-02-24 21:23:29 -05:00
Michael Rose 7efda9689d Add more sample content 2016-02-24 16:27:40 -05:00
Michael Rose 0fc9bd6755 Add editor config file 2016-02-24 16:15:19 -05:00
Michael Rose 446a085e66 Edit sample posts 2016-02-24 16:12:21 -05:00
Michael Rose 813c8c8ca6 Cleanup auto generated excerpts 2016-02-24 16:10:45 -05:00
Michael Rose 416d035edc Revert back to default excerpt separator and override on a post by post basis 2016-02-24 16:10:22 -05:00
Michael Rose 91d81afa53 Add more sample posts and pages to test theme 2016-02-24 11:55:03 -05:00
Michael Rose db1af329c5 Remove layout and fallback to config default 2016-02-24 11:52:42 -05:00
Michael Rose 15831d894c Add defaults for pages 2016-02-24 11:52:18 -05:00
Michael Rose d90cbaa851 Change permalink format to /:title/ 2016-02-24 11:51:59 -05:00
Michael Rose 88449ed3b4 Change excerpt separator to <!--more--> 2016-02-24 11:51:13 -05:00
Michael Rose e9364c1171 Merge branch 'feature/improve-demos' of https://github.com/mmistakes/minimal-mistakes into feature/improve-demos 2016-02-23 12:11:26 -05:00
Michael Rose 9cdfdb699c Get GFM fenced code blocks working
- For simplicity remove other styles of code block examples and stick with what GitHub uses
2016-02-23 12:11:13 -05:00
Michael Rose 68e85cc7b3 Merge branch 'feature/refactor-layouts' into develop 2016-02-23 11:31:00 -05:00
Michael Rose 1c1a9777e0 Simplify favicons and logo usage 2016-02-23 11:29:09 -05:00
Michael Rose be1c66fd8c Remove Octopress new post/page templates 2016-02-23 11:20:22 -05:00
Michael Rose b7b887f6e4 Enable share buttons on all _posts (default) 2016-02-23 11:19:44 -05:00
Michael Rose 39c1bbee22 Display site name with title as a fallback in footer copyright 2016-02-23 11:19:21 -05:00
Michael Rose f4862d595c Move pages into _pages directory 2016-02-23 11:16:52 -05:00
Michael Rose 5875412409 Rename Google variables and update to Universal Tracking code 2016-02-23 11:03:49 -05:00
Michael Rose 1a2f3b8025 Reference site settings for site author (default) 2016-02-23 10:51:40 -05:00
Michael Rose 0bb176b456 Set defaults for _posts
- layout ~> post.html
- enable comments
2016-02-23 10:47:43 -05:00
Michael Rose 063bcd1dc3 Fix author social link(s) alignment 2016-02-23 10:19:11 -05:00
Michael Rose d14a360cd3 Improve SEO include 2016-02-23 10:13:15 -05:00
Michael Rose fec3508b5d Add SEO stuff
- <head> related SEO
- Twitter Cards and Open Graph metas
- Webmaster tool verifications
2016-02-23 00:17:39 -05:00
Michael Rose 7139d61c62 Add basic schema structure 2016-02-22 22:46:59 -05:00
Michael Rose d104ec30e8 Remove .page styles 2016-02-22 22:33:07 -05:00
Michael Rose 75a913d179 Consolidate layouts
- Remove page.html
- Rename post-index.html ~> archive.html
2016-02-22 22:32:17 -05:00
Michael Rose 338d06673c Add compress.html layout
- Update config
- Remove problematic inline JS comments
2016-02-22 22:03:47 -05:00
Michael Rose ddb78bf337 Rename classes for consistency 2016-02-22 21:44:55 -05:00
Michael Rose a572dbaae0 Include absolute URL shorthand 2016-02-22 21:22:07 -05:00
Michael Rose 1b4d507e21 Fix typo 2016-02-22 20:51:25 -05:00
Michael Rose 7c1792312f DRY up layouts by creating a default 2016-02-22 16:46:49 -05:00
Michael Rose 97b4571370 Add support for baseurl 2016-02-22 16:16:15 -05:00
Michael Rose 4348fc59b3 Remove "_" from includes 2016-02-22 14:58:16 -05:00
Michael Rose 6f2ed74bc4 Merge branch 'feature/refactor-layouts' of https://github.com/mmistakes/minimal-mistakes into feature/refactor-layouts 2016-02-22 14:47:00 -05:00
Michael Rose 7ad9d674b2 Feature: Replace feed.xml with jekyll-feed gem 2016-02-22 09:24:02 -05:00
Michael Rose bf4872e453 Merge branch 'feature/config-refactor' into develop 2016-02-21 22:19:14 -05:00
Michael Rose fd65d3e995 Reorganize settings and include default values for easier updating 2016-02-21 22:18:14 -05:00
Michael Rose 644f54b12d Clean-up Gemfile
- Remove gems already included with `github-pages`
- Remove Octopress, should be optional
2016-02-21 21:25:07 -05:00
Michael Rose 66b54d4cc9 Feature: Config refactor 2016-02-21 21:19:26 -05:00
Michael Rose 6d2a62774b Merge pull request #182 from YNedderhoff/experimental
Remove navigation role as it is unnecessary
2016-02-20 22:54:32 -05:00
Michael Rose 92002a5b01 Feature: Add support for jekyll-pagination 2016-02-20 22:27:32 -05:00
Michael Rose 9f16a548a4 Feature: Give theme a visual refresh 2016-02-20 22:16:03 -05:00
Michael Rose 6f2d1e2b96 Feature: Improve demo posts, pages, and collections 2016-02-20 22:14:28 -05:00
Michael Rose 8d908996a5 Feature: Refactor development tasks 2016-02-20 22:12:41 -05:00
Michael Rose 8c03327647 Feature: Refactor layouts and includes 2016-02-20 22:10:01 -05:00
Michael Rose 7142a54650 Support Jekyll 3.0
- Update to Jekyll v3.0
- Switch from Pygments.rb to Rouge for syntax highlighting
- Minor updates to syntax.scss partial and theme documentation
- Include jekyll-gist gem
- Close #192, #218
2016-02-01 21:30:49 -05:00
Michael Rose e5ba10ee7d Merge pull request #216 from localstatic/setup-doc-fix
Fix typo in `bundle exec` command
2016-01-28 10:46:09 -05:00
Morgan Terry 19806e1eb6 Fix typo in bundle exec command 2016-01-27 22:29:56 -07:00
Michael Rose 6c71841425 Increase width of main content container 2016-01-19 21:56:51 -05:00
Michael Rose 5a69e71df9 Update links
- Remove Made Mistakes from header nav
- Update MM footer link
2016-01-19 21:10:58 -05:00
Michael Rose 4b99152c7d Update dependencies 2016-01-19 21:07:42 -05:00
Michael Rose fdad24cec9 Update Octopress config
- Remove _octopress.yml and move settings into _config.yml as per Octopress' documentation
- Close #163
2016-01-19 21:07:30 -05:00
Michael Rose 2362f621fb Add basic print styles
- Hide menu, social share buttons, and ads on print
- Close #191
2015-12-03 11:15:23 -05:00
Michael Rose be9722111b Revert "Update README.md"
This reverts commit 6bbbe819c8.
2015-11-30 23:17:06 -05:00
Michael Rose 6bbbe819c8 Update README.md 2015-11-30 23:15:26 -05:00
Michael Rose fd0f10d1a2 Update Font Awesome to 4.5.0 2015-11-30 09:59:24 -05:00
Michael Rose e0a6cc2b4a Merge pull request #199 from kamilszymanski/markup-fix
Fix home markup for link posts
2015-11-30 09:21:18 -05:00
Kamil Szymanski a4527d7e53 Fix home markup for link posts 2015-11-29 15:35:17 +01:00
Michael Rose 07769c89e9 Update gems 2015-11-10 09:55:31 -05:00
Michael Rose bb41054c69 Add note and link to MM-Jekyll 3 branch. 2015-10-30 14:07:22 -04:00
Michael Rose 7ad97aa8d4 Merge pull request #190 from BryceMehring/master
Removed duplicate 'powered by Disqus'
2015-10-07 11:18:45 -04:00
Bryce Mehring c02d05f8e1 Removed duplicate 'powered by Disqus' link.
This also fixes an issue during page load with Disqus comments on them, `comments powered by Disqus` displayed then got pushed down.
2015-10-06 22:13:05 -05:00
Michael Rose 68ddef6543 Add emphasized and bold text with links inside 2015-09-28 14:38:22 -04:00
Michael Rose c110735b7e Underline links wrapped in bolded (strong) text 2015-09-28 14:35:58 -04:00
Michael Rose 56ef95d630 Merge pull request #185 from alexandrnikitin/css-page-underline-links-in-ems
Underline links in emphasized blocks
2015-09-28 14:34:21 -04:00
Alexandr Nikitin ee06a1b20f Underline links in emphasized blocks 2015-09-28 15:15:15 +03:00
YNedderhoff dbf44d066d Remove navigation role as it is unnecessary 2015-09-09 13:54:23 +02:00
Michael Rose 0472218b5a Updated Font Awesome to 4.4
- Fixes #178
2015-09-06 20:59:19 -04:00
Michael Rose d5a0a2e585 Fix typo in menu button class
- .navtoogle should be .navtoggle
- Fixes #175
2015-08-19 12:50:58 -04:00
Michael Rose e7489a139d Merge pull request #166 from andreykurenkov/improve_year_output
Simplify year output logic in post_index
2015-08-07 11:47:53 -04:00
andreykurenkov 985a6fd47d Merged improvement to post-index.html 2015-08-05 19:24:19 -07:00
andreykurenkov 0498eb167c Revised year listing that is more robust to changes- 2015-08-05 19:23:00 -07:00
Michael Rose eddc18ccc0 Merge pull request #141 from cdodd/remove-whitespace
Remove trailing whitespace
2015-07-20 12:58:24 -04:00
Michael Rose d80b49f524 Merge pull request #157 from vlajos/patch-1
Stackoverflow username explanation
2015-07-20 12:52:40 -04:00
Michael Rose 215308a831 Merge pull request #158 from vlajos/patch-2
fix typo
2015-07-20 12:51:31 -04:00
Veres Lajos 8e55544e3e fix typo 2015-07-19 19:09:33 +01:00
Veres Lajos e33b45a7ad Stackoverflow username explanation 2015-07-19 15:12:20 +01:00
Michael Rose 8dafa9a753 Merge pull request #156 from hbarudin/add-codepen-social-option
Add CodePen to owner social options
2015-07-12 12:20:32 -04:00
Hannah Barudin d43aeab685 Add CodePen to owner social options 2015-07-11 22:08:55 -04:00
Michael Rose 09fdd3c5a4 Merge pull request #150 from kishore-mohan/facebook_metataf
facebook sharing image meta tag added related #149 issue
2015-06-11 09:41:34 -04:00
kishore-mohan dda901e46d facebook sharing image meta tag added related #149 issue 2015-06-11 17:54:57 +05:30
Craig Dodd f06b4c163d Remove trailing whitespace 2015-04-17 11:43:36 +01:00
Michael Rose 3d685a192f Show related posts only when there are 1 or more 2015-04-08 14:49:47 -04:00
Michael Rose 3bbb09770d Merge pull request #131 from thoemmi/patch-1
Update _author-bio.html
2015-03-08 17:01:33 -04:00
Thomas Freudenberg cd47e64b12 Update _author-bio.html
I'm sorry about the double slash 😞
2015-03-08 19:57:59 +01:00
Michael Rose 90830fb86f Merge pull request #130 from thoemmi/xing
In Germany XING is more popular than LinkedIn, so I added a link to the XING profile
2015-03-06 08:27:10 -05:00
Thomas Freudenberg 89271dd67d mis-aligment of email address (all other items have an leading whitespace) 2015-03-05 23:43:59 +01:00
Thomas Freudenberg 4bd0345eda added link to XING profile 2015-03-05 23:42:51 +01:00
Michael Rose f9d59eac80 Update gems 2015-03-03 09:50:22 -05:00
Michael Rose 45c6d84133 Remove http protocol from Google search form 2015-02-24 14:57:16 -05:00
Michael Rose 8c78e2f783 Remove feature image 2015-02-24 14:56:10 -05:00
Michael Rose 9698439543 Display custom 404 page
- Fixes #128
2015-02-24 14:54:55 -05:00
Michael Rose 3b2e58c7d8 Move feed footer to an include 2015-01-30 09:37:42 -05:00
Michael Rose 7811c598b0 Fix social share buttons overlapping on small screens 2015-01-22 12:18:35 -05:00
Michael Rose 87b8d0b129 Add optional social sharing buttons
- Social share buttons appear at the end of every post and page unless you add share: false to their YAML Front Matter
- Fixes #42
2015-01-21 11:21:50 -05:00
Michael Rose 9a1c5ff3e6 Improve table of contents
- Replace html snippet with _includes/toc.html
- Add FA icon to table of contents header
- Display table of contents on small screens
- Add hierarchy to toc with indents
2015-01-21 10:16:48 -05:00
Michael Rose 3688b97b3c Clean up comments 2015-01-21 09:32:22 -05:00
Michael Rose e916231560 Clean up comments in Sass partials 2015-01-20 15:25:57 -05:00
Michael Rose 422c0a467d Remove print styles 2015-01-20 15:20:01 -05:00
Michael Rose 1a538f15ac Fix typo 2015-01-20 14:28:03 -05:00
Michael Rose a41af6b53b Remove duplicate author content 2015-01-20 12:43:53 -05:00
Michael Rose 35761b2e8d Remove Google Authorship
- Fixes #120
- Add person microdata in author sidebar
2015-01-20 12:42:37 -05:00
Michael Rose c8919d2418 Merge pull request #119 from kennonkwok/add_flickr_social_button
add Flickr social button to author-bio.html
2015-01-12 14:25:46 -05:00
Kennon Kwok 050d690113 add Flickr social button to author-bio.html 2015-01-12 09:56:39 -08:00
Michael Rose 15a9ca5497 Merge pull request #116 from YuyingWu/master
add social button in author-bio.html
2015-01-05 13:58:59 -05:00
YuyingWu fad3d095a0 add social button in author-bio.html
sina weibo is a widely-used social community in China
2015-01-03 12:15:50 +08:00
Michael Rose f2f00daea4 Optimize images 2014-12-31 12:03:51 -05:00
Michael Rose 4fba65312f Document $paragraph-indent variable 2014-12-31 12:03:43 -05:00
Michael Rose 967190ebf9 Add grunt images task 2014-12-31 12:03:10 -05:00
Michael Rose 1eac280027 Remove http://localhost:4000 from site.url in _config.yml 2014-12-22 12:25:35 -05:00
Michael Rose 2cd25f2ca0 Fix home linke path 2014-12-22 12:25:03 -05:00
Michael Rose 96e60f2467 Update gemfile 2014-12-22 12:23:35 -05:00
Michael Rose 86146d58a0 Merge pull request #112 from clburlison/master
Missing trail </a>
2014-12-17 15:48:31 -05:00
Clayton Burlison 8b3737cf23 Missing trail </a>
The missing </a> willing cause an issue when someone is customizing the order of "Post then Date" to "Date then Post".
2014-12-17 13:56:10 -06:00
Michael Rose 1dabca2574 Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes
# By unknown
# Via unknown
* 'master' of https://github.com/mmistakes/minimal-mistakes:
  rel="nofollow" footer links
2014-11-23 21:52:43 -05:00
unknown 0ac42ec6f7 rel="nofollow" footer links 2014-11-23 21:52:21 -05:00
unknown 7bcb7412c9 rel="nofollow" footer links 2014-11-20 16:26:37 -05:00
unknown b2b54b8ca7 Add note about running Jekyll with bundle exec 2014-11-11 11:30:05 -05:00
unknown ee94c5d71f Update gems 2014-11-11 09:37:18 -05:00
unknown b6edd3592c Add protocol-relative URL example 2014-11-11 09:37:12 -05:00
Michael Rose 4e4944e6cb Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes
# By jeremyvoltz
# Via Michael Rose (1) and jeremyvoltz (1)
* 'master' of https://github.com/mmistakes/minimal-mistakes:
  Added youtube and soundcloud for site owner
  Added the fixed width class for font awesome icons
2014-10-20 23:09:52 -04:00
Michael Rose dc06530dd4 Merge pull request #95 from jeremyvoltz/master
Fixed width fa icons for cleaner stacking, plus youtube and soundcloud
2014-10-20 23:09:13 -04:00
Michael Rose 5525242588 Move .image-wrap triangle down a few pixels to cover small gap 2014-10-20 23:09:05 -04:00
jeremyvoltz 6be4d23dab Added youtube and soundcloud for site owner 2014-10-20 13:06:15 -04:00
jeremyvoltz 9f610952b9 Added the fixed width class for font awesome icons
This will allow cleaner stacking of icons that aren’t square
2014-10-20 13:04:49 -04:00
Michael Rose d0313bd423 Fix broken TOC toggle 2014-10-03 15:14:20 -04:00
Michael Rose 80f6c002f5 Reduce size of sample feature images 2014-10-03 14:58:49 -04:00
Michael Rose fd2b2a15d6 Reduce size of feature image triangle
- On smaller screens reduce size of triangle
2014-10-03 14:29:12 -04:00
Michael Rose 3ba1427cca Fix button border color
- Remove bottom borders on links and use text-decoration: underline instead
- Use sans-serif font for button text
2014-09-30 16:35:45 -04:00
Michael Rose 0f0275010e Include new sample images for features 2014-09-30 16:27:36 -04:00
Michael Rose 99d4eee5bb Wrap all page content in #main div to fix #86
- Adjust article styles to correctly display post indexes
- Remove top margin from page titles
2014-09-30 16:07:20 -04:00
Michael Rose 1a837bbdb5 Remove references to .less
- Add Gist example
2014-09-14 14:55:28 -04:00
Michael Rose 5ec4da089a Merge pull request #81 from muhasturk/master
removed unused <a> tag in _author-bio.html
2014-09-12 16:27:31 -04:00
Mustafa Hasturk 88a22037f5 illegal character in query fixed 2014-09-12 08:14:05 +03:00
Mustafa Hasturk fc7aa8f8b8 removed unused <a> tag in _author-bio.html 2014-09-12 08:08:10 +03:00
Michael Rose 91c30a0bf6 Fix typo 2014-09-09 06:34:18 -04:00
Michael Rose 8803c2d53c Merge pull request #80 from cazzar/patch-1
Fix up small spelling mistake in ad code.
2014-09-09 06:30:56 -04:00
Cayde Dixon 285dad5a92 Fix up small spelling mistake in ad code. 2014-09-09 15:08:58 +10:00
Michael Rose 50f46ab257 Make Google AdSense banner in footer conditional 2014-09-04 20:58:32 -04:00
Michael Rose b5cc7d19a0 Remove "layout: none" from feed.xml 2014-09-04 20:57:00 -04:00
Michael Rose 7b24a02e13 Mention that Octopres is optional
- Used to automate the creation of new posts and pages
2014-09-04 20:54:33 -04:00
Michael Rose 43fb2e5688 Fix Google webfonts to load over http and https 2014-08-23 18:10:31 -04:00
Michael Rose 3c73f33311 Change .less to .scss 2014-08-09 13:50:29 -04:00
Michael Rose faf03b2b3f Remove references to .less files 2014-08-09 13:42:51 -04:00
Michael Rose f5a313f703 Update about page 2014-08-08 20:53:23 -04:00
Michael Rose 83b4fde120 Fix Google+ variable in author sidebar 2014-08-08 20:50:46 -04:00
Michael Rose 2c36474aa1 Include examples for social media links 2014-08-08 20:48:04 -04:00
Michael Rose 10300e3d62 Remove extra + 2014-08-08 20:41:43 -04:00
Michael Rose 161585f6ad Only include email if author has an email address specified 2014-08-08 20:37:57 -04:00
Michael Rose 027176b38f Merge pull request #71 from soxyl/feed-author
Author Override for the Feed
2014-08-08 20:35:45 -04:00
Michael Rose f0d24a56d6 Fix typos and grammar 2014-08-08 15:45:24 -04:00
Samuel Wicky 4bfaa6c82f Merge branch 'master' into feed-author 2014-08-08 17:46:57 +03:00
Samuel Wicky f3a937d08e Fixed wrong author name in feed.xml 2014-08-07 19:39:45 +03:00
Michael Rose dc5a28f1c3 Merge pull request #70 from simathur/patch-1
Delete Gemfile.lock
2014-08-07 08:34:05 -04:00
simathur a0b8dcb838 Delete Gemfile.lock
This file was added to the .gitignore recently, but hasn't been deleted from the code line.
2014-08-07 15:48:35 +05:30
Michael Rose 73d41d7277 Change link name from email address to just "Email"
- Fixes #68
2014-08-06 22:56:37 -04:00
Michael Rose 1c008c25a8 Update license 2014-08-06 08:12:33 -04:00
Michael Rose 644586e6ae Make it generic 2014-07-31 16:15:59 -04:00
Michael Rose aba6002f4e Add alternate bio photo for testing purposes 2014-07-31 15:21:30 -04:00
Michael Rose 0236054d34 Add optional email address to author bio and feed.xml
- Fixes #35
- To add additional social network profiles edit _author-bio.html
- Icons come from the Font Awesome webfont. See http://fontawesome.io/icons/ for a complete list
2014-07-31 15:21:11 -04:00
Michael Rose 5a2d0ed5cf Ignore 2014-07-31 15:08:35 -04:00
Michael Rose efcf3c9bb7 Remove 2014-07-31 15:08:03 -04:00
Michael Rose 59f9a27ee9 Update 2014-07-31 15:07:48 -04:00
Michael Rose d491d93a10 Update 2014-07-31 14:57:41 -04:00
Michael Rose 9ac1f8fed5 Page cleanup 2014-07-31 14:57:35 -04:00
Michael Rose f397374973 Toggle paragraph indentation on and off.
- On by default
2014-07-31 14:57:31 -04:00
Michael Rose dd3dcdfbdf Remove Google fonts from head and include as .scss partial 2014-07-31 14:57:27 -04:00
Michael Rose a2417a58d4 Install Octopress to create new posts/pages 2014-07-31 14:57:22 -04:00
Michael Rose 873eb786e9 Ignore .sass-cache 2014-07-31 14:57:18 -04:00
Michael Rose 23cb7ecaeb Convert .less to .scss 2014-07-31 14:57:13 -04:00
Michael Rose d06dd17110 Replace sitemap.xml with Jekyll Sitemap gem 2014-07-31 14:57:08 -04:00
Michael Rose 1a3231f506 Simplify and organize _config.yml variables 2014-07-31 14:57:03 -04:00
Michael Rose f4869f79c4 Use data file to maintain site navigation
- Remove top navigation links from _config.yml
2014-07-31 14:56:58 -04:00
Michael Rose cf086c3873 Update to Jekyll 2.2.0
- Using the theme for the first time install Bundler and then run 'bundle install'
- Updating the theme run 'bundle update' to update all gem dependencies
2014-07-31 14:56:54 -04:00
Michael Rose ac3315e87f Ignore Gemfile.lock 2014-07-31 14:56:47 -04:00
Michael Rose 6fe2880746 Merge pull request #67 from earlew/master
minor fix to link color settings
2014-07-29 16:19:14 -04:00
Earle Wilson 161f5ac7b9 fixed link colors
Fix allows users to change linkcolorhover, linkcolorfocus and linkcolorvisited from the variables.less file. In the original source code, the link color settings in typography.less did not match link colors settings in variables.less. This caused the link settings in the typography file to override the link settings in variables.less file.
2014-07-28 20:45:03 -07:00
Michael Rose de87753f8c Merge pull request #64 from kostrse/page-link-fix
Fix of post link icons after switch to Font Awesome.
2014-07-12 22:16:42 -04:00
Sergey Kostrukov c8fb2c92f0 Fix of page link icon after switch to Font Awesome. 2014-07-12 02:25:43 -07:00
Michael Rose 721a5f2a45 Replace Icomoon icons with Font Awesome 4.1.0
- Fixes #63
2014-06-19 14:26:03 -04:00
Michael Rose 9301b35889 Enable Pygments pre Jekyll 2.0
- GitHub Pages doesn't support highlighter: pygments, wait to switch
2014-06-16 16:16:40 -04:00
Michael Rose 9f425fa920 Merge pull request #58 from yihangho/exclude-files
Exclude Gemfile, Gemfile.lock, LICENSE and README.
2014-05-18 23:05:37 -04:00
Michael Rose 78aaa8ccd8 Fixes #57
Update "read up here" link.
2014-05-18 12:00:57 -04:00
Yihang Ho 61b337e3e0 Exclude Gemfile, Gemfile.lock, LICENSE and README. 2014-05-18 21:12:27 +08:00
Michael Rose 239f08ac9d Merge pull request #55 from yihangho/master
Bump up the versions of Jekyll and other dependencies
2014-05-10 22:01:54 -04:00
Yihang Ho 7535c06053 Rename the 'pygments' option to 'highlighter'.
As recommended by Jekyll 2.0.0
2014-05-08 21:00:20 +08:00
Yihang Ho 2446639147 Bump up all the versions. 2014-05-08 20:57:36 +08:00
Michael Rose 33d5d966f3 Remove style conflict between Gist lines and navicon-lines.
Fixes #49
2014-04-15 15:42:47 -04:00
Michael Rose f3e6d5e53c Merge pull request #47 from JCotton1123/master
Fix link
2014-04-15 15:17:36 -04:00
JCotton1123 0998766798 Fix link 2014-04-11 23:55:30 -04:00
Michael Rose f905ddfb5c Combine body styles 2014-04-10 11:30:43 -04:00
Michael Rose 25ed0716a3 Merge pull request #46 from relu/master
s/font-color/color in page.less
2014-04-10 11:27:57 -04:00
Aurel Canciu 7e99972cc4 s/font-color/color in page.less 2014-04-07 13:29:07 +03:00
Michael Rose 3c7ad2ea9c Add alternate button colors from HPSTR theme
- Fixes #40
2014-03-27 10:18:24 -04:00
Michael Rose 5af1ce2cce Add correct padding below link post heading in index
- Fixes #45
2014-03-27 10:11:26 -04:00
Michael Rose fa1edfffdd Merge pull request #39 from maxheld83/notices
add info about notices in sample post
2014-03-26 16:28:04 -04:00
Michael Rose 0dfdc4a4f6 Link icon to source page 2014-03-26 16:18:26 -04:00
Michael Rose 70d3af0bf4 Add icon to link post heading in indexes 2014-03-26 16:13:24 -04:00
Michael Rose bcf509c352 Merge pull request #43 from maxheld83/link-post
Link posts / Linklog (john gruber style, similar to hpstr)
2014-03-26 16:01:57 -04:00
Michael Rose 6b099119bb Include Disqus script only if shortname is present in _config.yml 2014-03-26 15:54:01 -04:00
Michael Rose 77f5b6498d Merge pull request #38 from maxheld83/disqus
add disqus comments as per hpstr theme
2014-03-26 15:51:06 -04:00
Maximilian Held 7b17dc35b6 include link posts in post index, with external url, timestamp 2014-03-25 18:55:34 +01:00
Maximilian Held b7bbf27ead include sample link url, post 2014-03-25 18:16:22 +01:00
Maximilian Held 41573f0608 add info about notices in sample post 2014-03-25 17:35:02 +01:00
Maximilian Held 55d0059f87 add disqus comments as per hpstr theme 2014-03-25 17:25:21 +01:00
Michael Rose db2981d253 Add .JPG and .jpeg extensions to Magnific Popup lightbox call. Fixes #33 2014-03-14 08:37:12 -04:00
Michael Rose 39e4cf57af Add whitespace below figure element. Fixes #32 2014-03-14 08:34:15 -04:00
Michael Rose fd0d497654 Merge pull request #31 from maxheld83/hotlinked-images
Hotlinked images
2014-03-14 08:19:53 -04:00
Michael Rose 9c8c6fc156 Adjust size of author bio photo in footer 2014-03-11 11:41:08 -04:00
Michael Rose b24fec72e6 Correct author bio image alignment.
Fixes #24
2014-03-11 11:37:12 -04:00
Michael Rose ff0fc10785 Merge pull request #30 from maxheld83/gplus-handle
Accept Google+ handle instead of full URL for bio link and authorship stuff
2014-03-11 11:12:45 -04:00
Maximilian Held dfc0358fb5 cleanup 2014-03-11 00:53:52 +01:00
Maximilian Held 8cb3893856 make feature images accept hotlinks 2014-03-11 00:42:54 +01:00
Maximilian Held 32e84a39eb make twitter cards accept hotlinked images 2014-03-10 23:38:47 +01:00
Maximilian Held 91dd45fa79 Make google+ expect handle, not full url for head and author-bio 2014-03-10 22:49:54 +01:00
Maximilian Held 676d9f1854 revert some change 2014-03-10 22:41:12 +01:00
Maximilian Held 3d65bd2427 Make twitter cards accept hotlinked images 2014-03-10 21:20:28 +01:00
Maximilian Held 8b65bf0fac fix google plus integration in bio, now accepts username 2014-03-10 19:29:27 +01:00
Maximilian Held e29ea63769 Revert google change 2014-03-10 16:38:18 +01:00
Maximilian Held a6dcf3a9e7 Site.owner.avatar now accepts local images and hotlinked images (conditional on http://, https:// in string) 2014-03-10 16:25:07 +01:00
Maximilian Held d587853180 Accepts G+ username instead of full URL, adds Google authorship as per https://support.google.com/webmasters/answer/1408986?expand=option2 2014-03-10 14:57:59 +01:00
Michael Rose f9ab20b821 Bring back Gemfile 2014-02-27 15:34:55 -05:00
Michael Rose 3ef0a38e5f Revert "Update"
This reverts commit 81b4e1881e.
2014-02-27 15:33:38 -05:00
Michael Rose 81b4e1881e Update 2014-02-27 15:31:31 -05:00
Michael Rose 4735fba5f1 Add new icons and profile links to sidebar for Stackoverflow, Pinterest, Foursquare, Steam, and Dribbble.
Fixes #22
2014-02-27 15:24:05 -05:00
Michael Rose 75637e82dd Decrease blockquote font-size 2014-02-27 15:02:31 -05:00
Michael Rose 0cdcde10bf Add category to rake new_post 2014-02-27 15:00:37 -05:00
Michael Rose 938c653c71 Remove barely used tagline variable 2014-02-27 14:15:27 -05:00
Michael Rose fda2f4cbf0 Cleanup documentation 2014-02-27 14:10:48 -05:00
Michael Rose 504a04bf44 Update theme link in footer 2014-02-25 15:47:48 -05:00
Michael Rose b1421824f8 Remove {{ site.url }} reference to simplify example 2014-02-25 15:39:30 -05:00
Michael Rose a94ad3e18d Update example HTML to include links to larger images to display via Magnific Popup script
Fixes #21
2014-02-25 15:37:30 -05:00
Michael Rose 56de806fa2 Correct broken link. Fixes #19 2014-02-20 14:55:25 -05:00
Michael Rose 1332bb191a Add pages to sitemap 2014-02-17 08:19:22 -05:00
Michael Rose 312cfd58cb Update theme screenshot 2014-02-13 16:34:06 -05:00
Michael Rose 82e306ebc9 Improve responsive nav experience 2014-02-13 14:20:28 -05:00
Michael Rose 73d9750be4 Remove Modernizr script and add html5shiv and media query polyfill scripts for < IE9 2014-02-13 13:45:16 -05:00
Michael Rose b9b9154797 Create media query mixins and consolidate .less files 2014-02-13 13:29:42 -05:00
Michael Rose 51723f2c15 Shrink bio-photo size on large screens 2014-02-13 10:26:21 -05:00
Michael Rose 17c20823eb Cleanup table of contents styling 2014-02-13 10:26:04 -05:00
Michael Rose b43254c2ee Correct demo theme link 2014-02-12 11:06:01 -05:00
Michael Rose 16e89e1b22 Remove table of contents hover indent 2014-02-12 11:00:22 -05:00
Michael Rose a2bfa7fa7b Add rake tasks for creating new posts/pages 2014-02-12 10:58:10 -05:00
Michael Rose b6c7e18d6d Remove category 2014-02-12 10:57:50 -05:00
Michael Rose 9daaa53cbd Update Gemfile 2014-02-12 09:40:24 -05:00
Michael Rose a6423e4a6f Merge branch 'hotfix/schema' 2014-01-20 10:41:29 -05:00
Michael Rose 28a0176b84 Remove schema reference 2014-01-20 10:40:59 -05:00
Michael Rose 37483110e9 Merge pull request #17 from denolfe/lastfm-fix
Correct url to Last.fm profile
2014-01-20 07:25:22 -08:00
Elliot DeNolf b467208cb9 Correct url to Last.fm profile 2014-01-17 21:54:31 -05:00
Michael Rose 9b6c41e936 Merge pull request #16 from Danez/patch-1
Correct url to jekyll
2014-01-17 05:46:52 -08:00
Daniel Tschinder 1a7daa165d Correct url to jekyll 2014-01-17 10:44:28 +01:00
Michael Rose 35d8c699f3 Merge branch 'hotfix/updates' 2014-01-15 15:32:59 -05:00
Michael Rose c7f29a1d56 Rename Articles to Posts to stay consistent with Jekyll naming conventions 2014-01-15 15:32:48 -05:00
Michael Rose e2e01bdbb8 Remove schema.org references to simplify markup 2014-01-15 15:09:59 -05:00
Michael Rose 1931d22a33 Add trailing / to permalinks 2014-01-15 14:59:52 -05:00
252 changed files with 13949 additions and 4720 deletions
+13
View File
@@ -0,0 +1,13 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false
[*.md]
trim_trailing_whitespace = false
+5
View File
@@ -0,0 +1,5 @@
_assets/css/vendor/* linguist-vendored
_assets/js/plugins/* linguist-vendored
_assets/js/vendor/* linguist-vendored
assets/fonts/* linguist-vendored
assets/js/vendor/* linguist-vendored
+45
View File
@@ -0,0 +1,45 @@
<!--
Before submitting please search open and closed issues at
https://github.com/mmistakes/minimal-mistakes/issues to avoid duplication.
Feel free to use the following as a template and remove or add fields as you see fit. You can convert `[ ]` into `[x]` to check boxes.
-->
- [ ] This is a question about using the theme.
- [ ] I believe this to be a bug with the theme --- not Jekyll, GitHub Pages or one of the bundled plugins.
- [ ] This is a feature request.
- [ ] I have updated all gems with `bundle update`.
- [ ] I have tested locally with `bundle exec jekyll build`.
---
## Environment informations
<!--
Please include theme version, `github-pages --version`, and the operating system you are on or tested with.
-->
- **Minimal Mistakes version:**
- **`github-pages` or `jekyll` gem version:**
- **Operating system:**
---
## Expected behavior
<!--
Describe the intended output or what you expected to see.
-->
## Steps to reproduce the behavior
<!--
Include a link to a public repository or ZIP file so that they can more easily be reproduced. Being able to see your actual files helps troubleshooting as most issues stem from missing YAML Front Matter, a mis-configured `_config.sys` file, or `_posts` content.
Describe the steps you took for this problem to exist. Such as you cloned the theme, customized `_config.yml`, added your own posts, and started up a Jekyll server locally.
If an error occurred on GitHub Pages when pushing, please build locally and provide a complete log by running `bundle exec jekyll --trace --verbose` and including this output in the filed issue.
Screenshots can also be included if they help illustrate a behavior.
-->
+6 -4
View File
@@ -1,8 +1,10 @@
_site
.DS_Store
*.sublime-project
*.sublime-workspace
.DS_Store
.jekyll-metadata
.sass-cache
_asset_bundler_cache
_site
codekit-config.json
node_modules
_asset_bundler_cache
Gemfile.lock
npm-debug.log*
-20
View File
@@ -1,20 +0,0 @@
{
"bitwise": true,
"browser": true,
"curly": true,
"eqeqeq": true,
"eqnull": true,
"es5": false,
"esnext": true,
"immed": true,
"jquery": true,
"latedef": true,
"newcap": true,
"noarg": true,
"node": true,
"strict": false,
"trailing": false,
"undef": true,
"multistr": true,
"expr": true
}
+281
View File
@@ -0,0 +1,281 @@
## [3.2.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.2.3)
### Enhancement
- Add [Discourse](https://www.discourse.org/) as a commenting provider [#335](https://github.com/mmistakes/minimal-mistakes/pull/335)
## [3.2.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.2.2)
### Enhancement
- Add support for image captions in Magnific Popup overlays via the [`gallery`](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery) helper [#334](https://github.com/mmistakes/minimal-mistakes/issues/334)
## [3.2.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.2.1)
### Bug Fixes
- Remove need for "double tapping" masthead menu links on iOS devices. [#315](https://github.com/mmistakes/minimal-mistakes/issues/315)
### Maintenance
- Add `ISSUE_TEMPLATE.md` for improve issue submission process.
## [3.2.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.2.0)
### Bug Fixes
- Fix missing category/tag links in post footer due to possible conflict with `site.tags` and `site.categories`. [#329](https://github.com/mmistakes/minimal-mistakes/issues/329#issuecomment-222375568)
## [3.1.8](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.8)
### Bug Fixes
- Fix `Liquid Exception: undefined method 'gsub' for nil:NilClass in _layouts/single.html` error when `page.title` is null. `<h1>` element is now conditional if `title: ` is not set for a `page` or collection item. [#312](https://github.com/mmistakes/minimal-mistakes/issues/312)
### Maintenance
- Remove duplicate `fa-twitter` and `fa-twitter-square` classes from `_utilities.scss`. [#302](https://github.com/mmistakes/minimal-mistakes/issues/302)
- Document installing additional Jekyll gem dependencies when using `gem "jekyll"` instead of `gem "github-pages"` to avoid any errors on run. [#305](https://github.com/mmistakes/minimal-mistakes/issues/305)
## [3.1.7](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.7)
### Enhancement
- Add translation key for "Recent Posts" used in home page `index.html`. [#316](https://github.com/mmistakes/minimal-mistakes/pull/316)
### Maintenance
- Small fix to avoid underlying the whitespace between icons and related text when hovering. [#303](https://github.com/mmistakes/minimal-mistakes/pull/303)
## [3.1.6](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.6)
### Maintenance
- Update gem dependencies. Run `bundle` to update `Gemfile.lock`.
## [3.1.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.5)
### Maintenance
- Fix `www` and `https` links in author profile include [#293](https://github.com/mmistakes/minimal-mistakes/pull/293)
## [3.1.4](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.4)
### Enhancements
- Add overlay_filter param to hero headers [#298](https://github.com/mmistakes/minimal-mistakes/pull/298)
## [3.1.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.3)
### Enhancements
- Improve `site.locale` documentation [#284](https://github.com/mmistakes/minimal-mistakes/issues/284)
- Remove ProTip note about protocol-less `site.url` as it is an anti-pattern [#288](https://github.com/mmistakes/minimal-mistakes/issues/288)
### Bug Fixes
- Fix `og_image` URL in seo.html [#277](https://github.com/mmistakes/minimal-mistakes/issues/277)
- Fix `author_profile` toggle when assigned in a `_layout` [#285](https://github.com/mmistakes/minimal-mistakes/issues/285)
- Fix typo in `build:all` npm script [#283](https://github.com/mmistakes/minimal-mistakes/pull/283)
- Fix URL typo documentation [#287](https://github.com/mmistakes/minimal-mistakes/issues/287)
- SEO author bug. If `twitter.username` is set and `author.twitter` is `nil` bad things happen. [#289](https://github.com/mmistakes/minimal-mistakes/issues/289)
## [3.1.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.2)
### Enhancement
- Explain how to use `nav_list` helper in [documentation](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list).
- Reduce left/right padding on smaller screens to increase width of main content column.
### Bug Fixes
- Fix alignment issues with related posts [#273](https://github.com/mmistakes/minimal-mistakes/issues/273) and "Follow" button in author profile [#274](https://github.com/mmistakes/minimal-mistakes/issues/274).
## [3.1.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.1)
### Bug Fix
- Fixed reading time bug when `words_per_minute` wasn't set in `_config.yml` [#271](https://github.com/mmistakes/minimal-mistakes/issues/271)
## [3.1.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.1.0)
### Enhancements
- Updated [Font Awesome](https://fortawesome.github.io/Font-Awesome/whats-new/) to version 4.6.1
- Added optional GitHub and Bitbucket links to footer if set on `site.author` in `_config.yml`.
### Bug Fixes
- Fixed Bitbucket URL typo in author sidebar.
## [3.0.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/3.0.3)
### Enhancements
- Rebuilt the entire theme: layouts, includes, stylesheets, scripts, you name it.
- Refreshed the look and feel while staying true to the original design of the theme (author sidebar/main content).
- Replaced grid system with [Susy](http://susy.oddbird.net/).
- Replaced Grunt tasks with `npm` scripts.
- Removed Google Fonts and replaced with system fonts to improve performance (they can be [added back](https://mmistakes.github.io/minimal-mistakes/docs/stylesheets/) if desired)
- Greatly improved [theme documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
- Increased the amount of sample posts, sample pages, and sample collections to throughly test the theme and edge-cases.
- Moved all sample content and assets out of `master` to keep it as clean as possible for forking.
- Added new layouts for `splash` pages, archives for [`jekyll-archives`](https://github.com/jekyll/jekyll-archives) if enabled, and [`compress.html`](https://github.com/penibelst/jekyll-compress-html) to improve performance.
- Added taxonomy links to posts (tags and categories).
- Added optional "reading time" meta data.
- Improved Liquid used for Twitter Cards and Open Graph data in `<head>`.
- Improved `gallery` include helper and added `feature_row` for use with splash page layout.
- Added Keybase.io, author web URI, and Bitbucket optional links to sidebar.
- Add `feed.xml` link to footer.
- Added a [UI text data file](https://mmistakes.github.io/minimal-mistakes/docs/ui-text/) to easily change all text found in the theme.
- Added LinkedIn to optional social share buttons.
- Added Facebook, Google+, and custom commenting options in addition to Disqus.
- Added optional breadcrumb links.
## [2.2.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/2.2.1)
## [2.2.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/2.2.0)
### Enhancements
- Add support for Jekyll 3.0
- Minor updates to syntax highlighting CSS and theme documentation
## [2.1.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/2.1.3)
### Enhancements
- Cleaner print styles that remove the top navigation, social sharing buttons, and other elements not needed when printed.
## [2.1.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/2.1.2)
### Enhancements
- Add optional CodePen icon/url to author side bar [#156](https://github.com/mmistakes/minimal-mistakes/pull/156)
- Documented Stackoverflow username explanation in `_config.yml` [#157](https://github.com/mmistakes/minimal-mistakes/pull/157)
- Simplified Liquid in `post-index.html` to better handle year listings [#166](https://github.com/mmistakes/minimal-mistakes/pull/166)
### Bug Fixes
- Cleanup Facebook related Open Graph meta tags [#149](https://github.com/mmistakes/minimal-mistakes/issues/149)
- Corrected minor typos [#158](https://github.com/mmistakes/minimal-mistakes/pull/158) [#175](https://github.com/mmistakes/minimal-mistakes/issues/175)
## [2.1.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/2.1.1)
### Enhancements
- Add optional XING profile link to author sidebar
- Include open graph meta tags for feature image (if assigned) [#149](https://github.com/mmistakes/minimal-mistakes/issues/149)
- Create an include for feed footer
### Bug Fixes
- Remove http protocol from Google search form on sample 404 page
- Only show related posts if there are one or more available
- Fix alignment of email address link in author sidebar
## [2.1.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/2.1.0)
### Enhancements
- Add optional social sharing buttons ([#42](https://github.com/mmistakes/minimal-mistakes/issues/42))
![social sharing buttons](https://cloud.githubusercontent.com/assets/1376749/5860522/d9f28a96-a22f-11e4-9b83-940a3a9a766a.png)
- Add Soundcloud, YouTube ([#95](https://github.com/mmistakes/minimal-mistakes/pull/95)), Flickr ([#119](https://github.com/mmistakes/minimal-mistakes/pull/119)), and Weibo ([#116](https://github.com/mmistakes/minimal-mistakes/pull/116)) icons for use in author sidebar.
- Fix typos in posts and documentation and remove references to Less
- Include note about Octopress gem being optional
- Post author override support extended to the Atom feed ([#71](https://github.com/mmistakes/minimal-mistakes/pull/71))
- Only include email address in feed if specified in `_config.yml` or author `_data`
- Wrap all page content in `#main` to harmonize article and post index styles ([#86](https://github.com/mmistakes/minimal-mistakes/issues/86))
- Include new sample feature images for posts and pages
- Table of contents improvements: fix collapse toggle, indent nested elements, show on small screens, and create an `_include` for reusing in posts and pages.
- Include note about running Jekyll with `bundle exec` when using Bundler
- Fix home page path in top navigation
- Remove Google Authorship ([#120](https://github.com/mmistakes/minimal-mistakes/issues/120))
- Remove duplicate author content that displayed in `div.article-author-bottom`
- Removed unused `_sass/print.scss` styles
- Improve comments in `.scss` files
## [2.0.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/v2.0)
## [1.3.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.3.3)
### Enhancements
- Added new icons and profile links for Stackoverflow, Dribbble, Pinterest, Foursquare, and Steam to the author bio sidebar.
- Cleaned up the Kramdown auto table of contents styling to be more readable
- Removed page width specific .less stylesheets and created mixins for easier updating
- Removed Modernizr since it wasn't being used
- Added pages to sitemap.xml
- Added category: to rake new_post task
- Minor typographic changes
### Bug Fixes
- Corrected various broken links in README and Theme Setup.
## [1.3.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.3.1)
### Enhancements
- Cleaned up table of contents styling
- Reworked top navigation to be a better experience on small screens. Nav items now display vertically when the menu button is tapped, revealing links with larger touch targets.
![menu animation](https://camo.githubusercontent.com/3fbd8c1326485f4b1ab32c0005c0fca7660b5d31/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313337363734392f323136343037352f31653366303663322d393465372d313165332d383961612d6436623636376562306564662e676966)
## [1.2.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.2.0)
### Bug Fixes
- Table weren't filling the entire width of the content container. They now scale at 100%. Thanks [@dhruvbhatia](https://github.com/dhruvbhatia)
### Enhancements
- Decreased spacing between Markdown footnotes
- Removed dark background on footer
- Removed UPPERCASE styling on post titles in the index listing
## [1.1.4](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.1.4)
### Bug Fixes
- Fix top navigation bug issue ([#10](https://github.com/mmistakes/minimal-mistakes/issues/10)) for real this time. Remember to clear your floats kids.
## [1.1.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.1.3)
### Bug Fixes
- Fix top navigation links that weren't click able on small viewports (Issue [#10](https://github.com/mmistakes/minimal-mistakes/issues/10)).
- Remove line wrap from top navigation links that may span multiple lines.
## [1.1.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.1.2)
### Enhancements
- Added Grunt build script for compiling Less/JavaScript and optimizing image assets.
- Added support for large image summary Twitter card.
- Stylesheet adjustments
## [1.1.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/1.1.1)
### Bug Fixes
- Removed [Typeplate](http://typeplate.com/) styles. Was [causing issues with newer versions of Less](https://github.com/typeplate/typeplate.github.io/issues/108) and is no longer maintained.
### Enhancements
- Added [image attribution](http://mmistakes.github.io/minimal-mistakes/theme-setup/#feature-images) for post and page feature images.
- Added [404 page](http://mmistakes.github.io/minimal-mistakes/404.html).
- Cleaned up various Less variables to better align with naming conventions used in other MM Jekyll themes.
- Removed Chrome Frame references.
- Added global CSS3 transitions to text and block elements.
- Improved typography in a few places.
## [1.0.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/v1.0.2)
### Enhancements
- Google Analytics, Google Authorship, webmaster verifies, and Twitter card meta are now optional.
## [1.0.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/v1.0.1)
+4 -5
View File
@@ -1,6 +1,5 @@
source 'https://rubygems.org'
source "https://rubygems.org"
gem 'jekyll'
gem 'jekyll-minibundle'
gem 'coderay'
gem 'rake'
gem "github-pages"
# gem "jekyll-archives"
gem "wdm", "~> 0.1.0" if Gem.win_platform?
+131
View File
@@ -0,0 +1,131 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.6)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
colorator (0.1)
ethon (0.9.0)
ffi (>= 1.3.0)
execjs (2.7.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
ffi (1.9.10)
ffi (1.9.10-x64-mingw32)
gemoji (2.1.0)
github-pages (80)
github-pages-health-check (= 1.1.0)
jekyll (= 3.1.6)
jekyll-coffeescript (= 1.0.1)
jekyll-feed (= 0.5.1)
jekyll-gist (= 1.4.0)
jekyll-github-metadata (= 1.11.1)
jekyll-mentions (= 1.1.2)
jekyll-paginate (= 1.1.0)
jekyll-redirect-from (= 0.10.0)
jekyll-sass-converter (= 1.3.0)
jekyll-seo-tag (= 1.4.0)
jekyll-sitemap (= 0.10.0)
jemoji (= 0.6.2)
kramdown (= 1.10.0)
liquid (= 3.0.6)
listen (= 3.0.6)
mercenary (~> 0.3)
rouge (= 1.10.1)
terminal-table (~> 1.4)
github-pages-health-check (1.1.0)
addressable (~> 2.3)
net-dns (~> 0.8)
octokit (~> 4.0)
public_suffix (~> 1.4)
typhoeus (~> 0.7)
html-pipeline (2.4.1)
activesupport (>= 2, < 5)
nokogiri (>= 1.4)
i18n (0.7.0)
jekyll (3.1.6)
colorator (~> 0.1)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
kramdown (~> 1.3)
liquid (~> 3.0)
mercenary (~> 0.3.3)
rouge (~> 1.7)
safe_yaml (~> 1.0)
jekyll-coffeescript (1.0.1)
coffee-script (~> 2.2)
jekyll-feed (0.5.1)
jekyll-gist (1.4.0)
octokit (~> 4.2)
jekyll-github-metadata (1.11.1)
octokit (~> 4.0)
jekyll-mentions (1.1.2)
html-pipeline (~> 2.3)
jekyll (~> 3.0)
jekyll-paginate (1.1.0)
jekyll-redirect-from (0.10.0)
jekyll (>= 2.0)
jekyll-sass-converter (1.3.0)
sass (~> 3.2)
jekyll-seo-tag (1.4.0)
jekyll (~> 3.0)
jekyll-sitemap (0.10.0)
jekyll-watch (1.4.0)
listen (~> 3.0, < 3.1)
jemoji (0.6.2)
gemoji (~> 2.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0)
json (1.8.3)
kramdown (1.10.0)
liquid (3.0.6)
listen (3.0.6)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9.7)
mercenary (0.3.6)
mini_portile2 (2.0.0)
minitest (5.9.0)
multipart-post (2.0.0)
net-dns (0.8.0)
nokogiri (1.6.7.2)
mini_portile2 (~> 2.0.0.rc2)
nokogiri (1.6.7.2-x64-mingw32)
mini_portile2 (~> 2.0.0.rc2)
octokit (4.3.0)
sawyer (~> 0.7.0, >= 0.5.3)
public_suffix (1.5.3)
rb-fsevent (0.9.7)
rb-inotify (0.9.7)
ffi (>= 0.5.0)
rouge (1.10.1)
safe_yaml (1.0.4)
sass (3.4.22)
sawyer (0.7.0)
addressable (>= 2.3.5, < 2.5)
faraday (~> 0.8, < 0.10)
terminal-table (1.5.2)
thread_safe (0.3.5)
typhoeus (0.8.0)
ethon (>= 0.8.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
wdm (0.1.1)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
github-pages
wdm (~> 0.1.0)
BUNDLED WITH
1.12.5
-110
View File
@@ -1,110 +0,0 @@
'use strict';
module.exports = function(grunt) {
grunt.initConfig({
jshint: {
options: {
jshintrc: '.jshintrc'
},
all: [
'Gruntfile.js',
'assets/js/*.js',
'!assets/js/plugins/*.js',
'!assets/js/scripts.min.js'
]
},
recess: {
dist: {
options: {
compile: true,
compress: true
},
files: {
'assets/css/main.min.css': [
'assets/less/main.less'
],
'assets/css/ie.min.css': [
'assets/less/ie.less'
]
}
}
},
uglify: {
dist: {
files: {
'assets/js/scripts.min.js': [
'assets/js/plugins/*.js',
'assets/js/_*.js'
]
}
}
},
imagemin: {
dist: {
options: {
optimizationLevel: 7,
progressive: true
},
files: [{
expand: true,
cwd: 'images/',
src: '{,*/}*.{png,jpg,jpeg}',
dest: 'images/'
}]
}
},
svgmin: {
dist: {
files: [{
expand: true,
cwd: 'images/',
src: '{,*/}*.svg',
dest: 'images/'
}]
}
},
watch: {
less: {
files: [
'assets/less/*.less',
'assets/less/bootstrap/*.less'
],
tasks: ['recess']
},
js: {
files: [
'<%= jshint.all %>'
],
tasks: ['jshint','uglify']
}
},
clean: {
dist: [
'assets/css/main.min.css',
'assets/js/scripts.min.js'
]
}
});
// Load tasks
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-svgmin');
// Register tasks
grunt.registerTask('default', [
'clean',
'recess',
'uglify',
'imagemin',
'svgmin'
]);
grunt.registerTask('dev', [
'watch'
]);
};
+17 -277
View File
@@ -1,281 +1,21 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
The MIT License (MIT)
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110, USA
Copyright (c) 2016 Michael Rose
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+69 -74
View File
@@ -1,97 +1,92 @@
# Minimal Mistakes
# Minimal Mistakes Jekyll Theme
**[Minimal Mistakes](http://mmistakes.github.io/minimal-mistakes)** is a two column responsive Jekyll theme perfect for powering your GitHub hosted blog.
Minimal Mistakes is a flexible two-column Jekyll theme. Perfect for hosting your personal site, blog, or portfolio on GitHub or self-hosting on your own server. As the name implies --- styling is purposely minimalistic to be enhanced and customized by you :smile:.
## Minimal Mistakes is all about:
[![Minimal Mistakes live preview][2]][1]
* Responsive templates. Looking good on mobile, tablet, and desktop.
* Gracefully degrading in older browsers. Compatible with Internet Explorer 8+ and all modern browsers.
* Minimal embellishments. Content first; other widget nonsense never.
* Large feature images for posts and pages.
* Simple and clear permalink structure.
* [Custom 404 page](http://mmistakes.github.io/minimal-mistakes/404.html) to get you started.
* Stylesheets for Pygments and Coderay [syntax highlighting](http://mmistakes.github.io/minimal-mistakes/articles/code-highlighting-post/) to make your code examples look snazzy.
[1]: https://mmistakes.github.io/minimal-mistakes/
[2]: https://cloud.githubusercontent.com/assets/1376749/14562643/d83b96c0-02eb-11e6-98d6-473fbfd3bff6.jpg (live preview)
![screenshot of Minimal Mistakes theme](http://mmistakes.github.io/minimal-mistakes/images/mm-theme-post-600.jpg)
The theme includes responsive layouts (`single`, `archive`, and `splash` pages) that look great on mobile and desktop browsers.
General notes and suggestions for customizing Minimal Mistakes.
![layout examples](https://cloud.githubusercontent.com/assets/1376749/14541626/dac474f4-0258-11e6-83f6-40e752028222.png)
## Basic Setup
## [Installation and Setup](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/) / [Preview the Theme](https://mmistakes.github.io/minimal-mistakes/)
1. [Install Jekyll](http://jekyllrb.com) if you haven't already.
2. Fork the [Minimal Mistakes repo](http://github.com/mmistakes/minimal-mistakes/)
3. Clone the repo you just forked to your computer.
4. Edit `_config.yml` to personalize your site.
5. Check out the sample posts in `_posts` to see examples for pulling in large feature images, tags, and other YAML data.
6. Read the documentation below for further customization pointers and documentation.
### Notable Features
[Demo the Theme](http://mmistakes.github.io/minimal-mistakes)
- Compatible with Jekyll 3.x and GitHub Pages
- Several layout options (single, archive, splash pages)
- SEO optimized with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data
- Optional header images, sidebars, table of contents, galleries, related posts, breadcrumb links, and more.
- Optional comments ([Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, and custom)
- Optional analytics ([Google Analytics](https://www.google.com/analytics/) and custom)
**Pro-tip:** Delete the `gh-pages` branch after cloning and start fresh by branching off `master`. There is a bunch of garbage in `gh-pages` used for the theme's demo site that I'm guessing you don't want on your site.
#### Demo Pages
| Name | Description |
| ------------------------------------------- | ----------------------------------------------------- |
| [Post with Header Image][header-image-post] | A post with a large header image. |
| [HTML Tags and Formatting Post][html-tags-post] | A variety of common markup showing how the theme styles them. |
| [Syntax Highlighting Post][syntax-post] | Post displaying highlighted code. |
| [Post with a Gallery][gallery-post] | A post showing several images wrapped in `<figure>` elements. |
| [Sample Collection Page][sample-collection] | Single page from a collection. |
| [Categories Archive][categories-archive] | Posts grouped by category. |
| [Tags Archive][tags-archive] | Posts grouped by tags. |
For even more demo pages check the [posts archive][year-archive].
[header-image-post]: https://mmistakes.github.io/minimal-mistakes/layout-header-image-text-readability/
[gallery-post]: https://mmistakes.github.io/minimal-mistakes/post%20formats/post-gallery/
[html-tags-post]: https://mmistakes.github.io/minimal-mistakes/markup/markup-html-tags-and-formatting/
[syntax-post]: https://mmistakes.github.io/minimal-mistakes/markup-syntax-highlighting/
[sample-collection]: https://mmistakes.github.io/minimal-mistakes/recipes/chocolate-chip-cookies/
[categories-archive]: https://mmistakes.github.io/minimal-mistakes/categories/
[tags-archive]: https://mmistakes.github.io/minimal-mistakes/tags/
[year-archive]: https://mmistakes.github.io/minimal-mistakes/year-archive/
---
## Setup for an Existing Jekyll site
### Credits
1. Clone the following folders: `_includes`, `_layouts`, `assets`, and `images`.
2. Clone the following files and personalize content as need: `about.md`, `articles.html`, `index.md`, `feed.xml`, `sitemap.xml`
3. Set the following variables in your `config.yml` file:
#### Icons + Demo Images:
``` yaml
title: Site Title
description: Describe your website here.
disqus_shortname: shortname
url: http://your-website.com
- [The Noun Project](https://thenounproject.com) -- Garrett Knoll, Arthur Shlain, and [tracy tam](https://thenounproject.com/tracytam)
- [Font Awesome](http://fortawesome.github.io/Font-Awesome/)
- [Unsplash](https://unsplash.com/)
# Owner/author information
owner:
name: Your Name
avatar: avatar.jpg
bio: "Your bio goes here. It shouldn't be super long but a good two sentences or two should suffice."
email: you@email.com
# Social networking links used in footer. Update and remove as you like.
twitter:
facebook:
github:
stackexchange:
linkedin:
instagram:
flickr:
tumblr:
# For Google Authorship https://plus.google.com/authorship
google_plus:
#### Other:
# Analytics and webmaster tools stuff goes here
google_analytics:
google_verify:
# https://ssl.bing.com/webmaster/configure/verify/ownership Option 2 content= goes here
bing_verify:
# Links to include in top navigation
# For external links add external: true
links:
- title: Theme Setup
url: /theme-setup
- title: External Link
url: http://mademistakes.com
external: true
# http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
timezone: America/New_York
future: true
pygments: true
markdown: kramdown
```
- [Jekyll](http://jekyllrb.com/)
- [jQuery](http://jquery.com/)
- [Susy](http://susy.oddbird.net/)
- [Breakpoint](http://breakpoint-sass.com/)
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
- [FitVids.JS](http://fitvidsjs.com/)
- Greedy Navigation - [lukejacksonn](http://codepen.io/lukejacksonn/pen/PwmwWV)
- [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll)
- [Stickyfill](https://github.com/wilddeer/stickyfill)
---
## Questions?
The MIT License (MIT)
Having a problem getting something to work or want to know why I setup something in a certain way? Ping me on Twitter [@mmistakes](http://twitter.com/mmistakes) or [file a GitHub Issue](https://github.com/mmistakes/minima-mistakes/issues/new). And if you make something cool with this theme feel free to let me know.
Copyright (c) 2016 Michael Rose
---
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
## License
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
This theme is free and open source software, distributed under the [GNU General Public License](http://mmistakes.github.io/minimal-mistakes/LICENSE) version 2 or later. So feel free to use this Jekyll theme on your site without linking back to me or including a disclaimer.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+195 -54
View File
@@ -1,67 +1,208 @@
title: Site Title
tagline: A short tagline
description: Describe your website.
# Your site's domain goes here. Leave localhost server or blank when working locally.
url: http://localhost:4000
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your entire site, values
# which you are expected to set up once and rarely need to edit after that.
# For technical reasons, this file is *NOT* reloaded automatically when you use
# `jekyll serve`. If you change this file, please restart the server process.
# Owner/author information
owner:
name: Your Name
avatar: bio-photo.jpg
bio: "Describe your self."
email: your@email.com
# Social networking links are used in author-bio sidebar. Update and remove as you like.
twitter:
facebook:
github:
linkedin:
instagram:
lastfm:
tumblr:
# For Google Authorship https://plus.google.com/authorship
google_plus:
# Site Settings
locale : "en-US"
title : "Site Title"
title_separator : "-"
name : "Your Name"
description : "An amazing website."
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl : # the subpath of your site, e.g. "/blog"
gh_repo :
teaser : # filename of teaser fallback teaser image placed in /images/, .e.g. "500x300.png"
# breadcrumbs : false # true, false (default)
words_per_minute : 200
comments:
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", custom"
disqus:
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
discourse:
server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org
facebook:
# https://developers.facebook.com/docs/plugins/comments
appid :
num_posts : # 5 (default)
colorscheme : # "light" (default), "dark"
# Analytics and webmaster tools stuff goes here
google_analytics:
google_verify:
# https://ssl.bing.com/webmaster/configure/verify/ownership Option 2 content= goes here
bing_verify:
# SEO Related
google_site_verification :
bing_site_verification :
alexa_site_verification :
yandex_site_verification :
# Links to include in top navigation
# For external links add external: true
links:
- title: About
url: /about/
- title: Articles
url: /articles/
- title: Theme Setup
url: /theme-setup/
- title: Made Mistakes
url: http://mademistakes.com
external: true
# Social Sharing
twitter:
username :
facebook:
username :
app_id :
publisher :
og_image : # Open Graph/Twitter default site image
# For specifying social profiles
# - https://developers.google.com/structured-data/customize/social-profiles
social:
type : # Person or Organization (defaults to Person)
name : # If the user or organization name differs from the site's name
links: # An array of links to social media profiles
# http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
timezone: America/New_York
future: true
pygments: true
markdown: kramdown
# Analytics
analytics:
provider : false # false (default), "google", "google-universal", "custom"
google:
tracking_id :
# https://github.com/mojombo/jekyll/wiki/Permalinks
permalink: /:categories/:title
# Google AdSense
google_ad_client :
google_ad_slot :
# Site Author
author:
name : "Your Name"
avatar : "bio-photo.jpg"
bio : "I am an amazing person."
location : "Somewhere"
email :
uri :
bitbucket :
codepen :
dribbble :
flickr :
facebook :
foursquare :
github :
google_plus :
keybase :
instagram :
lastfm :
linkedin :
pinterest :
soundcloud :
stackoverflow : # http://stackoverflow.com/users/123456/username
steam :
tumblr :
twitter :
vine :
weibo :
xing :
youtube :
# Reading Files
include:
- .htaccess
- _pages
exclude:
- "*.sublime-project"
- "*.sublime-workspace"
- .asset-cache
- .bundle
- .jekyll-assets-cache
- .sass-cache
- assets/js/plugins
- assets/js/_main.js
- assets/js/vendor
- Capfile
- CHANGELOG
- config
- Gemfile
- Gruntfile.js
- gulpfile.js
- LICENSE
- log
- node_modules
- package.json
- Rakefile
- README
- tmp
keep_files:
- .git
- .svn
encoding: "utf-8"
markdown_ext: "markdown,mkdown,mkdn,mkd,md"
# Conversion
markdown: kramdown
highlighter: rouge
lsi: false
excerpt_separator: "\n\n"
incremental: false
# Markdown Processing
kramdown:
input: GFM
hard_wrap: false
auto_ids: true
footnote_nr: 1
entity_output: as_char
toc_levels: 1..6
use_coderay: false
smart_quotes: lsquo,rsquo,ldquo,rdquo
enable_coderay: false
coderay:
coderay_line_numbers:
coderay_line_numbers_start: 1
coderay_tab_width: 4
coderay_bold_every: 10
coderay_css: class
include: [".htaccess"]
exclude: ["lib", "config.rb", "Capfile", "config", "log", "Rakefile", "Rakefile.rb", "tmp", "less", "*.sublime-project", "*.sublime-workspace", "test", "spec", "Gruntfile.js", "package.json", "node_modules"]
# Outputting
permalink: /:categories/:title/
paginate: 5 # amount of posts to show
paginate_path: /page:num/
timezone: # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Plugins
gems:
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
# mimic GitHub Pages with --safe
whitelist:
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
# Archives
# Type
# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default)
# - Jekyll Archives plugin archive pages ~> type: jekyll-archives
# Path (examples)
# - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path/my-awesome-category/index.html ~> path: /
category_archive:
type: liquid
path: /categories/
tag_archive:
type: liquid
path: /tags/
# https://github.com/jekyll/jekyll-archives
# jekyll-archives:
# enabled:
# - categories
# - tags
# layouts:
# category: archive-taxonomy
# tag: archive-taxonomy
# permalinks:
# category: /categories/:name/
# tag: /tags/:name/
# HTML Compression
# - http://jch.penibelst.de/
compress_html:
clippings: all
ignore:
envs: development
+16
View File
@@ -0,0 +1,16 @@
# main links links
main:
- title: "Quick-Start Guide"
url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
- title: "About"
url: https://mmistakes.github.io/minimal-mistakes/
- title: "Sample Posts"
url: https://mmistakes.github.io/minimal-mistakes/year-archive/
- title: "Sample Pages"
url: https://mmistakes.github.io/minimal-mistakes/page-archive/
- title: "Sample Collections"
url: https://mmistakes.github.io/minimal-mistakes/collection-archive/
+36
View File
@@ -0,0 +1,36 @@
# User interface text and labels
# English (default)
# -----------------
en: &DEFAULT_EN
page : "Page"
pagination_previous : "Previous"
pagination_next : "Next"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
toc_label : "On This Page"
ext_link_label : "Direct Link"
less_than : "less than"
minute_read : "minute read"
minutes_read : "minutes read"
share_on_label : "Share on"
meta_label :
tags_label : "Tags:"
categories_label : "Categories:"
date_label : "Updated:"
comments_label : "Leave a Comment"
more_label : "Learn More"
related_label : "You May Also Enjoy"
follow_label : "Follow:"
feed_label : "Feed"
powered_by : "Powered by"
website_label : "Website"
email_label : "Email"
recent_posts : "Recent Posts"
en-US:
<<: *DEFAULT_EN
en-UK:
<<: *DEFAULT_EN
# Another locale
# --------------
-11
View File
@@ -1,11 +0,0 @@
<img src="{{ site.url }}/images/{{ site.owner.avatar }}" class="bio-photo" alt="{{ site.owner.name }} bio photo"></a>
<h3>{{ site.owner.name }}</h3>
<p>{{ site.owner.bio }}</p>
{% if site.owner.twitter %}<a href="http://twitter.com/{{ site.owner.twitter }}" class="author-social" target="_blank"><i class="icon-twitter"></i> Twitter</a>{% endif %}
{% if site.owner.facebook %}<a href="http://facebook.com/{{ site.owner.facebook }}" class="author-social" target="_blank"><i class="icon-facebook"></i> Facebook</a>{% endif %}
{% if site.owner.google_plus %}<a href="{{ site.owner.google_plus }}" class="author-social" target="_blank"><i class="icon-google-plus"></i> Google+</a>{% endif %}
{% if site.owner.linkedin %}<a href="http://linkedin.com/in/{{ site.owner.linkedin }}" class="author-social" target="_blank"><i class="icon-linkedin"></i> LinkedIn</a>{% endif %}
{% if site.owner.instagram %}<a href="http://instagram.com/{{ site.owner.instagram }}" class="author-social" target="_blank"><i class="icon-instagram"></i> Instagram</a>{% endif %}
{% if site.owner.github %}<a href="http://github.com/{{ site.owner.github }}" class="author-social" target="_blank"><i class="icon-github"></i> Github</a>{% endif %}
{% if site.owner.lastfm %}<a href="http://lastfm.com/{{ site.owner.lastfm }}" class="author-social" target="_blank"><i class="icon-lastfm"></i> Last.fm</a>{% endif %}
{% if site.owner.tumblr %}<a href="http://{{ site.owner.tumblr }}.tumblr.com" class="author-social" target="_blank"><i class="icon-tumblr"></i> Tumblr</a>{% endif %}
-1
View File
@@ -1 +0,0 @@
<!--[if lt IE 9]><div class="browser-upgrade alert alert-info">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div><![endif]-->
-1
View File
@@ -1 +0,0 @@
<span>&copy; {{ site.time | date: '%Y' }} {{ site.owner.name }}. Powered by <a href="http://jekyllrb.com">Jekyll</a> using the <a href="http://mademistakes.com/">Minimal Mistakes</a> theme.</span>
-62
View File
@@ -1,62 +0,0 @@
<meta charset="utf-8">
<title>{% if page.title %}{{ page.title }} &#8211; {% endif %}{{ site.title }}</title>
<meta name="description" content="{{ page.description }}">
<meta name="keywords" content="{{ page.tags | join: ', ' }}">
{% if site.owner.twitter %}<!-- Twitter Cards -->
{% if page.image.feature %}<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{{ site.url }}/images/{{ page.image.feature }}">
{% else %}<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="{% if page.image.thumb %}{{ site.url }}/images/{{ page.image.thumb }}{% else %}{{ site.url }}/images/{{ site.logo }}{% endif %}">{% endif %}
<meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
<meta name="twitter:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
<meta name="twitter:creator" content="@{{ site.owner.twitter }}">{% endif %}
<!-- Open Graph -->
<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
<meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
<meta property="og:site_name" content="{{ site.title }}">
{% if site.google_verify %}<!-- Webmaster Tools verfication -->
<meta name="google-site-verification" content="{{ site.google_verify }}">{% endif %}
{% if site.bing_verify %}<meta name="msvalidate.01" content="{{ site.bing_verify }}">{% endif %}
{% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
<link rel="canonical" href="{{ canonical }}">
<link href="{{ site.url }}/feed.xml" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
{% if site.owner.google_plus %}<link rel="author" href="{{ site.owner.google_plus }}?rel=author">{% endif %}
<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Google Webfonts -->
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700|PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
<!-- For all browsers -->
<link rel="stylesheet" href="{{ site.url }}/assets/css/main.min.css">
<!--[if (lt IE 9) & (!IEMobile)]>
<link rel="stylesheet" href="{{ site.url }}/assets/css/ie.min.css">
<![endif]-->
<meta http-equiv="cleartype" content="on">
<!-- Load Modernizr -->
<script src="{{ site.url }}/assets/js/vendor/modernizr-2.6.2.custom.min.js"></script>
<!-- Icons -->
<!-- 16x16 -->
<link rel="shortcut icon" href="{{ site.url }}/favicon.ico">
<!-- 32x32 -->
<link rel="shortcut icon" href="{{ site.url }}/favicon.png">
<!-- 57x57 (precomposed) for iPhone 3GS, pre-2011 iPod Touch and older Android devices -->
<link rel="apple-touch-icon-precomposed" href="{{ site.url }}/images/apple-touch-icon-precomposed.png">
<!-- 72x72 (precomposed) for 1st generation iPad, iPad 2 and iPad mini -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ site.url }}/images/apple-touch-icon-72x72-precomposed.png">
<!-- 114x114 (precomposed) for iPhone 4, 4S, 5 and post-2011 iPod Touch -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="{{ site.url }}/images/apple-touch-icon-114x114-precomposed.png">
<!-- 144x144 (precomposed) for iPad 3rd and 4th generation -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ site.url }}/images/apple-touch-icon-144x144-precomposed.png">
-15
View File
@@ -1,15 +0,0 @@
<div class="navigation-wrapper">
<div class="site-name">
<a href="{{ site.url }}">{{ site.title }}</a>
</div><!-- /.site-name -->
<div class="top-navigation">
<nav role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
<ul>
{% for link in site.links %}
<li><a href="{% if link.external %}{{ link.url }}{% else %}{{ site.url }}{{ link.url }}{% endif %}" {% if link.external %}target="_blank"{% endif %}>{{ link.title }}</a></li>
{% endfor %}
<li><i class="icon-feed"></i> <a href="{{ site.url }}/feed.xml" title="Atom/RSS feed">Feed</a>
</ul>
</nav>
</div><!-- /.top-navigation -->
</div><!-- /.navigation-wrapper -->
-20
View File
@@ -1,20 +0,0 @@
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{ site.url }}/assets/js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
<script src="{{ site.url }}/assets/js/scripts.min.js"></script>
{% if site.google_analytics %}
<!-- Asynchronous Google Analytics snippet -->
<script>
var _gaq = _gaq || [];
var pluginUrl =
'//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]);
_gaq.push(['_setAccount', '{{ site.google_analytics }}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
{% endif %}
@@ -0,0 +1,3 @@
<!-- start custom analytics snippet -->
<!-- end custom analytics snippet -->
@@ -0,0 +1,9 @@
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.analytics.google.tracking_id }}', 'auto');
ga('send', 'pageview');
</script>
+11
View File
@@ -0,0 +1,11 @@
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
+12
View File
@@ -0,0 +1,12 @@
{% if site.analytics.provider and page.analytics != false %}
{% case site.analytics.provider %}
{% when "google" %}
{% include /analytics-providers/google.html %}
{% when "google-universal" %}
{% include /analytics-providers/google-universal.html %}
{% when "custom" %}
{% include /analytics-providers/custom.html %}
{% endcase %}
{% endif %}
+34
View File
@@ -0,0 +1,34 @@
{% include base_path %}
{% if post.header.teaser %}
{% capture teaser %}{{ post.header.teaser }}{% endcapture %}
{% else %}
{% capture teaser %}{{ site.teaser }}{% endcapture %}
{% endif %}
<div class="{{ include.type | default: "list" }}__item">
{% if post.link %}
<a href="{{ post.link }}" target="_blank">
{% else %}
<a href="{{ base_path }}{{ post.url }}">
{% endif %}
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
{% if include.type == "grid" and teaser != blank %}
<div class="archive__item-teaser">
<img src=
{% if teaser contains "://" %}
"{{ teaser }}"
{% else %}
"{{ teaser | prepend: "/images/" | prepend: base_path }}"
{% endif %}
alt="">
</div>
{% endif %}
<h2 class="archive__item-title" itemprop="headline">{% if post.id %}{{ post.title | markdownify | remove: "<p>" | remove: "</p>" }}{% else %}{{ post.title }}{% endif %}{% if post.link %}<i class="fa fa-star" aria-hidden="true"></i>{% endif %}</h2>
{% if post.read_time %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
</article>
</a>
</div>
+102
View File
@@ -0,0 +1,102 @@
{% include base_path %}
{% if page.author %}
{% assign author = site.data.authors[page.author] %}{% else %}{% assign author = site.author %}
{% endif %}
<div itemscope itemtype="http://schema.org/Person">
<div class="author__avatar">
{% if author.avatar contains "://" %}
<img src="{{ author.avatar }}" alt="{{ author.name }}">
{% else %}
<img src="{{ author.avatar | prepend: "/images/" | prepend: base_path }}" class="author__avatar" alt="{{ author.name }}">
{% endif %}
</div>
<div class="author__content">
<h3 class="author__name">{{ author.name }}</h3>
{% if author.bio %}<p class="author__bio">{{ author.bio }}</p>{% endif %}
</div>
<div class="author__urls-wrapper">
<button class="btn btn--inverse">Follow</button>
<ul class="author__urls social-icons">
{% if author.location %}
<li><i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> {{ author.location }}</li>
{% endif %}
{% if author.uri %}
<li><a href="{{ author.uri }}"><i class="fa fa-fw fa-chain" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label }}</a></li>
{% endif %}
{% if author.email %}
<li><a href="mailto:{{ author.email }}"><i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label }}</a></li>
{% endif %}
{% if author.keybase %}
<li><a href="https://keybase.io/{{ author.keybase }}"><i class="fa fa-fw fa-key" aria-hidden="true"></i> Keybase</a></li>
{% endif %}
{% if author.twitter %}
<li><a href="https://twitter.com/{{ author.twitter }}"><i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
{% endif %}
{% if author.facebook %}
<li><a href="https://www.facebook.com/{{ author.facebook }}"><i class="fa fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook</a></li>
{% endif %}
{% if author.google_plus %}
<li><a href="https://plus.google.com/+{{ author.google_plus }}"><i class="fa fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+</a></li>
{% endif %}
{% if author.linkedin %}
<li><a href="https://www.linkedin.com/in/{{ author.linkedin }}"><i class="fa fa-fw fa-linkedin-square" aria-hidden="true"></i> LinkedIn</a></li>
{% endif %}
{% if author.xing %}
<li><a href="https://www.xing.com/profile/{{ author.xing }}"><i class="fa fa-fw fa-xing-square" aria-hidden="true"></i> XING</a></li>
{% endif %}
{% if author.instagram %}
<li><a href="https://instagram.com/{{ author.instagram }}"><i class="fa fa-fw fa-instagram" aria-hidden="true"></i> Instagram</a></li>
{% endif %}
{% if author.tumblr %}
<li><a href="https://{{ author.tumblr }}.tumblr.com"><i class="fa fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr</a></li>
{% endif %}
{% if author.bitbucket %}
<li><a href="https://bitbucket.org/{{ author.bitbucket }}"><i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li>
{% endif %}
{% if author.github %}
<li><a href="https://github.com/{{ author.github }}"><i class="fa fa-fw fa-github" aria-hidden="true"></i> Github</a></li>
{% endif %}
{% if author.stackoverflow %}
<li><a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}"><i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stackoverflow</a></li>
{% endif %}
{% if author.lastfm %}
<li><a href="https://lastfm.com/user/{{ author.lastfm }}"><i class="fa fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm</a></li>
{% endif %}
{% if author.dribbble %}
<li><a href="https://dribbble.com/{{ author.dribbble }}"><i class="fa fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble</a></li>
{% endif %}
{% if author.pinterest %}
<li><a href="https://www.pinterest.com/{{ author.pinterest }}"><i class="fa fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest</a></li>
{% endif %}
{% if author.foursquare %}
<li><a href="https://foursquare.com/{{ author.foursquare }}"><i class="fa fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare</a></li>
{% endif %}
{% if author.steam %}
<li><a href="https://steamcommunity.com/id/{{ author.steam }}"><i class="fa fa-fw fa-steam-square" aria-hidden="true"></i> Steam</a></li>
{% endif %}
{% if author.youtube %}
<li><a href="https://www.youtube.com/user/{{ author.youtube }}"><i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube</a></li>
{% endif %}
{% if author.soundcloud %}
<li><a href="https://soundcloud.com/{{ author.soundcloud }}"><i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i> Soundcloud</a></li>
{% endif %}
{% if author.weibo %}
<li><a href="https://www.weibo.com/{{ author.weibo }}"><i class="fa fa-fw fa-weibo" aria-hidden="true"></i> Weibo</a></li>
{% endif %}
{% if author.flickr %}
<li><a href="https://www.flickr.com/{{ author.flickr }}"><i class="fa fa-fw fa-flickr" aria-hidden="true"></i> Flickr</a></li>
{% endif %}
{% if author.codepen %}
<li><a href="https://codepen.io/{{ author.codepen }}"><i class="fa fa-fw fa-codepen" aria-hidden="true"></i> CodePen</a></li>
{% endif %}
{% if author.vine %}
<li><a href="https://vine.co/u/{{ author.vine }}"><i class="fa fa-fw fa-vine" aria-hidden="true"></i> Vine</a></li>
{% endif %}
</ul>
</div>
</div>
+1
View File
@@ -0,0 +1 @@
{% capture base_path %}{{ site.url }}{{ site.baseurl }}{% endcapture %}
+41
View File
@@ -0,0 +1,41 @@
{% include base_path %}
{% case site.categories.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
{% assign path_type = nil %}
{% endcase %}
{% if page.collection != 'posts' %}
{% assign path_type = nil %}
{% assign crumb_path = '/' %}
{% else %}
{% assign crumb_path = site.categories.path %}
{% endif %}
<nav class="breadcrumbs">
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
{% assign crumbs = page.url | split: '/' %}
{% assign i = 1 %}
{% for crumb in crumbs offset: 1 %}
{% if forloop.first %}
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="{{ base_path }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label }}</span></a>
<meta itemprop="position" content="{{ i }}" />
</li>
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator }}</span>
{% endif %}
{% if forloop.last %}
<li class="current">{{ page.title }}</li>
{% else %}
{% assign i = i | plus: 1 %}
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="{{ base_path }}{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a>
<meta itemprop="position" content="{{ i }}" />
</li>
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator }}</span>
{% endif %}
{% endfor %}
</ol>
</nav>
+3
View File
@@ -0,0 +1,3 @@
<!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
+30
View File
@@ -0,0 +1,30 @@
{% include base_path %}
{% include base_path %}
{% case site.category_archive.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
{% assign path_type = nil %}
{% endcase %}
{% if site.category_archive.path %}
{% comment %}
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign category_hashes = (page_categories | split: ',' | sort:0) %}
<p class="page__taxonomy">
<strong><i class="fa fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label }} </strong>
<span itemprop="keywords">
{% for hash in category_hashes %}
{% assign keyValue = hash | split: '#' %}
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ base_path }}{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %}
</span>
</p>
{% endif %}
+3
View File
@@ -0,0 +1,3 @@
<!-- start custom comments snippet -->
<!-- end custom comments snippet -->
@@ -0,0 +1,14 @@
{% if site.comments.discourse.server %}
{% include base_path %}
{% capture canonical %}{{ base_path }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
<script type="text/javascript">
DiscourseEmbed = { discourseUrl: '//{{ site.comments.discourse.server }}/',
discourseEmbedUrl: '{{ canonical }}' };
(function () {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
<noscript>Please enable JavaScript to view the comments powered by [Discourse](http://forum.beta-europe.org/c/beta/website).</a></noscript>
{% endif %}
+22
View File
@@ -0,0 +1,22 @@
{% if site.comments.disqus.shortname %}
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '{{ site.comments.disqus.shortname }}';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endif %}
@@ -0,0 +1,8 @@
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5{% if site.comments.facebook.appid %}&appId={{ site.comments.facebook.appid }}{% endif %}";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
@@ -0,0 +1,2 @@
<script async type="text/javascript" src="//apis.google.com/js/plusone.js?callback=gpcb"></script>
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>
+16
View File
@@ -0,0 +1,16 @@
{% if site.comments.provider and page.comments %}
{% case site.comments.provider %}
{% when "disqus" %}
{% include /comments-providers/disqus.html %}
{% when "discourse" %}
{% include /comments-providers/discourse.html %}
{% when "facebook" %}
{% include /comments-providers/facebook.html %}
{% when "google-plus" %}
{% include /comments-providers/google-plus.html %}
{% when "custom" %}
{% include /comments-providers/custom.html %}
{% endcase %}
{% endif %}
+15
View File
@@ -0,0 +1,15 @@
{% include base_path %}
<div class="page__comments">
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label }}</h4>
{% case site.comments.provider %}
{% when "disqus" %}
<section id="disqus_thread"></section>
{% when "facebook" %}
<section class="fb-comments" data-href="{{ base_path }}{{ page.url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
{% when "google-plus" %}
<section class="g-comments" data-href="{{ base_path }}{{ page.url }}" data-first_party_property="BLOGGER" data-view_type="FILTERED_POSTMOD">Loading Google+ Comments ...</section>
{% when "custom" %}
<section id="comments"></section>
{% endcase %}
</div>
+52
View File
@@ -0,0 +1,52 @@
{% include base_path %}
{% if include.id %}
{% assign feature_row = page.[include.id] %}
{% else %}
{% assign feature_row = page.feature_row %}
{% endif %}
<div class="feature__wrapper">
{% for f in feature_row %}
{% if f.url contains "://" %}
{% capture f_url %}{{ f.url }}{% endcapture %}
{% else %}
{% capture f_url %}{{ f.url | prepend: base_path }}{% endcapture %}
{% endif %}
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
<div class="archive__item">
{% if f.image_path %}
<div class="archive__item-teaser">
<img src=
{% if f.image_path contains "://" %}
"{{ f.image_path }}"
{% else %}
"{{ f.image_path | prepend: "/images/" | prepend: base_path }}"
{% endif %}
alt="{% if f.alt %}{{ f.alt }}{% endif %}">
</div>
{% endif %}
<div class="archive__item-body">
{% if f.title %}
<h2 class="archive__item-title">{{ f.title }}</h2>
{% endif %}
{% if f.excerpt %}
<div class="archive__item-excerpt">
{{ f.excerpt | markdownify }}
</div>
{% endif %}
{% if f.url %}
<p><a href="{{ f_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label }}</a></p>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
+24
View File
@@ -0,0 +1,24 @@
{% include base_path %}
<div class="page__footer-follow">
<ul class="social-icons">
{% if site.data.ui-text[site.locale].follow_label %}
<li><strong>{{ site.data.ui-text[site.locale].follow_label }}</strong></li>
{% endif %}
{% if site.twitter.username %}
<li><a href="https://twitter.com/{{ site.twitter.username }}"><i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
{% endif %}
{% if site.facebook.username %}
<li><a href="https://facebook.com/{{ site.facebook.username }}"><i class="fa fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook</a></li>
{% endif %}
{% if site.author.github %}
<li><a href="http://github.com/{{ site.author.github }}"><i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
{% endif %}
{% if site.author.bitbucket %}
<li><a href="http://bitbucket.org/{{ site.author.bitbucket }}"><i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li>
{% endif %}
<li><a href="{{ base_path }}/feed.xml"><i class="fa fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label }}</a></li>
</ul>
</div>
<div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by }} <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
+3
View File
@@ -0,0 +1,3 @@
<!-- start custom footer snippets -->
<!-- end custom footer snippets -->
+51
View File
@@ -0,0 +1,51 @@
{% include base_path %}
{% if include.id %}
{% assign gallery = page.[include.id] %}
{% else %}
{% assign gallery = page.gallery %}
{% endif %}
{% capture gallery_size %}{{ gallery | size }}{% endcapture %}
{% if gallery_size == '2' %}
{% assign gallery_layout = 'half' %}
{% elsif gallery_size >= '3' %}
{% assign gallery_layout = 'third' %}
{% else %}
{% assign gallery_layout = '' %}
{% endif %}
<figure class="{{ gallery_layout }} {{ include.class }}">
{% for img in gallery %}
{% if img.url %}
<a href=
{% if img.url contains "://" %}
"{{ img.url }}"
{% else %}
"{{ img.url | prepend: "/images/" | prepend: base_path }}"
{% endif %}
{% if img.title %}title="{{ img.title }}"{% endif %}
>
<img src=
{% if img.image_path contains "://" %}
"{{ img.image_path }}"
{% else %}
"{{ img.image_path | prepend: "/images/" | prepend: base_path }}"
{% endif %}
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
</a>
{% else %}
<img src=
{% if img.image_path contains "://" %}
"{{ img.image_path }}"
{% else %}
"{{ img.image_path | prepend: "/images/" | prepend: base_path }}"
{% endif %}
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
{% endif %}
{% endfor %}
{% if include.caption %}
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
{% endif %}
</figure>
+47
View File
@@ -0,0 +1,47 @@
<!--
# Jekyll Group-By-Array 0.1.0
# https://github.com/mushishi78/jekyll-group-by-array
# © 2015 Max White <mushishi78@gmail.com>
# MIT License
-->
<!-- Initialize -->
{% assign __empty_array = '' | split: ',' %}
{% assign group_names = __empty_array %}
{% assign group_items = __empty_array %}
<!-- Map -->
{% assign __names = include.collection | map: include.field %}
<!-- Flatten -->
{% assign __names = __names | join: ',' | join: ',' | split: ',' %}
<!-- Uniq -->
{% assign __names = __names | sort %}
{% for name in __names | sort %}
<!-- If not equal to previous then it must be unique as sorted -->
{% unless name == previous %}
<!-- Push to group_names -->
{% assign group_names = group_names | push: name %}
{% endunless %}
{% assign previous = name %}
{% endfor %}
<!-- group_items -->
{% for name in group_names %}
<!-- Collect if contains -->
{% assign __item = __empty_array %}
{% for __element in include.collection %}
{% if __element[include.field] contains name %}
{% assign __item = __item | push: __element %}
{% endif %}
{% endfor %}
<!-- Push to group_items -->
{% assign group_items = group_items | push: __item %}
{% endfor %}
+21
View File
@@ -0,0 +1,21 @@
{% include base_path %}
<meta charset="utf-8">
{% include seo.html %}
<link href="{{ base_path }}/feed.xml" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<!-- For all browsers -->
<link rel="stylesheet" href="{{ base_path }}/assets/css/main.css">
<meta http-equiv="cleartype" content="on">
+5
View File
@@ -0,0 +1,5 @@
<!-- start custom head snippets -->
<!-- insert favicons. use http://realfavicongenerator.net/ -->
<!-- end custom head snippets -->
+23
View File
@@ -0,0 +1,23 @@
{% include base_path %}
<div class="masthead">
<div class="masthead__inner-wrap">
<div class="masthead__menu">
<nav id="site-nav" class="greedy-nav">
<button><div class="navicon"></div></button>
<ul class="visible-links">
<li class="masthead__menu-item masthead__menu-item--lg"><a href="{{ base_path }}/">{{ site.title }}</a></li>
{% for link in site.data.navigation.main %}
{% if link.url contains 'http' %}
{% assign domain = '' %}
{% else %}
{% assign domain = base_path %}
{% endif %}
<li class="masthead__menu-item"><a href="{{ domain }}{{ link.url }}">{{ link.title }}</a></li>
{% endfor %}
</ul>
<ul class="hidden-links hidden"></ul>
</nav>
</div>
</div>
</div>
+46
View File
@@ -0,0 +1,46 @@
{% include base_path %}
{% assign navigation = site.data.navigation[include.nav] %}
<nav class="nav__list">
{% if page.sidebar.title %}<header><h4 class="nav__title" style="padding: 0;">{{ page.sidebar.title }}</h4></header>{% endif %}
<ul>
{% for nav in navigation %}
<li>
{% if nav.url %}
{% comment %}internal/external URL check{% endcomment %}
{% if nav.url contains "://" %}
{% assign domain = "" %}
{% else %}
{% assign domain = base_path %}
{% endif %}
<a href="{{ domain }}{{ nav.url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
{% else %}
<span class="nav__sub-title">{{ nav.title }}</span>
{% endif %}
{% if nav.children != null %}
<ul>
{% for child in nav.children %}
{% comment %}internal/external URL check{% endcomment %}
{% if child.url contains "://" %}
{% assign domain = "" %}
{% else %}
{% assign domain = base_path %}
{% endif %}
{% comment %}set "active" class on current page{% endcomment %}
{% if child.url == page.url %}
{% assign active = "active" %}
{% else %}
{% assign active = "" %}
{% endif %}
<li><a href="{{ domain }}{{ child.url }}" class="{{ active }}">{{ child.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
</nav>
+55
View File
@@ -0,0 +1,55 @@
{% include base_path %}
{% if page.header.image contains "://" %}
{% capture img_path %}{{ page.header.image }}{% endcapture %}
{% else %}
{% capture img_path %}{{ page.header.image | prepend: "/images/" | prepend: base_path }}{% endcapture %}
{% endif %}
{% if page.header.cta_url contains "://" %}
{% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
{% else %}
{% capture cta_path %}{{ page.header.cta_url | prepend: base_path }}{% endcapture %}
{% endif %}
{% if page.header.overlay_image contains "://" %}
{% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %}
{% elsif page.header.overlay_image %}
{% capture overlay_img_path %}{{ page.header.overlay_image | prepend: "/images/" | prepend: base_path }}{% endcapture %}
{% endif %}
{% if page.header.overlay_filter contains "rgba" %}
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
{% elsif page.header.overlay_filter %}
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
{% endif %}
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}"
>
{% if page.header.overlay_color or page.header.overlay_image %}
<div class="wrapper">
<h1 class="page__title" itemprop="headline">
{% if paginator %}
{{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page }} {{ paginator.page }}{% endunless %}
{% else %}
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
{% endif %}
</h1>
{% if page.excerpt %}
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
{% endif %}
{% if site.read_time and page.read_time %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
{% if page.header.cta_url %}
<p><a href="{{ cta_path }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label }}</a></p>
{% endif %}
</div>
{% else %}
<img src="{{ img_path }}" alt="{{ page.title }}" class="page__hero-image">
{% endif %}
{% if page.header.caption %}
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
{% endif %}
</div>
+9
View File
@@ -0,0 +1,9 @@
{% include base_path %}
{% if site.tag_archive.type and page.tags[0] %}
{% include tag-list.html %}
{% endif %}
{% if site.category_archive.type and page.categories[0] %}
{% include category-list.html %}
{% endif %}
+70
View File
@@ -0,0 +1,70 @@
{% include base_path %}
{% if paginator.total_pages > 1 %}
<nav class="pagination">
<ul>
{% comment %} Link for previous page {% endcomment %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<li><a href="{{ base_path }}/">{{ site.data.ui-text[site.locale].pagination_previous }}</a></li>
{% else %}
<li><a href="{{ base_path }}/page{{ paginator.previous_page }}/">{{ site.data.ui-text[site.locale].pagination_previous }}</a></li>
{% endif %}
{% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous }}</span></a></li>
{% endif %}
{% comment %} First page {% endcomment %}
{% if paginator.page == 1 %}
<li><a href="#" class="disabled current">1</a></li>
{% else %}
<li><a href="{{ base_path }}/">1</a></li>
{% endif %}
{% assign page_start = 2 %}
{% if paginator.page > 4 %}
{% assign page_start = paginator.page | minus: 2 %}
{% comment %} Ellipsis for truncated links {% endcomment %}
<li><a href="#" class="disabled">&hellip;</a></li>
{% endif %}
{% assign page_end = paginator.total_pages | minus: 1 %}
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
{% if pages_to_end > 4 %}
{% assign page_end = paginator.page | plus: 2 %}
{% endif %}
{% for index in (page_start..page_end) %}
{% if index == paginator.page %}
<li><a href="{{ base_path }}/page{{ index }}/" class="disabled current">{{ index }}</a></li>
{% else %}
{% comment %} Distance from current page and this link {% endcomment %}
{% assign dist = paginator.page | minus: index %}
{% if dist < 0 %}
{% comment %} Distance must be a positive value {% endcomment %}
{% assign dist = 0 | minus: dist %}
{% endif %}
<li><a href="{{ base_path }}/page{{ index }}/">{{ index }}</a></li>
{% endif %}
{% endfor %}
{% comment %} Ellipsis for truncated links {% endcomment %}
{% if pages_to_end > 3 %}
<li><a href="#" class="disabled">&hellip;</a></li>
{% endif %}
{% if paginator.page == paginator.total_pages %}
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
{% else %}
<li><a href="{{ base_path }}/page{{ paginator.total_pages }}/">{{ paginator.total_pages }}</a></li>
{% endif %}
{% comment %} Link next page {% endcomment %}
{% if paginator.next_page %}
<li><a href="{{ base_path }}/page{{ paginator.next_page }}/">{{ site.data.ui-text[site.locale].pagination_next }}</a></li>
{% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next }}</span></a></li>
{% endif %}
</ul>
</nav>
{% endif %}
+16
View File
@@ -0,0 +1,16 @@
{% include base_path %}
{% if page.previous or page.next %}
<nav class="pagination">
{% if page.previous %}
<a href="{{ base_path }}{{ page.previous.url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous }}</a>
{% else %}
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous }}</a>
{% endif %}
{% if page.next %}
<a href="{{ base_path }}{{ page.next.url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next }}</a>
{% else %}
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next }}</a>
{% endif %}
</nav>
{% endif %}
+13
View File
@@ -0,0 +1,13 @@
{% if post.read_time %}
{% assign words = post.content | strip_html | number_of_words %}
{% elsif page.read_time %}
{% assign words = page.content | strip_html | number_of_words %}
{% endif %}
{% if words < 180 %}
{{ site.data.ui-text[site.locale].less_than }} 1 {{ site.data.ui-text[site.locale].minute_read }}
{% elsif words < 360 %}
1 {{ site.data.ui-text[site.locale].minute_read }}
{% else %}
{{ words | divided_by:site.words_per_minute }} {{ site.data.ui-text[site.locale].minutes_read }}
{% endif %}
+4
View File
@@ -0,0 +1,4 @@
<script src="{{ base_path }}/assets/js/main.min.js"></script>
{% include analytics.html %}
{% include /comments-providers/scripts.html %}
+136
View File
@@ -0,0 +1,136 @@
{% include base_path %}
<!-- begin SEO -->
{% if site.url %}
{% assign seo_url = site.url | append: site.baseurl %}
{% endif %}
{% assign seo_url = seo_url | default: site.github.url %}
{% if page.title %}
{% assign seo_title = page.title | append: " " | append: site.title_separator | append: " " | append: site.title %}
{% endif %}
{% if seo_title %}
{% assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once %}
{% endif %}
{% if site.url %}
{% assign canonical_url = page.url | replace: "index.html", "" | prepend: site.url %}
{% endif %}
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ site.title_separator }} {{ site.data.ui-text[site.locale].page }} {{ paginator.page }}{% endunless %}{% endif %}</title>
{% assign seo_description = page.description | default: page.excerpt | default: site.description %}
{% if seo_description %}
{% assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once %}
{% endif %}
{% assign seo_author = page.author | default: page.author[0] | default: site.author[0] %}
{% if seo_author %}
{% if seo_author.twitter %}
{% assign seo_author_twitter = seo_author.twitter %}
{% else %}
{% if site.data.authors and site.data.authors[seo_author] %}
{% assign seo_author_twitter = site.data.authors[seo_author].twitter %}
{% else %}
{% assign seo_author_twitter = seo_author %}
{% endif %}
{% endif %}
{% assign seo_author_twitter = seo_author_twitter | replace: "@", "" %}
{% endif %}
<meta property="og:locale" content="{{ site.locale }}">
<meta property="og:site_name" content="{{ site.title }}">
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
{% if seo_url %}
<link rel="canonical" href="{{ page.url | prepend: seo_url | replace: "/index.html", "/" }}">
<meta property="og:url" content="{{ page.url | prepend: seo_url | replace: "/index.html", "/" }}">
{% endif %}
{% if page.excerpt %}
<meta property="og:description" content="{{ seo_description }}">
{% endif %}
{% if site.twitter.username %}
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
<meta name="twitter:description" content="{{ seo_description }}">
<meta name="twitter:url" content="{{ canonical_url }}">
{% if page.header.image %}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | prepend: "/images/" | prepend: base_path }}{% endif %}">
{% else %}
<meta name="twitter:card" content="summary">
{% if site.og_image %}
<meta name="twitter:image" content="{{ site.og_image | prepend: "/images/" | prepend: base_path }}">
{% endif %}
{% endif %}
{% if seo_author_twitter %}
<meta name="twitter:creator" content="@{{ seo_author_twitter }}">
{% endif %}
{% endif %}
{% if site.facebook %}
{% if site.facebook.publisher %}
<meta property="article:publisher" content="{{ site.facebook.publisher }}">
{% endif %}
{% if site.facebook.app_id %}
<meta property="fb:app_id" content="{{ site.facebook.app_id }}">
{% endif %}
{% endif %}
{% if page.header.image %}
<meta property="og:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | prepend: "/images/" | prepend: base_path }}{% endif %}">
{% endif %}
{% if page.date %}
<meta property="og:type" content="article">
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
{% if page.next.url %}
<link rel="next" href="{{ page.next.url | prepend: seo_url | replace: "/index.html", "/" }}" title="{{ page.next.title | escape }}">
{% endif %}
{% if page.previous.url %}
<link rel="prev" href="{{ page.previous.url | prepend: seo_url | replace: "/index.html", "/" }}" title="{{ page.previous.title | escape }}">
{% endif %}
{% endif %}
{% if site.og_image %}
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"url": {{ seo_url | jsonify }},
"logo": {{ site.og_image | prepend: "/images/" | prepend: base_path | jsonify }}
}
</script>
{% endif %}
{% if site.social %}
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "{% if site.social.type %}{{ site.social.type }}{% else %}person{% endif %}",
"name" : "{{ site.social.name | default: site.name }}",
"url" : {{ seo_url | jsonify }},
"sameAs" : {{ site.social.links | jsonify }}
}
</script>
{% endif %}
{% if site.google_site_verification %}
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
{% endif %}
{% if site.bing_site_verification %}
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
{% endif %}
{% if site.owner.alexa.verify %}
<meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
{% endif %}
{% if site.owner.yandex.verify %}
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
{% endif %}
<!-- end SEO -->
+25
View File
@@ -0,0 +1,25 @@
{% include base_path %}
{% if page.author_profile or layout.author_profile or page.sidebar %}
<div class="sidebar sticky">
{% if page.author_profile or layout.author_profile %}{% include author-profile.html %}{% endif %}
{% if page.sidebar %}
{% for s in page.sidebar %}
{% if s.image %}
<img src=
{% if s.image contains "://" %}
"{{ s.image }}"
{% else %}
"{{ s.image | prepend: "/images/" | prepend: base_path }}"
{% endif %}
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
{% endif %}
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
{% if s.text %}{{ s.text | markdownify }}{% endif %}
{% endfor %}
{% if page.sidebar.nav %}
{% include nav_list nav=page.sidebar.nav %}
{% endif %}
{% endif %}
</div>
{% endif %}
+15
View File
@@ -0,0 +1,15 @@
{% include base_path %}
<section class="page__share">
{% if site.data.ui-text[site.locale].share_on_label %}
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label }}</h4>
{% endif %}
<a href="https://twitter.com/intent/tweet?text={{ base_path }}{{ page.url }}" class="btn btn--twitter" title="{{ site.data.ui-text[site.locale].share_on_label }} Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ base_path }}{{ page.url }}" class="btn btn--facebook" title="{{ site.data.ui-text[site.locale].share_on_label }} Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
<a href="https://plus.google.com/share?url={{ base_path }}{{ page.url }}" class="btn btn--google-plus" title="{{ site.data.ui-text[site.locale].share_on_label }} Google Plus"><i class="fa fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ base_path }}{{ page.url }}" class="btn btn--linkedin" title="{{ site.data.ui-text[site.locale].share_on_label }} LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
</section>
+28
View File
@@ -0,0 +1,28 @@
{% include base_path %}
{% case site.tag_archive.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
{% assign path_type = nil %}
{% endcase %}
{% if site.tag_archive.path %}
{% comment %}
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign tag_hashes = (page_tags | split: ',' | sort:0) %}
<p class="page__taxonomy">
<strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label }} </strong>
<span itemprop="keywords">
{% for hash in tag_hashes %}
{% assign keyValue = hash | split: '#' %}
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ base_path }}{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %}
</span>
</p>
{% endif %}
+7
View File
@@ -0,0 +1,7 @@
<aside class="sidebar__right">
<nav class="toc" markdown="1">
<header><h4 class="nav__title"><i class="fa fa-{{ include.icon | default: 'file-text' }}"></i> {{ include.title | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
* Auto generated table of contents
{:toc .toc__menu}
</nav>
</aside>
+16
View File
@@ -0,0 +1,16 @@
---
layout: default
author_profile: false
---
<div id="main" role="main">
{% include sidebar.html %}
<div class="archive">
<h1 class="page__title">{{ page.title }}</h1>
{% include base_path %}
{% for post in page.posts %}
{% include archive-single.html %}
{% endfor %}
</div>
</div>
+24
View File
@@ -0,0 +1,24 @@
---
layout: default
---
{% if (page.header.overlay_color or page.header.overlay_image) or page.header.image %}
{% include page__hero.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main">
{% include sidebar.html %}
<div class="archive">
{% unless page.header.overlay_color or page.header.overlay_image %}
<h1 class="page__title">{{ page.title }}</h1>
{% endunless %}
{{ content }}
</div>
</div>
+10
View File
@@ -0,0 +1,10 @@
---
# Jekyll layout that compresses HTML
# v3.0.2
# http://jch.penibelst.de/
# © 2014–2015 Anatol Broder
# MIT License
---
{% capture _LINE_FEED %}
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
+31
View File
@@ -0,0 +1,31 @@
---
layout: compress
---
{% include base_path %}
<!doctype html>
<html lang="{{ site.locale | slice: 0,2 }}" class="no-js">
<head>
{% include head.html %}
{% include head/custom.html %}
</head>
<body>
{% include browser-upgrade.html %}
{% include masthead.html %}
{{ content }}
<div class="page__footer">
<footer>
{% include footer.html %}
</footer>
</div>
{% include scripts.html %}
{% include footer/custom.html %}
</body>
</html>
-44
View File
@@ -1,44 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="home" itemscope itemtype="http://schema.org/WebPage">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image" itemprop="primaryImageOfPage">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<div id="index" itemprop="mainContentOfPage" itemscope itemtype="http://schema.org/Blog">
<h3><a href="{{ site.url}}/articles/">Articles</a></h3>
{% for post in site.posts limit:5 %}
<article itemscope itemtype="http://schema.org/BlogPosting" itemprop="blogPost">
<h2 itemprop="headline"><a href="{{ site.url }}{{ post.url }}" rel="bookmark" title="{{ post.title }}">{{ post.title }}</a></h2>
<p itemprop="text">{% if post.description %}{{ post.description }}{% else %}{{ post.content | strip_html | strip_newlines | truncate: 120 }}{% endif %}</p>
</article>
{% endfor %}
</div><!-- /#index -->
<div class="footer-wrap">
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
-42
View File
@@ -1,42 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="page" itemscope itemtype="http://schema.org/WebPage">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image" itemprop="primaryImageOfPage">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div id="main" role="main" itemprop="mainContentOfPage">
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<article itemscope itemtype="http://schema.org/CreativeWork">
<h1 itemprop="name">{{ page.title }}</h1>
<div class="article-wrap" itemprop="text">
{{ content }}
</div><!-- /.article-wrap -->
</article>
</div><!-- /#index -->
<div class="footer-wrap">
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
-53
View File
@@ -1,53 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="articles" itemscope itemtype="http://schema.org/WebPage">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image" itemprop="primaryImageOfPage">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<div id="index" itemprop="mainContentOfPage" itemscope itemtype="http://schema.org/Blog">
<h1 itemprop="name">{{ page.title }}</h1>
{% for post in site.posts %}
{% unless post.next %}
<h3>{{ post.date | date: '%Y' }}</h3>
{% else %}
{% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
{% capture nyear %}{{ post.next.date | date: '%Y' }}{% endcapture %}
{% if year != nyear %}
<h3>{{ post.date | date: '%Y' }}</h3>
{% endif %}
{% endunless %}
<article itemscope itemtype="http://schema.org/BlogPosting" itemprop="blogPost">
<h2 itemprop="headline"><a href="{{ site.url }}{{ post.url }}" rel="bookmark" title="{{ post.title }}">{{ post.title }}</a></h2>
<p itemprop="text">{% if post.description %}{{ post.description }}{% else %}{{ post.content | strip_html | strip_newlines | truncate: 120 }}{% endif %}</p>
</article>
{% endfor %}
</div><!-- /#index -->
<div class="footer-wrap">
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
-69
View File
@@ -1,69 +0,0 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="article" itemscope itemtype="http://schema.org/WebPage">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image" itemprop="primaryImageOfPage">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div id="main" role="main" itemprop="mainContentOfPage" itemscope itemtype="http://schema.org/Blog">
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<article itemscope itemtype="http://schema.org/BlogPosting" itemprop="blogPost">
<div class="headline-wrap">
<h1 itemprop="name">{{ page.title }}</h1>
<h2>{{ page.tagline }}</h2>
</div><!--/ .headline-wrap -->
<div class="article-wrap" itemprop="text">
{{ content }}
<hr />
<footer role="contentinfo">
<div class="article-author-bottom">
{% include _author-bio.html %}
</div>
<p class="byline"><strong>{{ page.title }}</strong> was published on <time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%B %d, %Y" }}</time>{% if page.modified %} and last modified on <time datetime="{{ page.modified | date: "%Y-%m-%d" }}" itemprop="dateModified">{{ page.modified | date: "%B %d, %Y" }}</time>{% endif %} by <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="{{ site.url }}/about" title="About {{ site.owner.name }}" itemprop="url">{{ site.owner.name }}</a></span></span>.</p>
</footer>
</div><!-- /.article-wrap -->
</article>
</div><!-- /#main -->
<div class="footer-wrap">
{% if site.related_posts.size > 0 %}<div class="related-articles">
<h4>You might also enjoy <small class="pull-right">(<a href="{{ site.url }}/articles">View all articles</a>)</small></h4>
<ul>
{% for post in site.related_posts limit:3 %}
{% assign match = false %}
{% for category in post.categories %}
{% if page.categories contains category %}
{% assign match = true %}
{% endif %}
{% endfor %}
{% if match %}
<li><a href="{{ site.url }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
<hr />
</div><!-- /.related-articles -->{% endif %}
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
+76
View File
@@ -0,0 +1,76 @@
---
layout: default
---
{% include base_path %}
{% if (page.header.overlay_color or page.header.overlay_image) or page.header.image %}
{% include page__hero.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main">
{% include sidebar.html %}
<article class="page" itemscope itemtype="http://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.modified %}<meta itemprop="dateModified" content="{{ page.modified | date: "%B %d, %Y" }}">{% endif %}
<div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %}
<header>
{% if page.title %}<h1 class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
{% if page.read_time %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
</header>
{% endunless %}
<section class="page__content" itemprop="text">
{{ content }}
{% if page.link %}<div><a href="{{ page.link }}" class="btn">{{ site.data.ui-text[site.locale].ext_link_label }}</a></div>{% endif %}
</section>
<footer class="page__meta">
{% if site.data.ui-text[site.locale].meta_label %}
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
{% endif %}
{% include page__taxonomy.html %}
{% if page.modified %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label }}</strong> <time datetime="{{ page.modified | date: "%Y-%m-%d" }}">{{ page.modified | date: "%B %d, %Y" }}</time></p>
{% elsif page.date %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
{% endif %}
</footer>
{% if page.share %}{% include social-share.html %}{% endif %}
{% include post_pagination.html %}
</div>
{% if site.comments.provider and page.comments %}
{% include comments.html %}
{% endif %}
</article>
{% comment %}<!-- only show related on a post page when not disabled -->{% endcomment %}
{% if page.id and page.related and site.related_posts.size > 0 %}
<div class="page__related">
{% if site.data.ui-text[site.locale].related_label %}
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label }}</h4>
{% endif %}
<div class="grid__wrapper">
{% for post in site.related_posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% endif %}
</div>
+22
View File
@@ -0,0 +1,22 @@
---
layout: default
---
{% include base_path %}
{% if (page.header.overlay_color or page.header.overlay_image) or page.header.image %}
{% include page__hero.html %}
{% endif %}
<div id="main" role="main">
<article class="splash" itemscope itemtype="http://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.modified %}<meta itemprop="dateModified" content="{{ page.modified | date: "%B %d, %Y" }}">{% endif %}
<section class="page__content" itemprop="text">
{{ content }}
</section>
</article>
</div>
+7 -9
View File
@@ -1,12 +1,10 @@
---
layout: page
title: "Page Not Found"
description: "Page not found. Your pixels are in another canvas."
image:
feature: texture-feature-01.jpg
credit: Texture Lovers
creditlink: http://texturelovers.com
---
layout: single
excerpt: "Page not found. Your pixels are in another canvas."
sitemap: false
permalink: /404.html
---
Sorry, but the page you were trying to view does not exist --- perhaps you can try searching for it below.
@@ -15,5 +13,5 @@ Sorry, but the page you were trying to view does not exist --- perhaps you can t
var GOOG_FIXURL_SITE = '{{ site.url }}'
</script>
<script type="text/javascript"
src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js">
</script>
src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js">
</script>
-98
View File
@@ -1,98 +0,0 @@
---
layout: post
title: Sample Post
description: "Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more."
modified: 2013-05-31
category: articles
tags: [intro, beginner, jekyll, tutorial]
image:
feature: texture-feature-05.jpg
credit: Texture Lovers
creditlink: http://texturelovers.com
---
<section id="table-of-contents" class="toc">
<header>
<h3>Contents</h3>
</header>
<div id="drawer" markdown="1">
* Auto generated table of contents
{:toc}
</div>
</section><!-- /#table-of-contents -->
## HTML Elements
Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs.
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
### Body text
Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam.
![Smithsonian Image]({{ site.url }}/images/3953273590_704e3899d5_m.jpg)
{: .image-pull-right}
*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.
HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.
### Blockquotes
> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam.
## List Types
### Ordered Lists
1. Item one
1. sub item one
2. sub item two
3. sub item three
2. Item two
### Unordered Lists
* Item one
* Item two
* Item three
## Tables
| Header1 | Header2 | Header3 |
|:--------|:-------:|--------:|
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
|----
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
|=====
| Foot1 | Foot2 | Foot3
{: rules="groups"}
## Code Snippets
{% highlight css %}
#container {
float: left;
margin: 0 -240px 0 0;
width: 100%;
}
{% endhighlight %}
## Buttons
Make any link standout more when applying the `.btn` class.
<div markdown="0"><a href="#" class="btn">This is a button</a></div>
-45
View File
@@ -1,45 +0,0 @@
---
layout: post
title: "Testing Readability with a Bunch of Text"
tagline: "A bunch of hipster ipsum for ya head."
description: "A ton of text to test readability."
category: articles
tags: [sample post, readability, test]
---
Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag.
Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies.
## Cupidatat 90's lo-fi authentic try-hard
In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's.
* Sartorial hoodie
* Labore viral forage
* Tote bag selvage
* DIY exercitation et id ugh tumblr church-key
Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr.
Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis.
## Forage occaecat cardigan qui
Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole.
> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache.
Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard.
## Hoodie Duis
Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio.
### Thundercats Ho!
Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress.
Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic.
Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam.
-60
View File
@@ -1,60 +0,0 @@
---
layout: post
title: "A Post with Images"
description: "Examples and code for displaying images in posts."
category: articles
tags: [sample post, images, test]
---
Here are some examples of what a post with images might look like. If you want to display two or three images next to each other responsively use `figure` with the appropriate `class`. Each instance of `figure` is auto-numbered and displayed in the caption.
### Figures (for images or video)
#### One Up
<figure>
<a href="http://farm9.staticflickr.com/8426/7758832526_cc8f681e48_b.jpg"><img src="http://farm9.staticflickr.com/8426/7758832526_cc8f681e48_c.jpg"></a>
<figcaption><a href="http://www.flickr.com/photos/80901381@N04/7758832526/" title="Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr">Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr</a>.</figcaption>
</figure>
#### Two Up
Apply the `half` class like so to display two images side by side that share the same caption.
{% highlight html %}
<figure class="half">
<img src="/images/image-filename-1.jpg">
<img src="/images/image-filename-2.jpg">
<figcaption>Caption describing these two images.</figcaption>
</figure>
{% endhighlight %}
And you'll get something that looks like this:
<figure class="half">
<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg"></a>
<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg"></a>
<figcaption>Two images.</figcaption>
</figure>
#### Three Up
Apply the `third` class like so to display three images side by side that share the same caption.
{% highlight html %}
<figure class="third">
<img src="/images/image-filename-1.jpg">
<img src="/images/image-filename-2.jpg">
<img src="/images/image-filename-3.jpg">
<figcaption>Caption describing these three images.</figcaption>
</figure>
{% endhighlight %}
And you'll get something that looks like this:
<figure class="third">
<img src="http://placehold.it/600x300.jpg">
<img src="http://placehold.it/600x300.jpg">
<img src="http://placehold.it/600x300.jpg">
<figcaption>Three images.</figcaption>
</figure>
@@ -1,51 +0,0 @@
---
layout: post
title: "Post with Large Feature Image and Text"
tagline: "A bunch of hipster ipsum for ya head."
description: "Custom written post descriptions are the way to go... if you're not lazy."
category: articles
tags: [sample post, readability, test]
image:
feature: texture-feature-04.jpg
credit: Texture Lovers
creditlink: http://texturelovers.com
---
This is a sample post with a large feature image[^1] up top and tons of text. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag.
Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies.
## Cupidatat 90's lo-fi authentic try-hard
In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's.
* Sartorial hoodie
* Labore viral forage
* Tote bag selvage
* DIY exercitation et id ugh tumblr church-key
Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr.
Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis.
## Forage occaecat cardigan qui
Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole.
> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache.
Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard.
## Hoodie Duis
Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio.
### Thundercats Ho!
Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress.
Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic.
Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam.
[^1]: Texture image courtesty of [Lovetextures](http://www.lovetextures.com/)
-114
View File
@@ -1,114 +0,0 @@
---
layout: post
title: Syntax Highlighting Post
description: "Demo post displaying the various ways of highlighting code in Markdown."
category: articles
tags: [sample post, code, highlighting]
---
[Syntax highlighting](http://en.wikipedia.org/wiki/Syntax_highlighting) is a feature that displays source code, in different colors and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.
### Pygments Code Blocks
To modify styling and highlight colors edit `/assets/less/pygments.less` and compile `main.less` with your favorite preprocessor. Or edit `main.css` if that's your thing, the classes you want to modify all begin with `.highlight`.
{% highlight css %}
#container {
float: left;
margin: 0 -240px 0 0;
width: 100%;
}
{% endhighlight %}
Line numbering enabled:
{% highlight html linenos %}
{% raw %}
<nav class="pagination" role="navigation">
{% if page.previous %}
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
{% endif %}
{% if page.next %}
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
{% endif %}
</nav><!-- /.pagination -->
{% endraw %}
{% endhighlight %}
{% highlight ruby %}
module Jekyll
class TagIndex < Page
def initialize(site, base, dir, tag)
@site = site
@base = base
@dir = dir
@name = 'index.html'
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
self.data['tag'] = tag
tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
tag_title_suffix = site.config['tag_title_suffix'] || '&#8211;'
self.data['title'] = "#{tag_title_prefix}#{tag}"
self.data['description'] = "An archive of posts tagged #{tag}."
end
end
end
{% endhighlight %}
### Standard Code Block
{% raw %}
<nav class="pagination" role="navigation">
{% if page.previous %}
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
{% endif %}
{% if page.next %}
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
{% endif %}
</nav><!-- /.pagination -->
{% endraw %}
### Fenced Code Blocks
To modify styling and highlight colors edit `/assets/less/coderay.less` and compile `main.less` with your favorite preprocessor. Or edit `main.css` if that's your thing, the classes you want to modify all begin with `.coderay`. Line numbers and a few other things can be modified in `_config.yml` under `coderay`.
~~~ css
#container {
float: left;
margin: 0 -240px 0 0;
width: 100%;
}
~~~
~~~ html
{% raw %}<nav class="pagination" role="navigation">
{% if page.previous %}
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
{% endif %}
{% if page.next %}
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
{% endif %}
</nav><!-- /.pagination -->{% endraw %}
~~~
~~~ ruby
module Jekyll
class TagIndex < Page
def initialize(site, base, dir, tag)
@site = site
@base = base
@dir = dir
@name = 'index.html'
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
self.data['tag'] = tag
tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
tag_title_suffix = site.config['tag_title_suffix'] || '&#8211;'
self.data['title'] = "#{tag_title_prefix}#{tag}"
self.data['description'] = "An archive of posts tagged #{tag}."
end
end
end
~~~
-29
View File
@@ -1,29 +0,0 @@
---
layout: page
permalink: /about/index.html
title: About the Theme
tagline: Minimal Mistakes, a Jekyll Theme
tags: [about, Jekyll, theme, responsive]
modified: 9-9-2013
image:
feature: texture-feature-02.jpg
credit: Texture Lovers
creditlink: http://texturelovers.com
---
Jekyll is pretty rad and figured releasing a cleaned up version of [my site](http://mademistakes.com)[^1] as a theme for others to hack and build on would be fun. So here be that theme --- I call it **Minimal Mistakes**, a responsive Jekyll theme with large featured images and solid typography.
## Minimal Mistakes is all about:
* Responsive templates. Looking good on mobile, tablet, and desktop.
* Gracefully degrading in older browsers. Compatible with Internet Explorer 8+ and all modern browsers.
* Minimal embellishments --- content first.
* Large feature images for posts and pages.
* Author sidebar to pimp your bio, photo[^2], and social media links.
* Simple and clear permalink structure *(ie: domain.com/category/post-title)*
<a markdown="0" href="{{ site.url }}/theme-setup" class="btn">Install Minimal Mistakes Theme</a>
[^1]: Since open sourcing this theme I have released a couple other Jekyll themes. My website [Made Mistakes](http://mademistakes.com) is currently using a modified version of my [So Simple Theme](http://mmistakes.github.io/so-simple-theme/).
[^2]: Fancy avatars provided by [Brandon Mathis](http://brandonmathis.com/projects/fancy-avatars/demo/) under a [Creative Commons Attribution 3.0 License](http://creativecommons.org/licenses/by/3.0/).
-7
View File
@@ -1,7 +0,0 @@
---
layout: post-index
permalink: /articles/
title: Articles
tagline: A List of Posts
tags: [blog, graphic design]
---
+12
View File
@@ -0,0 +1,12 @@
/* ==========================================================================
ANIMATIONS
========================================================================== */
@keyframes intro {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
+235
View File
@@ -0,0 +1,235 @@
/* ==========================================================================
ARCHIVE
========================================================================== */
.archive {
margin-bottom: 2em;
@include breakpoint($medium) {
@include span(12 of 12);
}
@include breakpoint($large) {
@include span(10 of 12 last);
@include prefix(0.5 of 12);
}
a {
color: inherit;
text-decoration: none;
}
}
.archive__subtitle {
margin: 1.414em 0 0;
padding-bottom: 0.5em;
font-size: $type-size-5;
color: mix(#fff, $gray, 25%);
border-bottom: 1px solid $border-color;
+ .list__item .archive__item-title {
margin-top: 0.5em;
}
}
.archive__item-title {
margin-bottom: 0.25em;
font-family: $sans-serif-narrow;
font-size: $type-size-5;
}
.archive__item-excerpt {
margin-top: 0;
font-size: $type-size-6;
& + p {
text-indent: 0;
}
}
.archive__item-teaser {
border-radius: $border-radius;
overflow: hidden;
img {
width: 100%;
}
}
a:hover {
.archive__item-teaser {
box-shadow: 0 0 10px rgba(#000, 0.25);
}
.archive__item-title {
text-decoration: underline;
}
}
/*
List view
========================================================================== */
.list__item {
@include breakpoint($medium) {
padding-right: $right-sidebar-width-narrow;
}
@include breakpoint($large) {
padding-right: $right-sidebar-width;
}
@include breakpoint($x-large) {
padding-right: $right-sidebar-width-wide;
}
.page__meta {
margin: 0 0 4px;
}
}
/*
Grid view
========================================================================== */
.grid__item {
margin-bottom: 2em;
.page__meta {
margin: 0 0 4px;
}
.archive__item-title {
margin-top: 0.5em;
font-size: $type-size-5;
}
.archive__item-excerpt {
display: none;
}
@include breakpoint($small) {
@include gallery(5 of 10);
.archive__item-teaser {
max-height: 200px;
}
}
@include breakpoint($medium) {
margin-left: 0; // reset before mixin does its thing
margin-right: 0; // reset before mixin does its thing
@include gallery(2.5 of 10);
.archive__item-teaser {
max-height: 120px;
}
.archive__item-excerpt {
display: block;
font-size: $type-size-6;
}
}
}
/*
Features
========================================================================== */
.feature__wrapper {
@include clearfix();
margin-bottom: 2em;
border-bottom: 1px solid $border-color;
}
.feature__item {
margin-bottom: 2em;
font-size: 1.25rem;
@include breakpoint($small) {
margin-bottom: 0;
text-align: center;
@include gallery(4 of 12);
.feature__item-teaser {
max-height: 200px;
overflow: hidden;
}
}
.archive__item-body {
padding-left: 0.5em;
padding-right: 0.5em;
}
&--left {
@include full();
// margin-bottom: 2em;
font-size: 1.25rem;
.archive__item-teaser {
margin-bottom: 2em;
}
@include breakpoint($small) {
.archive__item-teaser {
@include span(5 of 12);
}
.archive__item-body {
@include span(7 of 12 last);
@include prefix(0.5 of 12);
@include suffix(1 of 12);
}
}
}
&--right {
@include full();
// margin-bottom: 2em;
font-size: 1.25rem;
.archive__item-teaser {
margin-bottom: 2em;
}
@include breakpoint($small) {
text-align: right;
.archive__item-teaser {
@include span(5 of 12 rtl);
}
.archive__item-body {
@include span(7 of 12 last rtl);
@include prefix(0.5 of 12);
@include suffix(1 of 12);
}
}
}
&--center {
@include full();
// margin-bottom: 2em;
font-size: 1.25rem;
.archive__item-teaser {
margin-bottom: 2em;
}
@include breakpoint($small) {
text-align: center;
.archive__item-teaser {
margin: 0 auto;
width: span(5 of 12);
}
.archive__item-body {
margin: 0 auto;
width: span(7 of 12);
}
}
}
}
+303
View File
@@ -0,0 +1,303 @@
/* ==========================================================================
BASE ELEMENTS
========================================================================== */
body {
margin: 0;
padding: 0;
color: $text-color;
font-family: $global-font-family;
line-height: 1.5;
&.overflow--hidden {
/* when primary navigation is visible, the content in the background won't scroll */
overflow: hidden;
}
}
h1, h2, h3, h4, h5, h6 {
margin: 2em 0 0.5em;
line-height: 1.2;
font-family: $header-font-family;
font-weight: bold;
}
h1 {
margin-top: 0;
font-size: $type-size-3;
}
h2 {
font-size: $type-size-4;
}
h3 {
font-size: $type-size-5;
}
h4 {
font-size: $type-size-6;
}
h5 {
font-size: $type-size-6;
}
h6 {
font-size: $type-size-6;
}
small, .small {
font-size: $type-size-6;
}
p {
margin-bottom: 1.3em;
}
u,
ins {
text-decoration: none;
border-bottom: 1px solid $text-color;
a {
color: inherit;
}
}
del a {
color: inherit;
}
/* reduce orphans and widows when printing */
p, pre, blockquote, ul, ol, dl, figure, table, fieldset {
orphans: 3;
widows: 3;
}
/* abbreviations */
abbr[title],
abbr[data-original-title] {
text-decoration: none;
cursor: help;
border-bottom: 1px dotted $text-color;
}
/* blockquotes */
blockquote {
margin: 2em 1em 2em 0;
padding-left: 1em;
padding-right: 1em;
font-style: italic;
border-left: 0.25em solid $primary-color;
cite {
font-style: italic;
&:before {
content: "\2014";
padding-right: 5px;
}
}
}
/* links */
a {
&:focus {
@extend %tab-focus;
}
&:hover,
&:active {
outline: 0;
}
}
/* code */
tt, code, kbd, samp, pre {
font-family: $monospace;
}
pre {
overflow-x: auto; // add scrollbars to wide code blocks
}
p > code,
a > code,
li > code,
figcaption > code,
td > code {
padding-top: 0.1rem;
padding-bottom: 0.1rem;
font-size: $type-size-6;
background: $code-background-color;
border: 1px solid $lighter-gray;
border-radius: $border-radius;
box-shadow: $box-shadow;
&:before, &:after {
letter-spacing: -0.2em;
content: "\00a0"; // non-breaking space
}
}
/* horizontal rule */
hr {
display: block;
margin: 1em 0;
border: 0;
border-top: 1px solid $border-color;
}
/* lists */
ul li,
ol li {
margin-bottom: 0.5em;
}
li ul,
li ol {
margin-top: 0.5em;
}
/*
Media and embeds
========================================================================== */
/* Figures and images */
figure {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
margin: 2em 0;
img,
iframe,
.fluid-width-video-wrapper {
margin-bottom: 1em;
}
img {
width: 100%;
border-radius: $border-radius;
transition: $global-transition;
}
> a {
display: block;
}
&.half {
> a,
> img {
@include breakpoint($small) {
width: calc(50% - 0.5em);
}
}
figcaption {
width: 100%;
}
}
&.third {
> a,
> img {
@include breakpoint($small) {
width: calc(33.3333% - 0.5em);
}
}
figcaption {
width: 100%;
}
}
}
/* Figure captions */
figcaption {
margin-bottom: 0.5em;
color: mix(#fff, $text-color, 25%);
font-family: $caption-font-family;
font-size: $type-size-6;
a {
color: inherit;
text-decoration: none;
border-bottom: 1px solid $light-gray;
transition: $global-transition;
&:hover {
color: #000;
border-bottom-color: #000;
}
}
}
/* Fix IE9 SVG bug */
svg:not(:root) {
overflow: hidden;
}
/*
Navigation lists
========================================================================== */
/**
* Removes margins, padding, and bullet points from navigation lists
*
* Example usage:
* <nav>
* <ul>
* <li><a href="#link-1">Link 1</a></li>
* <li><a href="#link-2">Link 2</a></li>
* <li><a href="#link-3">Link 3</a></li>
* </ul>
* </nav>
*/
nav {
ul {
margin: 0;
padding: 0;
}
li {
list-style: none;
}
a {
text-decoration: none;
}
/* override white-space for nested lists */
ul li,
ol li {
margin-bottom: 0;
}
li ul,
li ol {
margin-top: 0;
}
}
/*
Global animation transition
========================================================================== */
b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, tr, td, form button, input[type="submit"], .btn, .highlight, .archive__item-teaser {
transition: $global-transition;
}
+154
View File
@@ -0,0 +1,154 @@
/* ==========================================================================
BUTTONS
========================================================================== */
/*
Default button
========================================================================== */
.btn {
/* default button */
display: inline-block;
margin-bottom: 0.25em;
padding: 0.5em 1em;
color: #fff !important;
font-family: $sans-serif;
font-size: $type-size-6;
font-weight: bold;
text-align: center;
text-decoration: none;
background-color: $primary-color;
border: 0 !important;
border-radius: $border-radius;
cursor: pointer;
&:hover {
background-color: mix(white, #000, 20%);
}
.icon {
margin-right: 0.5em;
}
.icon + .hidden {
margin-left: -0.5em; // override for hidden text
}
/* fills width of parent container */
&--block {
display: block;
width: 100%;
+ .btn--block {
margin-top: 0.25em;
}
}
/* for dark backgrounds */
&--inverse {
color: $gray !important;
border: 1px solid $light-gray !important; // override
background-color: #fff;
&:hover {
color: #fff !important;
border-color: $gray;
}
}
/* light outline */
&--light-outline {
border: 1px solid #fff !important; // override
background-color: transparent;
}
/* information */
&--info {
background-color: $info-color;
&:hover {
background-color: mix(#000, $info-color, 20%);
}
}
/* warning */
&--warning {
background-color: $warning-color;
&:hover {
background-color: mix(#000, $warning-color, 20%);
}
}
/* success */
&--success {
background-color: $success-color;
&:hover {
background-color: mix(#000, $success-color, 20%);
}
}
/* danger */
&--danger {
background-color: $danger-color;
&:hover {
background-color: mix(#000, $danger-color, 20%);
}
}
/* disabled */
&--disabled {
pointer-events: none;
cursor: not-allowed;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
opacity: 0.65;
}
/* social buttons */
$social:
(facebook, $facebook-color),
(twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color);
@each $socialnetwork, $color in $social {
&--#{$socialnetwork} {
background-color: $color;
&:hover {
background-color: mix(#000, $color, 20%);
}
}
}
/* extra large button */
&--x-large {
font-size: $type-size-4;
}
/* large button */
&--large {
font-size: $type-size-5;
}
/* small button */
&--small {
font-size: $type-size-7;
}
}
+66
View File
@@ -0,0 +1,66 @@
/* ==========================================================================
FOOTER
========================================================================== */
.page__footer {
@include container;
@include clearfix;
margin-top: 3em;
padding: 0 1em 3em;
color: mix(#fff, $gray, 25%);
animation: intro 0.3s both;
animation-delay: 0.45s;
@include breakpoint($x-large) {
max-width: $x-large;
}
a {
color: inherit;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
.page__footer-copyright {
font-family: $global-font-family;
font-size: $type-size-7;
@include breakpoint($large) {
@include prefix(2.5 of 12);
}
}
.page__footer-follow {
@include breakpoint($large) {
@include prefix(2.5 of 12);
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
li {
display: inline-block;
padding-top: 5px;
padding-bottom: 5px;
font-family: $sans-serif-narrow;
font-size: $type-size-6;
text-transform: uppercase;
}
li + li:before {
content: "";
padding-right: 5px;
}
a {
padding-right: 10px;
font-weight: bold;
}
}
+350
View File
@@ -0,0 +1,350 @@
/* ==========================================================================
Forms
========================================================================== */
btnform {
margin: 0 0 5px 0;
fieldset {
margin-bottom: 5px;
padding: 0;
border-width: 0;
}
legend {
display: block;
width: 100%;
margin-bottom: 5px * 2;
*margin-left: -7px;
padding: 0;
color: $text-color;
border: 0;
border-bottom: 1px solid mix(#fff, #000, 80%);
white-space: normal;
}
p {
margin-bottom: 5px / 2;
}
ul {
list-style-type: none;
margin: 0 0 5px 0;
padding: 0;
}
br {
display: none;
}
}
label,
input,
button,
select,
textarea {
vertical-align: baseline;
*vertical-align: middle;
}
input,
button,
select,
textarea {
font-family: $sans-serif;
box-sizing: border-box;
}
label {
display: block;
margin-bottom: 10px / 8;
font-weight: bold;
color: $text-color;
cursor: pointer;
input,
textarea,
select {
display: block;
}
}
input,
textarea,
select {
display: inline-block;
width: 100%;
padding: 4px;
margin-bottom: 5px / 4;
background-color: #fff;
border: 1px solid mix(#fff, #000, 80%);
color: $text-color;
&:hover {
border-color: mix(#fff, $primary-color, 50%);
}
}
.input-mini {
width: 60px;
}
.input-small {
width: 90px;
}
input[type="image"],
input[type="checkbox"],
input[type="radio"] {
width: auto;
height: auto;
padding: 0;
margin: 3px 0;
*margin-top: 0;
line-height: normal;
cursor: pointer;
border-radius: 0;
border: 0 \9;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
*width: 13px;
*height: 13px;
}
input[type="image"] {
border: 0;
box-shadow: none;
}
input[type="file"] {
width: auto;
padding: initial;
line-height: initial;
border: initial;
background-color: transparent;
background-color: initial;
box-shadow: none;
}
input[type="button"],
input[type="reset"],
input[type="submit"] {
width: auto;
height: auto;
cursor: pointer;
*overflow: visible;
}
select,
input[type="file"] {
*margin-top: 4px;
}
select {
width: auto;
background-color: #fff;
}
select[multiple],
select[size] {
height: auto;
}
textarea {
resize: vertical;
height: auto;
overflow: auto;
vertical-align: top;
}
input[type="hidden"] {
display: none;
}
.radio,
.checkbox {
padding-left: 18px;
font-weight: normal;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
float: left;
margin-left: -18px;
}
.radio.inline,
.checkbox.inline {
display: inline-block;
padding-top: 5px;
margin-bottom: 0;
vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
margin-left: 10px;
}
/*
Disabled state
========================================================================== */
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
opacity: 0.5;
cursor: not-allowed;
}
/*
Focus & active state
========================================================================== */
input:focus,
textarea:focus {
border-color: $primary-color;
outline: 0;
outline: thin dotted \9;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
select:focus {
box-shadow: none;
}
/*
Help text
========================================================================== */
.help-block,
.help-inline {
color: $info-color;
}
.help-block {
display: block;
margin-bottom: 1em;
line-height: 1em;
}
.help-inline {
display: inline-block;
vertical-align: middle;
padding-left: 5px;
}
/*
.form-inline
========================================================================== */
.form-inline input,
.form-inline textarea,
.form-inline select {
display: inline-block;
margin-bottom: 0;
}
.form-inline label {
display: inline-block;
}
.form-inline .radio,
.form-inline .checkbox,
.form-inline .radio {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px; }
/*
.form-search
========================================================================== */
.form-search input,
.form-search textarea,
.form-search select {
display: inline-block;
margin-bottom: 0;
}
.form-search .search-query {
padding-left: 14px;
padding-right: 14px;
margin-bottom: 0;
border-radius: 14px;
}
.form-search label {
display: inline-block;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px;
}
/*
Google search form
========================================================================== */
#goog-fixurl {
ul {
list-style: none;
margin-left: 0;
padding-left: 0;
li {
list-style-type: none;
}
}
}
#goog-wm-qt {
width: auto;
margin-right: 10px;
margin-bottom: 20px;
padding: 8px 20px;
display: inline-block;
font-size: $type-size-6;
background-color: #fff;
color: #000;
border-width: 2px !important;
border-style: solid !important;
border-color: lighten(#000,50);
border-radius: $border-radius;
}
#goog-wm-sb {
@extend .btn;
}
+56
View File
@@ -0,0 +1,56 @@
/* ==========================================================================
MASTHEAD
========================================================================== */
.masthead {
position: relative;
border-bottom: 1px solid $border-color;
animation: intro 0.3s both;
animation-delay: 0.15s;
z-index: 20;
&__inner-wrap {
@include container;
@include clearfix;
padding: 1em 1em 1em;
font-family: $sans-serif-narrow;
font-weight: 700;
text-transform: uppercase;
@include breakpoint($x-large) {
max-width: $x-large;
}
nav {
z-index: 10;
}
a {
text-decoration: none;
}
}
}
.masthead__menu {
@include breakpoint($large) {
@include prefix(2.5 of 12);
}
ul {
margin: 0;
padding: 0;
clear: both;
list-style-type: none;
}
}
.masthead__menu-item {
display: block;
list-style-type: none;
font-size: $type-size-6;
white-space: nowrap;
&--lg {
font-size: $type-size-5;
}
}
+50
View File
@@ -0,0 +1,50 @@
/* ==========================================================================
MIXINS
========================================================================== */
%tab-focus {
// Default
outline: thin dotted $warning-color;
// Webkit
outline: 5px auto $warning-color;
outline-offset: -2px;
}
/*
em function
========================================================================== */
@function em($target, $context: $doc-font-size) {
@return ($target / $context) * 1em;
}
/*
Bourbon clearfix
========================================================================== */
// Provides an easy way to include a clearfix for containing floats.
//
// @link http://cssmojo.com/latest_new_clearfix_so_far/
//
// @example scss - Usage
// .element {
// @include clearfix;
// }
//
// @example css - CSS Output
// .element::after {
// clear: both;
// content: "";
// display: table;
// }
@mixin clearfix {
clear: both;
&::after {
clear: both;
content: "";
display: table;
}
}
+425
View File
@@ -0,0 +1,425 @@
/* ==========================================================================
NAVIGATION
========================================================================== */
/*
Breadcrumb navigation links
========================================================================== */
.breadcrumbs {
@include container;
@include clearfix;
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
padding-right: 2em;
font-family: $sans-serif;
animation: intro 0.3s both;
animation-delay: 0.30s;
@include breakpoint($large) {
padding-left: 1em;
padding-right: 1em;
}
@include breakpoint($x-large) {
max-width: $x-large;
}
ol {
padding: 0;
list-style: none;
font-size: $type-size-6;
@include breakpoint($large) {
@include span(10 of 12 last);
}
@include breakpoint($x-large) {
@include prefix(0.5 of 12);
}
}
li {
display: inline;
}
.current {
font-weight: bold;
}
}
/*
Post pagination navigation links
========================================================================== */
.pagination {
@include full();
@include clearfix();
margin-top: 1em;
padding-top: 1em;
ul {
margin: 0;
padding: 0;
list-style-type: none;
font-family: $sans-serif;
}
li {
display: block;
float: left;
margin-left: -1px;
a {
margin-bottom: 0.25em;
padding: 0.5em 1em;
font-family: $sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 1.5;
text-align: center;
text-decoration: none;
color: mix(#fff, $gray, 25%);
border: 1px solid $light-gray;
border-radius: 0;
&:hover {
color: $link-color-hover;
}
&.current {
color: #fff;
background: $primary-color;
}
&.disabled {
color: $light-gray;
pointer-events: none;
cursor: not-allowed;
}
}
&:first-child {
margin-left: 0;
a {
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
}
}
&:last-child {
a {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
}
}
/* next/previous buttons */
&--pager {
display: block;
padding: 1em 2em;
float: left;
width: 50%;
font-family: $sans-serif;
font-size: $type-size-5;
font-weight: bold;
text-align: center;
text-decoration: none;
color: mix(#fff, $gray, 25%);
border: 1px solid $light-gray;
border-radius: $border-radius;
&:hover {
color: $link-color-hover;
}
&:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
&:last-child {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&.disabled {
color: $light-gray;
pointer-events: none;
cursor: not-allowed;
}
}
}
.page__content + .pagination,
.page__meta + .pagination,
.page__share + .pagination,
.page__comments + .pagination {
margin-top: 2em;
padding-top: 2em;
border-top: 1px solid $border-color;
}
/*
Priority plus navigation
========================================================================== */
.greedy-nav {
position: relative;
min-width: 250px;
background: $background-color;
a {
display: block;
margin: 0 1rem;
padding: 0.5rem 0;
color: $masthead-link-color;
text-decoration: none;
&:hover {
color: $masthead-link-color-hover;
}
}
button {
position: absolute;
height: 100%;
right: 0;
padding: 0 0.5rem;
border: 0;
outline: none;
background-color: $primary-color;
color: #fff;
cursor: pointer;
}
.visible-links {
display: table;
li {
display: table-cell;
vertical-align: middle;
&:first-child {
font-weight: bold;
a {
margin-left: 0;
}
}
&:last-child {
a {
margin-right: 0;
}
}
}
a {
position: relative;
&:before {
content: "";
position: absolute;
left: 0;
bottom: 0;
height: 4px;
background: mix(#fff, $primary-color, 50%);
width: 100%;
transition: $global-transition;
transform: scaleX(0); // hide
}
&:hover:before {
transform: scaleX(1); // reveal
}
}
}
.hidden-links {
position: absolute;
top: 100%;
right: 0;
margin-top: 15px;
padding: 5px;
border: 1px solid $border-color;
border-radius: $border-radius;
background: #fff;
box-shadow: 0 0 10px rgba(#000, 0.25);
a {
margin: 0;
padding: 10px 20px;
font-size: $type-size-5;
&:hover {
color: $masthead-link-color-hover;
background: mix(#fff, $primary-color, 75%);
}
}
&:before {
content: "";
position: absolute;
top: -11px;
right: 10px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: $border-color transparent;
display: block;
z-index: 0;
}
&:after {
content: "";
position: absolute;
top: -10px;
right: 10px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: #fff transparent;
display: block;
z-index: 1;
}
li {
display: block;
border-bottom: 1px solid $border-color;
&:last-child {
border-bottom: none;
}
}
}
}
/*
Navigation list
========================================================================== */
.nav__list {
font-size: 1.25rem;
ul {
margin-bottom: 1em;
}
a {
display: block;
padding: 0.125em 0;
color: inherit;
&:hover {
text-decoration: underline;
}
}
.active {
margin-left: -0.5em;
padding-left: 0.5em;
padding-right: 0.5em;
color: #fff;
font-weight: bold;
background: $primary-color;
border-radius: $border-radius;
&:hover {
color: #fff;
}
}
}
.nav__title {
margin: 0;
padding: 0.5rem 1rem;
font-family: $sans-serif-narrow;
font-size: $type-size-5;
font-weight: bold;
}
.nav__sub-title {
display: block;
margin: 0.5rem 0;
padding: 0.5rem 0;
font-family: $sans-serif-narrow;
font-size: $type-size-6;
font-weight: bold;
text-transform: uppercase;
border-bottom: 1px solid $border-color;
}
/*
Table of contents navigation
========================================================================== */
.toc {
font-family: $sans-serif-narrow;
color: $gray;
text-transform: uppercase;
letter-spacing: 1px;
background-color: #fff;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
.nav__title {
color: #fff;
font-size: $type-size-6;
background: $primary-color;
border-top-left-radius: $border-radius;
border-top-right-radius: $border-radius;
}
}
.toc__menu {
margin: 0;
padding: 0;
width: 100%;
list-style: none;
font-size: 0.8rem;
a {
display: block;
padding: 0.5rem 1rem;
color: $gray;
font-size: $type-size-7;
font-weight: bold;
line-height: 1.5;
border-bottom: 1px solid $border-color;
&:hover {
color: #000;
background: $lighter-gray;
}
}
> li:last-child {
a {
border-bottom: none;
}
}
li ul > li a {
padding-left: 2rem;
font-weight: normal;
}
// hide sub sub links on small screens
li > ul li {
display: none;
@include breakpoint($medium) {
display: block;
}
}
}
+99
View File
@@ -0,0 +1,99 @@
/* ==========================================================================
NOTICE TEXT BLOCKS
========================================================================== */
/**
* Default Kramdown usage (no indents!):
* <div class="notice" markdown="1">
* #### Headline for the Notice
* Text for the notice
* </div>
*/
@mixin notice($notice-color) {
margin: 2em 0 !important; // override
padding: 1em;
font-family: $global-font-family;
font-size: $type-size-6 !important;
text-indent: initial; // override
background-color: mix(#fff, $notice-color, 90%);
border-radius: $border-radius;
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
h4 {
margin-top: 0 !important; // override
margin-bottom: 0.75em;
}
@at-root .page__content #{&} h4 {
// using at-root to override .page-content h4 font size
margin-bottom: 0;
font-size: 1em;
}
p {
&:last-child {
margin-bottom: 0 !important; // override
}
}
h4 + p {
// remove space above paragraphs that appear directly after notice headline
margin-top: 0;
padding-top: 0;
}
a {
color: $notice-color;
&:hover {
color: mix(#000, $notice-color, 40%);
}
}
code {
background-color: mix(#fff, $notice-color, 95%)
}
ul {
&:last-child {
margin-bottom: 0; // override
}
}
}
/* Default notice */
.notice {
@include notice($light-gray);
}
/* Primary notice */
.notice--primary {
@include notice($primary-color);
}
/* Info notice */
.notice--info {
@include notice($info-color);
}
/* Warning notice */
.notice--warning {
@include notice($warning-color);
}
/* Success notice */
.notice--success {
@include notice($success-color);
}
/* Danger notice */
.notice--danger {
@include notice($danger-color);
}
+306
View File
@@ -0,0 +1,306 @@
/* ==========================================================================
SINGLE PAGE/POST
========================================================================== */
#main {
@include container;
@include clearfix;
margin-top: 2em;
padding-left: 1em;
padding-right: 1em;
animation: intro 0.3s both;
animation-delay: 0.35s;
@include breakpoint($x-large) {
max-width: $x-large;
}
}
.page {
@include breakpoint($large) {
@include span(10 of 12 last);
@include prefix(0.5 of 12);
@include suffix(2 of 12);
}
.page__inner-wrap {
@include full();
.page__content,
.page__meta,
.page__share {
@include full();
}
}
}
.page__title {
margin-top: 0;
line-height: 1;
& + .page__meta {
margin-top: -0.5em;
}
}
.page__lead {
font-family: $global-font-family;
font-size: $type-size-4;
}
.page__content {
p, li, dl {
font-size: 1em;
}
/* paragraph indents */
p {
margin: 0 0 $indent-var;
// sibling indentation
@if $paragraph-indent == true {
& + p {
text-indent: $indent-var;
margin-top: -($indent-var);
}
}
}
a {
text-decoration: none;
&:hover {
text-decoration: underline;
img {
box-shadow: 0 0 10px rgba(#000, 0.25);
}
}
}
dt {
margin-top: 1em;
font-family: $sans-serif;
font-weight: bold;
}
dd {
margin-left: 1em;
font-family: $sans-serif;
font-size: $type-size-6;
}
.small {
font-size: $type-size-6;
}
/* blockquote citations */
blockquote + .small {
margin-top: -1.5em;
padding-left: 1.25rem;
}
}
.page__hero {
position: relative;
margin-bottom: 2em;
@include clearfix;
animation: intro 0.3s both;
animation-delay: 0.25s;
&--overlay {
position: relative;
margin-bottom: 2em;
padding: 3em 0;
@include clearfix;
text-align: center;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
animation: intro 0.3s both;
animation-delay: 0.25s;
.wrapper {
padding-left: 2em;
padding-right: 2em;
}
.page__title,
.page__meta,
.page__lead,
.btn {
color: #fff;
text-shadow: 1px 1px 4px rgba(#000, 0.5);
}
.page__title {
font-size: $type-size-2;
@include breakpoint($small) {
font-size: $type-size-1;
}
}
}
}
.page__hero-image {
width: 100%;
height: auto;
-ms-interpolation-mode: bicubic;
}
.page__hero-caption {
position: absolute;
bottom: 0;
right: 0;
margin: 0 auto;
padding: 2px 5px;
color: #fff;
font-family: $caption-font-family;
font-size: $type-size-7;
background: #000;
text-align: right;
z-index: 5;
opacity: 0.5;
border-radius: $border-radius 0 $border-radius 0;
@include breakpoint($large) {
padding: 5px 10px;
}
a {
color: #fff;
text-decoration: none;
}
}
/*
Social sharing
========================================================================== */
.page__share {
margin-top: 2em;
padding-top: 1em;
border-top: 1px solid $border-color;
@include breakpoint(max-width $small) {
.btn span {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
}
}
.page__share-title {
margin-bottom: 10px;
font-size: $type-size-6;
text-transform: uppercase;
}
/*
Page meta
========================================================================== */
.page__meta {
margin-top: 2em;
color: mix(#fff, $gray, 25%);
font-family: $sans-serif;
font-size: $type-size-6;
p {
margin: 0;
}
a {
color: inherit;
}
}
.page__meta-title {
margin-bottom: 10px;
font-size: $type-size-6;
text-transform: uppercase;
}
/*
Page taxonomy
========================================================================== */
.page__taxonomy {
.sep {
display: none;
}
strong {
margin-right: 10px;
}
}
.page__taxonomy-item {
display: inline-block;
margin-right: 5px;
margin-bottom: 8px;
padding: 5px 10px;
text-decoration: none;
border: 1px solid $light-gray;
border-radius: $border-radius;
&:hover {
text-decoration: none;
color: $link-color-hover;
}
}
/*
Comments
========================================================================== */
.page__comments {
@include full();
}
.page__comments-title {
margin-top: 2rem;
margin-bottom: 10px;
padding-top: 2rem;
font-size: $type-size-6;
border-top: 1px solid $border-color;
text-transform: uppercase;
}
/*
Related
========================================================================== */
.page__related {
margin-top: 2em;
padding-top: 1em;
border-top: 1px solid $border-color;
@include clearfix();
float: left;
@include breakpoint($large) {
@include pre(2.5 of 12);
}
a {
color: inherit;
text-decoration: none;
}
}
.page__related-title {
margin-bottom: 10px;
font-size: $type-size-6;
text-transform: uppercase;
}
+18
View File
@@ -0,0 +1,18 @@
/* ==========================================================================
PRINT STYLES
========================================================================== */
/*
Hide the following elements on print
========================================================================== */
@media print {
.masthead,
.toc,
.page__share,
.page__related,
.ads,
.page__footer {
display: none;
}
}
+174
View File
@@ -0,0 +1,174 @@
/* ==========================================================================
STYLE RESETS
========================================================================== */
@include border-box-sizing;
html {
/* apply a natural box layout model to all elements */
box-sizing: border-box;
background-color: $background-color;
font-size: 16px;
@include breakpoint($medium) {
font-size: 18px;
}
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
/* Remove margin */
body { margin: 0; }
/* Selected elements */
::selection {
color: #fff;
background: #000;
}
/* Display HTML5 elements in IE6-9 and FF3 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
display: block;
}
/* Display block in IE6-9 and FF3 */
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/* Prevents modern browsers from displaying 'audio' without controls */
audio:not([controls]) {
display: none;
}
a {
color: $link-color;
}
/* Apply focus state */
a:focus {
@extend %tab-focus;
}
/* Remove outline from links */
a:hover,
a:active {
outline: 0;
}
/* Prevent sub and sup affecting line-height in all browsers */
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* img border in anchor's and image quality */
img {
/* Responsive images (ensure images don't scale beyond their parents) */
max-width: 100%; // part 1: Set a maximum relative to the parent
width: auto\9; // IE7-8 need help adjusting responsive images
height: auto; // part 2: Scale the height according to the width, otherwise you get stretching
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}
/* Prevent max-width from affecting Google Maps */
#map_canvas img,
.google-maps img {
max-width: none;
}
/* Consistent form font size in all browsers, margin changes, misc */
button,
input,
select,
textarea {
margin: 0;
font-size: 100%;
vertical-align: middle;
}
button,
input {
*overflow: visible; // inner spacing ie IE6/7
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
}
button::-moz-focus-inner,
input::-moz-focus-inner { // inner padding and border oddities in FF3/4
padding: 0;
border: 0;
}
button,
html input[type="button"], // avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; // corrects inability to style clickable `input` types in iOS
cursor: pointer; // improves usability and consistency of cursor style between image-type `input` and others
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
cursor: pointer; // improves usability and consistency of cursor style between image-type `input` and others
}
input[type="search"] { // Appearance in Safari/Chrome
box-sizing: content-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none; // inner-padding issues in Chrome OSX, Safari 5
}
textarea {
overflow: auto; // remove vertical scrollbar in IE6-9
vertical-align: top; // readability and alignment cross-browser
}
+230
View File
@@ -0,0 +1,230 @@
/* ==========================================================================
SIDEBAR
========================================================================== */
/*
Default
========================================================================== */
.sidebar {
@include clearfix();
margin-bottom: 1em;
@include breakpoint($large) {
@include span(2 of 12);
opacity: 0.75;
transition: opacity 0.2s ease-in-out;
&:hover {
opacity: 1;
}
}
@include breakpoint($x-large) {
padding-right: 0;
}
h2, h3, h4, h5, h6 {
margin-bottom: 0;
font-family: $sans-serif-narrow;
}
h3, h4 {
font-size: $type-size-5;
}
p, li {
font-family: $sans-serif;
font-size: $type-size-6;
line-height: 1.5;
}
img {
width: 100%;
}
}
.sidebar__right {
margin-bottom: 1em;
@include breakpoint($large) {
position: relative;
float: right;
width: $right-sidebar-width-narrow;
margin-left: span(0.5 of 12);
z-index: 10;
}
@include breakpoint($x-large) {
width: $right-sidebar-width;
}
}
/*
Author profile and links
========================================================================== */
.author__avatar {
display: table-cell;
vertical-align: top;
width: 36px;
height: 36px;
@include breakpoint($large) {
display: block;
width: auto;
height: auto;
}
img {
max-width: 110px;
border-radius: 50%;
@include breakpoint($large) {
padding: 5px;
border: 1px solid $border-color;
}
}
}
.author__content {
display: table-cell;
vertical-align: top;
padding-left: 15px;
padding-right: 25px;
line-height: 1;
@include breakpoint($large) {
display: block;
width: 100%;
padding-left: 0;
padding-right: 0;
}
}
.author__name {
margin: 0;
@include breakpoint($large) {
margin-top: 10px;
margin-bottom: 10px;
}
}
.sidebar .author__name {
font-family: $sans-serif;
font-size: $type-size-5;
}
.author__bio {
margin: 0;
@include breakpoint($large) {
margin-top: 10px;
margin-bottom: 20px;
}
}
.author__urls-wrapper {
position: relative;
display: table-cell;
vertical-align: middle;
font-family: $sans-serif;
z-index: 10;
position: relative;
cursor: pointer;
li:last-child {
a {
margin-bottom: 0;
}
}
@include breakpoint($large) {
display: block;
}
button {
margin-bottom: 0;
@include breakpoint($large) {
display: none;
}
}
}
.author__urls {
display: none;
position: absolute;
right: 0;
margin-top: 15px;
padding: 10px;
list-style-type: none;
border: 1px solid $border-color;
border-radius: $border-radius;
background: #fff;
z-index: -1;
box-shadow: 0 0 10px rgba(#000, 0.25);
@include breakpoint($large) {
display: block;
position: relative;
margin: 0;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
}
&:before {
display: block;
content: "";
position: absolute;
top: -11px;
left: calc(50% - 10px);
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: $border-color transparent;
z-index: 0;
@include breakpoint($large) {
display: none;
}
}
&:after {
display: block;
content: "";
position: absolute;
top: -10px;
left: calc(50% - 10px);
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: #fff transparent;
z-index: 1;
@include breakpoint($large) {
display: none;
}
}
li {
white-space: nowrap;
}
a {
display: block;
margin-bottom: 5px;
padding-right: 5px;
padding-top: 2px;
padding-bottom: 2px;
color: inherit;
font-size: $type-size-5;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
+123
View File
@@ -0,0 +1,123 @@
/* ==========================================================================
Syntax highlighting
========================================================================== */
div.highlighter-rouge, figure.highlight {
position: relative;
margin-bottom: 1em;
padding: 1em;
border: 1px solid $border-color;
border-radius: $border-radius;
background-color: $code-background-color;
box-shadow: $box-shadow;
&:before {
position: absolute;
top: 0;
right: 0;
padding: 0.5em;
background-color: $lighter-gray;
content: "\f121";
font-family: "fontawesome" !important;
font-size: $type-size-6;
line-height: 1;
text-transform: none;
speak: none;
}
.highlight {
margin: 0;
font-family: $monospace;
font-size: $type-size-7;
line-height: 1.8;
}
}
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
/*
Solarized Light
http://ethanschoonover.com/solarized
SOLARIZED HEX ROLE
--------- -------- ------------------------------------------
base01 #586e75 body text / default code / primary content
base1 #93a1a1 comments / secondary content
base3 #fdf6e3 background
orange #cb4b16 constants
red #dc322f regex, special keywords
blue #22b3eb reserved keywords
cyan #2aa198 strings, numbers
green #859900 operators, other keywords
========================================================================== */
.highlight .c { color: #93a1a1 } /* Comment */
.highlight .err { color: #586e75 } /* Error */
.highlight .g { color: #586e75 } /* Generic */
.highlight .k { color: #859900 } /* Keyword */
.highlight .l { color: #586e75 } /* Literal */
.highlight .n { color: #586e75 } /* Name */
.highlight .o { color: #859900 } /* Operator */
.highlight .x { color: #cb4b16 } /* Other */
.highlight .p { color: #586e75 } /* Punctuation */
.highlight .cm { color: #93a1a1 } /* Comment.Multiline */
.highlight .cp { color: #859900 } /* Comment.Preproc */
.highlight .c1 { color: #93a1a1 } /* Comment.Single */
.highlight .cs { color: #859900 } /* Comment.Special */
.highlight .gd { color: #2aa198 } /* Generic.Deleted */
.highlight .ge { color: #586e75; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #dc322f } /* Generic.Error */
.highlight .gh { color: #cb4b16 } /* Generic.Heading */
.highlight .gi { color: #859900 } /* Generic.Inserted */
.highlight .go { color: #586e75 } /* Generic.Output */
.highlight .gp { color: #586e75 } /* Generic.Prompt */
.highlight .gs { color: #586e75; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #cb4b16 } /* Generic.Subheading */
.highlight .gt { color: #586e75 } /* Generic.Traceback */
.highlight .kc { color: #cb4b16 } /* Keyword.Constant */
.highlight .kd { color: #22b3eb } /* Keyword.Declaration */
.highlight .kn { color: #859900 } /* Keyword.Namespace */
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
.highlight .kr { color: #22b3eb } /* Keyword.Reserved */
.highlight .kt { color: #dc322f } /* Keyword.Type */
.highlight .ld { color: #586e75 } /* Literal.Date */
.highlight .m { color: #2aa198 } /* Literal.Number */
.highlight .s { color: #2aa198 } /* Literal.String */
.highlight .na { color: #586e75 } /* Name.Attribute */
.highlight .nb { color: #B58900 } /* Name.Builtin */
.highlight .nc { color: #22b3eb } /* Name.Class */
.highlight .no { color: #cb4b16 } /* Name.Constant */
.highlight .nd { color: #22b3eb } /* Name.Decorator */
.highlight .ni { color: #cb4b16 } /* Name.Entity */
.highlight .ne { color: #cb4b16 } /* Name.Exception */
.highlight .nf { color: #22b3eb } /* Name.Function */
.highlight .nl { color: #586e75 } /* Name.Label */
.highlight .nn { color: #586e75 } /* Name.Namespace */
.highlight .nx { color: #586e75 } /* Name.Other */
.highlight .py { color: #586e75 } /* Name.Property */
.highlight .nt { color: #22b3eb } /* Name.Tag */
.highlight .nv { color: #22b3eb } /* Name.Variable */
.highlight .ow { color: #859900 } /* Operator.Word */
.highlight .w { color: #586e75 } /* Text.Whitespace */
.highlight .mf { color: #2aa198 } /* Literal.Number.Float */
.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */
.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */
.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */
.highlight .sb { color: #93a1a1 } /* Literal.String.Backtick */
.highlight .sc { color: #2aa198 } /* Literal.String.Char */
.highlight .sd { color: #586e75 } /* Literal.String.Doc */
.highlight .s2 { color: #2aa198 } /* Literal.String.Double */
.highlight .se { color: #cb4b16 } /* Literal.String.Escape */
.highlight .sh { color: #586e75 } /* Literal.String.Heredoc */
.highlight .si { color: #2aa198 } /* Literal.String.Interpol */
.highlight .sx { color: #2aa198 } /* Literal.String.Other */
.highlight .sr { color: #dc322f } /* Literal.String.Regex */
.highlight .s1 { color: #2aa198 } /* Literal.String.Single */
.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */
.highlight .bp { color: #22b3eb } /* Name.Builtin.Pseudo */
.highlight .vc { color: #22b3eb } /* Name.Variable.Class */
.highlight .vg { color: #22b3eb } /* Name.Variable.Global */
.highlight .vi { color: #22b3eb } /* Name.Variable.Instance */
.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */
+38
View File
@@ -0,0 +1,38 @@
/* ==========================================================================
TABLES
========================================================================== */
table {
margin-bottom: 1em;
width: 100%;
font-family: $global-font-family;
font-size: $type-size-6;
border-collapse: collapse;
border: 1px solid $light-gray;
& + table {
margin-top: 1em;
}
}
thead {
background-color: $lighter-gray;
border-bottom: 1px solid $light-gray;
}
th {
padding: 0.5em;
font-weight: bold;
text-align: left;
border-right: 1px solid $light-gray;
}
td {
padding: 0.5em;
border-bottom: 1px solid $light-gray;
border-right: 1px solid $light-gray;
}
tr, td, th {
vertical-align: middle;
}
+400
View File
@@ -0,0 +1,400 @@
/* ==========================================================================
UTILITY CLASSES
========================================================================== */
/*
Visibility
========================================================================== */
/* http://www.456bereastreet.com/archive/200711/screen_readers_sometimes_ignore_displaynone/ */
.hidden {
display: none;
visibility: hidden;
}
/* for preloading images */
.load {
display: none;
}
.transparent {
opacity: 0;
}
/* https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html */
.visually-hidden,
.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
height: 1px !important;
width: 1px !important;
border: 0 !important;
overflow: hidden;
}
body:hover .visually-hidden a,
body:hover .visually-hidden input,
body:hover .visually-hidden button {
display: none !important;
}
/* screen readers */
.screen-reader-text:focus,
.screen-reader-shortcut:focus {
clip: auto !important;
height: auto !important;
width: auto !important;
display: block;
font-size: 1em;
font-weight: bold;
padding: 15px 23px 14px;
background: #fff;
z-index: 100000;
text-decoration: none;
box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
}
/*
Skip links
========================================================================== */
.skip-link {
position: fixed;
z-index: 20;
margin: 0;
font-family: $sans-serif;
white-space: nowrap;
}
.skip-link li {
height: 0;
width: 0;
list-style: none;
}
/*
Type
========================================================================== */
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-justify {
text-align: justify;
}
.text-nowrap {
white-space: nowrap;
}
/*
Alignment
========================================================================== */
/* clearfix */
.cf { clear: both; }
.wrapper {
@include container();
}
/*
Images
========================================================================== */
/* image align left */
.align-left {
display: block;
margin-left: auto;
margin-right: auto;
@include breakpoint($small) {
float: left;
margin-right: 1em;
}
}
/* image align right */
.align-right {
display: block;
margin-left: auto;
margin-right: auto;
@include breakpoint($small) {
float: right;
margin-left: 1em;
}
}
/* image align center */
.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
/* file page content container */
.full {
@include breakpoint($large){
margin-right: -1 * span(2.5 of 12) !important;
}
}
/*
Icons
========================================================================== */
.icon {
display: inline-block;
fill: currentColor;
width: 1em;
height: 1.1em;
line-height: 1;
position: relative;
top: -0.1em;
vertical-align: middle;
}
// social icons
.social-icons {
.fa {
color: #000;
display: initial;
}
.fa-behance,
.fa-behance-square {
color: $behance-color;
}
.fa-dribbble {
color: $dribbble-color;
}
.fa-facebook,
.fa-facebook-square {
color: $facebook-color;
}
.fa-flickr {
color: $flickr-color;
}
.fa-foursquare {
color: $foursquare-color;
}
.fa-github,
.fa-github-alt,
.fa-github-square {
color: $github-color;
}
.fa-google-plus,
.fa-google-plus-square {
color: $google-plus-color;
}
.fa-instagram {
color: $instagram-color;
}
.fa-lastfm,
.fa-lastfm-square {
color: $lastfm-color;
}
.fa-linkedin,
.fa-linkedin-square {
color: $linkedin-color;
}
.fa-pinterest,
.fa-pinterest-p,
.fa-pinterest-square {
color: $pinterest-color;
}
.fa-rss,
.fa-rss-square {
color: $rss-color;
}
.fa-soundcloud {
color: $soundcloud-color;
}
.fa-stack-exchange,
.fa-stack-overflow {
color: $stackoverflow-color;
}
.fa-tumblr,
.fa-tumblr-square {
color: $tumblr-color;
}
.fa-twitter,
.fa-twitter-square {
color: $twitter-color;
}
.fa-vimeo,
.fa-vimeo-square {
color: $vimeo-color;
}
.fa-vine {
color: $vine-color;
}
.fa-youtube,
.fa-youtube-square,
.fa-youtube-play {
color: $youtube-color;
}
.fa-xing,
.fa-xing-square {
color: $xing-color;
}
}
/*
Navicons
========================================================================== */
.navicon {
position: relative;
width: $navicon-width;
height: $navicon-height;
background: #fff;
margin: auto;
transition: 0.3s;
&:before,
&:after {
content: "";
position: absolute;
left: 0;
width: $navicon-width;
height: $navicon-height;
background: #fff;
transition: 0.3s;
}
&:before {
top: (-2 * $navicon-height);
}
&:after {
bottom: (-2 * $navicon-height);
}
}
.close .navicon {
// hide the middle line
background: transparent;
// overlay the lines by setting both their top values to 0
&:before, &:after{
transform-origin: 50% 50%;
top: 0;
width: $navicon-width;
}
// rotate the lines to form the x shape
&:before{
transform: rotate3d(0,0,1,45deg);
}
&:after{
transform: rotate3d(0,0,1,-45deg);
}
}
/*
Sticky, fixed to top content
========================================================================== */
.sticky {
@include breakpoint($large) {
@include clearfix();
position: -webkit-sticky;
position: sticky;
top: 2em;
> * {
display: block;
}
}
}
/*
Wells
========================================================================== */
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: $border-radius;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
/*
Footnotes
========================================================================== */
.footnote {
color: mix(#fff, $gray, 25%);
text-decoration: none;
}
.footnotes {
color: mix(#fff, $gray, 25%);
ol, li, p {
margin-bottom: 0;
font-size: $type-size-6;
}
}
a.reversefootnote {
color: $gray;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
+147
View File
@@ -0,0 +1,147 @@
/* ==========================================================================
Variables
========================================================================== */
/*
Typography
========================================================================== */
$doc-font-size : 16;
/* paragraph indention */
$paragraph-indent : false; // true, false (default)
$indent-var : 1.3em;
/* system typefaces */
$serif : Georgia, Times, serif;
$sans-serif : -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
$monospace : Monaco, Consolas, "Lucida Console", monospace;
/* sans serif typefaces */
$sans-serif-narrow : $sans-serif;
$helvetica : Helvetica, "Helvetica Neue", Arial, sans-serif;
/* serif typefaces */
$georgia : Georgia, serif;
$times : Times, serif;
$bodoni : "Bodoni MT", serif;
$calisto : "Calisto MT", serif;
$garamond : Garamond, serif;
$global-font-family : $sans-serif;
$header-font-family : $sans-serif;
$caption-font-family : $serif;
/* type scale */
$type-size-1 : 2.441em; // ~39.056px
$type-size-2 : 1.953em; // ~31.248px
$type-size-3 : 1.563em; // ~25.008px
$type-size-4 : 1.25em; // ~20px
$type-size-5 : 1em; // ~16px
$type-size-6 : 0.75em; // ~12px
$type-size-7 : 0.6875em; // ~11px
$type-size-8 : 0.625em; // ~10px
/*
Colors
========================================================================== */
$gray : #7a8288;
$dark-gray : mix(#000, $gray, 40%);
$darker-gray : mix(#000, $gray, 60%);
$light-gray : mix(#fff, $gray, 50%);
$lighter-gray : mix(#fff, $gray, 90%);
$body-color : #fff;
$background-color : #fff;
$code-background-color : #fafafa;
$code-background-color-dark : $light-gray;
$text-color : $dark-gray;
$border-color : $lighter-gray;
$primary-color : #7a8288;
$success-color : #62c462;
$warning-color : #f89406;
$danger-color : #ee5f5b;
$info-color : #52adc8;
/* brands */
$behance-color : #1769FF;
$dribbble-color : #ea4c89;
$facebook-color : #3b5998;
$flickr-color : #ff0084;
$foursquare-color : #0072b1;
$github-color : #171516;
$google-plus-color : #dd4b39;
$instagram-color : #517fa4;
$lastfm-color : #d51007;
$linkedin-color : #007bb6;
$pinterest-color : #cb2027;
$rss-color : #fa9b39;
$soundcloud-color : #ff3300;
$stackoverflow-color : #fe7a15;
$tumblr-color : #32506d;
$twitter-color : #55acee;
$vimeo-color : #1ab7ea;
$vine-color : #00bf8f;
$youtube-color : #bb0000;
$xing-color : #006567;
/* links */
$link-color : $info-color;
$link-color-hover : mix(#000, $link-color, 25%);
$link-color-visited : mix(#fff, $link-color, 25%);
$masthead-link-color : $primary-color;
$masthead-link-color-hover : mix(#000, $primary-color, 25%);
/*
Breakpoints
========================================================================== */
@include breakpoint-set("to ems", true);
$small : 600px;
$medium : 768px;
$medium-wide : 900px;
$large : 1024px;
$x-large : 1280px;
/*
Grid
========================================================================== */
$right-sidebar-width-narrow : 200px;
$right-sidebar-width : 300px;
$right-sidebar-width-wide : 400px;
$susy: (
columns: 12,
// column-width: 90px,
gutters: 1/4,
math: fluid,
output: float,
gutter-position: after,
container: $large,
global-box-sizing: border-box,
// debug: (
// image: show,
// color: blue,
// output: overlay,
// toggle: top right,
// ),
);
/*
Other
========================================================================== */
$border-radius : 4px;
$box-shadow : 0 1px 1px rgba(0, 0, 0, 0.125);
$navicon-width : 28px;
$navicon-height : 4px;
$global-transition : all 0.2s ease-in-out;
+36
View File
@@ -0,0 +1,36 @@
/*
* Minimal Mistakes Jekyll Theme
*
* - Michael Rose
* - mademistakes.com
* - https://twitter.com/mmistakes
*
*/
@import "vendor/breakpoint/breakpoint"; // media query mixins
@import "variables";
@import "mixins";
@import "vendor/susy/susy";
@import "reset";
@import "base";
@import "utilities";
@import "animations";
@import "tables";
@import "buttons";
@import "notices";
@import "masthead";
@import "navigation";
@import "footer";
@import "syntax";
@import "forms";
@import "page";
@import "archive";
@import "sidebar";
@import "vendor/font-awesome/font-awesome";
@import "vendor/magnific-popup/magnific-popup";
@import "print";
+114
View File
@@ -0,0 +1,114 @@
//////////////////////////////
// Default Variables
//////////////////////////////
$Breakpoint-Settings: (
'default media': all,
'default feature': min-width,
'default pair': width,
'force all media type': false,
'to ems': false,
'transform resolutions': true,
'no queries': false,
'no query fallbacks': false,
'base font size': 16px,
'legacy syntax': false
);
$breakpoint: () !default;
//////////////////////////////
// Imports
//////////////////////////////
@import "settings";
@import "context";
@import "helpers";
@import "parsers";
@import "no-query";
@import "respond-to";
@import "legacy-settings";
//////////////////////////////
// Breakpoint Mixin
//////////////////////////////
@mixin breakpoint($query, $no-query: false) {
@include legacy-settings-warning;
// Reset contexts
@include private-breakpoint-reset-contexts();
$breakpoint: breakpoint($query, false);
$query-string: map-get($breakpoint, 'query');
$query-fallback: map-get($breakpoint, 'fallback');
$private-breakpoint-context-holder: map-get($breakpoint, 'context holder') !global;
$private-breakpoint-query-count: map-get($breakpoint, 'query count') !global;
// Allow for an as-needed override or usage of no query fallback.
@if $no-query != false {
$query-fallback: $no-query;
}
@if $query-fallback != false {
$context-setter: private-breakpoint-set-context('no-query', $query-fallback);
}
// Print Out Query String
@if not breakpoint-get('no queries') {
@media #{$query-string} {
@content;
}
}
@if breakpoint-get('no query fallbacks') != false or breakpoint-get('no queries') == true {
$type: type-of(breakpoint-get('no query fallbacks'));
$print: false;
@if ($type == 'bool') {
$print: true;
}
@else if ($type == 'string') {
@if $query-fallback == breakpoint-get('no query fallbacks') {
$print: true;
}
}
@else if ($type == 'list') {
@each $wrapper in breakpoint-get('no query fallbacks') {
@if $query-fallback == $wrapper {
$print: true;
}
}
}
// Write Fallback
@if ($query-fallback != false) and ($print == true) {
$type-fallback: type-of($query-fallback);
@if ($type-fallback != 'bool') {
#{$query-fallback} & {
@content;
}
}
@else {
@content;
}
}
}
@include private-breakpoint-reset-contexts();
}
@mixin mq($query, $no-query: false) {
@include breakpoint($query, $no-query) {
@content;
}
}
+95
View File
@@ -0,0 +1,95 @@
//////////////////////////////
// Private Breakpoint Variables
//////////////////////////////
$private-breakpoint-context-holder: ();
$private-breakpoint-query-count: 0 !default;
//////////////////////////////
// Breakpoint Has Context
// Returns whether or not you are inside a Breakpoint query
//////////////////////////////
@function breakpoint-has-context() {
@if length($private-breakpoint-query-count) {
@return true;
}
@else {
@return false;
}
}
//////////////////////////////
// Breakpoint Get Context
// $feature: Input feature to get it's current MQ context. Returns false if no context
//////////////////////////////
@function breakpoint-get-context($feature) {
@if map-has-key($private-breakpoint-context-holder, $feature) {
$get: map-get($private-breakpoint-context-holder, $feature);
// Special handling of no-query from get side so /false/ prepends aren't returned
@if $feature == 'no-query' {
@if type-of($get) == 'list' and length($get) > 1 and nth($get, 1) == false {
$get: nth($get, length($get));
}
}
@return $get;
}
@else {
@if breakpoint-has-context() and $feature == 'media' {
@return breakpoint-get('default media');
}
@else {
@return false;
}
}
}
//////////////////////////////
// Private function to set context
//////////////////////////////
@function private-breakpoint-set-context($feature, $value) {
@if $value == 'monochrome' {
$feature: 'monochrome';
}
$current: map-get($private-breakpoint-context-holder, $feature);
@if $current and length($current) == $private-breakpoint-query-count {
@warn "You have already queried against `#{$feature}`. Unexpected things may happen if you query against the same feature more than once in the same `and` query. Breakpoint is overwriting the current context with `#{$value}`";
}
@if not map-has-key($private-breakpoint-context-holder, $feature) {
$v-holder: ();
@for $i from 1 to $private-breakpoint-query-count {
@if $feature == 'media' {
$v-holder: append($v-holder, breakpoint-get('default media'));
}
@else {
$v-holder: append($v-holder, false);
}
}
$v-holder: append($v-holder, $value);
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global;
}
@else {
$v-holder: map-get($private-breakpoint-context-holder, $feature);
$length: length($v-holder);
@for $i from $length to $private-breakpoint-query-count - 1 {
@if $feature == 'media' {
$v-holder: append($v-holder, breakpoint-get('default media'));
}
@else {
$v-holder: append($v-holder, false);
}
}
$v-holder: append($v-holder, $value);
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global;
}
@return true;
}
//////////////////////////////
// Private function to reset context
//////////////////////////////
@mixin private-breakpoint-reset-contexts {
$private-breakpoint-context-holder: () !global;
$private-breakpoint-query-count: 0 !global;
}
+151
View File
@@ -0,0 +1,151 @@
//////////////////////////////
// Converts the input value to Base EMs
//////////////////////////////
@function breakpoint-to-base-em($value) {
$value-unit: unit($value);
// Will convert relative EMs into root EMs.
@if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' {
$base-unit: unit(breakpoint-get('base font size'));
@if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' {
@return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em;
}
@else {
@warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!';
@return false;
}
}
@else {
@return base-conversion($value);
}
}
@function base-conversion($value) {
$unit: unit($value);
@if $unit == 'px' {
@return $value / 16px * 1em;
}
@else if $unit == '%' {
@return $value / 100% * 1em;
}
@else if $unit == 'em' {
@return $value;
}
@else if $unit == 'pt' {
@return $value / 12pt * 1em;
}
@else {
@return $value;
// @warn 'Everything is terrible! What have you done?!';
}
}
//////////////////////////////
// Returns whether the feature can have a min/max pair
//////////////////////////////
$breakpoint-min-max-features: 'color',
'color-index',
'aspect-ratio',
'device-aspect-ratio',
'device-height',
'device-width',
'height',
'monochrome',
'resolution',
'width';
@function breakpoint-min-max($feature) {
@each $item in $breakpoint-min-max-features {
@if $feature == $item {
@return true;
}
}
@return false;
}
//////////////////////////////
// Returns whether the feature can have a string value
//////////////////////////////
$breakpoint-string-features: 'orientation',
'scan',
'color',
'aspect-ratio',
'device-aspect-ratio',
'pointer',
'luminosity';
@function breakpoint-string-value($feature) {
@each $item in $breakpoint-string-features {
@if breakpoint-min-max($item) {
@if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' {
@return true;
}
}
@else if $feature == $item {
@return true;
}
}
@return false;
}
//////////////////////////////
// Returns whether the feature is a media type
//////////////////////////////
$breakpoint-media-types: 'all',
'braille',
'embossed',
'handheld',
'print',
'projection',
'screen',
'speech',
'tty',
'tv';
@function breakpoint-is-media($feature) {
@each $media in $breakpoint-media-types {
@if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') {
@return true;
}
}
@return false;
}
//////////////////////////////
// Returns whether the feature can stand alone
//////////////////////////////
$breakpoint-single-string-features: 'color',
'color-index',
'grid',
'monochrome';
@function breakpoint-single-string($feature) {
@each $item in $breakpoint-single-string-features {
@if $feature == $item {
@return true;
}
}
@return false;
}
//////////////////////////////
// Returns whether the feature
//////////////////////////////
@function breakpoint-is-resolution($feature) {
$resolutions: 'device-pixel-ratio', 'dpr';
@if breakpoint-get('transform resolutions') {
$resolutions: append($resolutions, 'resolution');
}
@each $reso in $resolutions {
@if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') {
@return true;
}
}
@return false;
}
+50
View File
@@ -0,0 +1,50 @@
@mixin legacy-settings-warning {
$legacyVars: (
'default-media': 'default media',
'default-feature': 'default feature',
'force-media-all': 'force all media type',
'to-ems': 'to ems',
'resolutions': 'transform resolutions',
'no-queries': 'no queries',
'no-query-fallbacks': 'no query fallbacks',
'base-font-size': 'base font size',
'legacy-syntax': 'legacy syntax'
);
@each $legacy, $new in $legacyVars {
@if global-variable-exists('breakpoint-' + $legacy) {
@warn "In order to avoid variable namspace collisions, we have updated the way to change settings for Breakpoint. Please change all instances of `$breakpoint-#{$legacy}: {{setting}}` to `@include breakpoint-set('#{$new}', {{setting}})`. Variable settings, as well as this warning will be deprecated in a future release."
}
};
//////////////////////////////
// Hand correct each setting
//////////////////////////////
@if global-variable-exists('breakpoint-default-media') and $breakpoint-default-media != breakpoint-get('default media') {
@include breakpoint-set('default media', $breakpoint-default-media);
}
@if global-variable-exists('breakpoint-default-feature') and $breakpoint-default-feature != breakpoint-get('default feature') {
@include breakpoint-set('default feature', $breakpoint-default-feature);
}
@if global-variable-exists('breakpoint-force-media-all') and $breakpoint-force-media-all != breakpoint-get('force all media type') {
@include breakpoint-set('force all media type', $breakpoint-force-media-all);
}
@if global-variable-exists('breakpoint-to-ems') and $breakpoint-to-ems != breakpoint-get('to ems') {
@include breakpoint-set('to ems', $breakpoint-to-ems);
}
@if global-variable-exists('breakpoint-resolutions') and $breakpoint-resolutions != breakpoint-get('transform resolutions') {
@include breakpoint-set('transform resolutions', $breakpoint-resolutions);
}
@if global-variable-exists('breakpoint-no-queries') and $breakpoint-no-queries != breakpoint-get('no queries') {
@include breakpoint-set('no queries', $breakpoint-no-queries);
}
@if global-variable-exists('breakpoint-no-query-fallbacks') and $breakpoint-no-query-fallbacks != breakpoint-get('no query fallbacks') {
@include breakpoint-set('no query fallbacks', $breakpoint-no-query-fallbacks);
}
@if global-variable-exists('breakpoint-base-font-size') and $breakpoint-base-font-size != breakpoint-get('base font size') {
@include breakpoint-set('base font size', $breakpoint-base-font-size);
}
@if global-variable-exists('breakpoint-legacy-syntax') and $breakpoint-legacy-syntax != breakpoint-get('legacy syntax') {
@include breakpoint-set('legacy syntax', $breakpoint-legacy-syntax);
}
}
+15
View File
@@ -0,0 +1,15 @@
@function breakpoint-no-query($query) {
@if type-of($query) == 'list' {
$keyword: nth($query, 1);
@if type-of($keyword) == 'string' and ($keyword == 'no-query' or $keyword == 'no query' or $keyword == 'fallback') {
@return nth($query, 2);
}
@else {
@return false;
}
}
@else {
@return false;
}
}
+215
View File
@@ -0,0 +1,215 @@
//////////////////////////////
// Import Parser Pieces
//////////////////////////////
@import "parsers/query";
@import "parsers/single";
@import "parsers/double";
@import "parsers/triple";
@import "parsers/resolution";
$Memo-Exists: function-exists(memo-get) and function-exists(memo-set);
//////////////////////////////
// Breakpoint Function
//////////////////////////////
@function breakpoint($query, $contexts...) {
$run: true;
$return: ();
// Grab the Memo Output if Memoization can be a thing
@if $Memo-Exists {
$return: memo-get(breakpoint, breakpoint $query $contexts);
@if $return != null {
$run: false;
}
}
@if not $Memo-Exists or $run {
// Internal Variables
$query-string: '';
$query-fallback: false;
$return: ();
// Reserve Global Private Breakpoint Context
$holder-context: $private-breakpoint-context-holder;
$holder-query-count: $private-breakpoint-query-count;
// Reset Global Private Breakpoint Context
$private-breakpoint-context-holder: () !global;
$private-breakpoint-query-count: 0 !global;
// Test to see if it's a comma-separated list
$or-list: if(list-separator($query) == 'comma', true, false);
@if ($or-list == false and breakpoint-get('legacy syntax') == false) {
$query-string: breakpoint-parse($query);
}
@else {
$length: length($query);
$last: nth($query, $length);
$query-fallback: breakpoint-no-query($last);
@if ($query-fallback != false) {
$length: $length - 1;
}
@if (breakpoint-get('legacy syntax') == true) {
$mq: ();
@for $i from 1 through $length {
$mq: append($mq, nth($query, $i), comma);
}
$query-string: breakpoint-parse($mq);
}
@else {
$query-string: '';
@for $i from 1 through $length {
$query-string: $query-string + if($i == 1, '', ', ') + breakpoint-parse(nth($query, $i));
}
}
}
$return: ('query': $query-string,
'fallback': $query-fallback,
'context holder': $private-breakpoint-context-holder,
'query count': $private-breakpoint-query-count
);
@if length($contexts) > 0 and nth($contexts, 1) != false {
@if $query-fallback != false {
$context-setter: private-breakpoint-set-context('no-query', $query-fallback);
}
$context-map: ();
@each $context in $contexts {
$context-map: map-merge($context-map, ($context: breakpoint-get-context($context)));
}
$return: map-merge($return, (context: $context-map));
}
// Reset Global Private Breakpoint Context
$private-breakpoint-context-holder: () !global;
$private-breakpoint-query-count: 0 !global;
@if $Memo-Exists {
$holder: memo-set(breakpoint, breakpoint $query $contexts, $return);
}
}
@return $return;
}
//////////////////////////////
// General Breakpoint Parser
//////////////////////////////
@function breakpoint-parse($query) {
// Increase number of 'and' queries
$private-breakpoint-query-count: $private-breakpoint-query-count + 1 !global;
// Set up Media Type
$query-print: '';
$force-all: ((breakpoint-get('force all media type') == true) and (breakpoint-get('default media') == 'all'));
$empty-media: true;
@if ($force-all == true) or (breakpoint-get('default media') != 'all') {
// Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all)
$query-print: breakpoint-get('default media');
$empty-media: false;
}
$query-resolution: false;
$query-holder: breakpoint-parse-query($query);
// Loop over each parsed out query and write it to $query-print
$first: true;
@each $feature in $query-holder {
$length: length($feature);
// Parse a single feature
@if ($length == 1) {
// Feature is currently a list, grab the actual value
$feature: nth($feature, 1);
// Media Type must by convention be the first item, so it's safe to flat override $query-print, which right now should only be the default media type
@if (breakpoint-is-media($feature)) {
@if ($force-all == true) or ($feature != 'all') {
// Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all)
$query-print: $feature;
$empty-media: false;
// Set Context
$context-setter: private-breakpoint-set-context(media, $query-print);
}
}
@else {
$parsed: breakpoint-parse-single($feature, $empty-media, $first);
$query-print: '#{$query-print} #{$parsed}';
$first: false;
}
}
// Parse a double feature
@else if ($length == 2) {
@if (breakpoint-is-resolution($feature) != false) {
$query-resolution: $feature;
}
@else {
$parsed: null;
// If it's a string/number pair,
// we check to see if one is a single-string value,
// then we parse it as a normal double
$alpha: nth($feature, 1);
$beta: nth($feature, 2);
@if breakpoint-single-string($alpha) or breakpoint-single-string($beta) {
$parsed: breakpoint-parse-single($alpha, $empty-media, $first);
$query-print: '#{$query-print} #{$parsed}';
$first: false;
$parsed: breakpoint-parse-single($beta, $empty-media, $first);
$query-print: '#{$query-print} #{$parsed}';
}
@else {
$parsed: breakpoint-parse-double($feature, $empty-media, $first);
$query-print: '#{$query-print} #{$parsed}';
$first: false;
}
}
}
// Parse a triple feature
@else if ($length == 3) {
$parsed: breakpoint-parse-triple($feature, $empty-media, $first);
$query-print: '#{$query-print} #{$parsed}';
$first: false;
}
}
@if ($query-resolution != false) {
$query-print: breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first);
}
// Loop through each feature that's been detected so far and append 'false' to the the value list to increment their counters
@each $f, $v in $private-breakpoint-context-holder {
$v-holder: $v;
$length: length($v-holder);
@if length($v-holder) < $private-breakpoint-query-count {
@for $i from $length to $private-breakpoint-query-count {
@if $f == 'media' {
$v-holder: append($v-holder, breakpoint-get('default media'));
}
@else {
$v-holder: append($v-holder, false);
}
}
}
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($f: $v-holder)) !global;
}
@return $query-print;
}

Some files were not shown because too many files have changed in this diff Show More