Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
931eedaefa | ||
|
|
f39b15a362 | ||
|
|
19f6d32745 | ||
|
|
7e8700df75 | ||
|
|
2a5cda62b1 | ||
|
|
cc3b21bc86 | ||
|
|
7978376df0 | ||
|
|
1ca7a00d37 | ||
|
|
a4fceb8ac1 | ||
|
|
b291021c2a | ||
|
|
423ba0a18f | ||
|
|
079b3718cb | ||
|
|
f8bb3422ba | ||
|
|
ea5d8fc0b2 | ||
|
|
4196f59c8e | ||
|
|
c4e1cd2e75 | ||
|
|
b6fd84ede1 | ||
|
|
5eefba1bf0 | ||
|
|
95a8c96ce0 | ||
|
|
4a24be73b8 | ||
|
|
6ca184b453 | ||
|
|
a96df5197d | ||
|
|
6d9db31ef0 | ||
|
|
4172237709 | ||
|
|
c36d305fa9 | ||
|
|
41250e7f35 | ||
|
|
cba9e9fbfd | ||
|
|
e09753fa0a | ||
|
|
b4a38ce912 | ||
|
|
3bc95b0343 | ||
|
|
257cc4a7c4 | ||
|
|
47f537b40d | ||
|
|
d535c5d5f6 | ||
|
|
c050f1322d | ||
|
|
d4d716efa3 | ||
|
|
50166ce705 | ||
|
|
d6be62720d | ||
|
|
cf9a908697 | ||
|
|
b111ec17a9 | ||
|
|
9e1a8ec45b | ||
|
|
fc852d3d47 | ||
|
|
7ab03b7192 | ||
|
|
d980884d59 | ||
|
|
061103112e | ||
|
|
e05159c290 | ||
|
|
9529319d78 | ||
|
|
5f3f142c45 | ||
|
|
d9a5efc666 | ||
|
|
61a6ac509a | ||
|
|
869a0e5b73 | ||
|
|
8cc4e0bf48 | ||
|
|
7afdd57c8a | ||
|
|
866fb17d9e | ||
|
|
4b2487722c | ||
|
|
d464128e65 | ||
|
|
f306f11b3f | ||
|
|
181b90e1fb | ||
|
|
fc8ca433c5 | ||
|
|
52f245152d | ||
|
|
9af1e8d548 | ||
|
|
838c9b4788 | ||
|
|
8974732330 | ||
|
|
66db4b92b9 | ||
|
|
fce0c55f2b | ||
|
|
ab09e1bb43 | ||
|
|
cfbec6b90f | ||
|
|
ac929052dd | ||
|
|
6030450ac1 | ||
|
|
7fed4e8eb7 | ||
|
|
5ed73b3f16 | ||
|
|
bf2ac18bcd | ||
|
|
93119a084a | ||
|
|
705c93a08c | ||
|
|
0761cac562 | ||
|
|
05dafce68f | ||
|
|
aeebfaa87c | ||
|
|
3282387b42 | ||
|
|
8d637e0ae3 | ||
|
|
e122e155cc | ||
|
|
ea985a06ec | ||
|
|
3b15297045 | ||
|
|
ab6c416e7e | ||
|
|
9d9e5b7a97 | ||
|
|
2996f08852 | ||
|
|
902f26edb8 | ||
|
|
2ae600eb19 | ||
|
|
370c422a4d | ||
|
|
1f5a89fb9d | ||
|
|
f3fbe28e75 | ||
|
|
4736eb1da0 | ||
|
|
cf604ec33b | ||
|
|
cc2d8ea71d | ||
|
|
a5ca35337b | ||
|
|
3dde1cc729 | ||
|
|
ea6740a5da | ||
|
|
33316e3d25 | ||
|
|
6112dba29e | ||
|
|
fbfc2f9eef | ||
|
|
a3c6a6191f | ||
|
|
d81af1f103 | ||
|
|
e194bc0c7e | ||
|
|
c0cd6d0058 | ||
|
|
2b366ab4e1 | ||
|
|
37aad5d476 | ||
|
|
b8afafb3a2 | ||
|
|
6beaf7099c |
+10
-6
@@ -4,14 +4,18 @@ daysUntilStale: 30
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- "Status: Accepted"
|
||||
- "Status: Under Consideration"
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: "Status: Stale"
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
markComment: |
|
||||
This issue has been automatically marked as stale because it has not had recent activity.
|
||||
|
||||
If this is a **bug** and you can still reproduce this error on the `master` branch, please reply with any additional information you have about it in order to keep the issue open.
|
||||
|
||||
If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.
|
||||
|
||||
This issue will automatically be closed in 7 days if no further activity occurs. Thank you for all your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
|
||||
+41
-1
@@ -1,3 +1,43 @@
|
||||
## [4.7.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.7.1)
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Add search layout powered by [Lunr](https://lunrjs.com/). [#1353](https://github.com/mmistakes/minimal-mistakes/pull/1353)
|
||||
- Use [jekyll-remote-theme](https://github.com/benbalter/jekyll-remote-theme) for demo site. [#1339](https://github.com/mmistakes/minimal-mistakes/issues/1339)
|
||||
- Add note about WordPress to Staticman comment migration tool in documentation. [#1346](https://github.com/mmistakes/minimal-mistakes/issues/1346)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Change `http` to `https` for Jekyll and Browserhappy links. [#1342](https://github.com/mmistakes/minimal-mistakes/pull/1342) [#1343](https://github.com/mmistakes/minimal-mistakes/pull/1343)
|
||||
- Change `http` author profile links to `https` when supported. [#1349](https://github.com/mmistakes/minimal-mistakes/pull/1349)
|
||||
- Fix broken SCSS partial links in layouts documentation. [#1351](https://github.com/mmistakes/minimal-mistakes/issues/1351)
|
||||
|
||||
## [4.7.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.7.0)
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Add `alt` description to avatar image. [#1226](https://github.com/mmistakes/minimal-mistakes/pull/1226)
|
||||
- Clarify documentation about which `assets` folders and files to remove when migrating to the gem version of the theme. [#1268](https://github.com/mmistakes/minimal-mistakes/issues/1268)
|
||||
- Add note about Staticman GitHub compatibility. [#1273](https://github.com/mmistakes/minimal-mistakes/issues/1273)
|
||||
- Add missing Brazilian Portuguese translations to `ui-text.yml`. [#1278](https://github.com/mmistakes/minimal-mistakes/pull/1278)
|
||||
- Update font stack documentation. [#1292](https://github.com/mmistakes/minimal-mistakes/pull/1292)
|
||||
- Improve accessibility of navigation menu button. [#1099](https://github.com/mmistakes/minimal-mistakes/issues/1099)
|
||||
- Add Naver Webmaster Tools verification. [#1286](https://github.com/mmistakes/minimal-mistakes/pull/1286)
|
||||
- Add support for Staticman v2 endpoint and reCAPTCHA.
|
||||
- Add Polish localized UI text strings. [#1304](https://github.com/mmistakes/minimal-mistakes/pull/1304)
|
||||
- Add toggleable table of contents via YAML Front Matter. Note: `toc` helper include will be deprecated in next major version. [#1222](https://github.com/mmistakes/minimal-mistakes/issues/1222)
|
||||
- Refactor seo.html include to DRY-up page image handling.
|
||||
- Add support for setting what image is used by OpenGraph and Twitter via `page.header.og_image`. [#1316](https://github.com/mmistakes/minimal-mistakes/issues/1316)
|
||||
- Fix the spelling of some product names in the author profile. [#1328](https://github.com/mmistakes/minimal-mistakes/pull/1328)
|
||||
- Add `aqua`, `neon`, and `plum` skins. [#1336](https://github.com/mmistakes/minimal-mistakes/pull/1336)
|
||||
- Update **jekyll-toc** with heading classes fix. [#1337](https://github.com/mmistakes/minimal-mistakes/pull/1337)
|
||||
- Remove `+` from Google+ author link to allow non-vanity URLs. [#1319](https://github.com/mmistakes/minimal-mistakes/pull/1319)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix system font rendering in Chrome on macOS/OS X. [#1290](https://github.com/mmistakes/minimal-mistakes/pull/1290)
|
||||
- Fix extra padding in syntax highlighted code blocks due to Rouge 2 adding `<div class="highlight"></div>` to markup.
|
||||
|
||||
## [4.6.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.6.0)
|
||||
|
||||
### Enhancements
|
||||
@@ -890,4 +930,4 @@
|
||||
|
||||
- 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)
|
||||
## [1.0.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/v1.0.1)
|
||||
|
||||
+39
-1
@@ -18,4 +18,42 @@ 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.
|
||||
SOFTWARE.
|
||||
|
||||
Minimal Mistakes incorporates icons from [The Noun Project](https://thenounproject.com/)
|
||||
creators Garrett Knoll, Arthur Shlain, and tracy tam.
|
||||
Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
|
||||
|
||||
Minimal Mistakes incorporates [Font Awesome](http://fontawesome.io/),
|
||||
Copyright (c) 2017 Dave Gandy.
|
||||
Font Awesome is distributed under the terms of the [SIL OFL 1.1](http://scripts.sil.org/OFL)
|
||||
and [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates photographs from [Unsplash](https://unsplash.com).
|
||||
|
||||
Minimal Mistakes incorporates [Susy](http://susy.oddbird.net/),
|
||||
Copyright (c) 2017, Miriam Eric Suzanne.
|
||||
Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
|
||||
|
||||
Minimal Mistakes incorporates [Breakpoint](http://breakpoint-sass.com/).
|
||||
Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
||||
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
|
||||
|
||||
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
||||
Magnific Popup is distributed under the terms of the MIT License.
|
||||
|
||||
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
|
||||
Copyright (c) 2017 Karl Swedberg.
|
||||
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
|
||||
Copyright (c) 2015 Luke Jackson.
|
||||
GreedyNav.js is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [Jekyll Group-By-Array](https://github.com/mushishi78/jekyll-group-by-array),
|
||||
Copyright (c) 2015 Max White <mushishi78@gmail.com>.
|
||||
Jekyll Group-By-Array is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
@@ -4,9 +4,7 @@
|
||||
|
||||
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:.
|
||||
|
||||
See what's new in the [CHANGELOG](CHANGELOG.md).
|
||||
|
||||
:sparkles: Minimal Mistakes is now available as a [Ruby gem](https://rubygems.org/gems/minimal-mistakes-jekyll). Consult the [Quick-Start Guide](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/) and [this blog post](https://mmistakes.github.io/minimal-mistakes/jekyll/gemified-theme-beta/) to learn how to upgrade.
|
||||
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md).
|
||||
|
||||
[![Minimal Mistakes live preview][2]][1]
|
||||
|
||||
@@ -17,15 +15,32 @@ See what's new in the [CHANGELOG](CHANGELOG.md).
|
||||
|
||||
## Notable Features
|
||||
|
||||
- "Gemified" for easier install/upgrading
|
||||
- Compatible with Jekyll 3.5 and GitHub Pages
|
||||
- Support for Jekyll's built-in Sass/SCSS preprocessor
|
||||
- Several responsive layout options (single, archive index, splash, and paginated home page)
|
||||
- SEO optimized with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data
|
||||
- Bundled as a "theme gem" for easier install/upgrading.
|
||||
- Compatible with GitHub Pages.
|
||||
- Support for Jekyll's built-in Sass/SCSS preprocessor.
|
||||
- Nine different skins (color variations).
|
||||
- Several responsive layout options (single, archive index, search, splash, and paginated home page).
|
||||
- Optimized for search engines with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data
|
||||
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
||||
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman](https://staticman.net/), and custom).
|
||||
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
|
||||
- [Google Analytics](https://www.google.com/analytics/) support.
|
||||
- UI localized text in English (default), Brazilian Portuguese, Chinese, French, German, Italian, Korean, Nepali (Nepalese), Russian, Spanish, and Turkish
|
||||
- UI localized text in English (default), Brazilian Portuguese (Português brasileiro), Chinese, Danish, Dutch, French (Français), German (Deutsch), Greek, Indonesian, Italian (Italiano), Korean, Nepali (Nepalese), Polish, Russian, Spanish (Español), Swedish, Turkish (Türkçe), and Vietnamese.
|
||||
|
||||
## Skins (Color Variations)
|
||||
|
||||
This theme comes in nine different skins (including the default one).
|
||||
|
||||
| `air` | `contrast` | `dark` |
|
||||
| --- | --- | --- |
|
||||
|  |  |  |
|
||||
|
||||
| `dirt` | `mint` | `sunrise` |
|
||||
| --- | --- | --- |
|
||||
|  |  |  |
|
||||
|
||||
| `aqua` | `neon` | `plum` |
|
||||
| --- | --- | --- |
|
||||
|  |  |  |
|
||||
|
||||
## Demo Pages
|
||||
|
||||
@@ -50,34 +65,64 @@ Additional sample posts are available under [posts archive][year-archive] on the
|
||||
[tags-archive]: https://mmistakes.github.io/minimal-mistakes/tags/
|
||||
[year-archive]: https://mmistakes.github.io/minimal-mistakes/year-archive/
|
||||
|
||||
## Usage
|
||||
## Installation
|
||||
|
||||
For detailed instructions on how to configure, customize, add content, and more read the [theme's documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
|
||||
There are three ways to install the theme: as a Ruby gem (for self-hosted sites), as a Ruby gem + jekyll-remote-theme plugin (GitHub Pages hosted sites), or forking/directly copying all of the theme files into your project.
|
||||
|
||||
**Note:** Gem version of the theme requires Jekyll v3.3+ and is not currently supported on [GitHub Pages](https://pages.github.com/). You can still use the theme with GitHub Pages, you'll just need to install using the old "[repo fork method](https://mmistakes.github.io/minimal-mistakes/docs/installation/)".
|
||||
### Ruby Gem Method
|
||||
|
||||
## Quick Start
|
||||
1. Install the theme as a Ruby Gem by adding it to your `Gemfile` like so:
|
||||
|
||||
Add this line to your Jekyll site's `Gemfile`:
|
||||
```ruby
|
||||
gem "minimal-mistakes-jekyll"
|
||||
```
|
||||
|
||||
```ruby
|
||||
gem "minimal-mistakes-jekyll"
|
||||
```
|
||||
2. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
|
||||
|
||||
Add this line to your Jekyll site's `_config.yml` file:
|
||||
```bash
|
||||
bundle
|
||||
```
|
||||
|
||||
```yaml
|
||||
theme: minimal-mistakes-jekyll
|
||||
```
|
||||
3. Set the `theme` in your project's Jekyll `_config.yml` file:
|
||||
|
||||
Then run Bundler to install the theme gem and dependencies:
|
||||
|
||||
```bash
|
||||
bundle install
|
||||
```
|
||||
```yaml
|
||||
theme: minimal-mistakes-jekyll
|
||||
```
|
||||
|
||||
To update the theme run `bundle update`.
|
||||
|
||||
## GitHub Pages Compatible Methods
|
||||
|
||||
1. Create/replace the contents of your `Gemfile` with the following:
|
||||
|
||||
```ruby
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
gem "jekyll-remote-theme"
|
||||
```
|
||||
|
||||
2. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
|
||||
|
||||
```bash
|
||||
bundle
|
||||
```
|
||||
|
||||
3. Add `remote_theme: "mmistakes/minimal-mistakes"` to your `_config.yml` file.
|
||||
|
||||
4. Add `jekyll-remote-theme` to the `plugins` (previously gems) array in your `_config.yml` file:
|
||||
|
||||
```yaml
|
||||
plugins:
|
||||
- jekyll-remote-theme
|
||||
```
|
||||
|
||||
**Note:** [jekyll-remote-theme](https://github.com/benbalter/jekyll-remote-theme) is currently in beta on GitHub Pages. In my tests it works as advertised, with the occasional failure due to missing `_includes` and `_layouts` --- your results may vary.
|
||||
|
||||
## Usage
|
||||
|
||||
For detailed instructions on how to configure, customize, add/migrate content, and more read the [theme's documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
@@ -93,8 +138,8 @@ This goes for author sidebar links and "share button" additions -- I have no int
|
||||
When submitting a pull request:
|
||||
|
||||
1. Clone the repo.
|
||||
2. Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`) and describe the feature or fix.
|
||||
3. Open a pull request on GitHub.
|
||||
2. Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`).
|
||||
3. Open a pull request on GitHub and describe the feature or fix.
|
||||
|
||||
Theme documentation and demo pages can be found in the [`/docs`](docs) if submitting improvements, typo corrections, etc.
|
||||
|
||||
@@ -158,3 +203,45 @@ 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.
|
||||
|
||||
Minimal Mistakes incorporates icons from [The Noun Project](https://thenounproject.com/)
|
||||
creators Garrett Knoll, Arthur Shlain, and tracy tam.
|
||||
Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
|
||||
|
||||
Minimal Mistakes incorporates [Font Awesome](http://fontawesome.io/),
|
||||
Copyright (c) 2017 Dave Gandy.
|
||||
Font Awesome is distributed under the terms of the [SIL OFL 1.1](http://scripts.sil.org/OFL)
|
||||
and [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates photographs from [Unsplash](https://unsplash.com).
|
||||
|
||||
Minimal Mistakes incorporates [Susy](http://susy.oddbird.net/),
|
||||
Copyright (c) 2017, Miriam Eric Suzanne.
|
||||
Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
|
||||
|
||||
Minimal Mistakes incorporates [Breakpoint](http://breakpoint-sass.com/).
|
||||
Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
||||
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
|
||||
|
||||
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
||||
Magnific Popup is distributed under the terms of the MIT License.
|
||||
|
||||
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
|
||||
Copyright (c) 2017 Karl Swedberg.
|
||||
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
|
||||
Copyright (c) 2015 Luke Jackson.
|
||||
GreedyNav.js is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [Jekyll Group-By-Array](https://github.com/mushishi78/jekyll-group-by-array),
|
||||
Copyright (c) 2015 Max White <mushishi78@gmail.com>.
|
||||
Jekyll Group-By-Array is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [@allejo's Pure Liquid Jekyll Table of Contents](https://allejo.io/blog/a-jekyll-toc-in-liquid-only/),
|
||||
Copyright (c) 2017 Vladimir Jimenez.
|
||||
Pure Liquid Jekyll Table of Contents is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
+17
-13
@@ -5,7 +5,7 @@
|
||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||
# `jekyll serve`. If you change this file, please restart the server process.
|
||||
|
||||
minimal_mistakes_skin : "default" # "air", "contrast", "dark", "dirt", "mint", "sunrise"
|
||||
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||
|
||||
# Site Settings
|
||||
locale : "en"
|
||||
@@ -20,7 +20,7 @@ teaser : # path of fallback teaser image, e.g. "/assets/images
|
||||
# breadcrumbs : false # true, false (default)
|
||||
words_per_minute : 200
|
||||
comments:
|
||||
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "custom"
|
||||
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "staticman_v2" "custom"
|
||||
disqus:
|
||||
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
||||
discourse:
|
||||
@@ -31,21 +31,24 @@ comments:
|
||||
num_posts : # 5 (default)
|
||||
colorscheme : # "light" (default), "dark"
|
||||
staticman:
|
||||
allowedFields : ['name', 'email', 'url', 'message']
|
||||
branch : "master"
|
||||
commitMessage : "New comment."
|
||||
filename : comment-{@timestamp}
|
||||
format : "yml"
|
||||
moderation : true
|
||||
path : "docs/_data/comments/{options.slug}" # "/_data/comments/{options.slug}" (default)
|
||||
requiredFields : ['name', 'email', 'message']
|
||||
allowedFields : # ['name', 'email', 'url', 'message']
|
||||
branch : # "master"
|
||||
commitMessage : # "New comment."
|
||||
filename : # comment-{@timestamp}
|
||||
format : # "yml"
|
||||
moderation : # true
|
||||
path : # "/_data/comments/{options.slug}" (default)
|
||||
requiredFields : # ['name', 'email', 'message']
|
||||
transforms:
|
||||
email : "md5"
|
||||
email : # "md5"
|
||||
generatedFields:
|
||||
date:
|
||||
type : "date"
|
||||
type : # "date"
|
||||
options:
|
||||
format : "iso8601" # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
||||
format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
||||
reCaptcha:
|
||||
siteKey :
|
||||
secret :
|
||||
atom_feed:
|
||||
path : # blank (default) uses feed.xml
|
||||
|
||||
@@ -54,6 +57,7 @@ google_site_verification :
|
||||
bing_site_verification :
|
||||
alexa_site_verification :
|
||||
yandex_site_verification :
|
||||
naver-site-verification :
|
||||
|
||||
# Social Sharing
|
||||
twitter:
|
||||
|
||||
+64
-19
@@ -40,6 +40,8 @@ en: &DEFAULT_EN
|
||||
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
|
||||
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
|
||||
loading_label : "Loading..."
|
||||
search_placeholder_text : "Enter your search term..."
|
||||
results_found : "Result(s) found"
|
||||
en-US:
|
||||
<<: *DEFAULT_EN
|
||||
en-CA:
|
||||
@@ -186,7 +188,6 @@ tr-TR:
|
||||
<<: *DEFAULT_TR
|
||||
|
||||
# Portuguese
|
||||
# -----------------
|
||||
pt: &DEFAULT_PT
|
||||
page : "Página"
|
||||
pagination_previous : "Anterior"
|
||||
@@ -225,6 +226,9 @@ pt: &DEFAULT_PT
|
||||
comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado."
|
||||
comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente."
|
||||
loading_label : "A carregar..."
|
||||
pt-PT:
|
||||
<<: *DEFAULT_PT
|
||||
|
||||
# Brazilian Portuguese
|
||||
pt-BR:
|
||||
page : "Página"
|
||||
@@ -235,8 +239,8 @@ pt-BR:
|
||||
menu_label :
|
||||
toc_label : "Nesta página"
|
||||
ext_link_label : "Link direto"
|
||||
less_than : "meno que"
|
||||
minute_read : "minutos de leitura"
|
||||
less_than : "menos que"
|
||||
minute_read : "minuto(s) de leitura"
|
||||
share_on_label : "Compartilhe em"
|
||||
meta_label :
|
||||
tags_label : "Tags:"
|
||||
@@ -244,28 +248,26 @@ pt-BR:
|
||||
date_label : "Atualizado em:"
|
||||
comments_label : "Deixe um comentário"
|
||||
comments_title :
|
||||
more_label : "Aprenda Mais"
|
||||
related_label : "Você Talvez Goste Também"
|
||||
more_label : "Aprenda mais"
|
||||
related_label : "Talvez você goste também"
|
||||
follow_label : "Acompanhe em"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Feito com"
|
||||
website_label : "Site"
|
||||
email_label : "Email"
|
||||
recent_posts : "Postagens recentes"
|
||||
undefined_wpm : "Parâmetro indefinido em word_per_minute no _config.yml"
|
||||
comment_form_info :
|
||||
comment_form_comment_label :
|
||||
comment_form_md_info :
|
||||
comment_form_name_label :
|
||||
comment_form_email_label :
|
||||
comment_form_website_label :
|
||||
comment_btn_submit :
|
||||
comment_btn_submitted :
|
||||
comment_success_msg :
|
||||
comment_error_msg :
|
||||
loading_label :
|
||||
pt-PT:
|
||||
<<: *DEFAULT_PT
|
||||
undefined_wpm : "Parâmetro indefinido em words_per_minute no _config.yml"
|
||||
comment_form_info : "Seu email não será publicado. Os campos obrigatórios estão marcados"
|
||||
comment_form_comment_label : "Comentário"
|
||||
comment_form_md_info : "Markdown é suportado."
|
||||
comment_form_name_label : "Nome"
|
||||
comment_form_email_label : "Email"
|
||||
comment_form_website_label : "Site (opcional)"
|
||||
comment_btn_submit : "Enviar Comentário"
|
||||
comment_btn_submitted : "Enviado"
|
||||
comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado."
|
||||
comment_error_msg : "Desculpe, ocorreu um erro no envio. Por favor verifique se todos os campos obrigatórios foram preenchidos e tente novamente."
|
||||
loading_label : "Carregando..."
|
||||
|
||||
# Italian
|
||||
# -----------------
|
||||
@@ -883,6 +885,49 @@ da: &DEFAULT_DA
|
||||
da-DK:
|
||||
<<: *DEFAULT_DA
|
||||
|
||||
# Polish
|
||||
# ------
|
||||
pl: &DEFAULT_PL
|
||||
page : "Strona"
|
||||
pagination_previous : "Poprzednia"
|
||||
pagination_next : "Następna"
|
||||
breadcrumb_home_label : "Strona główna"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Przełącz menu"
|
||||
toc_label : "Spis treści"
|
||||
ext_link_label : "Link bezpośredni"
|
||||
less_than : "mniej niż"
|
||||
minute_read : "minut(y)"
|
||||
share_on_label : "Udostępnij"
|
||||
meta_label :
|
||||
tags_label : "Tagi:"
|
||||
categories_label : "Kategorie:"
|
||||
date_label : "Ostatnia aktualizacja:"
|
||||
comments_label : "Zostaw komentarz"
|
||||
comments_title : "Komentarze"
|
||||
more_label : "Dowiedz się więcej"
|
||||
related_label : "Także może Ci się spodobać"
|
||||
follow_label : "Śledź:"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Powstało dzięki"
|
||||
website_label : "Strona"
|
||||
email_label : "Email"
|
||||
recent_posts : "Najnowsze wpisy"
|
||||
undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml."
|
||||
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone."
|
||||
comment_form_comment_label : "Skomentuj"
|
||||
comment_form_md_info : "Markdown jest wspierany"
|
||||
comment_form_name_label : "Imię"
|
||||
comment_form_email_label : "Adres email"
|
||||
comment_form_website_label : "Strona www (opcjonalna)"
|
||||
comment_btn_submit : "Skomentuj"
|
||||
comment_btn_submitted : "Komentarz dodany"
|
||||
comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji."
|
||||
comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie."
|
||||
loading_label : "Trwa ładowanie strony..."
|
||||
da-PL:
|
||||
<<: *DEFAULT_PL
|
||||
|
||||
# Another locale
|
||||
# --------------
|
||||
#
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
{% if author.google_plus %}
|
||||
<li>
|
||||
<a href="https://plus.google.com/+{{ author.google_plus }}" itemprop="sameAs">
|
||||
<a href="https://plus.google.com/{{ author.google_plus }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+
|
||||
</a>
|
||||
</li>
|
||||
@@ -134,7 +134,7 @@
|
||||
{% if author.gitlab %}
|
||||
<li>
|
||||
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab
|
||||
<i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> GitLab
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
@@ -142,7 +142,7 @@
|
||||
{% if author.stackoverflow %}
|
||||
<li>
|
||||
<a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stackoverflow
|
||||
<i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stack Overflow
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
@@ -206,7 +206,7 @@
|
||||
{% if author.soundcloud %}
|
||||
<li>
|
||||
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i> Soundcloud
|
||||
<i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i> SoundCloud
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,3 +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]-->
|
||||
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
|
||||
<![endif]-->
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
|
||||
<div class="comment__avatar-wrapper">
|
||||
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80">
|
||||
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
|
||||
</div>
|
||||
<div class="comment__content-wrapper">
|
||||
<h3 class="comment__author" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
@@ -19,4 +19,4 @@
|
||||
</p>
|
||||
<div itemprop="text">{{ include.message | markdownify }}</div>
|
||||
</div>
|
||||
</article>
|
||||
</article>
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
{% 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 "staticman" %}
|
||||
{% include /comments-providers/staticman.html %}
|
||||
{% when "custom" %}
|
||||
{% include /comments-providers/custom.html %}
|
||||
{% endcase %}
|
||||
{% 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 "staticman" %}
|
||||
{% include /comments-providers/staticman.html %}
|
||||
{% when "staticman_v2" %}
|
||||
{% include /comments-providers/staticman_v2.html %}
|
||||
{% when "custom" %}
|
||||
{% include /comments-providers/custom.html %}
|
||||
{% endcase %}
|
||||
{% endif %}
|
||||
+162
-90
@@ -1,97 +1,169 @@
|
||||
<div class="page__comments">
|
||||
{% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %}
|
||||
{% case site.comments.provider %}
|
||||
{% when "discourse" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="discourse-comments"></section>
|
||||
{% when "disqus" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="disqus_thread"></section>
|
||||
{% when "facebook" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section class="fb-comments" data-href="{{ page.url | absolute_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" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
|
||||
<script>
|
||||
function initComment() {
|
||||
gapi.comments.render("g-comments", {
|
||||
href: "{{ page.url | absolute_url }}",
|
||||
width: "624",
|
||||
first_party_property: "BLOGGER",
|
||||
view_type: "FILTERED_POSTMOD"
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
|
||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
|
||||
{% when "staticman" %}
|
||||
<section id="static-comments">
|
||||
{% if site.repository and site.staticman.branch %}
|
||||
<!-- Start static comments -->
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
||||
{% case site.comments.provider %}
|
||||
{% when "discourse" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="discourse-comments"></section>
|
||||
{% when "disqus" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="disqus_thread"></section>
|
||||
{% when "facebook" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section class="fb-comments" data-href="{{ page.url | absolute_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" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
|
||||
<script>
|
||||
function initComment() {
|
||||
gapi.comments.render("g-comments", {
|
||||
href: "{{ page.url | absolute_url }}",
|
||||
width: "624",
|
||||
first_party_property: "BLOGGER",
|
||||
view_type: "FILTERED_POSTMOD"
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
|
||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
|
||||
{% when "staticman_v2" %}
|
||||
<section id="static-comments">
|
||||
{% if site.repository and site.staticman.branch %}
|
||||
<!-- Start static comments -->
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment[1].email %}
|
||||
{% assign name = comment[1].name %}
|
||||
{% assign url = comment[1].url %}
|
||||
{% assign date = comment[1].date %}
|
||||
{% assign message = comment[1].message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- End static comments -->
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment[1].email %}
|
||||
{% assign name = comment[1].name %}
|
||||
{% assign url = comment[1].url %}
|
||||
{% assign date = comment[1].date %}
|
||||
{% assign message = comment[1].message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- End static comments -->
|
||||
|
||||
<!-- Start new comment form -->
|
||||
<div class="page__comments-form">
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
||||
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
|
||||
<div class="form__spinner">
|
||||
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
|
||||
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||
</div>
|
||||
<!-- Start new comment form -->
|
||||
<div class="page__comments-form">
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
||||
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v2/entry/{{ site.repository }}/{{ site.staticman.branch }}/comments">
|
||||
<div class="form__spinner">
|
||||
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
|
||||
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
|
||||
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
|
||||
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
|
||||
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
|
||||
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
|
||||
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
|
||||
</fieldset>
|
||||
<fieldset class="hidden" style="display: none;">
|
||||
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
|
||||
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
|
||||
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
|
||||
</fieldset>
|
||||
<!-- Start comment form alert messaging -->
|
||||
<p class="hidden js-notice">
|
||||
<strong class="js-notice-text"></strong>
|
||||
</p>
|
||||
<!-- End comment form alert messaging -->
|
||||
<fieldset>
|
||||
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End new comment form -->
|
||||
{% endif %}
|
||||
</section>
|
||||
{% when "custom" %}
|
||||
<section id="custom-comments"></section>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
|
||||
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
|
||||
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
|
||||
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
|
||||
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
|
||||
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
|
||||
</div>
|
||||
<div class="form-group hidden" style="display: none;">
|
||||
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
|
||||
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
|
||||
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
|
||||
<input type="hidden" name="options[reCaptcha][siteKey]" value="{{ site.reCaptcha.siteKey }}">
|
||||
<input type="hidden" name="options[reCaptcha][secret]" value="{{ site.reCaptcha.secret }}">
|
||||
</div>
|
||||
<!-- Start comment form alert messaging -->
|
||||
<p class="hidden js-notice">
|
||||
<strong class="js-notice-text"></strong>
|
||||
</p>
|
||||
<!-- End comment form alert messaging -->
|
||||
<div class="form-group">
|
||||
<div class="g-recaptcha" data-sitekey="{{ site.reCaptcha.siteKey }}"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End new comment form -->
|
||||
{% if site.reCaptcha.siteKey %}<script async src="https://www.google.com/recaptcha/api.js"></script>{% endif %}
|
||||
{% endif %}
|
||||
</section>
|
||||
{% when "staticman" %}
|
||||
<section id="static-comments">
|
||||
{% if site.repository and site.staticman.branch %}
|
||||
<!-- Start static comments -->
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment[1].email %}
|
||||
{% assign name = comment[1].name %}
|
||||
{% assign url = comment[1].url %}
|
||||
{% assign date = comment[1].date %}
|
||||
{% assign message = comment[1].message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- End static comments -->
|
||||
|
||||
<!-- Start new comment form -->
|
||||
<div class="page__comments-form">
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
||||
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
|
||||
<div class="form__spinner">
|
||||
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
|
||||
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
|
||||
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
|
||||
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
|
||||
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
|
||||
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
|
||||
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
|
||||
</div>
|
||||
<div class="form-group hidden" style="display: none;">
|
||||
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
|
||||
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
|
||||
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
|
||||
</div>
|
||||
<!-- Start comment form alert messaging -->
|
||||
<p class="hidden js-notice">
|
||||
<strong class="js-notice-text"></strong>
|
||||
</p>
|
||||
<!-- End comment form alert messaging -->
|
||||
<div class="form-group">
|
||||
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End new comment form -->
|
||||
{% endif %}
|
||||
</section>
|
||||
{% when "custom" %}
|
||||
<section id="custom-comments"></section>
|
||||
{% endcase %}
|
||||
</div>
|
||||
@@ -7,19 +7,19 @@
|
||||
<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>
|
||||
<li><a href="https://www.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>
|
||||
<li><a href="https://github.com/{{ site.author.github }}"><i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
|
||||
{% endif %}
|
||||
{% if site.author.gitlab %}
|
||||
<li><a href="http://gitlab.com/{{ site.author.gitlab }}"><i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab</a></li>
|
||||
<li><a href="https://gitlab.com/{{ site.author.gitlab }}"><i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab</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>
|
||||
<li><a href="https://bitbucket.org/{{ site.author.bitbucket }}"><i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li>
|
||||
{% endif %}
|
||||
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}"><i class="fa fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||
|
||||
@@ -13,7 +13,10 @@
|
||||
<li class="masthead__menu-item"><a href="{{ domain }}{{ link.url }}">{{ link.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<button><div class="navicon"></div></button>
|
||||
<button type="button">
|
||||
<span class="visually-hidden">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</span>
|
||||
<div class="navicon"></div>
|
||||
</button>
|
||||
<ul class="hidden-links hidden"></ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -11,5 +11,10 @@
|
||||
<script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script>
|
||||
{% endif %}
|
||||
|
||||
{% if page.layout == 'search' %}
|
||||
<script src="{{ '/assets/js/lunr.min.js' | absolute_url }}"></script>
|
||||
<script src="{{ '/assets/js/lunr-en.js' | absolute_url }}"></script>
|
||||
{% endif %}
|
||||
|
||||
{% include analytics.html %}
|
||||
{% include /comments-providers/scripts.html %}
|
||||
|
||||
+30
-15
@@ -54,21 +54,37 @@
|
||||
<meta property="og:description" content="{{ seo_description }}">
|
||||
{% endif %}
|
||||
|
||||
{% assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image %}
|
||||
{% unless page_large_image contains '://' %}
|
||||
{% assign page_large_image = page_large_image | absolute_url %}
|
||||
{% endunless %}
|
||||
{% assign page_large_image = page_large_image | escape %}
|
||||
|
||||
{% assign page_teaser_image = page.header.teaser | default: site.og_image %}
|
||||
{% unless page_teaser_image contains '://' %}
|
||||
{% assign page_teaser_image = page_teaser_image | absolute_url %}
|
||||
{% endunless %}
|
||||
{% assign page_teaser_image = page_teaser_image | escape %}
|
||||
|
||||
{% assign site_og_image = site.og_image %}
|
||||
{% unless site_og_image contains '://' %}
|
||||
{% assign site_og_image = site_og_image | absolute_url %}
|
||||
{% endunless %}
|
||||
{% assign site_og_image = site_og_image | escape %}
|
||||
|
||||
{% 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 %}
|
||||
{% if page_large_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 | absolute_url }}{% endif %}">
|
||||
<meta name="twitter:image" content="{{ page_large_image }}">
|
||||
{% else %}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{% if page.header.teaser %}
|
||||
<meta name="twitter:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
|
||||
{% elsif site.og_image %}
|
||||
<meta name="twitter:image" content="{{ site.og_image | absolute_url }}">
|
||||
{% if page_teaser_image %}
|
||||
<meta name="twitter:image" content="{{ page_teaser_image }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@@ -87,14 +103,10 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.header.image %}
|
||||
<meta property="og:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
|
||||
{% elsif page.header.overlay_image %}
|
||||
<meta property="og:image" content="{% if page.header.overlay_image contains "://" %}{{ page.header.overlay_image }}{% else %}{{ page.header.overlay_image | absolute_url }}{% endif %}">
|
||||
{% elsif page.header.teaser %}
|
||||
<meta property="og:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
|
||||
{% elsif site.og_image %}
|
||||
<meta property="og:image" content="{% if site.og_image contains "://" %}{{ site.og_image }}{% else %}{{ site.og_image | absolute_url }}{% endif %}">
|
||||
{% if page_large_image %}
|
||||
<meta property="og:image" content="{{ page_large_image }}">
|
||||
{% elsif page_teaser_image %}
|
||||
<meta property="og:image" content="{{ page_teaser_image }}">
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
@@ -115,7 +127,7 @@
|
||||
"@context": "http://schema.org",
|
||||
"@type": "Organization",
|
||||
"url": {{ seo_url | jsonify }},
|
||||
"logo": {{ site.og_image | absolute_url | jsonify }}
|
||||
"logo": {{ site_og_image | jsonify }}
|
||||
}
|
||||
</script>
|
||||
{% endif %}
|
||||
@@ -144,4 +156,7 @@
|
||||
{% if site.yandex_site_verification %}
|
||||
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
|
||||
{% endif %}
|
||||
{% if site.naver-site-verification %}
|
||||
<meta name="naver-site-verification" content="{{ site.naver-site-verification }}">
|
||||
{% endif %}
|
||||
<!-- end SEO -->
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
{% capture tocWorkspace %}
|
||||
{%- comment -%}
|
||||
Version 1.0.2
|
||||
|
||||
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
||||
|
||||
Usage:
|
||||
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
|
||||
|
||||
Parameters:
|
||||
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
||||
|
||||
Optional Parameters:
|
||||
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
||||
* class (string) : '' - a CSS class assigned to the TOC
|
||||
* id (string) : '' - an ID to assigned to the TOC
|
||||
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
||||
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
||||
|
||||
Output:
|
||||
An unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
|
||||
{%- endcomment -%}
|
||||
|
||||
{% capture my_toc %}{% endcapture %}
|
||||
{% assign minHeader = include.h_min | default: 1 %}
|
||||
{% assign maxHeader = include.h_max | default: 6 %}
|
||||
{% assign nodes = include.html | split: '<h' %}
|
||||
{% assign firstHeader = true %}
|
||||
|
||||
{% for node in nodes %}
|
||||
{% if node == "" %}
|
||||
{% continue %}
|
||||
{% endif %}
|
||||
|
||||
{% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
||||
|
||||
{% if headerLevel < minHeader or headerLevel > maxHeader %}
|
||||
{% continue %}
|
||||
{% endif %}
|
||||
|
||||
{% if firstHeader %}
|
||||
{% assign firstHeader = false %}
|
||||
{% assign minHeader = headerLevel %}
|
||||
{% endif %}
|
||||
|
||||
{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
|
||||
{% assign _workspace = node | split: '</h' %}
|
||||
|
||||
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
||||
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
||||
{% assign html_id = _idWorkspace[0] %}
|
||||
|
||||
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
||||
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
||||
|
||||
{% assign space = '' %}
|
||||
{% for i in (1..indentAmount) %}
|
||||
{% assign space = space | prepend: ' ' %}
|
||||
{% endfor %}
|
||||
|
||||
{% capture my_toc %}{{ my_toc }}
|
||||
{{ space }}- [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}](#{{ html_id }}){% endcapture %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% if include.class %}
|
||||
{% capture my_toc %}{:.{{ include.class }}}
|
||||
{{ my_toc | lstrip }}{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.id %}
|
||||
{% capture my_toc %}{: #{{ include.id }}}
|
||||
{{ my_toc | lstrip }}{% endcapture %}
|
||||
{% endif %}
|
||||
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<!doctype html>
|
||||
<!--
|
||||
Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose
|
||||
Minimal Mistakes Jekyll Theme 4.7.1 by Michael Rose
|
||||
Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
|
||||
Free for personal and commercial use under the MIT license
|
||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
|
||||
|
||||
@@ -4,8 +4,6 @@ layout: default
|
||||
|
||||
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
||||
{% include page__hero.html %}
|
||||
{% elsif page.header.video.id and page.header.video.provider %}
|
||||
{% include page__hero_video.html %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.url != "/" and site.breadcrumbs %}
|
||||
@@ -21,6 +19,14 @@ layout: default
|
||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||
<h1 class="page__title">{{ page.title }}</h1>
|
||||
{% endunless %}
|
||||
|
||||
{{ content }}
|
||||
|
||||
<form>
|
||||
<input placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}" type="search" id="search" class="search-input">
|
||||
</form>
|
||||
|
||||
<div id="results"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -34,6 +34,14 @@ layout: default
|
||||
{% endunless %}
|
||||
|
||||
<section class="page__content" itemprop="text">
|
||||
{% if page.toc %}
|
||||
<aside class="sidebar__right">
|
||||
<nav class="toc">
|
||||
<header><h4 class="nav__title"><i class="fa fa-{{ page.toc_icon | default: 'file-text' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
|
||||
{% include toc.html sanitize=true html=content h_min=2 h_max=3 class="toc__menu" %}
|
||||
</nav>
|
||||
</aside>
|
||||
{% endif %}
|
||||
{{ content }}
|
||||
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
|
||||
</section>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose
|
||||
* Minimal Mistakes Jekyll Theme 4.7.1 by Michael Rose
|
||||
* Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
|
||||
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt)
|
||||
*/
|
||||
@@ -28,6 +28,7 @@
|
||||
@import "minimal-mistakes/masthead";
|
||||
@import "minimal-mistakes/navigation";
|
||||
@import "minimal-mistakes/footer";
|
||||
@import "minimal-mistakes/search";
|
||||
@import "minimal-mistakes/syntax";
|
||||
|
||||
/* Utility classes */
|
||||
@@ -37,4 +38,4 @@
|
||||
@import "minimal-mistakes/page";
|
||||
@import "minimal-mistakes/archive";
|
||||
@import "minimal-mistakes/sidebar";
|
||||
@import "minimal-mistakes/print";
|
||||
@import "minimal-mistakes/print";
|
||||
|
||||
@@ -196,10 +196,9 @@ input[type="hidden"] {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Disabled state
|
||||
========================================================================== */
|
||||
Disabled state
|
||||
========================================================================== */
|
||||
|
||||
input[disabled],
|
||||
select[disabled],
|
||||
@@ -211,17 +210,17 @@ textarea[readonly] {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Focus & active state
|
||||
========================================================================== */
|
||||
Focus & active state
|
||||
========================================================================== */
|
||||
|
||||
input:focus,
|
||||
textarea:focus {
|
||||
border-color: $primary-color;
|
||||
outline: 0;
|
||||
outline: thin dotted \9;
|
||||
box-shadow: inset 0 1px 3px rgba($text-color, 0.06), 0 0 5px rgba($primary-color, 0.7);
|
||||
box-shadow: inset 0 1px 3px rgba($text-color, 0.06),
|
||||
0 0 5px rgba($primary-color, 0.7);
|
||||
}
|
||||
|
||||
input[type="file"]:focus,
|
||||
@@ -231,10 +230,9 @@ select:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Help text
|
||||
========================================================================== */
|
||||
Help text
|
||||
========================================================================== */
|
||||
|
||||
.help-block,
|
||||
.help-inline {
|
||||
@@ -253,10 +251,19 @@ select:focus {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-group
|
||||
========================================================================== */
|
||||
|
||||
.form-group {
|
||||
margin-bottom: 5px;
|
||||
padding: 0;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-inline
|
||||
========================================================================== */
|
||||
.form-inline
|
||||
========================================================================== */
|
||||
|
||||
.form-inline input,
|
||||
.form-inline textarea,
|
||||
@@ -281,12 +288,12 @@ select:focus {
|
||||
.form-inline .checkbox input[type="checkbox"] {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 3px; }
|
||||
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-search
|
||||
========================================================================== */
|
||||
.form-search
|
||||
========================================================================== */
|
||||
|
||||
.form-search input,
|
||||
.form-search textarea,
|
||||
@@ -321,13 +328,12 @@ select:focus {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
.form--loading
|
||||
========================================================================== */
|
||||
.form--loading
|
||||
========================================================================== */
|
||||
|
||||
.form--loading:before {
|
||||
content: '';
|
||||
content: "";
|
||||
}
|
||||
|
||||
.form--loading .form__spinner {
|
||||
@@ -352,11 +358,9 @@ select:focus {
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Google search form
|
||||
========================================================================== */
|
||||
Google search form
|
||||
========================================================================== */
|
||||
|
||||
#goog-fixurl {
|
||||
ul {
|
||||
@@ -386,4 +390,4 @@ select:focus {
|
||||
|
||||
#goog-wm-sb {
|
||||
@extend .btn;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,7 +172,7 @@ input[type="checkbox"] {
|
||||
}
|
||||
|
||||
input[type="search"] { /* Appearance in Safari/Chrome*/
|
||||
box-sizing: content-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
|
||||
+6
-2
@@ -1,5 +1,9 @@
|
||||
/* ==========================================================================
|
||||
Default skin
|
||||
SEARCH
|
||||
========================================================================== */
|
||||
|
||||
// Intentionally left blank
|
||||
.layout--search {
|
||||
.archive__item-teaser {
|
||||
margin-bottom: 0.25em;
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,7 @@ figure.highlight {
|
||||
speak: none;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
pre.highlight {
|
||||
margin: 0;
|
||||
padding: 1em;
|
||||
}
|
||||
@@ -58,7 +58,9 @@ figure.highlight {
|
||||
}
|
||||
}
|
||||
|
||||
.highlight pre { width: 100%; }
|
||||
.highlight pre {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*
|
||||
Solarized Light
|
||||
@@ -76,71 +78,209 @@ figure.highlight {
|
||||
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 */
|
||||
.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 */
|
||||
|
||||
@@ -14,7 +14,7 @@ $indent-var : 1.3em !default;
|
||||
|
||||
/* system typefaces */
|
||||
$serif : Georgia, Times, serif !default;
|
||||
$sans-serif : -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
|
||||
$sans-serif : -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
|
||||
$monospace : Monaco, Consolas, "Lucida Console", monospace !default;
|
||||
|
||||
/* sans serif typefaces */
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/* ==========================================================================
|
||||
Aqua skin
|
||||
========================================================================== */
|
||||
|
||||
/* Colors */
|
||||
$gray : #1976d2 !default;
|
||||
$dark-gray : mix(#000, $gray, 40%) !default;
|
||||
$darker-gray : mix(#000, $gray, 60%) !default;
|
||||
$light-gray : mix(#fff, $gray, 50%) !default;
|
||||
$lighter-gray : mix(#fff, $gray, 90%) !default;
|
||||
|
||||
$body-color : #fff !default;
|
||||
$background-color : #f0fff0 !default;
|
||||
$code-background-color : $lighter-gray !default;
|
||||
$code-background-color-dark : $light-gray !default;
|
||||
$text-color : $dark-gray !default;
|
||||
$border-color : $lighter-gray !default;
|
||||
|
||||
$primary-color : $gray !default;
|
||||
$success-color : #27ae60 !default;
|
||||
$warning-color : #e67e22 !default;
|
||||
$danger-color : #c0392b !default;
|
||||
$info-color : #03a9f4 !default;
|
||||
|
||||
/* links */
|
||||
$link-color : $info-color !default;
|
||||
$link-color-hover : mix(#000, $link-color, 25%) !default;
|
||||
$link-color-visited : mix(#fff, $link-color, 25%) !default;
|
||||
$masthead-link-color : $primary-color !default;
|
||||
$masthead-link-color-hover : mix(#000, $primary-color, 25%) !default;
|
||||
+18
-7
@@ -1,17 +1,17 @@
|
||||
/* ==========================================================================
|
||||
Dark skin
|
||||
Neon skin
|
||||
========================================================================== */
|
||||
|
||||
/* Colors */
|
||||
$background-color: #252a34 !default;
|
||||
$text-color: #eaeaea !default;
|
||||
$primary-color: #00adb5 !default;
|
||||
$background-color: #141010 !default;
|
||||
$text-color: #fff6fb !default;
|
||||
$primary-color: #f21368 !default;
|
||||
$border-color: mix(#fff, $background-color, 20%) !default;
|
||||
$code-background-color: mix(#000, $background-color, 15%) !default;
|
||||
$code-background-color-dark: mix(#000, $background-color, 20%) !default;
|
||||
$form-background-color: mix(#000, $background-color, 15%) !default;
|
||||
$footer-background-color: mix(#000, $background-color, 30%) !default;
|
||||
$link-color: mix($primary-color, $text-color, 40%) !default;
|
||||
$footer-background-color: mix($primary-color, #000, 10%) !default;
|
||||
$link-color: $primary-color !default;
|
||||
$link-color-hover: mix(#fff, $link-color, 25%) !default;
|
||||
$link-color-visited: mix(#000, $link-color, 25%) !default;
|
||||
$masthead-link-color: $text-color !default;
|
||||
@@ -21,4 +21,15 @@ $navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
|
||||
.author__urls.social-icons .fa,
|
||||
.page__footer-follow .social-icons .fa {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
/* next/previous buttons */
|
||||
.pagination--pager {
|
||||
color: $text-color;
|
||||
background-color: $primary-color;
|
||||
border-color: transparent;
|
||||
|
||||
&:visited {
|
||||
color: $text-color;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
/* ==========================================================================
|
||||
Plum skin
|
||||
========================================================================== */
|
||||
|
||||
/* Colors */
|
||||
$background-color: #521477 !default;
|
||||
$text-color: #fffd86 !default;
|
||||
$primary-color: #c327ab !default;
|
||||
$border-color: mix(#fff, $background-color, 20%) !default;
|
||||
$code-background-color: mix(#000, $background-color, 15%) !default;
|
||||
$code-background-color-dark: mix(#000, $background-color, 20%) !default;
|
||||
$form-background-color: mix(#000, $background-color, 15%) !default;
|
||||
$footer-background-color: mix(#000, $background-color, 25%) !default;
|
||||
$link-color: $primary-color !default;
|
||||
$link-color-hover: mix(#fff, $link-color, 25%) !default;
|
||||
$link-color-visited: mix(#000, $link-color, 25%) !default;
|
||||
$masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
|
||||
$navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
|
||||
|
||||
.author__urls.social-icons .fa,
|
||||
.page__footer-follow .social-icons .fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.page__content {
|
||||
a,
|
||||
a:visited {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
/* next/previous buttons */
|
||||
.pagination--pager {
|
||||
color: $text-color;
|
||||
background-color: $primary-color;
|
||||
border-color: transparent;
|
||||
|
||||
&:visited {
|
||||
color: $text-color;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
---
|
||||
---
|
||||
|
||||
var idx = lunr(function () {
|
||||
this.field('title', {boost: 10})
|
||||
this.field('excerpt')
|
||||
this.field('categories')
|
||||
this.field('tags')
|
||||
this.ref('id')
|
||||
});
|
||||
|
||||
{% assign count = 0 %}
|
||||
{% for c in site.collections %}
|
||||
{% assign docs = c.docs %}
|
||||
{% for doc in docs %}
|
||||
idx.add({
|
||||
title: {{ doc.title | jsonify }},
|
||||
excerpt: {{ doc.excerpt | strip_html | truncatewords: 20 | jsonify }},
|
||||
categories: {{ doc.categories | jsonify }},
|
||||
tags: {{ doc.tags | jsonify }},
|
||||
id: {{ count }}
|
||||
});
|
||||
{% assign count = count | plus: 1 %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
console.log( jQuery.type(idx) );
|
||||
|
||||
var store = [
|
||||
{% for c in site.collections %}
|
||||
{% if forloop.last %}
|
||||
{% assign l = true %}
|
||||
{% endif %}
|
||||
{% assign docs = c.docs %}
|
||||
{% for doc in docs %}
|
||||
{% if doc.header.teaser %}
|
||||
{% capture teaser %}{{ doc.header.teaser }}{% endcapture %}
|
||||
{% else %}
|
||||
{% assign teaser = site.teaser %}
|
||||
{% endif %}
|
||||
{
|
||||
"title": {{ doc.title | jsonify }},
|
||||
"url": {{ doc.url | absolute_url | jsonify }},
|
||||
"excerpt": {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
|
||||
"teaser":
|
||||
{% if teaser contains "://" %}
|
||||
{{ teaser | jsonify }}
|
||||
{% else %}
|
||||
{{ teaser | absolute_url | jsonify }}
|
||||
{% endif %}
|
||||
}{% unless forloop.last and l %},{% endunless %}
|
||||
{% endfor %}
|
||||
{% endfor %}]
|
||||
|
||||
$(document).ready(function() {
|
||||
$('input#search').on('keyup', function () {
|
||||
var resultdiv = $('#results');
|
||||
var query = $(this).val();
|
||||
var result = idx.search(query);
|
||||
resultdiv.empty();
|
||||
resultdiv.prepend('<p>'+result.length+' {{ site.data.ui-text[site.locale].results_found | default: "Result(s) found" }}</p>');
|
||||
for (var item in result) {
|
||||
var ref = result[item].ref;
|
||||
if(store[ref].teaser){
|
||||
var searchitem =
|
||||
'<div class="list__item">'+
|
||||
'<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">'+
|
||||
'<h2 class="archive__item-title" itemprop="headline">'+
|
||||
'<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
|
||||
'</h2>'+
|
||||
'<div class="archive__item-teaser">'+
|
||||
'<img src="'+store[ref].teaser+'" alt="">'+
|
||||
'</div>'+
|
||||
'<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt+'</p>'+
|
||||
'</article>'+
|
||||
'</div>';
|
||||
}
|
||||
else{
|
||||
var searchitem =
|
||||
'<div class="list__item">'+
|
||||
'<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">'+
|
||||
'<h2 class="archive__item-title" itemprop="headline">'+
|
||||
'<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
|
||||
'</h2>'+
|
||||
'<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt+'</p>'+
|
||||
'</article>'+
|
||||
'</div>';
|
||||
}
|
||||
resultdiv.append(searchitem);
|
||||
}
|
||||
});
|
||||
});
|
||||
Vendored
+7
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose
|
||||
* Minimal Mistakes Jekyll Theme 4.7.0 by Michael Rose
|
||||
* Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
|
||||
* Licensed under MIT
|
||||
*/
|
||||
|
||||
@@ -4,6 +4,7 @@ gem "github-pages", group: :jekyll_plugins
|
||||
|
||||
gem "tzinfo-data"
|
||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
||||
gem "jekyll-remote-theme"
|
||||
|
||||
# If you have any plugins, put them here!
|
||||
# group :jekyll_plugins do
|
||||
|
||||
+21
-12
@@ -5,7 +5,9 @@
|
||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||
# `jekyll serve`. If you change this file, please restart the server process.
|
||||
|
||||
minimal_mistakes_skin : "default" # "air", "contrast", "dark", "dirt", "mint", "sunrise"
|
||||
remote_theme : "mmistakes/minimal-mistakes"
|
||||
|
||||
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||
|
||||
# Site Settings
|
||||
locale : "en-US"
|
||||
@@ -20,7 +22,7 @@ teaser : # path of fallback teaser image, e.g. "/assets/images
|
||||
# breadcrumbs : false # true, false (default)
|
||||
words_per_minute : 200
|
||||
comments:
|
||||
provider : "staticman" # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "custom"
|
||||
provider : "staticman_v2" # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman_v2", "staticman" "custom"
|
||||
disqus:
|
||||
shortname :
|
||||
discourse:
|
||||
@@ -31,21 +33,25 @@ comments:
|
||||
num_posts : # 5 (default)
|
||||
colorscheme : # "light" (default), "dark"
|
||||
staticman:
|
||||
allowedFields : ['name', 'email', 'url', 'message']
|
||||
allowedFields : # ['name', 'email', 'url', 'message']
|
||||
branch : "master"
|
||||
commitMessage : "New comment"
|
||||
filename : comment-{@timestamp}
|
||||
format : "yml"
|
||||
moderation : true
|
||||
path : "_data/comments/{options.slug}"
|
||||
requiredFields : ['name', 'email', 'message']
|
||||
commitMessage : # "New comment"
|
||||
filename : # comment-{@timestamp}
|
||||
format : # "yml"
|
||||
moderation : # true
|
||||
path : # "_data/comments/{options.slug}"
|
||||
requiredFields : # ['name', 'email', 'message']
|
||||
transforms:
|
||||
email : "md5"
|
||||
email : # "md5"
|
||||
generatedFields:
|
||||
date:
|
||||
type : "date"
|
||||
type : # "date"
|
||||
options:
|
||||
format : "iso8601" # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
||||
format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
||||
reCaptcha:
|
||||
siteKey : "6LdRBykTAAAAAFB46MnIu6ixuxwu9W1ihFF8G60Q"
|
||||
secret : "PznnZGu3P6eTHRPLORniSq+J61YEf+A9zmColXDM5icqF49gbunH51B8+h+i2IvewpuxtA9TFoK68TuhUp/X3YKmmqhXasegHYabY50fqF9nJh9npWNhvITdkQHeaOqnFXUIwxfiEeUt49Yoa2waRR7a5LdRAP3SVM8hz0KIBT4="
|
||||
|
||||
atom_feed:
|
||||
path : # blank (default) uses feed.xml
|
||||
|
||||
@@ -54,6 +60,7 @@ google_site_verification : "UQj93ERU9zgECodaaXgVpkjrFn9UrDMEzVamacSoQ8Y" # Repla
|
||||
bing_site_verification :
|
||||
alexa_site_verification :
|
||||
yandex_site_verification :
|
||||
naver-site-verification :
|
||||
|
||||
# Social Sharing
|
||||
twitter:
|
||||
@@ -263,6 +270,7 @@ plugins:
|
||||
- jekyll-gist
|
||||
- jekyll-feed
|
||||
- jemoji
|
||||
- jekyll-remote-theme
|
||||
|
||||
# mimic GitHub Pages with --safe
|
||||
whitelist:
|
||||
@@ -271,6 +279,7 @@ whitelist:
|
||||
- jekyll-gist
|
||||
- jekyll-feed
|
||||
- jemoji
|
||||
- jekyll-remote-theme
|
||||
|
||||
|
||||
# Archives
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
_id: a5095860-9961-11e7-be3c-b52cab09c6a8
|
||||
message: The code blocks look lovely ! Is there a way to use dark theme ?
|
||||
name: Kanha
|
||||
email: 266c737250ef78d52dee3db901ea9e1d
|
||||
url: ''
|
||||
hidden: ''
|
||||
date: '2017-09-14T15:30:32.254Z'
|
||||
timestamp: 1505403032
|
||||
@@ -0,0 +1,8 @@
|
||||
_id: 21f79d50-9962-11e7-be3c-b52cab09c6a8
|
||||
message: "@Kanha - the theme includes skins now and there is a \"dark\" version you can use.\r\n\r\n<https://mmistakes.github.io/minimal-mistakes/docs/configuration/#dark-skin-dark>"
|
||||
name: Michael Rose
|
||||
email: 1ce71bc10b86565464b612093d89707e
|
||||
url: 'https://mademistakes.com'
|
||||
hidden: ''
|
||||
date: '2017-09-14T15:34:01.807Z'
|
||||
timestamp: 1505403241
|
||||
@@ -0,0 +1,7 @@
|
||||
_id: 87276200-a47a-11e7-adb3-e700074bdbd8
|
||||
message: "Thanks for an awesome theme. I've really enjoyed getting to use it.\r\n\r\nI'm not sure if this is the right place to ask but I'm trying to get a magnific popup working for a youtube iframe.\r\n\r\nNeither the [magnific youtube popup](http://dimsemenov.com/plugins/magnific-popup/) example nor the [code pen example](https://codepen.io/dimsemenov/pen/zjtbr) work for me.\r\n\r\nI added them directly to a markdown page with the javascript wrapped in script tags.\r\n\r\nI've tried adding the javascript as a file using head_scripts too.\r\n\r\nAny help much appreciated!"
|
||||
name: siva
|
||||
email: 3a5235fe982bc1289695aa54e7274b51
|
||||
url: 'https://www.spiraltaiji.com'
|
||||
hidden: ''
|
||||
date: '2017-09-28T18:26:22.283Z'
|
||||
@@ -0,0 +1,7 @@
|
||||
_id: c23d9d40-a47b-11e7-adb3-e700074bdbd8
|
||||
message: "@siva - I suspect if you open your web browser's web development tools and take a look at the console you'll see some script errors.\r\n\r\njQuery and the Magnific Popup scripts are loaded at the bottom of every page right before the [closing `</body>` tag](https://github.com/mmistakes/minimal-mistakes/blob/master/_layouts/default.html#L31). You're trying to configure MP in your post which is before the core scripts have a chance to load.\r\n\r\nYou'll need to add your custom scripts after those. Couple of ways you can do that depending on how you're using the theme.\r\n\r\n1. Edit `_layouts/default.html` and place after the scripts.html include.\r\n2. Edit [`_includes/scripts.html`](https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/scripts.html) and place after all scripts.\r\n3. Use the new [`footer_scripts` config](https://mmistakes.github.io/minimal-mistakes/docs/javascript/) to add your own custom script."
|
||||
name: Michael Rose
|
||||
email: 1ce71bc10b86565464b612093d89707e
|
||||
url: 'https://mademistakes.com'
|
||||
hidden: ''
|
||||
date: '2017-09-28T18:35:10.917Z'
|
||||
@@ -0,0 +1,7 @@
|
||||
_id: 80879fe0-a48f-11e7-988c-0da33b08c6af
|
||||
message: "@michael - I went with option 3, adding main.min.js and then my own file to config.yml. Don't know much about javascript, but I've learnt a little now.\r\n\r\nThanks for the quick and detailed response."
|
||||
name: siva
|
||||
email: 3a5235fe982bc1289695aa54e7274b51
|
||||
url: 'https://www.spiraltaiji.com'
|
||||
hidden: ''
|
||||
date: '2017-09-28T20:56:30.614Z'
|
||||
@@ -0,0 +1,9 @@
|
||||
_id: 6b96b520-a931-11e7-9a7d-c99de06bb99b
|
||||
message: >-
|
||||
Testing out leaving a comment with the new Staticman v2 endpoint and reCAPTCHA
|
||||
enabled.
|
||||
name: Michael Rose
|
||||
email: 1ce71bc10b86565464b612093d89707e
|
||||
url: 'https://mademistakes.com'
|
||||
hidden: ''
|
||||
date: '2017-10-04T18:25:38.766Z'
|
||||
@@ -22,6 +22,8 @@ foo:
|
||||
main:
|
||||
- title: "Quick-Start Guide"
|
||||
url: /docs/quick-start-guide/
|
||||
- title: "Search"
|
||||
url: /search/
|
||||
- title: "About"
|
||||
url: /about/
|
||||
- title: "Sample Posts"
|
||||
|
||||
+64
-19
@@ -40,6 +40,8 @@ en: &DEFAULT_EN
|
||||
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
|
||||
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
|
||||
loading_label : "Loading..."
|
||||
search_placeholder_text : "Enter your search term..."
|
||||
results_found : "Result(s) found"
|
||||
en-US:
|
||||
<<: *DEFAULT_EN
|
||||
en-CA:
|
||||
@@ -186,7 +188,6 @@ tr-TR:
|
||||
<<: *DEFAULT_TR
|
||||
|
||||
# Portuguese
|
||||
# -----------------
|
||||
pt: &DEFAULT_PT
|
||||
page : "Página"
|
||||
pagination_previous : "Anterior"
|
||||
@@ -225,6 +226,9 @@ pt: &DEFAULT_PT
|
||||
comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado."
|
||||
comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente."
|
||||
loading_label : "A carregar..."
|
||||
pt-PT:
|
||||
<<: *DEFAULT_PT
|
||||
|
||||
# Brazilian Portuguese
|
||||
pt-BR:
|
||||
page : "Página"
|
||||
@@ -235,8 +239,8 @@ pt-BR:
|
||||
menu_label :
|
||||
toc_label : "Nesta página"
|
||||
ext_link_label : "Link direto"
|
||||
less_than : "meno que"
|
||||
minute_read : "minutos de leitura"
|
||||
less_than : "menos que"
|
||||
minute_read : "minuto(s) de leitura"
|
||||
share_on_label : "Compartilhe em"
|
||||
meta_label :
|
||||
tags_label : "Tags:"
|
||||
@@ -244,28 +248,26 @@ pt-BR:
|
||||
date_label : "Atualizado em:"
|
||||
comments_label : "Deixe um comentário"
|
||||
comments_title :
|
||||
more_label : "Aprenda Mais"
|
||||
related_label : "Você Talvez Goste Também"
|
||||
more_label : "Aprenda mais"
|
||||
related_label : "Talvez você goste também"
|
||||
follow_label : "Acompanhe em"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Feito com"
|
||||
website_label : "Site"
|
||||
email_label : "Email"
|
||||
recent_posts : "Postagens recentes"
|
||||
undefined_wpm : "Parâmetro indefinido em word_per_minute no _config.yml"
|
||||
comment_form_info :
|
||||
comment_form_comment_label :
|
||||
comment_form_md_info :
|
||||
comment_form_name_label :
|
||||
comment_form_email_label :
|
||||
comment_form_website_label :
|
||||
comment_btn_submit :
|
||||
comment_btn_submitted :
|
||||
comment_success_msg :
|
||||
comment_error_msg :
|
||||
loading_label :
|
||||
pt-PT:
|
||||
<<: *DEFAULT_PT
|
||||
undefined_wpm : "Parâmetro indefinido em words_per_minute no _config.yml"
|
||||
comment_form_info : "Seu email não será publicado. Os campos obrigatórios estão marcados"
|
||||
comment_form_comment_label : "Comentário"
|
||||
comment_form_md_info : "Markdown é suportado."
|
||||
comment_form_name_label : "Nome"
|
||||
comment_form_email_label : "Email"
|
||||
comment_form_website_label : "Site (opcional)"
|
||||
comment_btn_submit : "Enviar Comentário"
|
||||
comment_btn_submitted : "Enviado"
|
||||
comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado."
|
||||
comment_error_msg : "Desculpe, ocorreu um erro no envio. Por favor verifique se todos os campos obrigatórios foram preenchidos e tente novamente."
|
||||
loading_label : "Carregando..."
|
||||
|
||||
# Italian
|
||||
# -----------------
|
||||
@@ -883,6 +885,49 @@ da: &DEFAULT_DA
|
||||
da-DK:
|
||||
<<: *DEFAULT_DA
|
||||
|
||||
# Polish
|
||||
# ------
|
||||
pl: &DEFAULT_PL
|
||||
page : "Strona"
|
||||
pagination_previous : "Poprzednia"
|
||||
pagination_next : "Następna"
|
||||
breadcrumb_home_label : "Strona główna"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Przełącz menu"
|
||||
toc_label : "Spis treści"
|
||||
ext_link_label : "Link bezpośredni"
|
||||
less_than : "mniej niż"
|
||||
minute_read : "minut(y)"
|
||||
share_on_label : "Udostępnij"
|
||||
meta_label :
|
||||
tags_label : "Tagi:"
|
||||
categories_label : "Kategorie:"
|
||||
date_label : "Ostatnia aktualizacja:"
|
||||
comments_label : "Zostaw komentarz"
|
||||
comments_title : "Komentarze"
|
||||
more_label : "Dowiedz się więcej"
|
||||
related_label : "Także może Ci się spodobać"
|
||||
follow_label : "Śledź:"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Powstało dzięki"
|
||||
website_label : "Strona"
|
||||
email_label : "Email"
|
||||
recent_posts : "Najnowsze wpisy"
|
||||
undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml."
|
||||
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone."
|
||||
comment_form_comment_label : "Skomentuj"
|
||||
comment_form_md_info : "Markdown jest wspierany"
|
||||
comment_form_name_label : "Imię"
|
||||
comment_form_email_label : "Adres email"
|
||||
comment_form_website_label : "Strona www (opcjonalna)"
|
||||
comment_btn_submit : "Skomentuj"
|
||||
comment_btn_submitted : "Komentarz dodany"
|
||||
comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji."
|
||||
comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie."
|
||||
loading_label : "Trwa ładowanie strony..."
|
||||
da-PL:
|
||||
<<: *DEFAULT_PL
|
||||
|
||||
# Another locale
|
||||
# --------------
|
||||
#
|
||||
|
||||
@@ -2,22 +2,21 @@
|
||||
title: "Quick-Start Guide"
|
||||
permalink: /docs/quick-start-guide/
|
||||
excerpt: "How to quickly install and setup Minimal Mistakes for use with GitHub Pages."
|
||||
last_modified_at: 2017-09-01T09:27:53-04:00
|
||||
last_modified_at: 2017-11-15T09:49:52-05:00
|
||||
redirect_from:
|
||||
- /theme-setup/
|
||||
toc: true
|
||||
---
|
||||
|
||||
Minimal Mistakes has been developed as a [Jekyll theme gem](http://jekyllrb.com/docs/themes/) for easier use. It is also 100% compatible with GitHub Pages --- just with a more involved installation process.
|
||||
|
||||
{% include toc %}
|
||||
Minimal Mistakes has been developed as a [Jekyll theme gem](http://jekyllrb.com/docs/themes/) for easier use. It is also 100% compatible with GitHub Pages --- just with slightly different installation process.
|
||||
|
||||
## Installing the Theme
|
||||
|
||||
If you're running Jekyll v3.5+ and self-hosting you can quickly install the theme as a Ruby gem. If you're hosting with GitHub Pages you'll have to use the old "repo fork" method or directly copy all of the theme files[^structure] into your site.
|
||||
If you're running Jekyll v3.5+ and self-hosting you can quickly install the theme as a Ruby gem.
|
||||
|
||||
[^structure]: See [**Structure** page]({{ "/docs/structure/" | absolute_url }}) for a list of theme files and what they do.
|
||||
|
||||
**ProTip:** Be sure to remove `/docs` and `/test` if you forked Minimal Mistakes. These folders contain documentation and test pages for the theme and you probably don't littering up in your repo.
|
||||
**ProTip:** Be sure to remove `/docs` and `/test` if you forked Minimal Mistakes. These folders contain documentation and test pages for the theme and you probably don't want them littering up your repo.
|
||||
{: .notice--info}
|
||||
|
||||
### Ruby Gem Method
|
||||
@@ -40,13 +39,32 @@ Then run Bundler to install the theme gem and dependencies:
|
||||
bundle install
|
||||
```
|
||||
|
||||
### GitHub Pages Compatible Method
|
||||
### GitHub Pages Compatible Methods
|
||||
|
||||
Fork the [Minimal Mistakes theme](https://github.com/mmistakes/minimal-mistakes/fork), then rename the repo to **USERNAME.github.io** --- replacing **USERNAME** with your GitHub username.
|
||||
If you're hosting with GitHub Pages follow these steps instead.
|
||||
|
||||
<figure>
|
||||
<img src="{{ '/assets/images/mm-theme-fork-repo.png' | absolute_url }}" alt="fork Minimal Mistakes">
|
||||
</figure>
|
||||
**Note:** [jekyll-remote-theme](https://github.com/benbalter/jekyll-remote-theme) is currently in beta on GitHub Pages. In my tests it works as advertised, with the occasional failure due to missing `_includes` and `_layouts` --- your results may vary.
|
||||
{: .notice--warning}
|
||||
|
||||
Replace `gem "jekyll"` with:
|
||||
|
||||
```
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
gem "jekyll-remote-theme"
|
||||
```
|
||||
|
||||
Run `bundle update` and verify that all gems install properly.
|
||||
|
||||
Add `remote_theme: "mmistakes/minimal-mistakes"` to your `_config.yml` file.
|
||||
|
||||
Then add [`jekyll-remote-theme`](https://github.com/benbalter/jekyll-remote-theme) to the `plugins` (previously gems) array in your `_config.yml` file like so:
|
||||
|
||||
```
|
||||
plugins:
|
||||
- jekyll-remote-theme
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Note:** Your Jekyll site should be viewable immediately at <http://USERNAME.github.io>. If it's not, you can force a rebuild by **Customizing Your Site** (see below for more details).
|
||||
{: .notice--warning}
|
||||
@@ -57,23 +75,13 @@ If you're hosting several Jekyll based sites under the same GitHub username you
|
||||
<img src="{{ '/assets/images/mm-gh-pages.gif' | absolute_url }}" alt="creating a new branch on GitHub">
|
||||
</figure>
|
||||
|
||||
Replace the contents of `Gemfile` found in the root of your Jekyll site with the following:
|
||||
You can also install the theme by copying all of the theme files[^structure] into your project.
|
||||
|
||||
```ruby
|
||||
source "https://rubygems.org"
|
||||
To do so fork the [Minimal Mistakes theme](https://github.com/mmistakes/minimal-mistakes/fork), then rename the repo to **USERNAME.github.io** --- replacing **USERNAME** with your GitHub username.
|
||||
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
|
||||
group :jekyll_plugins do
|
||||
gem "jekyll-paginate"
|
||||
gem "jekyll-sitemap"
|
||||
gem "jekyll-gist"
|
||||
gem "jekyll-feed"
|
||||
gem "jemoji"
|
||||
end
|
||||
```
|
||||
|
||||
Then run `bundle update` and verify that all gems install properly.
|
||||
<figure>
|
||||
<img src="{{ '/assets/images/mm-theme-fork-repo.png' | absolute_url }}" alt="fork Minimal Mistakes">
|
||||
</figure>
|
||||
|
||||
**GitHub Pages Alternatives:** Looking to host your site for free and install/update the theme painlessly? [Netflify][netlify-jekyll], [GitLab Pages][gitlab-jekyll], and [Continuous Integration (CI) services][ci-jekyll] have you covered. In most cases all you need to do is connect your repository to them, create a simple configuration file, and install the theme following the [Ruby Gem Method](#ruby-gem-method) above.
|
||||
{: .notice--info}
|
||||
@@ -130,9 +138,22 @@ Edit `_config.yml`. Then:
|
||||
|
||||
If you're migrating a site already using Minimal Mistakes and haven't customized any of the theme files things upgrading will be easier for you.
|
||||
|
||||
Start by removing `_includes`, `_layouts`, `_sass`, `assets` folders and all files within.
|
||||
Start by removing the following folders and any files within them:
|
||||
|
||||
You won't need these anymore as they're bundled with the theme gem.
|
||||
```terminal
|
||||
├── _includes
|
||||
├── _layouts
|
||||
├── _sass
|
||||
├── assets
|
||||
| ├── css
|
||||
| ├── fonts
|
||||
| └── js
|
||||
```
|
||||
|
||||
You won't need these anymore as they're bundled with the theme gem --- unless you intend to [override them](http://jekyllrb.com/docs/themes/#overriding-theme-defaults).
|
||||
|
||||
**Note:** When clearing out the `assets` folder be sure to leave any files you've added and need. This includes images, CSS, or JavaScript that aren't already [bundled in the theme](https://github.com/mmistakes/minimal-mistakes/tree/master/assets).
|
||||
{: .notice--warning}
|
||||
|
||||
From `v4.5.0` onwards, you don't have to maintain a copy of the default data files viz. `_data/ui-text.yml` and `_data/navigation.yml` either.
|
||||
The default files are read-in automatically via the [`jekyll-data`](https://github.com/ashmaroli/jekyll-data) plugin.
|
||||
|
||||
@@ -33,6 +33,7 @@ minimal-mistakes
|
||||
| ├── compress.html # compresses HTML in pure Liquid
|
||||
| ├── default.html # base for all other layouts
|
||||
| ├── home.html # home page
|
||||
| ├── search.html # search page
|
||||
| ├── single.html # single document (post/page/etc)
|
||||
| └── splash.html # splash page
|
||||
├── _sass # SCSS partials
|
||||
|
||||
@@ -2,30 +2,26 @@
|
||||
title: "Installation"
|
||||
permalink: /docs/installation/
|
||||
excerpt: "Instructions for installing the theme for new and existing Jekyll based sites."
|
||||
last_modified_at: 2017-08-04T12:38:01-04:00
|
||||
last_modified_at: 2017-11-07T20:47:57-05:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Install the Theme
|
||||
|
||||
There are several ways to install the theme:
|
||||
|
||||
**1.** For a **new site**, install the `minimal-mistakes-jekyll` theme gem or fork the Minimal Mistakes repo on GitHub following the steps outlined in the [*Quick-Start Guide*]({{ "/docs/quick-start-guide/" | absolute_url }}).
|
||||
|
||||
**2.** For an **existing site** follow the **Ruby Gem Method** steps outlined in the [*Quick-Start Guide*]({{ "/docs/quick-start-guide/" | absolute_url }}). If you plan to host with GitHub Pages I suggest you fork and rename the theme's repo, then clone it locally by running `git clone https://github.com/USERNAME/REPONAME.git` --- replacing **USERNAME** and **REPONAME** with your own.
|
||||
If you plan to host with GitHub Pages be sure to properly setup [**jekyll-remote-theme**](https://github.com/benbalter/jekyll-remote-theme) as it is required for the theme to work properly.
|
||||
|
||||
<figure>
|
||||
<img src="{{ '/assets/images/mm-github-copy-repo-url.jpg' | absolute_url }}" alt="copy GitHub repo URL">
|
||||
<figcaption>Tap the copy to clipboard button (outlined in red above) to grab your GitHub repo's path.</figcaption>
|
||||
</figure>
|
||||
**2.** For an **existing site** follow the steps outlined in the [*Quick-Start Guide*]({{ "/docs/quick-start-guide/" | absolute_url }}). Then work through the guidelines below for migration and setup.
|
||||
|
||||
**3.** And for those who don't want to mess with Git, you can download the theme as a ZIP file to work with locally.
|
||||
**3.** And for those who'd like to make substantial edits to the theme, it can be downloaded as a ZIP file to customize.
|
||||
|
||||
[<i class="fa fa-download"></i> Download Minimal Mistakes Theme](https://github.com/mmistakes/minimal-mistakes/archive/master.zip){: .btn .btn--success}
|
||||
|
||||
**ProTip:** Be sure to remove `/docs` and `/test` if you forked Minimal Mistakes. These folders contain documentation and test pages for the theme and you probably don't littering up in your repo.
|
||||
**ProTip:** Be sure to remove `/docs` and `/test` if you forked or downloaded Minimal Mistakes. These folders contain documentation and test pages for the theme and you probably don't littering up in your repo.
|
||||
{: .notice--info}
|
||||
|
||||
---
|
||||
## Theme Migration
|
||||
|
||||
To move over any existing content you'll want to copy the contents of your `_posts` folder to the new site. Along with any pages, collections, data files, images, or other assets you may have.
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Upgrading"
|
||||
permalink: /docs/upgrading/
|
||||
excerpt: "Instructions and suggestions for upgrading the theme."
|
||||
last_modified_at: 2016-11-03T10:16:34-04:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
If you're using the Ruby Gem version of the theme upgrading is fairly painless.
|
||||
|
||||
+119
-18
@@ -2,13 +2,12 @@
|
||||
title: "Configuration"
|
||||
permalink: /docs/configuration/
|
||||
excerpt: "Settings for configuring and customizing the theme."
|
||||
last_modified_at: 2017-09-12T12:25:16-04:00
|
||||
last_modified_at: 2017-11-12T17:19:32-05:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
Settings that affect your entire site can be changed in [Jekyll's configuration file](https://jekyllrb.com/docs/configuration/): `_config.yml`, found in the root of your project. If you don't have this file you'll need to copy or create one using the theme's [default `_config.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_config.yml) as a base.
|
||||
|
||||
{% include toc %}
|
||||
|
||||
**Note:** for technical reasons, `_config.yml` is NOT reloaded automatically when used with `jekyll serve`. If you make any changes to this file, please restart the server process for them to be applied.
|
||||
{: .notice--warning}
|
||||
|
||||
@@ -29,7 +28,7 @@ theme: minimal-mistakes-jekyll
|
||||
Easily change the color scheme of the theme using one of the provided "skins":
|
||||
|
||||
```yaml
|
||||
minimal_mistakes_skin : "default" # "air", "contrast", "dark", "dirt", "mint", "sunrise"
|
||||
minimal_mistakes_skin: "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum" "sunrise"
|
||||
```
|
||||
|
||||
**Note:** If you have made edits to the theme's CSS files be sure to update [`/assets/css/main.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/assets/css/main.scss) to include `@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin` before the `minimal-mistakes` import.
|
||||
@@ -44,6 +43,15 @@ minimal_mistakes_skin : "default" # "air", "contrast", "dark", "dirt", "mint", "
|
||||
<figcaption>Calm and blue.</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Aqua skin: `aqua`
|
||||
{:.no_toc}
|
||||
|
||||
<figure class="half">
|
||||
<a href="{{ site.baseurl }}/assets/images/aqua-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/aqua-skin-archive.png"></a>
|
||||
<a href="{{ site.baseurl }}/assets/images/aqua-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/aqua-skin-post.png"></a>
|
||||
<figcaption>Just like water.</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Contrast skin: `contrast`
|
||||
{:.no_toc}
|
||||
|
||||
@@ -80,6 +88,24 @@ minimal_mistakes_skin : "default" # "air", "contrast", "dark", "dirt", "mint", "
|
||||
<figcaption>Minty fresh green.</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Neon skin: `neon`
|
||||
{:.no_toc}
|
||||
|
||||
<figure class="half">
|
||||
<a href="{{ site.baseurl }}/assets/images/neon-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/neon-skin-archive.png"></a>
|
||||
<a href="{{ site.baseurl }}/assets/images/neon-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/neon-skin-post.png"></a>
|
||||
<figcaption>Inverted palette, white text on a dark background.</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Neon skin: `plum`
|
||||
{:.no_toc}
|
||||
|
||||
<figure class="half">
|
||||
<a href="{{ site.baseurl }}/assets/images/plum-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/plum-skin-archive.png"></a>
|
||||
<a href="{{ site.baseurl }}/assets/images/plum-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/plum-skin-post.png"></a>
|
||||
<figcaption>Purple reigns supreme.</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Sunrise skin: `sunrise`
|
||||
{:.no_toc}
|
||||
|
||||
@@ -241,14 +267,15 @@ To disable reading time for a post, add `read_time: false` its YAML Front Matter
|
||||
|
||||
[**Disqus**](https://disqus.com/), [**Discourse**](https://www.discourse.org/), [**Facebook**](https://developers.facebook.com/docs/plugins/comments), **Google+**, and static-based commenting via [**Staticman**](https://staticman.net/) are built into the theme. First set the comment provider you'd like to use:
|
||||
|
||||
| Name | Comment Provider |
|
||||
| ---- | ---------------- |
|
||||
| **disqus** | Disqus |
|
||||
| **discourse** | Discourse |
|
||||
| **facebook** | Facebook Comments |
|
||||
| **google-plus** | Google+ Comments |
|
||||
| **staticman** | Staticman |
|
||||
| **custom** | Other |
|
||||
| Name | Comment Provider |
|
||||
| ---- | ---------------- |
|
||||
| **disqus** | Disqus |
|
||||
| **discourse** | Discourse |
|
||||
| **facebook** | Facebook Comments |
|
||||
| **google-plus** | Google+ Comments |
|
||||
| **staticman_v2** | Staticman v2 |
|
||||
| **staticman** | Staticman v1 (deprecated) |
|
||||
| **custom** | Other |
|
||||
|
||||
Then add `comments: true` to each document you want comments visible on.
|
||||
|
||||
@@ -308,24 +335,68 @@ comments:
|
||||
|
||||
Transform user comments into `_data` files that live inside of your GitHub repository by enabling Staticman.
|
||||
|
||||
**Note:** Looking to migrate comments from a Wordpress based site? Give [this tool](https://github.com/arthurlacoste/wordpress-comments-jekyll-staticman) a try.
|
||||
{: .notice--info}
|
||||
|
||||
###### Add Staticman as a Collaborator
|
||||
|
||||
1. Allow Staticman push access to your GitHub repository by clicking on **Settings**, then the **Collaborators** tab and adding `staticmanapp` as a collaborator.
|
||||
2. To accept the pending invitation visit: `https://api.staticman.net/v1/connect/{your GitHub username}/{your repository name}`. Consult the Staticman "[Get Started](https://staticman.net/get-started)" guide for more info.
|
||||
2. To accept the pending invitation visit: `https://api.staticman.net/v2/connect/{your GitHub username}/{your repository name}`. Consult the Staticman "[Get Started](https://staticman.net/get-started)" guide for more info.
|
||||
|
||||
###### Configure Staticman
|
||||
|
||||
Default settings have been provided in `_config.yml`. The important ones to set are `provider: "staticman"`, `branch`, and `path`. View the [full list of configurations](https://github.com/eduardoboucas/staticman#jekyll-configuration).
|
||||
**Staticman v2**
|
||||
|
||||
Default settings have been provided in [`staticman.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/staticman.yml) and are commented to guide you through setup. View the [full list of configurations](https://staticman.net/docs/configuration).
|
||||
|
||||
```yaml
|
||||
# staticman.yml (defaults)
|
||||
comments:
|
||||
allowedFields : ["name", "email", "url", "message"]
|
||||
branch : "master"
|
||||
commitMessage : "New comment"
|
||||
filename : "comment-{@timestamp}"
|
||||
format : "yaml"
|
||||
generatedFields:
|
||||
date:
|
||||
type : "date"
|
||||
options:
|
||||
format : "iso8601"
|
||||
moderation : true
|
||||
path : "/_data/comments/{options.slug}" (default)
|
||||
requiredFields : ["name", "email", "message"]
|
||||
transforms:
|
||||
email : md5
|
||||
```
|
||||
|
||||
These settings need to be added to your `_config.yml` file as well:
|
||||
|
||||
```yaml
|
||||
# _config.yml (defaults)
|
||||
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
||||
comments:
|
||||
provider : "staticman_v2"
|
||||
staticman:
|
||||
branch : "master"
|
||||
```
|
||||
|
||||
**Branch setting:** This is the branch comment files will be sent to via pull requests. If you host your site on GitHub Pages it will likely be `master` unless your repo is setup as a project --- use `gh-pages` in that case.
|
||||
{: .notice--info}
|
||||
|
||||
**Note:** Staticman is currently only compatible with GitHub based repositories. [Support for GitLab Pages](https://github.com/eduardoboucas/staticman/issues/22) is planned but not available yet.
|
||||
{: .notice--warning}
|
||||
|
||||
**Staticman v1 (deprecated)**
|
||||
|
||||
Default settings have been provided in `_config.yml`. The important ones to set are `provider: "staticman"`, `branch`, and `path`. View the [full list of configurations](https://staticman.net/docs/configuration).
|
||||
|
||||
```yaml
|
||||
# _config.yml (defaults)
|
||||
comments:
|
||||
provider: "staticman"
|
||||
staticman:
|
||||
allowedFields : ['name', 'email', 'url', 'message']
|
||||
branch : # "master", "gh-pages"
|
||||
branch : "master"
|
||||
commitMessage : "New comment."
|
||||
filename : comment-{@timestamp}
|
||||
format : "yml"
|
||||
@@ -343,15 +414,29 @@ staticman:
|
||||
|
||||
###### Comment Moderation
|
||||
|
||||
By default comment moderation is enabled in `_config.yml`. As new comments are submitted Staticman will send a pull request. Merging these in will approve the comment, close the issue, and automatically rebuild your site (if hosted on GitHub Pages).
|
||||
By default comment moderation is enabled in `staticman.yml`. As new comments are submitted Staticman will send a pull request. Merging these in will approve the comment, close the issue, and automatically rebuild your site (if hosted on GitHub Pages).
|
||||
|
||||
To skip this moderation step simply set `moderation: false`.
|
||||
|
||||
**ProTip:** Create a GitHub webhook that sends a `POST` request to the following payload URL `https://api.staticman.net/v1/webhook` and triggers a "Pull request" event to delete Staticman branches on merge.
|
||||
**ProTip:** Create a GitHub webhook that sends a `POST` request to the following payload URL `https://api.staticman.net/v2/webhook` and triggers a "Pull request" event to delete Staticman branches on merge.
|
||||
{: .notice--info}
|
||||
|
||||

|
||||
|
||||
###### reCAPTCHA Support (v2 only)
|
||||
|
||||
To enable Google's reCAPTCHA to aid in spam detection you'll need to:
|
||||
|
||||
1. Apply for [reCAPTCHA API](https://www.google.com/recaptcha) keys and register your site using the reCAPTCHA V2 type.
|
||||
2. Add your site and secret keys to `staticman.yml` and `_config.yml`. Be sure to properly encrypt your secret key using [Staticman's encrypt endpoint](https://staticman.net/docs/encryption).
|
||||
|
||||
```yaml
|
||||
reCaptcha:
|
||||
enabled: true
|
||||
siteKey: # "6LdRBykTAAAAAFB46MnIu6ixuxwu9W1ihFF8G60Q"
|
||||
secret: # "PznnZGu3P6eTHRPLORniSq+J61YEf+A9zmColXDM5icqF49gbunH51B8+h+i2IvewpuxtA9TFoK68TuhUp/X3YKmmqhXasegHYabY50fqF9nJh9npWNhvITdkQHeaOqnFXUIwxfiEeUt49Yoa2waRR7a5LdRAP3SVM8hz0KIBT4="
|
||||
```
|
||||
|
||||
##### Other Comment Providers
|
||||
|
||||
To use another provider not included with the theme set `provider: "custom"` then add their embed code to `_includes/comments-providers/custom.html`.
|
||||
@@ -395,13 +480,29 @@ Into `_config.yml`
|
||||
bing_site_verification: "0FC3FD70512616B052E755A56F8952D"
|
||||
```
|
||||
|
||||
#### Naver Webmaster Tools
|
||||
|
||||
To verify site ownership you will need to [create a Naver account](https://nid.naver.com/user2/joinGlobal.nhn?lang=en_US&m=init) and then **Add your site** via [Naver Webmaster Tools](http://webmastertool.naver.com/).
|
||||
|
||||
Much like Google and Bing you'll be provided with a meta description:
|
||||
|
||||
```html
|
||||
<meta name="naver-site-verification" content="6BF5A01C0E650B479B612AC5A2184144">`
|
||||
```
|
||||
|
||||
Which you can add to your `_config.yml` like so:
|
||||
|
||||
```yaml
|
||||
naver-site-verification: "6BF5A01C0E650B479B612AC5A2184144"
|
||||
```
|
||||
|
||||
#### Alexa
|
||||
|
||||
To [claim your site](http://www.alexa.com/siteowners/claim) with Alexa add the provided verification ID `alexa_site_verification: "yourVerificationID"`.
|
||||
|
||||
#### Yandex
|
||||
|
||||
To verify site ownership copy and paste the string inside of `name`:
|
||||
To verify site ownership copy and paste the string inside of `content`:
|
||||
|
||||
```html
|
||||
<meta name='yandex-verification' content='2132801JL' />
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Navigation"
|
||||
permalink: /docs/navigation/
|
||||
excerpt: "Instructions on how to customize the main navigation and enabling breadcrumb links."
|
||||
last_modified_at: 2016-11-03T10:50:03-04:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Masthead
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "UI Text"
|
||||
permalink: /docs/ui-text/
|
||||
excerpt: "Text for customizing various user interface elements found in the theme."
|
||||
last_modified_at: 2017-08-18T12:27:07-04:00
|
||||
last_modified_at: 2017-10-16T12:41:11-04:00
|
||||
---
|
||||
|
||||
Text for various UI elements, `_layouts`, and `_includes` have all been grouped together as a set of translation keys. This is by no means a full-on i18n solution, but it does help make customizing things a bit easier.
|
||||
@@ -20,6 +20,7 @@ Currently the English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://
|
||||
- Italian (Italiano)
|
||||
- Korean
|
||||
- Nepali (Nepalese)
|
||||
- Polish
|
||||
- Russian
|
||||
- Spanish (Español)
|
||||
- Swedish
|
||||
|
||||
@@ -7,11 +7,12 @@ single_layout_gallery:
|
||||
alt: "single layout with header example"
|
||||
- image_path: /assets/images/mm-layout-single-meta.png
|
||||
alt: "single layout with comments and related posts"
|
||||
last_modified_at: 2017-07-05T15:41:36-04:00
|
||||
last_modified_at: 2017-11-15T15:01:40-05:00
|
||||
toc: true
|
||||
toc_label: "Included Layouts"
|
||||
toc_icon: "columns"
|
||||
---
|
||||
|
||||
{% include toc icon="columns" title="Included Layouts" %}
|
||||
|
||||
The bread and butter of any theme. Below you'll find the layouts included with Minimal Mistakes, what they look like and the type of content they've been built for.
|
||||
|
||||
## Default Layout
|
||||
@@ -35,6 +36,7 @@ Class names corresponding to each layout are automatically added to the `<body>`
|
||||
| ---------------- | --------------------------- |
|
||||
| archive | `.layout--archive` |
|
||||
| archive-taxonomy | `.layout--archive-taxonomy` |
|
||||
| search | `.layout--search` |
|
||||
| single | `.layout--single` |
|
||||
| splash | `.layout--splash` |
|
||||
| home | `.layout--home` |
|
||||
@@ -83,6 +85,28 @@ The layout you'll likely use the most --- sidebar and main content combo.
|
||||
|
||||
Assign with `layout: single`, or better yet apply as a [Front Matter default]({{ "/docs/configuration/#front-matter-defaults" | absolute_url }}) in `_config.yml`.
|
||||
|
||||
### Table of Contents
|
||||
|
||||
Auto-generated table of contents list for your posts and pages can be enabled by adding `toc: true` to the YAML Front Matter.
|
||||
|
||||

|
||||
|
||||
| Parameter | Required | Description | Default |
|
||||
| --------- | -------- | ----------- | ------- |
|
||||
| **toc** | Optional | Show table of contents. (boolean) | `false` |
|
||||
| **toc_label** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
||||
| **toc_icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fortawesome.github.io/Font-Awesome/icons/) <i class="fa fa-file-text"></i> **file-text** icon. Any other FA icon can be used instead. |
|
||||
|
||||
**TOC example with custom title and icon**
|
||||
|
||||
```yaml
|
||||
---
|
||||
toc: true
|
||||
toc_label: "My Table of Contents"
|
||||
toc_icon: "gear"
|
||||
---
|
||||
```
|
||||
|
||||
## Archive Layout
|
||||
|
||||
Essentially the same as `single` with markup adjustments and some modules removed.
|
||||
@@ -194,7 +218,7 @@ author_profile: true
|
||||
{% endfor %}{% endraw %}
|
||||
```
|
||||
|
||||
### Home Page
|
||||
## Home Page Layout
|
||||
|
||||
A derivative archive page layout to be used as a simple home page. It is built to show a paginated list of recent posts based off of the [pagination settings]({{ "/docs/configuration/#paginate" | absolute_url }}) in `_config.yml`.
|
||||
|
||||
@@ -245,6 +269,14 @@ For full-width landing pages that need a little something extra add `layout: spl
|
||||
|
||||
Feature blocks can be assigned and aligned to the `left`, `right`, or `center` with a sprinkling of YAML. For full details on how to use the `feature_row` helper check the [**Content**]({{ "/docs/helpers/" | absolute_url }}) section or review a [sample splash page](https://github.com/{{ site.repository }}/blob/master/docs/_pages/splash-page.md).
|
||||
|
||||
## Search Page Layout
|
||||
|
||||
A page with a search form. Add `layout: search` to the YAML Front Matter similar to [this example](https://github.com/mmistakes/minimal-mistakes/blob/master/docs/_pages/search.md) on the demo site.
|
||||
|
||||

|
||||
|
||||
**ProTip:** Add a link to this page in the masthead navigation.
|
||||
{: .notice--info}
|
||||
|
||||
---
|
||||
|
||||
@@ -357,6 +389,19 @@ header:
|
||||
cta_url: "https://unsplash.com"
|
||||
```
|
||||
|
||||
### OpenGraph & Twitter Card Images
|
||||
|
||||
By default the large page header or overlay images are used for sharing previews. If you'd like to set this image to something else use `page.header.og_image` like:
|
||||
|
||||
```yaml
|
||||
header:
|
||||
image: /assets/images/your-page-image.jpg
|
||||
og_image: /assets/images/your-og-image.jpg
|
||||
```
|
||||
|
||||
**ProTip:** `og_image` is useful for setting OpenGraph images on pages that don't have a header or overlay image.
|
||||
{: .notice--info}
|
||||
|
||||
---
|
||||
|
||||
## Sidebars
|
||||
@@ -439,7 +484,7 @@ To end up with:
|
||||
|
||||
To add a touch of color to the default black (`#000`) icon a few more steps are necessary.
|
||||
|
||||
Start by copying [`_utilities.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/_utilities.scss) `<site root>/_sass`. Open it up to the icon section (it's near the bottom) and nest a new class beneath `.social-icons` that matches the one used to declare the Font Awesome icon. In our case `.fa-reddit`.
|
||||
Start by copying [`_utilities.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/minimal-mistakes/_utilities.scss) `<site root>/_sass`. Open it up to the icon section (it's near the bottom) and nest a new class beneath `.social-icons` that matches the one used to declare the Font Awesome icon. In our case `.fa-reddit`.
|
||||
|
||||
Simply add a `color` declaration and the corresponding hex code.
|
||||
|
||||
@@ -454,7 +499,7 @@ Simply add a `color` declaration and the corresponding hex code.
|
||||
|
||||

|
||||
|
||||
**ProTip:** For bonus points you can add it as a Sass `$variable` that you set in [`_variables.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/_variables.scss) like the other ["brand" colors](http://brandcolors.net/). You'll need to add this file to `/_sass/` as well if you're using the Ruby Gem version of the theme.
|
||||
**ProTip:** For bonus points you can add it as a Sass `$variable` that you set in [`_variables.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/minimal-mistakes/_variables.scss) like the other ["brand" colors](http://brandcolors.net/). You'll need to add this file to `/_sass/` as well if you're using the Ruby Gem version of the theme.
|
||||
{: .notice--info}
|
||||
|
||||
**Please please please** don't submit [pull requests]({{ "/docs/contributing/" | absolute_url }}) adding in support for "missing" social media links. I'm trying to keep things down to the minimum (hence the theme's name) and have no interest in merging such PRs :expressionless:.
|
||||
|
||||
@@ -30,11 +30,12 @@ feature_row:
|
||||
- image_path: /assets/images/unsplash-gallery-image-3-th.jpg
|
||||
title: "Placeholder 3"
|
||||
excerpt: "This is some sample content that goes here with **Markdown** formatting."
|
||||
last_modified_at: 2017-05-16T11:45:00-04:00
|
||||
last_modified_at: 2017-10-20T14:20:36-04:00
|
||||
toc: true
|
||||
toc_label: "Helpers"
|
||||
toc_icon: "gears"
|
||||
---
|
||||
|
||||
{% include toc icon="gears" title="Helpers" %}
|
||||
|
||||
You can think of these Jekyll helpers as little shortcuts. Since GitHub Pages doesn't allow most plugins --- [custom tags](https://jekyllrb.com/docs/plugins/#tags) are out. Instead the theme leverages [**includes**](https://jekyllrb.com/docs/templates/#includes) to do something similar.
|
||||
|
||||
## Base Path
|
||||
@@ -238,18 +239,51 @@ header:
|
||||
|
||||
## Table of Contents
|
||||
|
||||
To include an [auto-generated table of contents](https://kramdown.gettalong.org/converter/html.html#toc) for posts and pages, add the following helper before any actual content in your post or page.
|
||||
Auto-generated table of contents list for your posts and pages can be enabled using two methods.
|
||||
|
||||

|
||||
|
||||
### Enabled via YAML Front Matter
|
||||
|
||||
Add `toc: true` to the YAML Front Matter of any post or page.
|
||||
|
||||
| Parameter | Required | Description | Default |
|
||||
| --------- | -------- | ----------- | ------- |
|
||||
| **toc** | Optional | Show table of contents. (boolean) | `false` |
|
||||
| **toc_label** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
||||
| **toc_icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fortawesome.github.io/Font-Awesome/icons/) <i class="fa fa-file-text"></i> **file-text** icon. Any other FA icon can be used instead. |
|
||||
|
||||
**TOC example with custom title and icon**
|
||||
|
||||
```yaml
|
||||
---
|
||||
toc: true
|
||||
toc_label: "My Table of Contents"
|
||||
toc_icon: "gear"
|
||||
---
|
||||
```
|
||||
|
||||
**Note:** using both methods will have unintended results. Be sure to remove `{% raw %}{% include toc %}{% endraw %}` placed table of contents from your content when using `toc: true`.
|
||||
{: .notice--warning }
|
||||
|
||||
### Enabled via `toc` include (deprecated)
|
||||
|
||||
To include a Kramdown [auto-generated table of contents](https://kramdown.gettalong.org/converter/html.html#toc) for posts and pages, add the following helper to your content.
|
||||
|
||||
```liquid
|
||||
{% raw %}{% include toc %}{% endraw %}
|
||||
```
|
||||
|
||||

|
||||
**Note:** this method only works with Markdown files.
|
||||
{: .notice--warning}
|
||||
|
||||
**Deprecated:** `toc` helper will be removed in the next major version of the theme. It is encouraged that you migrate to the YAML Front Matter method above.
|
||||
{: .notice--danger}
|
||||
|
||||
| Parameter | Required | Description | Default |
|
||||
| --------- | -------- | ----------- | ------- |
|
||||
| **title** | Optional | Table of contents title. | `toc_label` in UI Text data file. |
|
||||
| **icon** | Optional | Table of contents icon (shows before the title). | [Font Awesome](https://fortawesome.github.io/Font-Awesome/icons/) <i class="fa fa-file-text"></i> **file-text** icon. Any other FA icon can be used instead. |
|
||||
| **title** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
||||
| **icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fortawesome.github.io/Font-Awesome/icons/) <i class="fa fa-file-text"></i> **file-text** icon. Any other FA icon can be used instead. |
|
||||
|
||||
**TOC example with custom title and icon**
|
||||
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
title: "Utility Classes"
|
||||
permalink: /docs/utility-classes/
|
||||
excerpt: "CSS classes for aligning text/image, styling buttons and notices, and more."
|
||||
last_modified_at: 2017-09-01T11:54:44-04:00
|
||||
last_modified_at: 2017-10-20T12:36:34-04:00
|
||||
toc: true
|
||||
toc_label: "Utility Classes"
|
||||
toc_icon: "gears"
|
||||
---
|
||||
|
||||
{% include toc icon="gears" title="Utility Classes" %}
|
||||
|
||||
Using the Kramdown Markdown renderer with Jekyll allows you to add [block](http://kramdown.gettalong.org/quickref.html#block-attributes) and [inline attributes](http://kramdown.gettalong.org/quickref.html#inline-attributes). This is nice if you want to add custom styling to text and image, and still write in Markdown.
|
||||
|
||||
**Jekyll 3:** Kramdown is the default for `jekyll new` sites and those hosted on GitHub Pages. Not using Kramdown? That's OK. The following classes are still available when used with standard HTML.
|
||||
|
||||
@@ -89,7 +89,7 @@ By default the theme uses [system fonts](https://medium.com/designing-medium/sys
|
||||
```scss
|
||||
/* system typefaces */
|
||||
$serif : Georgia, Times, serif;
|
||||
$sans-serif : -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
|
||||
$sans-serif : -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
|
||||
$monospace : Monaco, Consolas, "Lucida Console", monospace;
|
||||
```
|
||||
|
||||
@@ -114,7 +114,7 @@ Not a fan of the refreshed typography of the theme and want to revert back an ol
|
||||
|
||||
```scss
|
||||
$serif : "PT Serif", Georgia, Times, serif;
|
||||
$sans-serif-narrow : "PT Sans Narrow", -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
|
||||
$sans-serif-narrow : "PT Sans Narrow", -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
|
||||
|
||||
$global-font-family : $serif;
|
||||
$header-font-family : $sans-serif-narrow;
|
||||
|
||||
@@ -4,9 +4,50 @@ permalink: /docs/history/
|
||||
excerpt: "Change log of enhancements and bug fixes made to the theme."
|
||||
sidebar:
|
||||
nav: docs
|
||||
last_modified_at: 2017-09-12T14:54:40-04:00
|
||||
last_modified_at: 2017-11-15T15:53:56-05:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
## [4.7.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.7.1)
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Add search layout powered by [Lunr](https://lunrjs.com/). [#1353](https://github.com/mmistakes/minimal-mistakes/pull/1353)
|
||||
- Use [jekyll-remote-theme](https://github.com/benbalter/jekyll-remote-theme) for demo site. [#1339](https://github.com/mmistakes/minimal-mistakes/issues/1339)
|
||||
- Add note about WordPress to Staticman comment migration tool in documentation. [#1346](https://github.com/mmistakes/minimal-mistakes/issues/1346)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Change `http` to `https` for Jekyll and Browserhappy links. [#1342](https://github.com/mmistakes/minimal-mistakes/pull/1342) [#1343](https://github.com/mmistakes/minimal-mistakes/pull/1343)
|
||||
- Change `http` author profile links to `https` when supported. [#1349](https://github.com/mmistakes/minimal-mistakes/pull/1349)
|
||||
- Fix broken SCSS partial links in layouts documentation. [#1351](https://github.com/mmistakes/minimal-mistakes/issues/1351)
|
||||
|
||||
## [4.7.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.7.0)
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Add `alt` description to avatar image. [#1226](https://github.com/mmistakes/minimal-mistakes/pull/1226)
|
||||
- Clarify documentation about which `assets` folders and files to remove when migrating to the gem version of the theme. [#1268](https://github.com/mmistakes/minimal-mistakes/issues/1268)
|
||||
- Add note about Staticman GitHub compatibility. [#1273](https://github.com/mmistakes/minimal-mistakes/issues/1273)
|
||||
- Add missing Brazilian Portuguese translations to `ui-text.yml`. [#1278](https://github.com/mmistakes/minimal-mistakes/pull/1278)
|
||||
- Update font stack documentation. [#1292](https://github.com/mmistakes/minimal-mistakes/pull/1292)
|
||||
- Improve accessibility of navigation menu button. [#1099](https://github.com/mmistakes/minimal-mistakes/issues/1099)
|
||||
- Add Naver Webmaster Tools verification. [#1286](https://github.com/mmistakes/minimal-mistakes/pull/1286)
|
||||
- Add support for Staticman v2 endpoint and reCAPTCHA.
|
||||
- Add Polish localized UI text strings. [#1304](https://github.com/mmistakes/minimal-mistakes/pull/1304)
|
||||
- Add toggleable table of contents via YAML Front Matter. Note: `toc` helper include will be deprecated in next major version. [#1222](https://github.com/mmistakes/minimal-mistakes/issues/1222)
|
||||
- Refactor seo.html include to DRY-up page image handling.
|
||||
- Add support for setting what image is used by OpenGraph and Twitter via `page.header.og_image`. [#1316](https://github.com/mmistakes/minimal-mistakes/issues/1316)
|
||||
- Fix the spelling of some product names in the author profile. [#1328](https://github.com/mmistakes/minimal-mistakes/pull/1328)
|
||||
- Add `aqua`, `neon`, and `plum` skins. [#1336](https://github.com/mmistakes/minimal-mistakes/pull/1336)
|
||||
- Update **jekyll-toc** with heading classes fix. [#1337](https://github.com/mmistakes/minimal-mistakes/pull/1337)
|
||||
- Remove `+` from Google+ author link to allow non-vanity URLs. [#1319](https://github.com/mmistakes/minimal-mistakes/pull/1319)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix system font rendering in Chrome on macOS/OS X. [#1290](https://github.com/mmistakes/minimal-mistakes/pull/1290)
|
||||
- Fix extra padding in syntax highlighted code blocks due to Rouge 2 adding `<div class="highlight"></div>` to markup.
|
||||
|
||||
## [4.6.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.6.0)
|
||||
|
||||
### Enhancements
|
||||
|
||||
@@ -2,11 +2,10 @@
|
||||
title: "2.2 Documentation"
|
||||
permalink: /docs/docs-2-2/
|
||||
excerpt: "Setup and installation instructions for Minimal Mistakes 2.2 (deprecated)."
|
||||
last_modified_at: 2016-04-13T15:54:02-04:00
|
||||
last_modified_at: 2017-10-20T12:37:11-04:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
{% include toc %}
|
||||
|
||||
## Installation
|
||||
|
||||
Minimal Mistakes now requires [Jekyll](http://jekyllrb.com/) 3.0. Make sure to run `bundle update` if you aren't on the latest version to update all gem dependencies.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "License"
|
||||
permalink: /docs/license/
|
||||
excerpt: "License for Minimal Mistakes Jekyll Theme."
|
||||
last_modified_at: 2016-04-13T15:05:12-04:00
|
||||
last_modified_at: 2017-10-20T14:44:38-04:00
|
||||
---
|
||||
|
||||
The MIT License (MIT)
|
||||
@@ -25,4 +25,46 @@ 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.
|
||||
SOFTWARE.
|
||||
|
||||
Minimal Mistakes incorporates icons from [The Noun Project](https://thenounproject.com/)
|
||||
creators Garrett Knoll, Arthur Shlain, and tracy tam.
|
||||
Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
|
||||
|
||||
Minimal Mistakes incorporates [Font Awesome](http://fontawesome.io/),
|
||||
Copyright (c) 2017 Dave Gandy.
|
||||
Font Awesome is distributed under the terms of the [SIL OFL 1.1](http://scripts.sil.org/OFL)
|
||||
and [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates photographs from [Unsplash](https://unsplash.com).
|
||||
|
||||
Minimal Mistakes incorporates [Susy](http://susy.oddbird.net/),
|
||||
Copyright (c) 2017, Miriam Eric Suzanne.
|
||||
Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
|
||||
|
||||
Minimal Mistakes incorporates [Breakpoint](http://breakpoint-sass.com/).
|
||||
Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
||||
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
|
||||
|
||||
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
||||
Magnific Popup is distributed under the terms of the MIT License.
|
||||
|
||||
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
|
||||
Copyright (c) 2017 Karl Swedberg.
|
||||
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
|
||||
Copyright (c) 2015 Luke Jackson.
|
||||
GreedyNav.js is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [Jekyll Group-By-Array](https://github.com/mushishi78/jekyll-group-by-array),
|
||||
Copyright (c) 2015 Max White <mushishi78@gmail.com>.
|
||||
Jekyll Group-By-Array is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [@allejo's Pure Liquid Jekyll Table of Contents](https://allejo.io/blog/a-jekyll-toc-in-liquid-only/),
|
||||
Copyright (c) 2017 Vladimir Jimenez.
|
||||
Pure Liquid Jekyll Table of Contents is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
@@ -1,3 +0,0 @@
|
||||
<!-- start custom analytics snippet -->
|
||||
|
||||
<!-- end custom analytics snippet -->
|
||||
@@ -1,9 +0,0 @@
|
||||
<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','https://www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', '{{ site.analytics.google.tracking_id }}', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
@@ -1,11 +0,0 @@
|
||||
<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>
|
||||
@@ -1,12 +0,0 @@
|
||||
{% 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 %}
|
||||
@@ -1,38 +0,0 @@
|
||||
{% if post.header.teaser %}
|
||||
{% capture teaser %}{{ post.header.teaser }}{% endcapture %}
|
||||
{% else %}
|
||||
{% assign teaser = site.teaser %}
|
||||
{% endif %}
|
||||
|
||||
{% if post.id %}
|
||||
{% assign title = post.title | markdownify | remove: "<p>" | remove: "</p>" %}
|
||||
{% else %}
|
||||
{% assign title = post.title %}
|
||||
{% endif %}
|
||||
|
||||
<div class="{{ include.type | default: "list" }}__item">
|
||||
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
{% if include.type == "grid" and teaser %}
|
||||
<div class="archive__item-teaser">
|
||||
<img src=
|
||||
{% if teaser contains "://" %}
|
||||
"{{ teaser }}"
|
||||
{% else %}
|
||||
"{{ teaser | absolute_url }}"
|
||||
{% endif %}
|
||||
alt="">
|
||||
</div>
|
||||
{% endif %}
|
||||
<h2 class="archive__item-title" itemprop="headline">
|
||||
{% if post.link %}
|
||||
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | absolute_url }}" rel="permalink"><i class="fa fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
|
||||
{% else %}
|
||||
<a href="{{ post.url | absolute_url }}" rel="permalink">{{ title }}</a>
|
||||
{% 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>
|
||||
</div>
|
||||
@@ -1,7 +0,0 @@
|
||||
<!--
|
||||
<li>
|
||||
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs">
|
||||
<i class="fa fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
||||
</a>
|
||||
</li>
|
||||
-->
|
||||
@@ -1,249 +0,0 @@
|
||||
{% if page.author and site.data.authors[page.author] %}
|
||||
{% assign author = site.data.authors[page.author] %}
|
||||
{% else %}
|
||||
{% assign author = site.author %}
|
||||
{% endif %}
|
||||
|
||||
<div itemscope itemtype="http://schema.org/Person">
|
||||
|
||||
{% if author.avatar %}
|
||||
<div class="author__avatar">
|
||||
{% if author.avatar contains "://" %}
|
||||
<img src="{{ author.avatar }}" alt="{{ author.name }}" itemprop="image">
|
||||
{% else %}
|
||||
<img src="{{ author.avatar | absolute_url }}" class="author__avatar" alt="{{ author.name }}" itemprop="image">
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="author__content">
|
||||
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
|
||||
{% if author.bio %}
|
||||
<p class="author__bio" itemprop="description">
|
||||
{{ author.bio }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="author__urls-wrapper">
|
||||
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
|
||||
<ul class="author__urls social-icons">
|
||||
{% if author.location %}
|
||||
<li itemprop="homeLocation" itemscope itemtype="http://schema.org/Place">
|
||||
<i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.uri %}
|
||||
<li>
|
||||
<a href="{{ author.uri }}" itemprop="url">
|
||||
<i class="fa fa-fw fa-chain" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.email %}
|
||||
<li>
|
||||
<a href="mailto:{{ author.email }}">
|
||||
<meta itemprop="email" content="{{ author.email }}" />
|
||||
<i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "Email" }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.keybase %}
|
||||
<li>
|
||||
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.gitlab %}
|
||||
<li>
|
||||
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.stackoverflow %}
|
||||
<li>
|
||||
<a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stackoverflow
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.lastfm %}
|
||||
<li>
|
||||
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-steam-square" aria-hidden="true"></i> Steam
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.youtube %}
|
||||
{% if author.youtube contains "://" %}
|
||||
<li>
|
||||
<a href="{{ author.youtube }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube
|
||||
</a>
|
||||
</li>
|
||||
{% else author.youtube %}
|
||||
<li>
|
||||
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if author.soundcloud %}
|
||||
<li>
|
||||
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<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 }}" itemprop="sameAs">
|
||||
<i class="fa fa-fw fa-vine" aria-hidden="true"></i> Vine
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% include author-profile-custom-links.html %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,5 +0,0 @@
|
||||
{% if site.url %}
|
||||
{% assign base_path = site.url | append: site.baseurl %}
|
||||
{% else %}
|
||||
{% assign base_path = site.github.url %}
|
||||
{% endif %}
|
||||
@@ -1,39 +0,0 @@
|
||||
{% case site.category_archive.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.category_archive.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="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
||||
<meta itemprop="position" content="{{ i }}" />
|
||||
</li>
|
||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</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="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | absolute_url }}" 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 | default: "/" }}</span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</nav>
|
||||
@@ -1,3 +0,0 @@
|
||||
<!--[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]-->
|
||||
@@ -1,26 +0,0 @@
|
||||
{% 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 %}
|
||||
|
||||
<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 | default: "Categories:" }} </strong>
|
||||
<span itemprop="keywords">
|
||||
{% for hash in category_hashes %}
|
||||
{% assign keyValue = hash | split: '#' %}
|
||||
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
||||
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | absolute_url }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
@@ -1,22 +0,0 @@
|
||||
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
|
||||
<div class="comment__avatar-wrapper">
|
||||
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80">
|
||||
</div>
|
||||
<div class="comment__content-wrapper">
|
||||
<h3 class="comment__author" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
{% unless include.url == blank %}
|
||||
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
|
||||
{% else %}
|
||||
<span itemprop="name">{{ include.name }}</span>
|
||||
{% endunless %}
|
||||
</h3>
|
||||
<p class="comment__date">
|
||||
{% if include.date %}
|
||||
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
||||
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
|
||||
{% if include.index %}</a>{% endif %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<div itemprop="text">{{ include.message | markdownify }}</div>
|
||||
</div>
|
||||
</article>
|
||||
@@ -1,3 +0,0 @@
|
||||
<!-- start custom comments snippet -->
|
||||
|
||||
<!-- end custom comments snippet -->
|
||||
@@ -1,13 +0,0 @@
|
||||
{% if site.comments.discourse.server %}
|
||||
{% capture canonical %}{% if site.permalink contains '.html' %}{{ page.url | absolute_url }}{% else %}{{ page.url | absolute_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 <a href="https://www.discourse.org/">Discourse.</a></noscript>
|
||||
{% endif %}
|
||||
@@ -1,15 +0,0 @@
|
||||
{% if site.comments.disqus.shortname %}
|
||||
<script>
|
||||
var disqus_config = function () {
|
||||
this.page.url = "{{ page.url | absolute_url }}"; // Replace PAGE_URL with your page's canonical URL variable
|
||||
this.page.identifier = "{{ page.id }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
|
||||
};
|
||||
(function() { // DON'T EDIT BELOW THIS LINE
|
||||
var d = document, s = d.createElement('script');
|
||||
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
||||
s.setAttribute('data-timestamp', +new Date());
|
||||
(d.head || d.body).appendChild(s);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
{% endif %}
|
||||
@@ -1,8 +0,0 @@
|
||||
<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>
|
||||
@@ -1,2 +0,0 @@
|
||||
<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>
|
||||
@@ -1,16 +0,0 @@
|
||||
{% 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 "staticman" %}
|
||||
{% include /comments-providers/staticman.html %}
|
||||
{% when "custom" %}
|
||||
{% include /comments-providers/custom.html %}
|
||||
{% endcase %}
|
||||
{% endif %}
|
||||
@@ -1,97 +0,0 @@
|
||||
<div class="page__comments">
|
||||
{% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %}
|
||||
{% case site.comments.provider %}
|
||||
{% when "discourse" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="discourse-comments"></section>
|
||||
{% when "disqus" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="disqus_thread"></section>
|
||||
{% when "facebook" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section class="fb-comments" data-href="{{ page.url | absolute_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" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
|
||||
<script>
|
||||
function initComment() {
|
||||
gapi.comments.render("g-comments", {
|
||||
href: "{{ page.url | absolute_url }}",
|
||||
width: "624",
|
||||
first_party_property: "BLOGGER",
|
||||
view_type: "FILTERED_POSTMOD"
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
|
||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
|
||||
{% when "staticman" %}
|
||||
<section id="static-comments">
|
||||
{% if site.repository and site.staticman.branch %}
|
||||
<!-- Start static comments -->
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment[1].email %}
|
||||
{% assign name = comment[1].name %}
|
||||
{% assign url = comment[1].url %}
|
||||
{% assign date = comment[1].date %}
|
||||
{% assign message = comment[1].message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- End static comments -->
|
||||
|
||||
<!-- Start new comment form -->
|
||||
<div class="page__comments-form">
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
||||
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
|
||||
<div class="form__spinner">
|
||||
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
|
||||
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
|
||||
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
|
||||
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
|
||||
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
|
||||
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
|
||||
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
|
||||
</fieldset>
|
||||
<fieldset class="hidden" style="display: none;">
|
||||
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
|
||||
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
|
||||
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
|
||||
</fieldset>
|
||||
<!-- Start comment form alert messaging -->
|
||||
<p class="hidden js-notice">
|
||||
<strong class="js-notice-text"></strong>
|
||||
</p>
|
||||
<!-- End comment form alert messaging -->
|
||||
<fieldset>
|
||||
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End new comment form -->
|
||||
{% endif %}
|
||||
</section>
|
||||
{% when "custom" %}
|
||||
<section id="custom-comments"></section>
|
||||
{% endcase %}
|
||||
</div>
|
||||
@@ -1,50 +0,0 @@
|
||||
{% 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 | absolute_url }}{% 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 | absolute_url }}"
|
||||
{% 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 | default: "Learn More" }}</a></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
@@ -1,12 +0,0 @@
|
||||
<figure class="{{ include.class }}">
|
||||
<img src=
|
||||
{% if include.image_path contains "://" %}
|
||||
"{{ include.image_path }}"
|
||||
{% else %}
|
||||
"{{ include.image_path | absolute_url }}"
|
||||
{% endif %}
|
||||
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
||||
{% if include.caption %}
|
||||
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
||||
{% endif %}
|
||||
</figure>
|
||||
@@ -1,25 +0,0 @@
|
||||
<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.gitlab %}
|
||||
<li><a href="http://gitlab.com/{{ site.author.gitlab }}"><i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab</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="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}"><i class="fa fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||
@@ -1,3 +0,0 @@
|
||||
<!-- start custom footer snippets -->
|
||||
|
||||
<!-- end custom footer snippets -->
|
||||
@@ -1,47 +0,0 @@
|
||||
{% if include.id %}
|
||||
{% assign gallery = page[include.id] %}
|
||||
{% else %}
|
||||
{% assign gallery = page.gallery %}
|
||||
{% endif %}
|
||||
|
||||
{% 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 | absolute_url }}"
|
||||
{% endif %}
|
||||
{% if img.title %}title="{{ img.title }}"{% endif %}
|
||||
>
|
||||
<img src=
|
||||
{% if img.image_path contains "://" %}
|
||||
"{{ img.image_path }}"
|
||||
{% else %}
|
||||
"{{ img.image_path | absolute_url }}"
|
||||
{% endif %}
|
||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||
</a>
|
||||
{% else %}
|
||||
<img src=
|
||||
{% if img.image_path contains "://" %}
|
||||
"{{ img.image_path }}"
|
||||
{% else %}
|
||||
"{{ img.image_path | absolute_url }}"
|
||||
{% endif %}
|
||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if include.caption %}
|
||||
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
||||
{% endif %}
|
||||
</figure>
|
||||
@@ -1,47 +0,0 @@
|
||||
<!--
|
||||
# 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 %}
|
||||
|
||||
<!-- 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 %}
|
||||
@@ -1,43 +0,0 @@
|
||||
<meta charset="utf-8">
|
||||
|
||||
{% include seo.html %}
|
||||
|
||||
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}" 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="{{ '/assets/css/main.css' | absolute_url }}">
|
||||
|
||||
<!--[if lte IE 9]>
|
||||
<style>
|
||||
/* old IE unsupported flexbox fixes */
|
||||
.greedy-nav .site-title {
|
||||
padding-right: 3em;
|
||||
}
|
||||
.greedy-nav button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<![endif]-->
|
||||
|
||||
{% if site.head_scripts %}
|
||||
{% for script in site.head_scripts %}
|
||||
{% if script contains "://" %}
|
||||
{% capture script_path %}{{ script }}{% endcapture %}
|
||||
{% else %}
|
||||
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
|
||||
{% endif %}
|
||||
<script src="{{ script_path }}"></script>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@@ -1,5 +0,0 @@
|
||||
<!-- start custom head snippets -->
|
||||
|
||||
<!-- insert favicons. use http://realfavicongenerator.net/ -->
|
||||
|
||||
<!-- end custom head snippets -->
|
||||
@@ -1,21 +0,0 @@
|
||||
<div class="masthead">
|
||||
<div class="masthead__inner-wrap">
|
||||
<div class="masthead__menu">
|
||||
<nav id="site-nav" class="greedy-nav">
|
||||
<a class="site-title" href="{{ '/' | absolute_url }}">{{ site.title }}</a>
|
||||
<ul class="visible-links">
|
||||
{% for link in site.data.navigation.main %}
|
||||
{% if link.url contains 'http' %}
|
||||
{% assign domain = '' %}
|
||||
{% else %}
|
||||
{% assign domain = site.url | append: site.baseurl %}
|
||||
{% endif %}
|
||||
<li class="masthead__menu-item"><a href="{{ domain }}{{ link.url }}">{{ link.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<button><div class="navicon"></div></button>
|
||||
<ul class="hidden-links hidden"></ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,47 +0,0 @@
|
||||
{% assign navigation = site.data.navigation[include.nav] %}
|
||||
|
||||
<nav class="nav__list">
|
||||
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
||||
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
||||
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
||||
<ul class="nav__items">
|
||||
{% for nav in navigation %}
|
||||
<li>
|
||||
{% if nav.url %}
|
||||
{% comment %} internal/external URL check {% endcomment %}
|
||||
{% if nav.url contains "://" %}
|
||||
{% assign domain = "" %}
|
||||
{% else %}
|
||||
{% assign domain = site.url | append: site.baseurl %}
|
||||
{% 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 = site.url | append: site.baseurl %}
|
||||
{% 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>
|
||||
@@ -1,61 +0,0 @@
|
||||
{% if page.header.image contains "://" %}
|
||||
{% capture img_path %}{{ page.header.image }}{% endcapture %}
|
||||
{% else %}
|
||||
{% capture img_path %}{{ page.header.image | absolute_url }}{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.header.cta_url contains "://" %}
|
||||
{% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
|
||||
{% else %}
|
||||
{% capture cta_path %}{{ page.header.cta_url | absolute_url }}{% 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 | absolute_url }}{% 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 %}
|
||||
|
||||
{% if page.header.image_description %}
|
||||
{% assign image_description = page.header.image_description %}
|
||||
{% else %}
|
||||
{% assign image_description = page.title %}
|
||||
{% endif %}
|
||||
|
||||
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
|
||||
|
||||
<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 and site.paginate_show_page_num %}
|
||||
{{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "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 | default: "Learn More" }}</a></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<img src="{{ img_path }}" alt="{{ image_description }}" 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>
|
||||
@@ -1,4 +0,0 @@
|
||||
{% capture video_id %}{{ page.header.video.id }}{% endcapture %}
|
||||
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %}
|
||||
|
||||
{% include video id=video_id provider=video_provider %}
|
||||
@@ -1,7 +0,0 @@
|
||||
{% 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 %}
|
||||
@@ -1,69 +0,0 @@
|
||||
{% if paginator.total_pages > 1 %}
|
||||
<nav class="pagination">
|
||||
{% assign first_page_path = site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | absolute_url %}
|
||||
<ul>
|
||||
{% comment %} Link for previous page {% endcomment %}
|
||||
{% if paginator.previous_page %}
|
||||
{% if paginator.previous_page == 1 %}
|
||||
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||
{% else %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "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="{{ first_page_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">…</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="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | absolute_url }}" 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="{{ site.paginate_path | replace: ':num', index | absolute_url }}">{{ index }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||
{% if pages_to_end > 3 %}
|
||||
<li><a href="#" class="disabled">…</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if paginator.page == paginator.total_pages %}
|
||||
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
||||
{% else %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | absolute_url }}">{{ paginator.total_pages }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Link next page {% endcomment %}
|
||||
{% if paginator.next_page %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
||||
{% else %}
|
||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
@@ -1,14 +0,0 @@
|
||||
{% if page.previous or page.next %}
|
||||
<nav class="pagination">
|
||||
{% if page.previous %}
|
||||
<a href="{{ page.previous.url | absolute_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||
{% else %}
|
||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||
{% endif %}
|
||||
{% if page.next %}
|
||||
<a href="{{ page.next.url | absolute_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||
{% else %}
|
||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
{% endif %}
|
||||
@@ -1,15 +0,0 @@
|
||||
{% assign words_per_minute = site.words_per_minute | default: 200 %}
|
||||
|
||||
{% 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 < words_per_minute %}
|
||||
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% elsif words == words_per_minute %}
|
||||
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% else %}
|
||||
{{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% endif %}
|
||||
@@ -1,15 +0,0 @@
|
||||
{% if site.footer_scripts %}
|
||||
{% for script in site.footer_scripts %}
|
||||
{% if script contains "://" %}
|
||||
{% capture script_path %}{{ script }}{% endcapture %}
|
||||
{% else %}
|
||||
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
|
||||
{% endif %}
|
||||
<script src="{{ script_path }}"></script>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script>
|
||||
{% endif %}
|
||||
|
||||
{% include analytics.html %}
|
||||
{% include /comments-providers/scripts.html %}
|
||||
@@ -1,147 +0,0 @@
|
||||
<!-- 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 | default: "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 %}
|
||||
|
||||
<meta name="description" content="{{ seo_description }}">
|
||||
|
||||
{% assign seo_author = page.author | default: page.author[0] | default: site.author.name %}
|
||||
{% 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 name="author" content="{{ seo_author }}">
|
||||
|
||||
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
||||
<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 | absolute_url }}{% endif %}">
|
||||
{% else %}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{% if page.header.teaser %}
|
||||
<meta name="twitter:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
|
||||
{% elsif site.og_image %}
|
||||
<meta name="twitter:image" content="{{ site.og_image | absolute_url }}">
|
||||
{% 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 | absolute_url }}{% endif %}">
|
||||
{% elsif page.header.overlay_image %}
|
||||
<meta property="og:image" content="{% if page.header.overlay_image contains "://" %}{{ page.header.overlay_image }}{% else %}{{ page.header.overlay_image | absolute_url }}{% endif %}">
|
||||
{% elsif page.header.teaser %}
|
||||
<meta property="og:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
|
||||
{% elsif site.og_image %}
|
||||
<meta property="og:image" content="{% if site.og_image contains "://" %}{{ site.og_image }}{% else %}{{ site.og_image | absolute_url }}{% endif %}">
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
|
||||
{% endif %}
|
||||
|
||||
{% if paginator.previous_page %}
|
||||
<link rel="prev" href="{{ paginator.previous_page_path | prepend: seo_url }}">
|
||||
{% endif %}
|
||||
{% if paginator.next_page %}
|
||||
<link rel="next" href="{{ paginator.next_page_path | prepend: seo_url }}">
|
||||
{% endif %}
|
||||
|
||||
{% if site.og_image %}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "http://schema.org",
|
||||
"@type": "Organization",
|
||||
"url": {{ seo_url | jsonify }},
|
||||
"logo": {{ site.og_image | absolute_url | 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.alexa_site_verification %}
|
||||
<meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
|
||||
{% endif %}
|
||||
{% if site.yandex_site_verification %}
|
||||
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
|
||||
{% endif %}
|
||||
<!-- end SEO -->
|
||||
@@ -1,23 +0,0 @@
|
||||
{% 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 | absolute_url }}"
|
||||
{% 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 %}
|
||||
@@ -1,13 +0,0 @@
|
||||
<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 | default: "Share on" }}</h4>
|
||||
{% endif %}
|
||||
|
||||
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} 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={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
|
||||
|
||||
<a href="https://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} 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={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
|
||||
</section>
|
||||
@@ -1,26 +0,0 @@
|
||||
{% 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 %}
|
||||
|
||||
<p class="page__taxonomy">
|
||||
<strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
|
||||
<span itemprop="keywords">
|
||||
{% for hash in tag_hashes %}
|
||||
{% assign keyValue = hash | split: '#' %}
|
||||
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
||||
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | absolute_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
@@ -1,7 +0,0 @@
|
||||
<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>
|
||||
@@ -1,11 +0,0 @@
|
||||
{% capture video_id %}{{ include.id }}{% endcapture %}
|
||||
{% capture video_provider %}{{ include.provider }}{% endcapture %}
|
||||
|
||||
<!-- Courtesy of embedresponsively.com //-->
|
||||
<div class="responsive-video-container">
|
||||
{% if video_provider == "vimeo" %}
|
||||
<iframe src="https://player.vimeo.com/video/{{ video_id }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
|
||||
{% elsif video_provider == "youtube" %}
|
||||
<iframe src="https://www.youtube.com/embed/{{ video_id }}" frameborder="0" allowfullscreen></iframe>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
layout: default
|
||||
author_profile: false
|
||||
---
|
||||
|
||||
<div id="main" role="main">
|
||||
{% include sidebar.html %}
|
||||
|
||||
<div class="archive">
|
||||
<h1 class="page__title">{{ page.title }}</h1>
|
||||
{% for post in page.posts %}
|
||||
{% include archive-single.html %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
# 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 %}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user