Merge branch 'release/4.0.6'

This commit is contained in:
Michael Rose 2016-11-16 11:43:53 -05:00
commit 37bff52f81
14 changed files with 361 additions and 56 deletions

View file

@ -1,3 +1,19 @@
## [4.0.6](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.6)
### Enhancements
- Add [`figure` helper](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#figure) to make generating a `<figure>` element with a single image and caption easier. [#572](https://github.com/mmistakes/minimal-mistakes/pull/572)
- Add structured data markup for `itemprop="person"` in author profile sidebar. [#647](https://github.com/mmistakes/minimal-mistakes/pull/647)
### Bug Fixes
- Fix improper YAML formatting of some locales. [#651](https://github.com/mmistakes/minimal-mistakes/pull/651)
### Maintenance
- Clarify "migrating to gem-theme" instructions in **Quick Start Guide**.
- Add `rake preview` task for testing `/test` during theme development.
## [4.0.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.5) ## [4.0.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.5)
### Enhancements ### Enhancements

View file

@ -94,6 +94,12 @@ To help me out try to avoid creating pull requests on `master` and instead branc
Theme documentation and demo pages can be found in the [`/docs`](docs) if submitting improvements, typo corrections, etc. Theme documentation and demo pages can be found in the [`/docs`](docs) if submitting improvements, typo corrections, etc.
## Development
To set up your environment to develop this theme, run `bundle install`.
To test the theme, run `bundle exec rake preview` and open your browser at `http://localhost:4000/test/`. This starts a Jekyll server using your theme and the contents of the `test/` directory. As you make modifications to your theme and to the example site, your site will regenerate and you should see the changes in the browser after a refresh.
--- ---
## Credits ## Credits

75
Rakefile Normal file
View file

@ -0,0 +1,75 @@
require "bundler/gem_tasks"
require "jekyll"
require "listen"
def listen_ignore_paths(base, options)
[
/_config\.ya?ml/,
/_site/,
/\.jekyll-metadata/
]
end
def listen_handler(base, options)
site = Jekyll::Site.new(options)
Jekyll::Command.process_site(site)
proc do |modified, added, removed|
t = Time.now
c = modified + added + removed
n = c.length
relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s }
print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ")
begin
Jekyll::Command.process_site(site)
puts "regenerated in #{Time.now - t} seconds."
rescue => e
puts "error:"
Jekyll.logger.warn "Error:", e.message
Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information."
end
end
end
task :preview do
base = Pathname.new('.').expand_path
options = {
"source" => base.join('test').to_s,
"destination" => base.join('test/_site').to_s,
"force_polling" => false,
"serving" => true,
"theme" => "minimal-mistakes-jekyll"
}
options = Jekyll.configuration(options)
ENV["LISTEN_GEM_DEBUGGING"] = "1"
listener = Listen.to(
base.join("_includes"),
base.join("_layouts"),
base.join("_sass"),
base.join("assets"),
options["source"],
:ignore => listen_ignore_paths(base, options),
:force_polling => options['force_polling'],
&(listen_handler(base, options))
)
begin
listener.start
Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'"
unless options['serving']
trap("INT") do
listener.stop
puts " Halting auto-regeneration."
exit 0
end
loop { sleep 1000 }
end
rescue ThreadError
# You pressed Ctrl-C, oh my!
end
Jekyll::Commands::Serve.process(options)
end

View file

@ -342,13 +342,13 @@ zh: &DEFAULT_ZH
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved." 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." 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..." loading_label : "Loading..."
zh-CN: zh-CN:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
zh-HK: zh-HK:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
zh-SG: zh-SG:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
zh-TW: zh-TW:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
# German / Deutsch # German / Deutsch

View file

@ -1,5 +1,7 @@
{% if page.author and site.data.authors[page.author] %} {% if page.author and site.data.authors[page.author] %}
{% assign author = site.data.authors[page.author] %}{% else %}{% assign author = site.author %} {% assign author = site.data.authors[page.author] %}
{% else %}
{% assign author = site.author %}
{% endif %} {% endif %}
<div itemscope itemtype="http://schema.org/Person"> <div itemscope itemtype="http://schema.org/Person">
@ -7,95 +9,182 @@
{% if author.avatar %} {% if author.avatar %}
<div class="author__avatar"> <div class="author__avatar">
{% if author.avatar contains "://" %} {% if author.avatar contains "://" %}
<img src="{{ author.avatar }}" alt="{{ author.name }}"> <img src="{{ author.avatar }}" alt="{{ author.name }}" itemprop="image">
{% else %} {% else %}
<img src="{{ author.avatar | absolute_url }}" class="author__avatar" alt="{{ author.name }}"> <img src="{{ author.avatar | absolute_url }}" class="author__avatar" alt="{{ author.name }}" itemprop="image">
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
<div class="author__content"> <div class="author__content">
<h3 class="author__name">{{ author.name }}</h3> <h3 class="author__name" itemprop="name">{{ author.name }}</h3>
{% if author.bio %}<p class="author__bio">{{ author.bio }}</p>{% endif %} {% if author.bio %}
<p class="author__bio" itemprop="description">
{{ author.bio }}
</p>
{% endif %}
</div> </div>
<div class="author__urls-wrapper"> <div class="author__urls-wrapper">
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button> <button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
<ul class="author__urls social-icons"> <ul class="author__urls social-icons">
{% if author.location %} {% if author.location %}
<li><i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> {{ author.location }}</li> <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 %} {% endif %}
{% if author.uri %} {% if author.uri %}
<li><a href="{{ author.uri }}"><i class="fa fa-fw fa-chain" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }}</a></li> <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 %} {% endif %}
{% if author.email %} {% if author.email %}
<li><a href="mailto:{{ author.email }}"><i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "Email" }}</a></li> <li>
<a href="mailto:{{ author.email }}">
<i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i>
<meta itemprop="email" content="{{ author.email }}" />
{{ site.data.ui-text[site.locale].email_label | default: "Email" }}
</a>
</li>
{% endif %} {% endif %}
{% if author.keybase %} {% if author.keybase %}
<li><a href="https://keybase.io/{{ author.keybase }}"><i class="fa fa-fw fa-key" aria-hidden="true"></i> Keybase</a></li> <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 %} {% endif %}
{% if author.twitter %} {% if author.twitter %}
<li><a href="https://twitter.com/{{ author.twitter }}"><i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter</a></li> <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 %} {% endif %}
{% if author.facebook %} {% if author.facebook %}
<li><a href="https://www.facebook.com/{{ author.facebook }}"><i class="fa fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook</a></li> <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 %} {% endif %}
{% if author.google_plus %} {% if author.google_plus %}
<li><a href="https://plus.google.com/+{{ author.google_plus }}"><i class="fa fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+</a></li> <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 %} {% endif %}
{% if author.linkedin %} {% if author.linkedin %}
<li><a href="https://www.linkedin.com/in/{{ author.linkedin }}"><i class="fa fa-fw fa-linkedin-square" aria-hidden="true"></i> LinkedIn</a></li> <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 %} {% endif %}
{% if author.xing %} {% if author.xing %}
<li><a href="https://www.xing.com/profile/{{ author.xing }}"><i class="fa fa-fw fa-xing-square" aria-hidden="true"></i> XING</a></li> <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 %} {% endif %}
{% if author.instagram %} {% if author.instagram %}
<li><a href="https://instagram.com/{{ author.instagram }}"><i class="fa fa-fw fa-instagram" aria-hidden="true"></i> Instagram</a></li> <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 %} {% endif %}
{% if author.tumblr %} {% if author.tumblr %}
<li><a href="https://{{ author.tumblr }}.tumblr.com"><i class="fa fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr</a></li> <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 %} {% endif %}
{% if author.bitbucket %} {% if author.bitbucket %}
<li><a href="https://bitbucket.org/{{ author.bitbucket }}"><i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li> <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 %} {% endif %}
{% if author.github %} {% if author.github %}
<li><a href="https://github.com/{{ author.github }}"><i class="fa fa-fw fa-github" aria-hidden="true"></i> Github</a></li> <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 %} {% endif %}
{% if author.stackoverflow %} {% if author.stackoverflow %}
<li><a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}"><i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stackoverflow</a></li> <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 %} {% endif %}
{% if author.lastfm %} {% if author.lastfm %}
<li><a href="https://last.fm/user/{{ author.lastfm }}"><i class="fa fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm</a></li> <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 %} {% endif %}
{% if author.dribbble %} {% if author.dribbble %}
<li><a href="https://dribbble.com/{{ author.dribbble }}"><i class="fa fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble</a></li> <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 %} {% endif %}
{% if author.pinterest %} {% if author.pinterest %}
<li><a href="https://www.pinterest.com/{{ author.pinterest }}"><i class="fa fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest</a></li> <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 %} {% endif %}
{% if author.foursquare %} {% if author.foursquare %}
<li><a href="https://foursquare.com/{{ author.foursquare }}"><i class="fa fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare</a></li> <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 %} {% endif %}
{% if author.steam %} {% if author.steam %}
<li><a href="https://steamcommunity.com/id/{{ author.steam }}"><i class="fa fa-fw fa-steam-square" aria-hidden="true"></i> Steam</a></li> <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 %} {% endif %}
{% if author.youtube %} {% if author.youtube %}
<li><a href="https://www.youtube.com/user/{{ author.youtube }}"><i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube</a></li> <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 %} {% if author.soundcloud %}
<li><a href="https://soundcloud.com/{{ author.soundcloud }}"><i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i> Soundcloud</a></li> <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 %} {% endif %}
{% if author.weibo %} {% if author.weibo %}
<li><a href="https://www.weibo.com/{{ author.weibo }}"><i class="fa fa-fw fa-weibo" aria-hidden="true"></i> Weibo</a></li> <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 %} {% endif %}
{% if author.flickr %} {% if author.flickr %}
<li><a href="https://www.flickr.com/{{ author.flickr }}"><i class="fa fa-fw fa-flickr" aria-hidden="true"></i> Flickr</a></li> <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 %} {% endif %}
{% if author.codepen %} {% if author.codepen %}
<li><a href="https://codepen.io/{{ author.codepen }}"><i class="fa fa-fw fa-codepen" aria-hidden="true"></i> CodePen</a></li> <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 %} {% endif %}
{% if author.vine %} {% if author.vine %}
<li><a href="https://vine.co/u/{{ author.vine }}"><i class="fa fa-fw fa-vine" aria-hidden="true"></i> Vine</a></li> <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 %} {% endif %}
</ul> </ul>
</div> </div>

