From 66c5b516298d65a1eabf4df7e1cde059fc07ffd1 Mon Sep 17 00:00:00 2001 From: Michael Rose Date: Tue, 8 Aug 2017 14:41:46 -0400 Subject: [PATCH] Improve `page` and `archive` layouts (#1166) * Fix collapsed white-space above pagination links * Improve `page` and `archive` layout - Center main content on page - Harmonize sidebar columns to be equal widths Fixes #1155 * Update CHANGELOG and history * Position and align right sidebar with the top of the main content * Offset right sidebar at `$large` viewport * Add TOC bottom include test post * Add right sidebar styling edits to documentation site * Add TOC bottom include test post --- CHANGELOG.md | 1 + _sass/minimal-mistakes/_archive.scss | 24 ++--- _sass/minimal-mistakes/_navigation.scss | 1 + _sass/minimal-mistakes/_page.scss | 19 ++-- _sass/minimal-mistakes/_sidebar.scss | 13 ++- docs/_docs/18-history.md | 3 +- ...03-layout-table-of-contents-bottom-post.md | 100 ++++++++++++++++++ ...012-01-03-layout-table-of-contents-post.md | 2 +- docs/_sass/minimal-mistakes/_archive.scss | 24 ++--- docs/_sass/minimal-mistakes/_navigation.scss | 1 + docs/_sass/minimal-mistakes/_page.scss | 19 ++-- docs/_sass/minimal-mistakes/_sidebar.scss | 13 ++- ...03-layout-table-of-contents-bottom-post.md | 100 ++++++++++++++++++ ...012-01-03-layout-table-of-contents-post.md | 2 +- 14 files changed, 259 insertions(+), 63 deletions(-) create mode 100644 docs/_posts/2012-01-03-layout-table-of-contents-bottom-post.md create mode 100644 test/_posts/2012-01-03-layout-table-of-contents-bottom-post.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 014252b2cb90..bb0034ac85bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Add Greek localized UI text strings. [#1159](https://github.com/mmistakes/minimal-mistakes/pull/1159) - Remove blank YAML Front Matter from JavaScript banner. [#1158](https://github.com/mmistakes/minimal-mistakes/issues/1158) +- Improve `page` and `archive` layouts to visually center main content and harmonize sidebar widths and placement. [#1166](https://github.com/mmistakes/minimal-mistakes/pull/1166) ### Maintenance diff --git a/_sass/minimal-mistakes/_archive.scss b/_sass/minimal-mistakes/_archive.scss index 3349bcae5f7e..301b2606bd8f 100644 --- a/_sass/minimal-mistakes/_archive.scss +++ b/_sass/minimal-mistakes/_archive.scss @@ -5,14 +5,15 @@ .archive { margin-bottom: 2em; - @include breakpoint($medium) { - width: span(12 of 12); - } - @include breakpoint($large) { float: right; - padding-left: gutter(0.5 of 12); - width: span(10 of 12); + width: calc(100% - #{$right-sidebar-width-narrow}); + padding-right: $right-sidebar-width-narrow; + } + + @include breakpoint($x-large) { + width: calc(100% - #{$right-sidebar-width}); + padding-right: $right-sidebar-width; } a { @@ -84,17 +85,6 @@ ========================================================================== */ .list__item { - @include breakpoint($medium) { - padding-right: $right-sidebar-width-narrow; - } - - @include breakpoint($large) { - padding-right: $right-sidebar-width; - } - - @include breakpoint($x-large) { - padding-right: $right-sidebar-width-wide; - } .page__meta { margin: 0 0 4px; diff --git a/_sass/minimal-mistakes/_navigation.scss b/_sass/minimal-mistakes/_navigation.scss index 3e2984ad7ba5..172a3384588b 100644 --- a/_sass/minimal-mistakes/_navigation.scss +++ b/_sass/minimal-mistakes/_navigation.scss @@ -58,6 +58,7 @@ .pagination { @include clearfix(); + float: left; margin-top: 1em; padding-top: 1em; width: 100%; diff --git a/_sass/minimal-mistakes/_page.scss b/_sass/minimal-mistakes/_page.scss index eb682732636f..443a0de1f15a 100644 --- a/_sass/minimal-mistakes/_page.scss +++ b/_sass/minimal-mistakes/_page.scss @@ -24,9 +24,13 @@ @include breakpoint($large) { float: right; - width: span(10 of 12); - padding-left: gutter(0.5 of 12); - padding-right: gutter(2 of 12); + width: calc(100% - #{$right-sidebar-width-narrow}); + padding-right: $right-sidebar-width-narrow; + } + + @include breakpoint($x-large) { + width: calc(100% - #{$right-sidebar-width}); + padding-right: $right-sidebar-width; } .page__inner-wrap { @@ -39,6 +43,7 @@ .page__content, .page__meta, .page__share { + position: relative; float: left; margin-left: 0; margin-right: 0; @@ -409,9 +414,11 @@ @include breakpoint($large) { float: right; - width: span(10 of 12); - padding-left: gutter(0.5 of 12); - padding-right: gutter(2 of 12); + width: calc(100% - #{$right-sidebar-width-narrow}); + } + + @include breakpoint($x-large) { + width: calc(100% - #{$right-sidebar-width}); } a { diff --git a/_sass/minimal-mistakes/_sidebar.scss b/_sass/minimal-mistakes/_sidebar.scss index fb47cea097ef..7dab5fa1f4fa 100644 --- a/_sass/minimal-mistakes/_sidebar.scss +++ b/_sass/minimal-mistakes/_sidebar.scss @@ -31,10 +31,6 @@ } } - @include breakpoint($x-large) { - padding-right: 0; - } - h2, h3, h4, h5, h6 { margin-bottom: 0; font-family: $sans-serif-narrow; @@ -55,15 +51,18 @@ margin-bottom: 1em; @include breakpoint($large) { - position: relative; - float: right; + position: absolute; + top: 0; + right: 0; width: $right-sidebar-width-narrow; - margin-left: span(0.5 of 12); + margin-right: -1 * $right-sidebar-width-narrow; + padding-left: 1em; z-index: 10; } @include breakpoint($x-large) { width: $right-sidebar-width; + margin-right: -1 * $right-sidebar-width; } } diff --git a/docs/_docs/18-history.md b/docs/_docs/18-history.md index f096c6355cac..320e1ca7298e 100644 --- a/docs/_docs/18-history.md +++ b/docs/_docs/18-history.md @@ -4,7 +4,7 @@ permalink: /docs/history/ excerpt: "Change log of enhancements and bug fixes made to the theme." sidebar: nav: docs -last_modified_at: 2017-08-07T20:21:45-04:00 +last_modified_at: 2017-08-08T09:14:21-04:00 --- ## Unreleased @@ -13,6 +13,7 @@ last_modified_at: 2017-08-07T20:21:45-04:00 - Add Greek localized UI text strings. [#1159](https://github.com/mmistakes/minimal-mistakes/pull/1159) - Remove blank YAML Front Matter from JavaScript banner. [#1158](https://github.com/mmistakes/minimal-mistakes/issues/1158) +- Improve `page` and `archive` layouts to visually center main content and harmonize sidebar widths and placement. [#1166](https://github.com/mmistakes/minimal-mistakes/pull/1166) ### Maintenance diff --git a/docs/_posts/2012-01-03-layout-table-of-contents-bottom-post.md b/docs/_posts/2012-01-03-layout-table-of-contents-bottom-post.md new file mode 100644 index 000000000000..09e985ce28bf --- /dev/null +++ b/docs/_posts/2012-01-03-layout-table-of-contents-bottom-post.md @@ -0,0 +1,100 @@ +--- +title: "Layout: Post with Table Of Contents Included at Bottom" +header: + image: assets/images/unsplash-image-9.jpg + caption: "Photo credit: [**Unsplash**](https://unsplash.com)" +tags: + - table of contents +--- + +Testing Kramdown auto-generated table of contents included near the end of post content. If positioned correctly with CSS, it should appear in aligned (and to the right) of the main content. + +```liquid +{% raw %}{% include toc title="Unique Title" icon="file-text" %}{% endraw %} +``` + +## HTML Elements + +Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs. + +

Heading 1

+

Heading 2

+

Heading 3

+

Heading 4

+
Heading 5
+
Heading 6
+ +## Body text + +Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam. + +![Smithsonian Image]({{ site.url }}{{ site.baseurl }}/assets/images/3953273590_704e3899d5_m.jpg) +{: .image-right} + +*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. + +HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. + +### Blockquotes + +> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. + +## List Types + +### Ordered Lists + +1. Item one + 1. sub item one + 2. sub item two + 3. sub item three +2. Item two + +### Unordered Lists + +* Item one +* Item two +* Item three + +## Tables + +| Header1 | Header2 | Header3 | +|:--------|:-------:|--------:| +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|---- +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|===== +| Foot1 | Foot2 | Foot3 +{: rules="groups"} + +## Code Snippets + +```css +#container { + float: left; + margin: 0 -240px 0 0; + width: 100%; +} +``` + +## Buttons + +Make any link standout more when applying the `.btn` class. + +```html +Success Button +``` + +
Primary Button
+
Success Button
+
Warning Button
+
Danger Button
+
Info Button
+ +## Notices + +**Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. +{: .notice} + +{% include toc title="Unique Title" icon="file-text" %} \ No newline at end of file diff --git a/docs/_posts/2012-01-03-layout-table-of-contents-post.md b/docs/_posts/2012-01-03-layout-table-of-contents-post.md index a8fc7988b9d4..eaa7cc2285e4 100644 --- a/docs/_posts/2012-01-03-layout-table-of-contents-post.md +++ b/docs/_posts/2012-01-03-layout-table-of-contents-post.md @@ -97,4 +97,4 @@ Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. -{: .notice} +{: .notice} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_archive.scss b/docs/_sass/minimal-mistakes/_archive.scss index 3349bcae5f7e..301b2606bd8f 100644 --- a/docs/_sass/minimal-mistakes/_archive.scss +++ b/docs/_sass/minimal-mistakes/_archive.scss @@ -5,14 +5,15 @@ .archive { margin-bottom: 2em; - @include breakpoint($medium) { - width: span(12 of 12); - } - @include breakpoint($large) { float: right; - padding-left: gutter(0.5 of 12); - width: span(10 of 12); + width: calc(100% - #{$right-sidebar-width-narrow}); + padding-right: $right-sidebar-width-narrow; + } + + @include breakpoint($x-large) { + width: calc(100% - #{$right-sidebar-width}); + padding-right: $right-sidebar-width; } a { @@ -84,17 +85,6 @@ ========================================================================== */ .list__item { - @include breakpoint($medium) { - padding-right: $right-sidebar-width-narrow; - } - - @include breakpoint($large) { - padding-right: $right-sidebar-width; - } - - @include breakpoint($x-large) { - padding-right: $right-sidebar-width-wide; - } .page__meta { margin: 0 0 4px; diff --git a/docs/_sass/minimal-mistakes/_navigation.scss b/docs/_sass/minimal-mistakes/_navigation.scss index 3e2984ad7ba5..172a3384588b 100644 --- a/docs/_sass/minimal-mistakes/_navigation.scss +++ b/docs/_sass/minimal-mistakes/_navigation.scss @@ -58,6 +58,7 @@ .pagination { @include clearfix(); + float: left; margin-top: 1em; padding-top: 1em; width: 100%; diff --git a/docs/_sass/minimal-mistakes/_page.scss b/docs/_sass/minimal-mistakes/_page.scss index eb682732636f..443a0de1f15a 100644 --- a/docs/_sass/minimal-mistakes/_page.scss +++ b/docs/_sass/minimal-mistakes/_page.scss @@ -24,9 +24,13 @@ @include breakpoint($large) { float: right; - width: span(10 of 12); - padding-left: gutter(0.5 of 12); - padding-right: gutter(2 of 12); + width: calc(100% - #{$right-sidebar-width-narrow}); + padding-right: $right-sidebar-width-narrow; + } + + @include breakpoint($x-large) { + width: calc(100% - #{$right-sidebar-width}); + padding-right: $right-sidebar-width; } .page__inner-wrap { @@ -39,6 +43,7 @@ .page__content, .page__meta, .page__share { + position: relative; float: left; margin-left: 0; margin-right: 0; @@ -409,9 +414,11 @@ @include breakpoint($large) { float: right; - width: span(10 of 12); - padding-left: gutter(0.5 of 12); - padding-right: gutter(2 of 12); + width: calc(100% - #{$right-sidebar-width-narrow}); + } + + @include breakpoint($x-large) { + width: calc(100% - #{$right-sidebar-width}); } a { diff --git a/docs/_sass/minimal-mistakes/_sidebar.scss b/docs/_sass/minimal-mistakes/_sidebar.scss index fb47cea097ef..7dab5fa1f4fa 100644 --- a/docs/_sass/minimal-mistakes/_sidebar.scss +++ b/docs/_sass/minimal-mistakes/_sidebar.scss @@ -31,10 +31,6 @@ } } - @include breakpoint($x-large) { - padding-right: 0; - } - h2, h3, h4, h5, h6 { margin-bottom: 0; font-family: $sans-serif-narrow; @@ -55,15 +51,18 @@ margin-bottom: 1em; @include breakpoint($large) { - position: relative; - float: right; + position: absolute; + top: 0; + right: 0; width: $right-sidebar-width-narrow; - margin-left: span(0.5 of 12); + margin-right: -1 * $right-sidebar-width-narrow; + padding-left: 1em; z-index: 10; } @include breakpoint($x-large) { width: $right-sidebar-width; + margin-right: -1 * $right-sidebar-width; } } diff --git a/test/_posts/2012-01-03-layout-table-of-contents-bottom-post.md b/test/_posts/2012-01-03-layout-table-of-contents-bottom-post.md new file mode 100644 index 000000000000..09e985ce28bf --- /dev/null +++ b/test/_posts/2012-01-03-layout-table-of-contents-bottom-post.md @@ -0,0 +1,100 @@ +--- +title: "Layout: Post with Table Of Contents Included at Bottom" +header: + image: assets/images/unsplash-image-9.jpg + caption: "Photo credit: [**Unsplash**](https://unsplash.com)" +tags: + - table of contents +--- + +Testing Kramdown auto-generated table of contents included near the end of post content. If positioned correctly with CSS, it should appear in aligned (and to the right) of the main content. + +```liquid +{% raw %}{% include toc title="Unique Title" icon="file-text" %}{% endraw %} +``` + +## HTML Elements + +Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs. + +

Heading 1

+

Heading 2

+

Heading 3

+

Heading 4

+
Heading 5
+
Heading 6
+ +## Body text + +Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam. + +![Smithsonian Image]({{ site.url }}{{ site.baseurl }}/assets/images/3953273590_704e3899d5_m.jpg) +{: .image-right} + +*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. + +HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. + +### Blockquotes + +> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. + +## List Types + +### Ordered Lists + +1. Item one + 1. sub item one + 2. sub item two + 3. sub item three +2. Item two + +### Unordered Lists + +* Item one +* Item two +* Item three + +## Tables + +| Header1 | Header2 | Header3 | +|:--------|:-------:|--------:| +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|---- +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|===== +| Foot1 | Foot2 | Foot3 +{: rules="groups"} + +## Code Snippets + +```css +#container { + float: left; + margin: 0 -240px 0 0; + width: 100%; +} +``` + +## Buttons + +Make any link standout more when applying the `.btn` class. + +```html +Success Button +``` + +
Primary Button
+
Success Button
+
Warning Button
+
Danger Button
+
Info Button
+ +## Notices + +**Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. +{: .notice} + +{% include toc title="Unique Title" icon="file-text" %} \ No newline at end of file diff --git a/test/_posts/2012-01-03-layout-table-of-contents-post.md b/test/_posts/2012-01-03-layout-table-of-contents-post.md index a8fc7988b9d4..eaa7cc2285e4 100644 --- a/test/_posts/2012-01-03-layout-table-of-contents-post.md +++ b/test/_posts/2012-01-03-layout-table-of-contents-post.md @@ -97,4 +97,4 @@ Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. -{: .notice} +{: .notice} \ No newline at end of file