diff --git a/README.md b/README.md index 8a5a0599..afe57d51 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,6 @@ See a [live version of Minimal Mistakes](http://mmistakes.github.io/minimal-mist ## Getting Started -Minimal Mistakes takes advantage of Sass and data files to make customizing easier. These features require Jekyll 2+ and will not work with older versions of Jekyll. +Minimal Mistakes takes advantage of Sass and data files to make customizing easier. These features require Jekyll 2.x and will not work with older versions of Jekyll. -To learn more about how install and use this theme check out the [Setup Guide](http://mmistakes.github.io/minimal-mistakes/theme-setup/) for more information. \ No newline at end of file +To learn how to install and use this theme check out the [Setup Guide](http://mmistakes.github.io/minimal-mistakes/theme-setup/) for more information. \ No newline at end of file diff --git a/_includes/_open-graph.html b/_includes/_open-graph.html index 74dd2bd1..9c6bd56e 100644 --- a/_includes/_open-graph.html +++ b/_includes/_open-graph.html @@ -8,7 +8,7 @@ {% else %} - + {% endif %} diff --git a/_posts/2014-07-31-author-override.md b/_posts/2014-07-31-author-override.md index c28c0620..2735d807 100644 --- a/_posts/2014-07-31-author-override.md +++ b/_posts/2014-07-31-author-override.md @@ -7,11 +7,11 @@ excerpt: "A post to test author overrides using a data file." tags: [] --- -For those of you who may have content written by multiple authors on your site you can assign different authors to each post if desired. +For those of you who may have content written by multiple authors on your site you can now assign different authors to each post if desired. -Traditionally you would assign a global author for the entire site and those attributes would be used in all post bylines, social networking links in the footer, Twitter Cards, and Google Authorship. These `owner` variables defined in your `config.yml` +Previously the theme used a global author for the entire site and those attributes would be used in all bylines, social networking links, Twitter Card attribution, and Google Authorship. These `owner` variables were defined in `config.yml` -Start by creating an `authors.yml` file in the `_data` folder and add your authors using the following format. +Start by modifying or creating a new `authors.yml` file in the `_data` folder and add your authors using the following format. {% highlight yaml %} # Authors @@ -21,8 +21,10 @@ billy_rick: web: http://thewhip.com email: billy@rick.com bio: "What do you want, jewels? I am a very extravagant man." - avatar: bio-photo.jpg + avatar: bio-photo-2.jpg twitter: extravagantman + google: + plus: +BillyRick cornelius_fiddlebone: name: Cornelius Fiddlebone @@ -30,9 +32,11 @@ cornelius_fiddlebone: bio: "I ordered what?" avatar: bio-photo.jpg twitter: rhymeswithsackit + google: + plus: +CorneliusFiddlebone {% endhighlight %} -To assign Billy Rick as an author for our post. We'd add the following YAML front matter to a post: +To assign Billy Rick as an author for our post. You'd add the following YAML front matter to a post: {% highlight yaml %} author: billy_rick diff --git a/theme-setup/index.md b/theme-setup/index.md index 4e125840..665d2d58 100644 --- a/theme-setup/index.md +++ b/theme-setup/index.md @@ -27,17 +27,17 @@ If you are creating a new Jekyll site using Minimal Mistakes follow these steps: 1. Fork the [Minimal Mistakes repo](http://github.com/mmistakes/minimal-mistakes/fork). 2. Clone the repo you just forked and rename it. -3. [Install Bundler](http://bundler.io) `gem install bundler` and Run `bundle install` to install all dependencies (Jekyll, [Jekyll-Sitemap](https://github.com/jekyll/jekyll-sitemap), [Octopress](https://github.com/octopress/octopress), [Bourbon](http://bourbon.io), etc) +3. [Install Bundler](http://bundler.io) `gem install bundler` and Run `bundle install` to install all dependencies (Jekyll, [Jekyll-Sitemap](https://github.com/jekyll/jekyll-sitemap), [Octopress](https://github.com/octopress/octopress), etc) 4. Update `config.yml`, add navigation, and replace demo posts and pages with your own. Full details below. If you want to use Minimal Mistakes with an existing Jekyll site follow these steps: 1. [Download Minimal Mistakes](https://github.com/mmistakes/minimal-mistakes/archive/master.zip) and unzip. 2. Rename `minimal-mistakes-master` to something meaningful ie: `new-site` -3. Run `bundle install` to install all dependencies (Jekyll, [Jekyll-Sitemap](https://github.com/jekyll/jekyll-sitemap), [Octopress](https://github.com/octopress/octopress), [Bourbon](http://bourbon.io), etc) -4. Remove demo posts and pages add replace with your own posts, pages, and any other content you want to move over. -5. Update posts and pages YAML to match variables used by Minimal Mistakes. Full details below. -6. Update `config.yml` and add navigation links. Full details below. +3. Run `bundle install` to install all dependencies (Jekyll, [Jekyll-Sitemap](https://github.com/jekyll/jekyll-sitemap), [Octopress](https://github.com/octopress/octopress), etc) +4. Remove demo posts/pages and replace with your own posts, pages, and any other content you want to move over. +5. Update posts' and pages' YAML to match variables used by Minimal Mistakes. Full details below. +6. Update `_config.yml` and add navigation links. Full details below. **Pro-tip:** Delete the `gh-pages` branch after cloning and start fresh by branching off `master`. There is a bunch of garbage in `gh-pages` used for the theme's demo site that I'm guessing you won't want. {: .notice} @@ -66,6 +66,8 @@ minimal-mistakes/ | └── post.html # single post layout ├── _posts/ # MarkDown formatted posts ├── _sass/ # Sass stylesheets +├── _templates/ # used by Octopress to define YAML variables for new posts/pages +├── about/ # sample about page ├── assets/ | ├── css/ # compiled stylesheets | ├── fonts/ # webfonts @@ -77,11 +79,10 @@ minimal-mistakes/ | └── less/ ├── images/ # images for posts and pages ├── 404.md # 404 page -├── about.md # sample about page ├── feed.xml # Atom feed template ├── index.md # sample homepage. lists 5 latest posts -├── posts.md # sample post index page. lists all posts in reverse chronology -└── theme-setup.md # theme setup page. safe to remove +├── posts/ # sample post index page. lists all posts in reverse chronology +└── theme-setup/ # theme setup page. safe to remove {% endhighlight %} --- @@ -102,7 +103,7 @@ Example `title: My Awesome Site` #### url -Used to generate absolute urls in `sitemap.xml`, `atom.xml`, and for generating canonical URLs in ``. When developing locally either comment this out or use something like `http://localhost:4000` so all assets load properly. *Don't include a trailing `/`*. +Used to generate absolute urls in `sitemap.xml`, `feed.xml`, and for generating canonical URLs in ``. When developing locally either comment this out or use something like `http://localhost:4000` so all assets load properly. *Don't include a trailing `/`*. Examples: @@ -211,7 +212,45 @@ image: ### Thumbnails for OG and Twitter Cards -Post and page thumbnails work the same way. These are used by [Open Graph](https://developers.facebook.com/docs/opengraph/) and [Twitter Cards](https://dev.twitter.com/docs/cards) meta tags found in *_head.html*. If you don't assign a thumbnail the default graphic *(default-thumb.png)* is used. I'd suggest changing this to something more meaningful --- your logo or avatar are good options. +Feature and thumbnail images are used by [Open Graph](https://developers.facebook.com/docs/opengraph/) and [Twitter Cards](https://dev.twitter.com/docs/cards) as well. If you don't assign a thumbnail the default graphic *(default-thumb.png)* is used. I'd suggest changing this to something more meaningful --- your logo or avatar are good options. + +**Pro-Tip**: You need to [apply for Twitter Cards](https://dev.twitter.com/docs/cards) before they will begin showing up when links to your site are shared. +{:.notice} + +### Author Override + +By making use of data files you can assign different authors for each post. + +Start by modifying `authors.yml` file in the `_data` folder and add your authors using the following format. + +{% highlight yaml %} +# Authors + +billy_rick: + name: Billy Rick + web: http://thewhip.com + email: billy@rick.com + bio: "What do you want, jewels? I am a very extravagant man." + avatar: bio-photo-2.jpg + twitter: extravagantman + google: + plus: +BillyRick + +cornelius_fiddlebone: + name: Cornelius Fiddlebone + email: cornelius@thewhip.com + bio: "I ordered what?" + avatar: bio-photo.jpg + twitter: rhymeswithsackit + google: + plus: +CorneliusFiddlebone +{% endhighlight %} + +To assign Billy Rick as an author for our post. We'd add the following YAML front matter to a post: + +{% highlight yaml %} +author: billy_rick +{% endhighlight %} ### Table of Contents @@ -246,7 +285,7 @@ Not sure if this only effects Kramdown or if it's an issue with Markdown in gene ## Further Customization -Jekyll 2.0 added support for Sass files making it much easier to modify a theme's fonts and colors. By editing values found in `_sass/variables.scss` you can fine tune the site's colors and typography. +Jekyll 2.x added support for Sass files making it much easier to modify a theme's fonts and colors. By editing values found in `_sass/variables.scss` you can fine tune the site's colors and typography. For example if you wanted a red background instead of white you'd change `$bodycolor: #fff;` to `$bodycolor: $cc0033;`. @@ -256,7 +295,7 @@ To modify the site's JavaScript files I setup a Grunt build script to lint/conca npm install {% endhighlight %} -From the theme's root, use `grunt` concatenate JavaScript files, and optimize .jpg, .png, and .svg files in the `images/` folder. You can also use `grunt watch` in combination with `jekyll build --watch` to watch for updates JS files that Grunt will then automatically re-build as you write your code which will in turn auto-generate your Jekyll site when developing locally. +From the theme's root, use `grunt` concatenate JavaScript files, and optimize .jpg, .png, and .svg files in the `images/` folder. You can also use `grunt dev` in combination with `jekyll build --watch` to watch for updates JS files that Grunt will then automatically re-build as you write your code which will in turn auto-generate your Jekyll site when developing locally. ---