12
_includes/figure Normal file
View file

@ -0,0 +1,12 @@
<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>

View file

@ -342,14 +342,66 @@ zh: &DEFAULT_ZH
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved." 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." 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..." loading_label : "Loading..."
zh-CN: zh-CN:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
zh-HK: zh-HK:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
zh-SG: zh-SG:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
zh-TW: zh-TW:
<<: *DEFAULT_ZH <<: *DEFAULT_ZH
# German / Deutsch
# -----------------
de: &DEFAULT_DE
page : "Seite"
pagination_previous : "Vorherige"
pagination_next : "Nächste"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
toc_label : "Auf dieser Seite"
ext_link_label : "Direkter Link"
less_than : "weniger als"
minute_read : "Minuten zum lesen"
share_on_label : "Teilen auf"
meta_label :
tags_label : "Tags:"
categories_label : "Kategorien:"
date_label : "Aktualisiert:"
comments_label : "Hinterlassen sie einen Kommentar"
comments_title : "Kommentare"
more_label : "Mehr anzeigen"
related_label : "Ihnen gefällt vielleicht auch"
follow_label : "Folgen:"
feed_label : "Feed"
powered_by : "Powered by"
website_label : "Webseite"
email_label : "E-Mail"
recent_posts : "Aktuelle Beiträge"
undefined_wpm : "Undefinierter Parameter words_per_minute in _config.yml"
comment_form_info : "Ihre E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert"
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Markdown wird unterstützt."
comment_form_name_label : "Name"
comment_form_email_label : "E-Mail Addresse"
comment_form_website_label : "Webseite (optional)"
comment_btn_submit : "Kommentar absenden"
comment_btn_submitted : "Versendet"
comment_success_msg : "Danke für ihren Kommentar! Er wird auf der Seite angezeigt, nachdem er geprüft wurde."
comment_error_msg : "Entschuldigung, es gab einen Fehler. Bitte füllen sie alle benötigten Felder aus und versuchen sie es erneut."
loading_label : "Lade..."
de-DE:
<<: *DEFAULT_DE
de-AT:
<<: *DEFAULT_DE
de-CH:
<<: *DEFAULT_DE
de-BE:
<<: *DEFAULT_DE
de-LI:
<<: *DEFAULT_DE
de-LU:
<<: *DEFAULT_DE
# Another locale # Another locale
# -------------- # --------------

View file

@ -30,7 +30,7 @@ feature_row:
- image_path: /assets/images/unsplash-gallery-image-3-th.jpg - image_path: /assets/images/unsplash-gallery-image-3-th.jpg
title: "Placeholder 3" title: "Placeholder 3"
excerpt: "This is some sample content that goes here with **Markdown** formatting." excerpt: "This is some sample content that goes here with **Markdown** formatting."
modified: 2016-11-03T11:15:48-04:00 modified: 2016-11-15T12:11:48-05:00
--- ---
{% include toc icon="gears" title="Helpers" %} {% include toc icon="gears" title="Helpers" %}
@ -64,6 +64,33 @@ The Liquid based taxonomy archives found amongst the demo pages rely on this hel
[tag-array]: https://github.com/{{ site.repository }}/blob/master/docs/_pages/tag-archive.html [tag-array]: https://github.com/{{ site.repository }}/blob/master/docs/_pages/tag-archive.html
[tag-array-demo]: {{ "/tags/" | absolute_url }} [tag-array-demo]: {{ "/tags/" | absolute_url }}
## Figure
Generate a `<figure>` element with a single image and caption.
| Include Parameter | Required | Description |
| ---- | -------- | ----------- |
| **image_path** | **Required** | Full path to image eg: `/assets/images/filename.jpg`. Use absolute URLS for those hosted externally. |
| **alt** | Optional | Alternate text for image. |
| **caption** | Optional | Figure caption text. Markdown is allowed. |
Using the `figure` include like so:
```liquid
{% raw %}{% include figure image_path="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image" caption="This is a figure caption." %}{% endraw %}
```
Will output the following:
{% include figure image_path="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image" caption="This is a figure caption." %}
```html
<figure>
<img src="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image">
<figcaption>This is a figure caption.</figcaption>
</figure>
```
## Gallery ## Gallery
Generate a `<figure>` element with optional caption of arrays with two or more images. Generate a `<figure>` element with optional caption of arrays with two or more images.
@ -73,7 +100,7 @@ To place a gallery add the necessary YAML Front Matter.
| Name | Required | Description | | Name | Required | Description |
| ---- | -------- | ----------- | | ---- | -------- | ----------- |
| **url** | Optional | URL to link gallery image to (eg. a larger detail image). | | **url** | Optional | URL to link gallery image to (eg. a larger detail image). |
| **image_path** | **Required** | Full path to image eg: `assets/images/filename.jpg`. Use absolute URLS for those hosted externally. | | **image_path** | **Required** | Full path to image eg: `/assets/images/filename.jpg`. Use absolute URLS for those hosted externally. |
| **alt** | Optional | Alternate text for image. | | **alt** | Optional | Alternate text for image. |
| **title** | Optional | Title text for image. Will display as a caption in a Magnific Popup overlay when linked to a larger image with `url`. | | **title** | Optional | Title text for image. Will display as a caption in a Magnific Popup overlay when linked to a larger image with `url`. |
@ -120,7 +147,7 @@ To add a feature row containing three content blocks with text and image, add th
| Name | Required | Description | Default | | Name | Required | Description | Default |
| ---- | ----------- | ----------- | ------- | | ---- | ----------- | ----------- | ------- |
| **image_path** | **Required** | Full path to image eg: `assets/images/filename.jpg`. Use absolute URLS for those hosted externally. | | | **image_path** | **Required** | Full path to image eg: `/assets/images/filename.jpg`. Use absolute URLS for those hosted externally. | |
| **alt** | Optional | Alternate text for image. | | | **alt** | Optional | Alternate text for image. | |
| **title** | Optional | Content block title. | | | **title** | Optional | Content block title. | |
| **excerpt** | Optional | Content block excerpt text. Markdown is allowed. | | | **excerpt** | Optional | Content block excerpt text. Markdown is allowed. | |

View file

@ -4,9 +4,25 @@ permalink: /docs/history/
excerpt: "Change log of enhancements and bug fixes made to the theme." excerpt: "Change log of enhancements and bug fixes made to the theme."
sidebar: sidebar:
nav: docs nav: docs
modified: 2016-11-04T12:36:05-04:00 modified: 2016-11-16T11:40:00-05:00
--- ---
## [4.0.6](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.6)
### Enhancements
- Add [`figure` helper](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#figure) to make generating a `<figure>` element with a single image and caption easier. [#572](https://github.com/mmistakes/minimal-mistakes/pull/572)
- Add structured data markup for `itemprop="person"` in author profile sidebar. [#647](https://github.com/mmistakes/minimal-mistakes/pull/647)
### Bug Fixes
- Fix improper YAML formatting of some locales. [#651](https://github.com/mmistakes/minimal-mistakes/pull/651)
### Maintenance
- Clarify "migrating to gem-theme" instructions in **Quick Start Guide**.
- Add `rake preview` task for testing `/test` during theme development.
## [4.0.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.5) ## [4.0.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.5)
### Enhancements ### Enhancements

12
docs/_includes/figure Normal file
View file

@ -0,0 +1,12 @@
<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>

View file

@ -7,7 +7,7 @@ header:
cta_label: "<i class='fa fa-download'></i> Install Now" cta_label: "<i class='fa fa-download'></i> Install Now"
cta_url: "/docs/quick-start-guide/" cta_url: "/docs/quick-start-guide/"
caption: caption:
excerpt: 'A flexible two-column Jekyll theme. Perfect for personal sites, blogs, and portfolios hosted on GitHub or your own server.<br /> <small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.5">Latest release v4.0.5</a></small><br /><br /> {::nomarkdown}<iframe style="display: inline-block;" src="https://ghbtns.com/github-btn.html?user=mmistakes&repo=minimal-mistakes&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe> <iframe style="display: inline-block;" src="https://ghbtns.com/github-btn.html?user=mmistakes&repo=minimal-mistakes&type=fork&count=true&size=large" frameborder="0" scrolling="0" width="158px" height="30px"></iframe>{:/nomarkdown}' excerpt: 'A flexible two-column Jekyll theme. Perfect for personal sites, blogs, and portfolios hosted on GitHub or your own server.<br /> <small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.0.6">Latest release v4.0.6</a></small><br /><br /> {::nomarkdown}<iframe style="display: inline-block;" src="https://ghbtns.com/github-btn.html?user=mmistakes&repo=minimal-mistakes&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe> <iframe style="display: inline-block;" src="https://ghbtns.com/github-btn.html?user=mmistakes&repo=minimal-mistakes&type=fork&count=true&size=large" frameborder="0" scrolling="0" width="158px" height="30px"></iframe>{:/nomarkdown}'
feature_row: feature_row:
- image_path: /assets/images/mm-customizable-feature.png - image_path: /assets/images/mm-customizable-feature.png
alt: "customizable" alt: "customizable"

View file

@ -2,7 +2,7 @@
Gem::Specification.new do |spec| Gem::Specification.new do |spec|
spec.name = "minimal-mistakes-jekyll" spec.name = "minimal-mistakes-jekyll"
spec.version = "4.0.5" spec.version = "4.0.6"
spec.authors = ["Michael Rose"] spec.authors = ["Michael Rose"]
spec.summary = %q{A flexible two-column Jekyll theme.} spec.summary = %q{A flexible two-column Jekyll theme.}

View file

@ -1,6 +1,6 @@
{ {
"name": "minimal-mistakes", "name": "minimal-mistakes",
"version": "4.0.5", "version": "4.0.6",
"description": "Minimal Mistakes Jekyll theme npm build scripts", "description": "Minimal Mistakes Jekyll theme npm build scripts",
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -14,7 +14,7 @@ title_separator : "-"
name : "Your Name" name : "Your Name"
description : "Minimal Mistakes theme test." description : "Minimal Mistakes theme test."
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl : # the subpath of your site, e.g. "/blog" baseurl : "/test"
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png" teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
# breadcrumbs : false # true, false (default) # breadcrumbs : false # true, false (default)
@ -57,7 +57,7 @@ yandex_site_verification :
# Social Sharing # Social Sharing
twitter: twitter:
username : username : "mmistakes"
facebook: facebook:
username : username :
app_id : app_id :
@ -102,7 +102,7 @@ author:
stackoverflow : # "123456/username" (the last part of your profile url, e.g. http://stackoverflow.com/users/123456/username) stackoverflow : # "123456/username" (the last part of your profile url, e.g. http://stackoverflow.com/users/123456/username)
steam : steam :
tumblr : tumblr :
twitter : twitter : "mmistakes"
vine : vine :
weibo : weibo :
xing : xing :