From 99ee283bbae81938bbac4550caef87a23a2cfe6a Mon Sep 17 00:00:00 2001 From: Ryan Watters Date: Tue, 7 Feb 2017 18:15:40 -0600 Subject: [PATCH] Update with more Getting Started and improve code block styles --- config.toml | 16 +- content/about-hugo/_index.md | 17 +- content/about-hugo/license.md | 6 +- content/about-hugo/roadmap.md | 5 +- content/about-hugo/sample-styles-temporary.md | 102 +++++ .../why-use-a-static-site-generator.md | 2 +- .../content-management/cross-references.md | 15 + .../markdown-and-supported-formats.md | 4 +- content/content-management/permalinks.md | 14 + .../_index.md} | 4 +- .../contribute-to-hugo-docs.md | 16 + content/functions/_index.md | 6 +- content/functions/countwords.md | 18 +- content/functions/default-function.md | 4 +- content/functions/index-function.md | 12 +- content/getting-started/_index.md | 2 +- content/hosting-and-deployment/_index.md | 2 +- content/project-organization/configuration.md | 215 +++++++-- .../directory-structure.md | 13 + .../templates/base-templates-and-blocks.md | 6 +- ...{template-types.md => sitemap-template.md} | 2 +- content/templates/template-types-and-kinds.md | 14 + content/themes/_index.md | 2 +- content/troubleshooting/_index.md | 2 +- content/tutorials/_index.md | 2 +- .../tutorials/creating-a-multilingual-site.md | 16 + content/variables-and-params/_index.md | 8 +- .../variables-and-params/page-variables.md | 2 + data/sitenavigation.yml | 8 +- themes/hugodocs/layouts/_default/single.html | 13 +- themes/hugodocs/layouts/index.html | 9 +- .../layouts/partials/site-footer.html | 13 +- .../layouts/partials/site-header.html | 2 +- .../layouts/partials/site-navigation.html | 28 +- .../layouts/partials/svg-icons/godoc-icon.svg | 35 ++ .../layouts/partials/svg-icons/hugo.svg | 10 + .../layouts/partials/svg-icons/javascript.svg | 24 + .../layouts/partials/svg-icons/json.svg | 7 + .../hugodocs/layouts/shortcodes/caution.html | 2 +- themes/hugodocs/layouts/shortcodes/note.html | 2 +- .../hugodocs/layouts/shortcodes/output.html | 17 +- themes/hugodocs/layouts/shortcodes/warn.html | 6 - .../hugodocs/layouts/shortcodes/warning.html | 6 + themes/hugodocs/pipeline/scss/_variables.scss | 2 +- .../pipeline/scss/base/_fontello.scss | 59 ++- .../pipeline/scss/base/_typography.scss | 12 +- .../bourbon/_bourbon-deprecated-upcoming.scss | 411 ++++++++++++++++++ .../pipeline/scss/bourbon/_bourbon.scss | 87 ++++ .../scss/bourbon/addons/_border-color.scss | 26 ++ .../scss/bourbon/addons/_border-radius.scss | 48 ++ .../scss/bourbon/addons/_border-style.scss | 25 ++ .../scss/bourbon/addons/_border-width.scss | 25 ++ .../scss/bourbon/addons/_buttons.scss | 64 +++ .../scss/bourbon/addons/_clearfix.scss | 25 ++ .../scss/bourbon/addons/_ellipsis.scss | 30 ++ .../scss/bourbon/addons/_font-stacks.scss | 31 ++ .../scss/bourbon/addons/_hide-text.scss | 27 ++ .../pipeline/scss/bourbon/addons/_margin.scss | 26 ++ .../scss/bourbon/addons/_padding.scss | 26 ++ .../scss/bourbon/addons/_position.scss | 48 ++ .../scss/bourbon/addons/_prefixer.scss | 66 +++ .../scss/bourbon/addons/_retina-image.scss | 25 ++ .../pipeline/scss/bourbon/addons/_size.scss | 51 +++ .../scss/bourbon/addons/_text-inputs.scss | 113 +++++ .../bourbon/addons/_timing-functions.scss | 34 ++ .../scss/bourbon/addons/_triangle.scss | 63 +++ .../scss/bourbon/addons/_word-wrap.scss | 29 ++ .../scss/bourbon/css3/_animation.scss | 43 ++ .../scss/bourbon/css3/_appearance.scss | 3 + .../bourbon/css3/_backface-visibility.scss | 3 + .../scss/bourbon/css3/_background-image.scss | 42 ++ .../scss/bourbon/css3/_background.scss | 55 +++ .../scss/bourbon/css3/_border-image.scss | 59 +++ .../pipeline/scss/bourbon/css3/_calc.scss | 4 + .../pipeline/scss/bourbon/css3/_columns.scss | 47 ++ .../pipeline/scss/bourbon/css3/_filter.scss | 4 + .../pipeline/scss/bourbon/css3/_flex-box.scss | 287 ++++++++++++ .../scss/bourbon/css3/_font-face.scss | 24 + .../bourbon/css3/_font-feature-settings.scss | 4 + .../scss/bourbon/css3/_hidpi-media-query.scss | 10 + .../pipeline/scss/bourbon/css3/_hyphens.scss | 4 + .../scss/bourbon/css3/_image-rendering.scss | 14 + .../scss/bourbon/css3/_keyframes.scss | 36 ++ .../scss/bourbon/css3/_linear-gradient.scss | 38 ++ .../scss/bourbon/css3/_perspective.scss | 8 + .../scss/bourbon/css3/_placeholder.scss | 8 + .../scss/bourbon/css3/_radial-gradient.scss | 39 ++ .../scss/bourbon/css3/_selection.scss | 42 ++ .../scss/bourbon/css3/_text-decoration.scss | 19 + .../scss/bourbon/css3/_transform.scss | 15 + .../scss/bourbon/css3/_transition.scss | 71 +++ .../scss/bourbon/css3/_user-select.scss | 3 + .../bourbon/functions/_assign-inputs.scss | 11 + .../bourbon/functions/_contains-falsy.scss | 20 + .../scss/bourbon/functions/_contains.scss | 26 ++ .../scss/bourbon/functions/_is-length.scss | 11 + .../scss/bourbon/functions/_is-light.scss | 21 + .../scss/bourbon/functions/_is-number.scss | 11 + .../scss/bourbon/functions/_is-size.scss | 13 + .../bourbon/functions/_modular-scale.scss | 69 +++ .../scss/bourbon/functions/_px-to-em.scss | 13 + .../scss/bourbon/functions/_px-to-rem.scss | 15 + .../scss/bourbon/functions/_shade.scss | 24 + .../scss/bourbon/functions/_strip-units.scss | 17 + .../scss/bourbon/functions/_tint.scss | 24 + .../functions/_transition-property-name.scss | 22 + .../scss/bourbon/functions/_unpack.scss | 27 ++ .../scss/bourbon/helpers/_convert-units.scss | 21 + .../bourbon/helpers/_directional-values.scss | 96 ++++ .../helpers/_font-source-declaration.scss | 43 ++ .../helpers/_gradient-positions-parser.scss | 13 + .../bourbon/helpers/_linear-angle-parser.scss | 25 ++ .../helpers/_linear-gradient-parser.scss | 41 ++ .../helpers/_linear-positions-parser.scss | 61 +++ .../helpers/_linear-side-corner-parser.scss | 31 ++ .../bourbon/helpers/_radial-arg-parser.scss | 69 +++ .../helpers/_radial-gradient-parser.scss | 50 +++ .../helpers/_radial-positions-parser.scss | 18 + .../bourbon/helpers/_render-gradients.scss | 26 ++ .../bourbon/helpers/_shape-size-stripper.scss | 10 + .../scss/bourbon/helpers/_str-to-num.scss | 50 +++ .../bourbon/settings/_asset-pipeline.scss | 7 + .../scss/bourbon/settings/_prefixer.scss | 9 + .../scss/bourbon/settings/_px-to-em.scss | 1 + .../pipeline/scss/components/_anchors.scss | 42 +- .../pipeline/scss/components/_code.scss | 62 ++- .../pipeline/scss/components/_icons.scss | 4 + .../pipeline/scss/components/_lists.scss | 39 +- ..._note-caution-and-warning-shortcodes.scss} | 16 +- .../pipeline/scss/layout/_site-content.scss | 78 +++- .../pipeline/scss/layout/_site-footer.scss | 43 ++ .../scss/layout/_site-navigation.scss | 2 +- themes/hugodocs/pipeline/scss/style.scss | 4 +- themes/hugodocs/static/css/style.min.css | 2 +- .../design-resources/godoc-icon.afdesign | Bin 0 -> 29015 bytes .../static/design-resources/hugo-h.afdesign | Bin 0 -> 14242 bytes .../static/fonts/fontello/fontello.eot | Bin 20344 -> 22456 bytes .../static/fonts/fontello/fontello.svg | 24 +- .../static/fonts/fontello/fontello.ttf | Bin 20176 -> 22288 bytes .../static/fonts/fontello/fontello.woff | Bin 13356 -> 14584 bytes .../static/fonts/fontello/fontello.woff2 | Bin 11576 -> 12540 bytes themes/hugodocs/static/images/hugo-tall.png | Bin 0 -> 9971 bytes .../static/images/made-with-hugo-dark.png | Bin 0 -> 8764 bytes .../images/made-with-hugo-long-dark.png | Bin 0 -> 9116 bytes .../static/images/made-with-hugo-long.png | Bin 0 -> 9318 bytes .../hugodocs/static/images/made-with-hugo.png | Bin 0 -> 8900 bytes .../static/images/powered-by-hugo-dark.png | Bin 0 -> 3545 bytes .../images/powered-by-hugo-long-dark.png | Bin 0 -> 3857 bytes .../static/images/powered-by-hugo-long.png | Bin 0 -> 3773 bytes .../static/images/powered-by-hugo.png | Bin 0 -> 3527 bytes 150 files changed, 3886 insertions(+), 269 deletions(-) create mode 100644 content/about-hugo/sample-styles-temporary.md create mode 100644 content/content-management/cross-references.md create mode 100644 content/content-management/permalinks.md rename content/{tutorials/how-to-contribute-to-hugo.md => contribute-to-hugo/_index.md} (50%) create mode 100644 content/contribute-to-hugo/contribute-to-hugo-docs.md create mode 100644 content/project-organization/directory-structure.md rename content/templates/{template-types.md => sitemap-template.md} (85%) create mode 100644 content/templates/template-types-and-kinds.md create mode 100644 content/tutorials/creating-a-multilingual-site.md create mode 100644 themes/hugodocs/layouts/partials/svg-icons/godoc-icon.svg create mode 100644 themes/hugodocs/layouts/partials/svg-icons/hugo.svg create mode 100644 themes/hugodocs/layouts/partials/svg-icons/javascript.svg create mode 100644 themes/hugodocs/layouts/partials/svg-icons/json.svg delete mode 100644 themes/hugodocs/layouts/shortcodes/warn.html create mode 100644 themes/hugodocs/layouts/shortcodes/warning.html create mode 100644 themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_flex-box.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_font-face.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_font-feature-settings.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_hidpi-media-query.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_hyphens.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_image-rendering.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_keyframes.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_linear-gradient.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_perspective.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss create mode 100644 themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss rename themes/hugodocs/pipeline/scss/components/{_note-and-warn.scss => _note-caution-and-warning-shortcodes.scss} (66%) create mode 100644 themes/hugodocs/static/design-resources/godoc-icon.afdesign create mode 100644 themes/hugodocs/static/design-resources/hugo-h.afdesign create mode 100755 themes/hugodocs/static/images/hugo-tall.png create mode 100755 themes/hugodocs/static/images/made-with-hugo-dark.png create mode 100755 themes/hugodocs/static/images/made-with-hugo-long-dark.png create mode 100755 themes/hugodocs/static/images/made-with-hugo-long.png create mode 100755 themes/hugodocs/static/images/made-with-hugo.png create mode 100755 themes/hugodocs/static/images/powered-by-hugo-dark.png create mode 100755 themes/hugodocs/static/images/powered-by-hugo-long-dark.png create mode 100755 themes/hugodocs/static/images/powered-by-hugo-long.png create mode 100755 themes/hugodocs/static/images/powered-by-hugo.png diff --git a/config.toml b/config.toml index 8d150456c..59c30472e 100644 --- a/config.toml +++ b/config.toml @@ -77,13 +77,21 @@ watch = true removefromexternalsearch = true ## This is used when the BaseURL does not need to modified (eg, in share links) siteaddress = "https://gohugo.io" - ## GitHub Repository Base URL (should contain /edit/master/ to automatically link to edit-ready version of file and also include closing slash) - ghrepourl = "https://github.com/rdwatters/hugo-docs-concept/edit/master/content/" + ## Gh repo for site footer + ghrepo = "https://github.com/spf13/hugo/" + ## GitHub Docs Repository Base URL (include trailing slash) + ghdocsrepo = "https://github.com/rdwatters/hugo-docs-concept/" + ## Github Wiki for Documentation + ghdocswiki = "" + ## Github Wiki for Development + ghdevwiki = "" + ## Gitter URL + gitter = "https://gitter.im/spf13/hugo" + ## Discuss Forum URL + forum = "https://discuss.hugo.io" gtmid = "" # Set to true to include a CDN call to FontAwesome usefontawesome = true - # Sets the order of site sections in the sidebar navigation - sitemenuitems = ["About Hugo", "Getting Started", "Project Organization", "Content Management", "Templates", "Functions", "Variables and Params", "Themes", "Hosting and Deployment", "Migrating to Hugo", "News and Articles", "Site Showcase", "Developer Tools", "Troubleshooting"] # MARKDOWN ## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday [blackfriday] diff --git a/content/about-hugo/_index.md b/content/about-hugo/_index.md index 9faa11637..763cc68e2 100644 --- a/content/about-hugo/_index.md +++ b/content/about-hugo/_index.md @@ -1,7 +1,7 @@ --- title: Introduction to Hugo linktitle: -description: Hugo's features, roadmap, license, and motivation. +description: Hugo's features, roadmap, and license, as well as the motivation behind creating Hugo. date: 2016-11-01 publishdate: 2016-11-01 lastmod: 2016-11-01 @@ -55,6 +55,10 @@ Hugo is for people building a blog, company site, portfolio, tumblog, documentation, single-page website, or a website with thousands of pages. +## See Also + +* [Hugo Performance Benchmark(@bep)] + [Aerobatic]: https://www.aerobatic.com/ [Amazon S3]: http://aws.amazon.com/s3/ @@ -67,15 +71,8 @@ pages. [GoDaddy]: https://www.godaddy.com/ [Google Cloud Storage]: http://cloud.google.com/storage/ [Heroku]: https://www.heroku.com/ +[Hugo Performance Benchmark(@bep)]: https://github.com/bep/hugo-benchmark [Jekyll]: http://jekyllrb.com/ [Middleman]: https://middlemanapp.com/ [Nanoc]: http://nanoc.ws/ -[Surge]: https://surge.sh - -## Next Steps - - * [Install Hugo](/overview/installing/) - * [Quick start](/overview/quickstart/) - * [Join the Mailing List](/community/mailing-list/) - * [Star us on GitHub](https://github.com/spf13/hugo) - * [Discussion Forum](http://discuss.gohugo.io/) \ No newline at end of file +[Surge]: https://surge.sh \ No newline at end of file diff --git a/content/about-hugo/license.md b/content/about-hugo/license.md index 1075d3437..b8c7f4e71 100644 --- a/content/about-hugo/license.md +++ b/content/about-hugo/license.md @@ -2,9 +2,9 @@ title: License linktitle: description: Information on the Hugo license. -date: 2016-11-01 -publishdate: 2016-11-01 -lastmod: 2016-11-01 +date: 2016-02-01 +publishdate: 2016-02-01 +lastmod: 2016-02-01 weight: 50 draft: false slug: diff --git a/content/about-hugo/roadmap.md b/content/about-hugo/roadmap.md index a9faff562..87f9e62ce 100644 --- a/content/about-hugo/roadmap.md +++ b/content/about-hugo/roadmap.md @@ -24,13 +24,14 @@ In no particular order, here is what is currently being worked on for the Hugo p * Native support for additional content formats (AsciiDoc [#1435][], reST [#1436][]) * And, last but not least, *your* best ideas! -> Feel free to [contribute][] or open a new issue if you have an idea for a new feature. +{{% note title="Contributions Welcome" %}} +Feel free to [contribute](/tutorials/how-to-contribute-to-hugo/) or open a new issue if you have an idea for a new feature. +{{% /note %}} [#98]: https://github.com/spf13/hugo/issues/98 [#1014]: https://github.com/spf13/hugo/issues/1014 [#1435]: https://github.com/spf13/hugo/issues/1435 [#1436]: https://github.com/spf13/hugo/issues/1436 -[contribute]: /tutorials/how-to-contribute-to-hugo/ [hosting and deployment]: /hosting-and-deployment/ [related Discuss thread]: https://discuss.gohugo.io/t/web-based-editor/155 [themes]: /themes diff --git a/content/about-hugo/sample-styles-temporary.md b/content/about-hugo/sample-styles-temporary.md new file mode 100644 index 000000000..42fbb5372 --- /dev/null +++ b/content/about-hugo/sample-styles-temporary.md @@ -0,0 +1,102 @@ +--- +title: Sample Styles +linktitle: +description: This should be deleted before go live. +date: 2016-02-01 +publishdate: 2016-02-01 +lastmod: 2016-02-01 +weight: 99 +draft: false +slug: +aliases: +notes: +--- + +Here is some body copy. Here is a bit of `inline code`. Here is a [link to Google](https://www.google.com). Here is some *emphasized and italics text*. Here is some **emphasized and bold text**. + +## Lists + +* Unordered list item lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad dolorum alias vero. +* Unordered list item + * Nested unordered list item + * Nested unordered list item + * Nested again + * Nested again +* Unordered list item + +1. Ordered list item lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente, quae nulla dolore eligendi. +2. Ordered list item + 1. Nested ordered list item + 2. Nested ordered list item + 1. Nested again, ordered + 2. Nested again, ordered +3. Ordered list item + +## Callouts/CTAs/Admonitions + +{{% note "Note Shortcode" %}} +Here is *something in italic* in a shortcode. Here is **something in bold**. +{{% /note %}} + +{{% caution "Caution Shortcode" %}} +Here is *something in italic* in a shortcode. Here is **something in bold**. +{{% /caution %}} + +{{% warning "Warning Shortcode" %}} +Here is *something in italic* in a shortcode. Here is **something in bold**. +{{% /warning %}} + +## Code Block Shortcodes + +### Code Input Shortcode + +{{% input "my-first-template.html" %}} +```go + +``` +{{% /input %}} + +{{% input "first-script.js" %}} +```js +function myFunction(arg){ + console.log(arg); +} +``` +{{% /input %}} + +### Code Output Shortcode + +{{% output "/posts/index.html" %}} +```go + +``` +{{% /output %}} + +{{% output "/first-data.json" %}} +```json +{ + "glossary": { + "title": "example glossary", + "GlossDiv": { + "title": "S" + } + } +} +``` +{{% /output %}} + +### Markdown Code Block without Shortcode + +```javascript +function myFunction(val){ + console.log(val); +} +``` diff --git a/content/about-hugo/why-use-a-static-site-generator.md b/content/about-hugo/why-use-a-static-site-generator.md index 0bd2ffffa..5129c1bc2 100644 --- a/content/about-hugo/why-use-a-static-site-generator.md +++ b/content/about-hugo/why-use-a-static-site-generator.md @@ -14,7 +14,7 @@ notes: Website generators render content into HTML files. Most are "dynamic site generators." That means the HTTP server (i.e., the program that communicates with your end user's browser) runs the generator to create a new HTML file every time an end user requests a page. -Creating the page dynamically requires the HTTP server have enough memory and CPU to effectively run the generator around the clock. If not, your end user will wait in a queue for the page to be generated. +Creating the page dynamically requires the HTTP server to have enough memory and CPU to effectively run the generator nonstop. If not, your end user will wait in a queue for the page to be generated. To prevent unnecessary delays in delivering pages to end users, dynamic site generators were programmed to cache their HTML files. A cached page is a copy that is temporarily stored on the computer. Sending a cached copy is faster than generating a new page at the time of request because the majority of the work is already done. diff --git a/content/content-management/cross-references.md b/content/content-management/cross-references.md new file mode 100644 index 000000000..25ca5bf51 --- /dev/null +++ b/content/content-management/cross-references.md @@ -0,0 +1,15 @@ +--- +title: Cross References +linktitle: +description: +date: 2017-02-01 +publishdate: 2017-02-01 +lastmod: 2017-01-09 +categories: [content] +tags: [cross references, anchors] +weight: +draft: false +slug: +aliases: [] +notes: +--- \ No newline at end of file diff --git a/content/content-management/markdown-and-supported-formats.md b/content/content-management/markdown-and-supported-formats.md index d3804edb3..33f2d19a4 100644 --- a/content/content-management/markdown-and-supported-formats.md +++ b/content/content-management/markdown-and-supported-formats.md @@ -13,6 +13,6 @@ aliases: [/content/markdown-extras/,/content/supported-formats/] notes: --- -{{% note "Deeply Nested Lists" %}} +{{% caution "Deeply Nested Lists" %}} Hugo uses [BlackFriday](https://github.com/russross/blackfriday), a markdown processor written in Go. A known issue [(#329)](https://github.com/russross/blackfriday/issues/329) in BlackFriday is the handling of deeply nested lists, but there is a workaround. If you write lists in markdown, be sure to include 4 spaces (i.e., tab) rather than 2 to delimit nesting of lists. -{{% /note %}} \ No newline at end of file +{{% /caution %}} \ No newline at end of file diff --git a/content/content-management/permalinks.md b/content/content-management/permalinks.md new file mode 100644 index 000000000..4177c1bb4 --- /dev/null +++ b/content/content-management/permalinks.md @@ -0,0 +1,14 @@ +--- +title: Permalinks +linktitle: Permalinks +description: +date: 2017-01-10 +publishdate: 2017-01-10 +lastmod: 2017-01-10 +tags: [permalinks,url,slug] +weight: +draft: false +slug: +aliases: [] +notes: +--- \ No newline at end of file diff --git a/content/tutorials/how-to-contribute-to-hugo.md b/content/contribute-to-hugo/_index.md similarity index 50% rename from content/tutorials/how-to-contribute-to-hugo.md rename to content/contribute-to-hugo/_index.md index 7d3071316..7210713b3 100644 --- a/content/tutorials/how-to-contribute-to-hugo.md +++ b/content/contribute-to-hugo/_index.md @@ -1,7 +1,7 @@ --- -title: How to Contribute to Hugo +title: Contribute to Hugo Development linktitle: -description: Tutorial developed by DigitalCraftsman of the Hugo community to explain to new developers how to contribute to the Hugo project. +description: Contribute to Hugo development and documentation. date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/contribute-to-hugo/contribute-to-hugo-docs.md b/content/contribute-to-hugo/contribute-to-hugo-docs.md new file mode 100644 index 000000000..eb168045f --- /dev/null +++ b/content/contribute-to-hugo/contribute-to-hugo-docs.md @@ -0,0 +1,16 @@ +--- +title: Contribute to Hugo Docs +linktitle: Contribute to Hugo Docs +description: +date: 2017-02-01 +publishdate: 2017-02-01 +lastmod: 2017-02-01 +tags: [contribute,tutorials] +author: +authorprofileurl: +weight: +draft: false +slug: +aliases: +notes: +--- \ No newline at end of file diff --git a/content/functions/_index.md b/content/functions/_index.md index 72da78f27..e2a76f261 100644 --- a/content/functions/_index.md +++ b/content/functions/_index.md @@ -1,7 +1,7 @@ --- -title: Functions Quick Reference -linktitle: Functions Quick Reference -description: Description for templating functions. +title: Quick Reference +linktitle: Quick Reference +description: Comprehensive list of Hugo templating functions, including basic and advanced usage examples. date: 2017-01-09 publishdate: 2017-01-09 lastmod: 2017-01-09 diff --git a/content/functions/countwords.md b/content/functions/countwords.md index f4e58ad73..e0b1cae09 100644 --- a/content/functions/countwords.md +++ b/content/functions/countwords.md @@ -14,20 +14,4 @@ layout: slug: aliases: [] notes: ---- - -## Heading - -Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores, praesentium quod magnam veritatis, itaque tenetur minima nihil a at cum doloremque accusantium fugiat quam! Cumque ad vero provident enim temporibus! - -{{% note title="Note" %}} -Here is *something in italic* in a shortcode. Here is **something in bold**. -{{% /note %}} - -{{% caution title="Caution" %}} -Here is *something in italic* in a shortcode. Here is **something in bold**. -{{% /caution %}} - -{{% warn title="Warn" %}} -Here is *something in italic* in a shortcode. Here is **something in bold**. -{{% /warn %}} +--- \ No newline at end of file diff --git a/content/functions/default-function.md b/content/functions/default-function.md index 88e053ee0..771cd0940 100644 --- a/content/functions/default-function.md +++ b/content/functions/default-function.md @@ -1,9 +1,7 @@ --- title: default -linktitle: +linktitle: default description: -qr_description: -qr_returns: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/functions/index-function.md b/content/functions/index-function.md index c2ffc1e93..89e7251bc 100644 --- a/content/functions/index-function.md +++ b/content/functions/index-function.md @@ -1,17 +1,19 @@ --- title: index -linktitle: +linktitle: index description: -qr_description: -qr_returns: +workson: [map,slice,array] +godocref: https://golang.org/pkg/text/template/#hdr-Functions +tags: [iteration] +categories: [functions] date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 weight: draft: false -type: -layout: slug: aliases: [] notes: --- + +Here is some content for the `index` function. diff --git a/content/getting-started/_index.md b/content/getting-started/_index.md index da4a025a4..8ee543c8b 100644 --- a/content/getting-started/_index.md +++ b/content/getting-started/_index.md @@ -1,7 +1,7 @@ --- title: How to Use the Hugo Docs linktitle: Using the Hugo Docs -description: Description for the Getting Started section. +description: Quick start and guides for installing Hugo on your preferred operating system. date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/hosting-and-deployment/_index.md b/content/hosting-and-deployment/_index.md index b7ecda996..ff9e58614 100644 --- a/content/hosting-and-deployment/_index.md +++ b/content/hosting-and-deployment/_index.md @@ -1,7 +1,7 @@ --- title: Building Your Static Site linktitle: -description: Build process, automated deployments, and popular hosting solutions. +description: Site builds, automated deployments, and popular hosting solutions. date: 2016-11-01 publishdate: 2016-11-01 lastmod: 2016-11-01 diff --git a/content/project-organization/configuration.md b/content/project-organization/configuration.md index 2cf65d19f..24f0d69e7 100644 --- a/content/project-organization/configuration.md +++ b/content/project-organization/configuration.md @@ -3,55 +3,206 @@ title: Configuration linktitle: description: Scaffolding new projects, configuration, and source organization. date: 2017-01-02 +tags: [configuration,fundamentals] publishdate: 2017-01-02 lastmod: 2017-01-02 weight: 10 draft: false slug: -aliases: +aliases: [/overview/source-directory/] notes: --- -Here is `some code` in the body copy. +The [directory structure][] of a Hugo website—or more precisely, the source organization of files containing the website's content and templates—provide most of the configuration information that Hugo needs in order to statically generate a finished website. -{{% input "my-first-template.html" %}} -```go - +Therefore, many websites wouldn't actually need a configuration file. This is because Hugo is designed to recognize certain typical usage patterns (and expects them, by default). + +Nevertheless, Hugo searches for a configuration file in the root of your website's source directory as a default behavior. First, it looks for a `./config.toml` file. If that's not present, it will seek a `./config.yaml` file, +followed by a `./config.json` file. + +In this `config` file, you can include precise directions to Hugo regarding how it should render your website, control your website's menus, and arbitrarily define site-wide parameters specific to your project. + +## Configure Through Environmental Variables + +In addition to the 3 configuration file options already mentioned, website configuration can be accomplished through operating system environment variables. + +For example, the following command will effectively set a website's title on Unix-like systems: + +{{% input "environment-variable.sh" %}} +```bash +$ env HUGO_TITLE="Some Title" hugo ``` {{% /input %}} -{{% input "first-script.js" %}} -```js -function myFunction(arg){ - console.log(arg); -} +{{% note "Setting Environment Variables" %}} +names must be prefixed with `HUGO_` when setting environment variables through operating system environment variables. +{{% /note %}} + +## Configuration in YAML + +The following is a typical example of a YAML configuration file. Note the document opens with 3 hyphens and closes with 3 periods. The values nested under `params:` will populate the [`.Site.Params`][] variable for use in [templates][]: + +{{% input "config.yml" %}} +```yaml +--- +baseURL: "http://yoursite.example.com/" +title: "Yoyodyne Widget Blogging" +footnoteReturnLinkContents: "↩" +permalinks: + post: /:year/:month/:title/ +params: + Subtitle: "Spinning the cogs in the widgets" + AuthorName: "John Doe" + GitHubUser: "spf13" + ListOfFoo: + - "foo1" + - "foo2" + SidebarRecentLimit: 5 +... ``` {{% /input %}} -{{% input "first-data.json" %}} -```json -function myFunction(arg){ - console.log(arg); -} +## Configuration in TOML + +The following is an example of a TOML configuration file. The values under `[params]` will populate the `.Site.Params` variable for use in [templates][]: + +{{% input "config.toml" %}} +```toml +contentDir = "content" +layoutDir = "layouts" +publishDir = "public" +buildDrafts = false +baseURL = "http://yoursite.example.com/" +canonifyURLs = true + +[taxonomies] + category = "categories" + tag = "tags" + +[params] + description = "Tesla's Awesome Hugo Site" + author = "Nikola Tesla" ``` {{% /input %}} -{{% output "layouts/_default/list.html" %}} -```go - -``` -{{% /output %}} +## Complete List of Configuration Variables -```javascript -function myFunction(val){ - console.log(val); -} +The following is a list of Hugo-defined variables. The values assigned to each of the variables represents the default value used by Hugo if you not specifically change the value in your configuration. + +{{% input "config.yml" %}} +```yaml +--- +archetypeDir: "archetypes" +# hostname (and path) to the root, e.g. http://spf13.com/ +baseURL: "" +# include content marked as draft +buildDrafts: false +# include content with publishdate in the future +buildFuture: false +# include content already expired +buildExpired: false +# enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs. +relativeURLs: false +canonifyURLs: false +# config file (default is path/config.yaml|json|toml) +config: "config.toml" +contentDir: "content" +dataDir: "data" +defaultExtension: "html" +defaultLayout: "post" +# Missing translations will default to this content language +defaultContentLanguage: "en" +# Renders the default content language in subdir, e.g. /en/. The root directory / will redirect to /en/ +defaultContentLanguageInSubdir: false +disableLiveReload: false +# Do not build RSS files +disableRSS: false +# Do not build Sitemap file +disableSitemap: false +# Enable GitInfo feature +enableGitInfo: false +# Build robots.txt file +enableRobotsTXT: false +# Do not render 404 page +disable404: false +# Do not inject generator meta tag on homepage +disableHugoGeneratorInject: false +# edit new content with this editor, if provided +editor: "" +# Enable Emoji emoticons support for page content. +# See www.emoji-cheat-sheet.com +enableEmoji: false +# Show a placeholder instead of the default value or an empty string if a translation is missing +enableMissingTranslationPlaceholders: false +footnoteAnchorPrefix: "" +footnoteReturnLinkContents: "" +# google analytics tracking id +googleAnalytics: "" +languageCode: "" +layoutDir: "layouts" +# Enable Logging +log: false +# Log File path (if set, logging enabled automatically) +logFile: "" +# "yaml", "toml", "json" +metaDataFormat: "toml" +newContentEditor: "" +# Don't sync permission mode of files +noChmod: false +# Don't sync modification time of files +noTimes: false +paginate: 10 +paginatePath: "page" +permalinks: +# Pluralize titles in lists using inflect +pluralizeListTitles: true +# Preserve special characters in taxonomy names ("Gérard Depardieu" vs "Gerard Depardieu") +preserveTaxonomyNames: false +# filesystem path to write files to +publishDir: "public" +# enables syntax guessing for code fences without specified language +pygmentsCodeFencesGuessSyntax: false +# color-codes for highlighting derived from this style +pygmentsStyle: "monokai" +# true: use pygments-css or false: color-codes directly +pygmentsUseClasses: false +# default sitemap configuration map +sitemap: +# filesystem path to read files relative from +source: "" +staticDir: "static" +# display memory and timing of different steps of the program +stepAnalysis: false +# theme to use (located by default in /themes/THEMENAME/) +themesDir: "themes" +theme: "" +title: "" +# if true, use /filename.html instead of /filename/ +uglyURLs: false +# Do not make the url/path to lowercase +disablePathToLower: false +# if true, auto-detect Chinese/Japanese/Korean Languages in the content. (.Summary and .WordCount can work properly in CJKLanguage) +hasCJKLanguage: false +# verbose output +verbose: false +# verbose logging +verboseLog: false +# watch filesystem for changes and recreate as needed +watch: true +--- ``` +{{% /input %}} + +## Ignoring Files When Rendering + +The following statement inside `./config.toml` will cause Hugo to ignore files +ending with `.foo` and `.boo` when rendering: + +```toml +ignoreFiles = [ "\\.foo$", "\\.boo$" ] +``` +The above is a list of regular expressions. Note that the backslash (`\`) character is escaped in this example to keep TOML happy. + +[`.Site.Params`]: /variables-and-params/ +[templates]: /templates +[directory structure]: /project-organization/directory-structure \ No newline at end of file diff --git a/content/project-organization/directory-structure.md b/content/project-organization/directory-structure.md new file mode 100644 index 000000000..2fc593985 --- /dev/null +++ b/content/project-organization/directory-structure.md @@ -0,0 +1,13 @@ +--- +title: Directory Structure +linktitle: +description: Explanation of the directory structure in a typical Hugo project and how Hugo traverses the file system therein. +date: 2017-01-02 +publishdate: 2017-01-02 +lastmod: 2017-01-02 +weight: 10 +draft: false +slug: +aliases: +notes: +--- \ No newline at end of file diff --git a/content/templates/base-templates-and-blocks.md b/content/templates/base-templates-and-blocks.md index d5078f1aa..ee074cc9a 100644 --- a/content/templates/base-templates-and-blocks.md +++ b/content/templates/base-templates-and-blocks.md @@ -6,9 +6,11 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 weight: -tags: [] +tags: [blocks,base] draft: false slug: aliases: notes: ---- \ No newline at end of file +--- + +## Base Template Lookup Order \ No newline at end of file diff --git a/content/templates/template-types.md b/content/templates/sitemap-template.md similarity index 85% rename from content/templates/template-types.md rename to content/templates/sitemap-template.md index 35a09cd6d..b1c64abab 100644 --- a/content/templates/template-types.md +++ b/content/templates/sitemap-template.md @@ -1,5 +1,5 @@ --- -title: Template Types +title: Sitemap Template linktitle: description: date: 2017-02-01 diff --git a/content/templates/template-types-and-kinds.md b/content/templates/template-types-and-kinds.md new file mode 100644 index 000000000..7232afc6c --- /dev/null +++ b/content/templates/template-types-and-kinds.md @@ -0,0 +1,14 @@ +--- +title: Template Types and Kinds +linktitle: Template Types and Kinds +description: +date: 2017-02-01 +publishdate: 2017-02-01 +lastmod: 2017-02-01 +weight: +tags: [] +draft: false +slug: +aliases: +notes: +--- \ No newline at end of file diff --git a/content/themes/_index.md b/content/themes/_index.md index 024c84ab5..4b39c5a06 100644 --- a/content/themes/_index.md +++ b/content/themes/_index.md @@ -1,7 +1,7 @@ --- title: Introduction to Themes linktitle: -description: Description of the theming section and its contents. +description: Install, use, and create Hugo themes. date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/troubleshooting/_index.md b/content/troubleshooting/_index.md index 1b01a11bc..ad27ec675 100644 --- a/content/troubleshooting/_index.md +++ b/content/troubleshooting/_index.md @@ -1,7 +1,7 @@ --- title: Troubleshooting linktitle: -description: Frequently asked questions pulled from the Hugo forum and known issues and workarounds. +description: FAQs pulled from the Hugo forum, known issues, and workarounds. date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/tutorials/_index.md b/content/tutorials/_index.md index 21b580e3f..a07a387cd 100644 --- a/content/tutorials/_index.md +++ b/content/tutorials/_index.md @@ -1,7 +1,7 @@ --- title: Submitting a Tutorial linktitle: -description: Learn how to submit your tutorial to the Hugo docs. +description: . date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 diff --git a/content/tutorials/creating-a-multilingual-site.md b/content/tutorials/creating-a-multilingual-site.md new file mode 100644 index 000000000..361e170fc --- /dev/null +++ b/content/tutorials/creating-a-multilingual-site.md @@ -0,0 +1,16 @@ +--- +title: Create a Multilingual Site +linktitle: +description: +date: 2017-02-01 +publishdate: 2017-02-01 +lastmod: 2017-02-01 +tags: [multilingual,] +author: +authorprofileurl: +weight: +draft: false +slug: +aliases: +notes: +--- \ No newline at end of file diff --git a/content/variables-and-params/_index.md b/content/variables-and-params/_index.md index 4f91a2a9b..6d2bb95f0 100644 --- a/content/variables-and-params/_index.md +++ b/content/variables-and-params/_index.md @@ -1,16 +1,16 @@ --- -title: Introduction +title: Variables vs Parameters linktitle: -description: Description for the variables and parameters section of the site. +description: Page-, file-, taxonomy-, and site-level variables and parameters available in templates. date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -weight: +weight: 01 draft: false slug: aliases: [] notes: --- -Here is some content for the homepage. +Content for the Variables and Params Section diff --git a/content/variables-and-params/page-variables.md b/content/variables-and-params/page-variables.md index f4569f312..f421ba9a5 100644 --- a/content/variables-and-params/page-variables.md +++ b/content/variables-and-params/page-variables.md @@ -13,3 +13,5 @@ slug: aliases: [] notes: --- + +`.IsNamedParams` (reference to shortcodes) diff --git a/data/sitenavigation.yml b/data/sitenavigation.yml index 4f993ef5f..106b78f28 100644 --- a/data/sitenavigation.yml +++ b/data/sitenavigation.yml @@ -82,8 +82,14 @@ newsandarticles: url: "news-and-articles" haschildren: true sortsubpagesby: "weight" -siteshowcase: +contributetohugo: order: 15 + title: "Contribute to Hugo" + url: "contribute-to-hugo" + haschildren: true + sortsubpagesby: "weight" +siteshowcase: + order: 16 title: "Site Showcase" url: "site-showcase" haschildren: false diff --git a/themes/hugodocs/layouts/_default/single.html b/themes/hugodocs/layouts/_default/single.html index 665f182f2..7cc10eebd 100644 --- a/themes/hugodocs/layouts/_default/single.html +++ b/themes/hugodocs/layouts/_default/single.html @@ -1,13 +1,20 @@ {{ define "main" }} +{{$base := .Site.BaseURL}}
- Edit + Edit
-

{{with .LinkTitle}}{{ . |markdownify}}{{else}}{{ .Title | markdownify }}{{end}}

+

{{with .LinkTitle}}{{ . |markdownify}}{{else}}{{ .Title | markdownify }}{{end}} + {{- with .Params.godocref -}} + + {{ partial "svg-icons/godoc-icon.svg" .}} + + {{- end -}} +

{{with .Params.tags}} {{end}} diff --git a/themes/hugodocs/layouts/index.html b/themes/hugodocs/layouts/index.html index 21a4b8f64..765075ee7 100644 --- a/themes/hugodocs/layouts/index.html +++ b/themes/hugodocs/layouts/index.html @@ -9,15 +9,14 @@ {{end}}
- {{range .Site.Params.sitemenuitems }} - {{$sectionurl := . | urlize}} - + {{range $key,$params := sort ($.Site.Data.sitenavigation) "order" }} +
-

{{.}}

+

{{ $params.title }}

-

{{ with $.Site.GetPage "section" $sectionurl }}{{ .Description | markdownify }}{{ end }}

+

{{ with $.Site.GetPage "section" $params.url }}{{ .Description | markdownify }}{{ end }}

diff --git a/themes/hugodocs/layouts/partials/site-footer.html b/themes/hugodocs/layouts/partials/site-footer.html index b7be17008..f2e336b6f 100644 --- a/themes/hugodocs/layouts/partials/site-footer.html +++ b/themes/hugodocs/layouts/partials/site-footer.html @@ -1,3 +1,14 @@ \ No newline at end of file diff --git a/themes/hugodocs/layouts/partials/site-header.html b/themes/hugodocs/layouts/partials/site-header.html index 0384df4f6..0d9dcd0ce 100644 --- a/themes/hugodocs/layouts/partials/site-header.html +++ b/themes/hugodocs/layouts/partials/site-header.html @@ -4,6 +4,6 @@ v{{.Hugo.Version}} - Star +
\ No newline at end of file diff --git a/themes/hugodocs/layouts/partials/site-navigation.html b/themes/hugodocs/layouts/partials/site-navigation.html index dc7841f20..8f8304725 100644 --- a/themes/hugodocs/layouts/partials/site-navigation.html +++ b/themes/hugodocs/layouts/partials/site-navigation.html @@ -29,32 +29,8 @@ {{end}} - \ No newline at end of file diff --git a/themes/hugodocs/layouts/partials/svg-icons/godoc-icon.svg b/themes/hugodocs/layouts/partials/svg-icons/godoc-icon.svg new file mode 100644 index 000000000..1a6b82159 --- /dev/null +++ b/themes/hugodocs/layouts/partials/svg-icons/godoc-icon.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/hugodocs/layouts/partials/svg-icons/hugo.svg b/themes/hugodocs/layouts/partials/svg-icons/hugo.svg new file mode 100644 index 000000000..58d025596 --- /dev/null +++ b/themes/hugodocs/layouts/partials/svg-icons/hugo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/themes/hugodocs/layouts/partials/svg-icons/javascript.svg b/themes/hugodocs/layouts/partials/svg-icons/javascript.svg new file mode 100644 index 000000000..b0e2f5b0d --- /dev/null +++ b/themes/hugodocs/layouts/partials/svg-icons/javascript.svg @@ -0,0 +1,24 @@ + + + + + + diff --git a/themes/hugodocs/layouts/partials/svg-icons/json.svg b/themes/hugodocs/layouts/partials/svg-icons/json.svg new file mode 100644 index 000000000..d2ba6d0fc --- /dev/null +++ b/themes/hugodocs/layouts/partials/svg-icons/json.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/themes/hugodocs/layouts/shortcodes/caution.html b/themes/hugodocs/layouts/shortcodes/caution.html index 3bbe29673..558b19855 100644 --- a/themes/hugodocs/layouts/shortcodes/caution.html +++ b/themes/hugodocs/layouts/shortcodes/caution.html @@ -1,5 +1,5 @@
-

{{with .Get "title"}}{{.}}{{else}}Note{{end}}

+

{{if .Get 0}}{{.Get 0}}{{else}}Caution{{end}}

{{.Inner}}
diff --git a/themes/hugodocs/layouts/shortcodes/note.html b/themes/hugodocs/layouts/shortcodes/note.html index 96e840e42..bf88c5f13 100644 --- a/themes/hugodocs/layouts/shortcodes/note.html +++ b/themes/hugodocs/layouts/shortcodes/note.html @@ -1,5 +1,5 @@
-

{{with .Get "title"}}{{.}}{{else}}Note{{end}}

+

{{if .Get 0}}{{.Get 0}}{{else}}Note{{end}}

{{.Inner}}
diff --git a/themes/hugodocs/layouts/shortcodes/output.html b/themes/hugodocs/layouts/shortcodes/output.html index a6eb8f38e..ea042fddc 100644 --- a/themes/hugodocs/layouts/shortcodes/output.html +++ b/themes/hugodocs/layouts/shortcodes/output.html @@ -1,15 +1,4 @@ -{{- if .IsNamedParams -}} -{{$filenameclass := index (split (.Get "filename") ".") 1 }} -
- {{- with .Get "filename" -}}
Output to: {{- . -}}
{{- end -}} +
+
Renders to... {{.Get 0}}
{{- .Inner -}} -
-{{- else -}} -{{$filenameclass := index (split (.Get 0) ".") 1 }} -
-
Output to: {{.Get 0}}
- {{- .Inner -}} -
-{{- end -}} - - +
\ No newline at end of file diff --git a/themes/hugodocs/layouts/shortcodes/warn.html b/themes/hugodocs/layouts/shortcodes/warn.html deleted file mode 100644 index d40587524..000000000 --- a/themes/hugodocs/layouts/shortcodes/warn.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{{with .Get "title"}}{{.}}{{else}}Note{{end}}

-
- {{.Inner}} -
-
\ No newline at end of file diff --git a/themes/hugodocs/layouts/shortcodes/warning.html b/themes/hugodocs/layouts/shortcodes/warning.html new file mode 100644 index 000000000..73f12c80c --- /dev/null +++ b/themes/hugodocs/layouts/shortcodes/warning.html @@ -0,0 +1,6 @@ +
+

{{if .Get 0}}{{.Get 0}}{{else}}Warning{{end}}

+
+ {{.Inner}} +
+
\ No newline at end of file diff --git a/themes/hugodocs/pipeline/scss/_variables.scss b/themes/hugodocs/pipeline/scss/_variables.scss index bcd976f5d..2e13b3902 100644 --- a/themes/hugodocs/pipeline/scss/_variables.scss +++ b/themes/hugodocs/pipeline/scss/_variables.scss @@ -30,7 +30,7 @@ $body-bg-color:$hugo-white; //Typography $base-font-size: 18px; -$base-font-family: 'muli','helvetica neue',helvetica,sans-serif; +$base-font-family: 'muli',$helvetica; $heading-font-family: $base-font-family; $base-font-color: #333333; $base-line-height-content: 1.6; diff --git a/themes/hugodocs/pipeline/scss/base/_fontello.scss b/themes/hugodocs/pipeline/scss/base/_fontello.scss index 51b576f09..ebf5d12c8 100755 --- a/themes/hugodocs/pipeline/scss/base/_fontello.scss +++ b/themes/hugodocs/pipeline/scss/base/_fontello.scss @@ -1,11 +1,10 @@ @font-face { font-family: 'fontello'; - src: url('/fonts/fontello/fontello.eot?73509738'); - src: url('/fonts/fontello/fontello.eot?73509738#iefix') format('embedded-opentype'), - url('/fonts/fontello/fontello.woff2?73509738') format('woff2'), - url('/fonts/fontello/fontello.woff?73509738') format('woff'), - url('/fonts/fontello/fontello.ttf?73509738') format('truetype'), - url('/fonts/fontello/fontello.svg?73509738#fontello') format('svg'); + src: url('/fonts/fontello/fontello.eot'); + src: url('/fonts/fontello/fontello.woff2') format('woff2'), + url('/fonts/fontello/fontello.woff') format('woff'), + url('/fonts/fontello/fontello.ttf') format('truetype'), + url('/fonts/fontello/fontello.svg?78165468#fontello') format('svg'); font-weight: normal; font-style: normal; } @@ -15,7 +14,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; - src: url('../font/fontello.svg?73509738#fontello') format('svg'); + src: url('../font/fontello.svg?78165468#fontello') format('svg'); } } */ @@ -54,47 +53,77 @@ /* Uncomment for 3D effect */ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ } + .icon-alert:before { content: '\e810'; } /* '' */ .icon-angle-double-right:before { content: '\f101'; } /* '' */ +.icon-attach:before { content: '\e820'; } /* '' */ .icon-attention:before { content: '\e80f'; } /* '' */ -.icon-bash:before { content: '\e804'; } /* '' */ .icon-bell:before { content: '\e80d'; } /* '' */ +.icon-cancel:before { content: '\e81e'; } /* '' */ +.icon-caution:before { content: '\e80f'; } /* '' */ .icon-chrome:before { content: '\e841'; } /* '' */ .icon-clipboard:before { content: '\e817'; } /* '' */ .icon-code:before { content: '\f121'; } /* '' */ .icon-cog-alt:before { content: '\e814'; } /* '' */ .icon-css3:before { content: '\f13c'; } /* '' */ +.icon-docs:before { content: '\f15c'; } /* '' */ .icon-download:before { content: '\e815'; } /* '' */ .icon-facebook-official:before { content: '\f230'; } /* '' */ -.icon-file-pdf:before { content: '\f1c1'; } /* '' */ .icon-firefox:before { content: '\e840'; } /* '' */ .icon-flag:before { content: '\e813'; } /* '' */ +.icon-forum:before { +content: '\f03d'; +margin-right:.3em; +} /* '' */ +.icon-github:before { content: '\f09b'; } /* '' */ +.icon-gitter:before { content: '\e819'; } /* '' */ .icon-go:before { content: '\e801'; } /* '' */ .icon-golang:before { content: '\e801'; } /* '' */ -.icon-gopher:before { content: '\e801'; } /* '' */ +.icon-heart:before { content: '\e81d'; } /* '' */ +.icon-help:before { content: '\e81b'; } /* '' */ .icon-home:before { content: '\e812'; } /* '' */ -.icon-html.input:before { content: '\e801'; } /* '' */ +.icon-html.input:before { content: '\e81f'; } /* '' adds the hugo logo to "code" shortcode for filenames that end in ".html"*/ .icon-html5:before { content: '\e800'; } /* '' */ .icon-html:before { content: '\e800'; } /* '' */ +.icon-hugo:before { content: '\e81f'; } /* '' */ .icon-ie:before { content: '\e843'; } /* '' */ .icon-info:before { content: '\e811'; } /* '' */ .icon-instagram:before { content: '\f32d'; } /* '' */ .icon-javascript:before { content: '\e802'; } /* '' */ .icon-js:before { content: '\e802'; } /* '' */ -.icon-json:before {content: '\E81C';} +.icon-json:before { content: '\e81c'; } /* '' */ .icon-link:before { content: '\e816'; } /* '' */ +.icon-linkedin:before { content: '\f30c'; } /* '' */ +.icon-love:before { content: '\e81d'; } /* '' */ +.icon-mail:before { content: '\e821'; } /* '' */ .icon-markdown:before { content: '\e80e'; } /* '' */ +.icon-note:before { content: '\e80d'; } /* '' */ .icon-opera:before { content: '\e842'; } /* '' */ +.icon-pdf:before { content: '\f1c1'; } /* '' */ .icon-pencil:before { content: '\e80c'; } /* '' */ .icon-picture:before { content: '\e808'; } /* '' */ .icon-quote-left:before { content: '\e809'; } /* '' */ .icon-quote-right:before { content: '\e80a'; } /* '' */ .icon-sass:before { content: '\e803'; } /* '' */ .icon-search:before { content: '\e80b'; } /* '' */ -.icon-sh:before { content: '\e804'; } /* '' */ .icon-share:before { content: '\f1e0'; } /* '' */ -.icon-shell:before { content: '\e804'; } /* '' */ .icon-tag:before { content: '\e806'; } /* '' */ .icon-tags:before { content: '\e805'; } /* '' */ +.icon-sh:before { content: '\e804'; } /* '' */ .icon-terminal:before { content: '\e804'; } /* '' */ -.icon-twitter:before { content: '\e807'; } /* '' */ \ No newline at end of file +.icon-bash:before { content: '\e804'; } /* '' */ +.icon-thumbs-up:before { content: '\e81a'; } /* '' */ +.icon-twitter:before { content: '\e807'; } /* '' */ +.icon-warning:before { content: '\e810'; } /* '' */ +.icon-website:before { content: '\e818'; } /* '' */ +.icon-yaml:before,.icon-yml:before,.icon-toml:before { + font-family:$code-font-family; + left:-1em; + margin-right:1em; +} +.icon-yaml:before,.icon-yml:before { + content:'YAML'; +} +.icon-toml:before{ + content:'TOML'; +} \ No newline at end of file diff --git a/themes/hugodocs/pipeline/scss/base/_typography.scss b/themes/hugodocs/pipeline/scss/base/_typography.scss index 9afc30689..5246cc51f 100644 --- a/themes/hugodocs/pipeline/scss/base/_typography.scss +++ b/themes/hugodocs/pipeline/scss/base/_typography.scss @@ -4,7 +4,6 @@ h1, h2, h3, h4 { - letter-spacing: -.021em; font-weight: $heading-font-weight; margin: 0px; padding-bottom: 20px; @@ -13,6 +12,7 @@ h4 { h1 { font-size: 2em; + letter-spacing: -.021em; @include MQ(M) { font-size: 2.25em; } @@ -28,11 +28,17 @@ h3 { h4 { font-size: 1em; - color:$hugo-gray; - text-transform:uppercase; + color: $hugo-gray; + text-transform: uppercase; } .functions { font-family: $code-font-family; font-weight: $base-font-weight; } +//keeps index page from taking on code/pre font family +.submenu-item:first-child { + a.submenu-item-link.functions{ + font-family:$base-font-family; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss b/themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss new file mode 100644 index 000000000..e6d1b8cec --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss @@ -0,0 +1,411 @@ +// The following features have been deprecated and will be removed in the next MAJOR version release + +@mixin inline-block { + display: inline-block; + + @warn "The inline-block mixin is deprecated and will be removed in the next major version release"; +} + +@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) { + + @if type-of($style) == string and type-of($base-color) == color { + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == string and type-of($base-color) == number { + $padding: $text-size; + $text-size: $base-color; + $base-color: #4294f0; + + @if $padding == inherit { + $padding: 7px 18px; + } + + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == color and type-of($base-color) == color { + $base-color: $style; + $style: simple; + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == color and type-of($base-color) == number { + $padding: $text-size; + $text-size: $base-color; + $base-color: $style; + $style: simple; + + @if $padding == inherit { + $padding: 7px 18px; + } + + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == number { + $padding: $base-color; + $text-size: $style; + $base-color: #4294f0; + $style: simple; + + @if $padding == #4294f0 { + $padding: 7px 18px; + } + + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + &:disabled { + cursor: not-allowed; + opacity: 0.5; + } + + @warn "The button mixin is deprecated and will be removed in the next major version release"; +} + +// Selector Style Button +@mixin buttonstyle($type, $b-color, $t-size, $pad) { + // Grayscale button + @if $type == simple and $b-color == grayscale($b-color) { + @include simple($b-color, true, $t-size, $pad); + } + + @if $type == shiny and $b-color == grayscale($b-color) { + @include shiny($b-color, true, $t-size, $pad); + } + + @if $type == pill and $b-color == grayscale($b-color) { + @include pill($b-color, true, $t-size, $pad); + } + + @if $type == flat and $b-color == grayscale($b-color) { + @include flat($b-color, true, $t-size, $pad); + } + + // Colored button + @if $type == simple { + @include simple($b-color, false, $t-size, $pad); + } + + @else if $type == shiny { + @include shiny($b-color, false, $t-size, $pad); + } + + @else if $type == pill { + @include pill($b-color, false, $t-size, $pad); + } + + @else if $type == flat { + @include flat($b-color, false, $t-size, $pad); + } +} + +// Simple Button +@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%); + $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%); + $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%); + $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); + } + + @if $grayscale == true { + $border: grayscale($border); + $inset-shadow: grayscale($inset-shadow); + $stop-gradient: grayscale($stop-gradient); + $text-shadow: grayscale($text-shadow); + } + + border: 1px solid $border; + border-radius: 3px; + box-shadow: inset 0 1px 0 0 $inset-shadow; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: bold; + @include linear-gradient ($base-color, $stop-gradient); + padding: $padding; + text-decoration: none; + text-shadow: 0 1px 0 $text-shadow; + background-clip: padding-box; + + &:hover:not(:disabled) { + $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%); + $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%); + $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%); + + @if $grayscale == true { + $base-color-hover: grayscale($base-color-hover); + $inset-shadow-hover: grayscale($inset-shadow-hover); + $stop-gradient-hover: grayscale($stop-gradient-hover); + } + + @include linear-gradient ($base-color-hover, $stop-gradient-hover); + + box-shadow: inset 0 1px 0 0 $inset-shadow-hover; + cursor: pointer; + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%); + $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%); + + @if $grayscale == true { + $border-active: grayscale($border-active); + $inset-shadow-active: grayscale($inset-shadow-active); + } + + border: 1px solid $border-active; + box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active; + } +} + +// Shiny Button +@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81); + $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122); + $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46); + $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12); + $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33); + $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114); + $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); + } + + @if $grayscale == true { + $border: grayscale($border); + $border-bottom: grayscale($border-bottom); + $fourth-stop: grayscale($fourth-stop); + $inset-shadow: grayscale($inset-shadow); + $second-stop: grayscale($second-stop); + $text-shadow: grayscale($text-shadow); + $third-stop: grayscale($third-stop); + } + + @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%); + + border: 1px solid $border; + border-bottom: 1px solid $border-bottom; + border-radius: 5px; + box-shadow: inset 0 1px 0 0 $inset-shadow; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: bold; + padding: $padding; + text-align: center; + text-decoration: none; + text-shadow: 0 -1px 1px $text-shadow; + + &:hover:not(:disabled) { + $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18); + $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51); + $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66); + $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63); + + @if $grayscale == true { + $first-stop-hover: grayscale($first-stop-hover); + $second-stop-hover: grayscale($second-stop-hover); + $third-stop-hover: grayscale($third-stop-hover); + $fourth-stop-hover: grayscale($fourth-stop-hover); + } + + @include linear-gradient(top, $first-stop-hover 0%, + $second-stop-hover 50%, + $third-stop-hover 50%, + $fourth-stop-hover 100%); + cursor: pointer; + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122); + + @if $grayscale == true { + $inset-shadow-active: grayscale($inset-shadow-active); + } + + box-shadow: inset 0 0 20px 0 $inset-shadow-active; + } +} + +// Pill Button +@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%); + $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%); + $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%); + $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%); + $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%); + $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); + } + + @if $grayscale == true { + $border-bottom: grayscale($border-bottom); + $border-sides: grayscale($border-sides); + $border-top: grayscale($border-top); + $inset-shadow: grayscale($inset-shadow); + $stop-gradient: grayscale($stop-gradient); + $text-shadow: grayscale($text-shadow); + } + + border: 1px solid $border-top; + border-color: $border-top $border-sides $border-bottom; + border-radius: 16px; + box-shadow: inset 0 1px 0 0 $inset-shadow; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: normal; + line-height: 1; + @include linear-gradient ($base-color, $stop-gradient); + padding: $padding; + text-align: center; + text-decoration: none; + text-shadow: 0 -1px 1px $text-shadow; + background-clip: padding-box; + + &:hover:not(:disabled) { + $base-color-hover: adjust-color($base-color, $lightness: -4.5%); + $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%); + $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%); + $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%); + $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%); + $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%); + $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%); + + @if $grayscale == true { + $base-color-hover: grayscale($base-color-hover); + $border-bottom: grayscale($border-bottom); + $border-sides: grayscale($border-sides); + $border-top: grayscale($border-top); + $inset-shadow-hover: grayscale($inset-shadow-hover); + $stop-gradient-hover: grayscale($stop-gradient-hover); + $text-shadow-hover: grayscale($text-shadow-hover); + } + + @include linear-gradient ($base-color-hover, $stop-gradient-hover); + + background-clip: padding-box; + border: 1px solid $border-top; + border-color: $border-top $border-sides $border-bottom; + box-shadow: inset 0 1px 0 0 $inset-shadow-hover; + cursor: pointer; + text-shadow: 0 -1px 1px $text-shadow-hover; + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%); + $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%); + $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%); + $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%); + $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%); + + @if $grayscale == true { + $active-color: grayscale($active-color); + $border-active: grayscale($border-active); + $border-bottom-active: grayscale($border-bottom-active); + $inset-shadow-active: grayscale($inset-shadow-active); + $text-shadow-active: grayscale($text-shadow-active); + } + + background: $active-color; + border: 1px solid $border-active; + border-bottom: 1px solid $border-bottom-active; + box-shadow: inset 0 0 6px 3px $inset-shadow-active; + text-shadow: 0 -1px 1px $text-shadow-active; + } +} + +// Flat Button +@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + } + + background-color: $base-color; + border-radius: 3px; + border: 0; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: bold; + padding: $padding; + text-decoration: none; + background-clip: padding-box; + + &:hover:not(:disabled){ + $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%); + + @if $grayscale == true { + $base-color-hover: grayscale($base-color-hover); + } + + background-color: $base-color-hover; + cursor: pointer; + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%); + + @if $grayscale == true { + $base-color-active: grayscale($base-color-active); + } + + background-color: $base-color-active; + cursor: pointer; + } +} + +// Flexible grid +@function flex-grid($columns, $container-columns: $fg-max-columns) { + $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; + $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; + @return percentage($width / $container-width); + + @warn "The flex-grid function is deprecated and will be removed in the next major version release"; +} + +// Flexible gutter +@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { + $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; + @return percentage($gutter / $container-width); + + @warn "The flex-gutter function is deprecated and will be removed in the next major version release"; +} + +@function grid-width($n) { + @return $n * $gw-column + ($n - 1) * $gw-gutter; + + @warn "The grid-width function is deprecated and will be removed in the next major version release"; +} + +@function golden-ratio($value, $increment) { + @return modular-scale($increment, $value, $ratio: $golden); + + @warn "The golden-ratio function is deprecated and will be removed in the next major version release. Please use the modular-scale function, instead."; +} + +@mixin box-sizing($box) { + @include prefixer(box-sizing, $box, webkit moz spec); + + @warn "The box-sizing mixin is deprecated and will be removed in the next major version release. This property can now be used un-prefixed."; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss b/themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss new file mode 100644 index 000000000..635c68041 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss @@ -0,0 +1,87 @@ +// Bourbon 4.2.7 +// http://bourbon.io +// Copyright 2011-2015 thoughtbot, inc. +// MIT License + +@import "settings/prefixer"; +@import "settings/px-to-em"; +@import "settings/asset-pipeline"; + +@import "functions/assign-inputs"; +@import "functions/contains"; +@import "functions/contains-falsy"; +@import "functions/is-length"; +@import "functions/is-light"; +@import "functions/is-number"; +@import "functions/is-size"; +@import "functions/px-to-em"; +@import "functions/px-to-rem"; +@import "functions/shade"; +@import "functions/strip-units"; +@import "functions/tint"; +@import "functions/transition-property-name"; +@import "functions/unpack"; +@import "functions/modular-scale"; + +@import "helpers/convert-units"; +@import "helpers/directional-values"; +@import "helpers/font-source-declaration"; +@import "helpers/gradient-positions-parser"; +@import "helpers/linear-angle-parser"; +@import "helpers/linear-gradient-parser"; +@import "helpers/linear-positions-parser"; +@import "helpers/linear-side-corner-parser"; +@import "helpers/radial-arg-parser"; +@import "helpers/radial-positions-parser"; +@import "helpers/radial-gradient-parser"; +@import "helpers/render-gradients"; +@import "helpers/shape-size-stripper"; +@import "helpers/str-to-num"; + +@import "css3/animation"; +@import "css3/appearance"; +@import "css3/backface-visibility"; +@import "css3/background"; +@import "css3/background-image"; +@import "css3/border-image"; +@import "css3/calc"; +@import "css3/columns"; +@import "css3/filter"; +@import "css3/flex-box"; +@import "css3/font-face"; +@import "css3/font-feature-settings"; +@import "css3/hidpi-media-query"; +@import "css3/hyphens"; +@import "css3/image-rendering"; +@import "css3/keyframes"; +@import "css3/linear-gradient"; +@import "css3/perspective"; +@import "css3/placeholder"; +@import "css3/radial-gradient"; +@import "css3/selection"; +@import "css3/text-decoration"; +@import "css3/transform"; +@import "css3/transition"; +@import "css3/user-select"; + +@import "addons/border-color"; +@import "addons/border-radius"; +@import "addons/border-style"; +@import "addons/border-width"; +@import "addons/buttons"; +@import "addons/clearfix"; +@import "addons/ellipsis"; +@import "addons/font-stacks"; +@import "addons/hide-text"; +@import "addons/margin"; +@import "addons/padding"; +@import "addons/position"; +@import "addons/prefixer"; +@import "addons/retina-image"; +@import "addons/size"; +@import "addons/text-inputs"; +@import "addons/timing-functions"; +@import "addons/triangle"; +@import "addons/word-wrap"; + +@import "bourbon-deprecated-upcoming"; diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss new file mode 100644 index 000000000..6f6ab36c4 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss @@ -0,0 +1,26 @@ +@charset "UTF-8"; + +/// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side. +/// +/// @param {Arglist} $vals +/// List of arguments +/// +/// @example scss - Usage +/// .element { +/// @include border-color(#a60b55 #76cd9c null #e8ae1a); +/// } +/// +/// @example css - CSS Output +/// .element { +/// border-left-color: #e8ae1a; +/// border-right-color: #76cd9c; +/// border-top-color: #a60b55; +/// } +/// +/// @require {mixin} directional-property +/// +/// @output `border-color` + +@mixin border-color($vals...) { + @include directional-property(border, color, $vals...); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss new file mode 100644 index 000000000..1f6586335 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss @@ -0,0 +1,48 @@ +@charset "UTF-8"; + +/// Provides a quick method for targeting `border-radius` on both corners on the side of a box. +/// +/// @param {Number} $radii +/// List of arguments +/// +/// @example scss - Usage +/// .element-one { +/// @include border-top-radius(5px); +/// } +/// +/// .element-two { +/// @include border-left-radius(3px); +/// } +/// +/// @example css - CSS Output +/// .element-one { +/// border-top-left-radius: 5px; +/// border-top-right-radius: 5px; +/// } +/// +/// .element-two { +/// border-bottom-left-radius: 3px; +/// border-top-left-radius: 3px; +/// } +/// +/// @output `border-radius` + +@mixin border-top-radius($radii) { + border-top-left-radius: $radii; + border-top-right-radius: $radii; +} + +@mixin border-right-radius($radii) { + border-bottom-right-radius: $radii; + border-top-right-radius: $radii; +} + +@mixin border-bottom-radius($radii) { + border-bottom-left-radius: $radii; + border-bottom-right-radius: $radii; +} + +@mixin border-left-radius($radii) { + border-bottom-left-radius: $radii; + border-top-left-radius: $radii; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss new file mode 100644 index 000000000..d86ee79d9 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss @@ -0,0 +1,25 @@ +@charset "UTF-8"; + +/// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side. +/// +/// @param {Arglist} $vals +/// List of arguments +/// +/// @example scss - Usage +/// .element { +/// @include border-style(dashed null solid); +/// } +/// +/// @example css - CSS Output +/// .element { +/// border-bottom-style: solid; +/// border-top-style: dashed; +/// } +/// +/// @require {mixin} directional-property +/// +/// @output `border-style` + +@mixin border-style($vals...) { + @include directional-property(border, style, $vals...); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss new file mode 100644 index 000000000..0ea2d4b71 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss @@ -0,0 +1,25 @@ +@charset "UTF-8"; + +/// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side. +/// +/// @param {Arglist} $vals +/// List of arguments +/// +/// @example scss - Usage +/// .element { +/// @include border-width(1em null 20px); +/// } +/// +/// @example css - CSS Output +/// .element { +/// border-bottom-width: 20px; +/// border-top-width: 1em; +/// } +/// +/// @require {mixin} directional-property +/// +/// @output `border-width` + +@mixin border-width($vals...) { + @include directional-property(border, width, $vals...); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss new file mode 100644 index 000000000..debeabc53 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss @@ -0,0 +1,64 @@ +@charset "UTF-8"; + +/// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`. +/// +/// @example scss - Usage +/// #{$all-buttons} { +/// background-color: #f00; +/// } +/// +/// #{$all-buttons-focus}, +/// #{$all-buttons-hover} { +/// background-color: #0f0; +/// } +/// +/// #{$all-buttons-active} { +/// background-color: #00f; +/// } +/// +/// @example css - CSS Output +/// button, +/// input[type="button"], +/// input[type="reset"], +/// input[type="submit"] { +/// background-color: #f00; +/// } +/// +/// button:focus, +/// input[type="button"]:focus, +/// input[type="reset"]:focus, +/// input[type="submit"]:focus, +/// button:hover, +/// input[type="button"]:hover, +/// input[type="reset"]:hover, +/// input[type="submit"]:hover { +/// background-color: #0f0; +/// } +/// +/// button:active, +/// input[type="button"]:active, +/// input[type="reset"]:active, +/// input[type="submit"]:active { +/// background-color: #00f; +/// } +/// +/// @require assign-inputs +/// +/// @type List +/// +/// @todo Remove double assigned variables (Lines 59–62) in v5.0.0 + +$buttons-list: 'button', + 'input[type="button"]', + 'input[type="reset"]', + 'input[type="submit"]'; + +$all-buttons: assign-inputs($buttons-list); +$all-buttons-active: assign-inputs($buttons-list, active); +$all-buttons-focus: assign-inputs($buttons-list, focus); +$all-buttons-hover: assign-inputs($buttons-list, hover); + +$all-button-inputs: $all-buttons; +$all-button-inputs-active: $all-buttons-active; +$all-button-inputs-focus: $all-buttons-focus; +$all-button-inputs-hover: $all-buttons-hover; diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss new file mode 100644 index 000000000..11313d66f --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss @@ -0,0 +1,25 @@ +@charset "UTF-8"; + +/// Provides an easy way to include a clearfix for containing floats. +/// +/// @link http://cssmojo.com/latest_new_clearfix_so_far/ +/// +/// @example scss - Usage +/// .element { +/// @include clearfix; +/// } +/// +/// @example css - CSS Output +/// .element::after { +/// clear: both; +/// content: ""; +/// display: table; +/// } + +@mixin clearfix { + &::after { + clear: both; + content: ""; + display: table; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss new file mode 100644 index 000000000..a367f651c --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss @@ -0,0 +1,30 @@ +@charset "UTF-8"; + +/// Truncates text and adds an ellipsis to represent overflow. +/// +/// @param {Number} $width [100%] +/// Max-width for the string to respect before being truncated +/// +/// @example scss - Usage +/// .element { +/// @include ellipsis; +/// } +/// +/// @example css - CSS Output +/// .element { +/// display: inline-block; +/// max-width: 100%; +/// overflow: hidden; +/// text-overflow: ellipsis; +/// white-space: nowrap; +/// word-wrap: normal; +/// } + +@mixin ellipsis($width: 100%) { + display: inline-block; + max-width: $width; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss new file mode 100644 index 000000000..57128f422 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss @@ -0,0 +1,31 @@ +@charset "UTF-8"; + +/// Georgia font stack. +/// +/// @type List + +$georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif; + +/// Helvetica font stack. +/// +/// @type List + +$helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; + +/// Lucida Grande font stack. +/// +/// @type List + +$lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif; + +/// Monospace font stack. +/// +/// @type List + +$monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace; + +/// Verdana font stack. +/// +/// @type List + +$verdana: "Verdana", "Geneva", sans-serif; diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss new file mode 100644 index 000000000..4caf20ed5 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss @@ -0,0 +1,27 @@ +/// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied. +/// +/// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement +/// +/// @example scss - Usage +/// .element { +/// @include hide-text; +/// } +/// +/// @example css - CSS Output +/// .element { +/// overflow: hidden; +/// text-indent: 101%; +/// white-space: nowrap; +/// } +/// +/// @todo Remove height argument in v5.0.0 + +@mixin hide-text($height: null) { + overflow: hidden; + text-indent: 101%; + white-space: nowrap; + + @if $height { + @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0"; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss new file mode 100644 index 000000000..674f4e5f6 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss @@ -0,0 +1,26 @@ +@charset "UTF-8"; + +/// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side. +/// +/// @param {Arglist} $vals +/// List of arguments +/// +/// @example scss - Usage +/// .element { +/// @include margin(null 10px 3em 20vh); +/// } +/// +/// @example css - CSS Output +/// .element { +/// margin-bottom: 3em; +/// margin-left: 20vh; +/// margin-right: 10px; +/// } +/// +/// @require {mixin} directional-property +/// +/// @output `margin` + +@mixin margin($vals...) { + @include directional-property(margin, false, $vals...); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss new file mode 100644 index 000000000..40a5f006b --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss @@ -0,0 +1,26 @@ +@charset "UTF-8"; + +/// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side. +/// +/// @param {Arglist} $vals +/// List of arguments +/// +/// @example scss - Usage +/// .element { +/// @include padding(12vh null 10px 5%); +/// } +/// +/// @example css - CSS Output +/// .element { +/// padding-bottom: 10px; +/// padding-left: 5%; +/// padding-top: 12vh; +/// } +/// +/// @require {mixin} directional-property +/// +/// @output `padding` + +@mixin padding($vals...) { + @include directional-property(padding, false, $vals...); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss new file mode 100644 index 000000000..e460f3ffd --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss @@ -0,0 +1,48 @@ +@charset "UTF-8"; + +/// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side. +/// +/// @param {Position} $position [relative] +/// A CSS position value +/// +/// @param {Arglist} $coordinates [null null null null] +/// List of values that correspond to the 4-value syntax for the edges of a box +/// +/// @example scss - Usage +/// .element { +/// @include position(absolute, 0 null null 10em); +/// } +/// +/// @example css - CSS Output +/// .element { +/// left: 10em; +/// position: absolute; +/// top: 0; +/// } +/// +/// @require {function} is-length +/// @require {function} unpack + +@mixin position($position: relative, $coordinates: null null null null) { + @if type-of($position) == list { + $coordinates: $position; + $position: relative; + } + + $coordinates: unpack($coordinates); + + $offsets: ( + top: nth($coordinates, 1), + right: nth($coordinates, 2), + bottom: nth($coordinates, 3), + left: nth($coordinates, 4) + ); + + position: $position; + + @each $offset, $value in $offsets { + @if is-length($value) { + #{$offset}: $value; + } + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss new file mode 100644 index 000000000..2b6f73138 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss @@ -0,0 +1,66 @@ +@charset "UTF-8"; + +/// A mixin for generating vendor prefixes on non-standardized properties. +/// +/// @param {String} $property +/// Property to prefix +/// +/// @param {*} $value +/// Value to use +/// +/// @param {List} $prefixes +/// Prefixes to define +/// +/// @example scss - Usage +/// .element { +/// @include prefixer(border-radius, 10px, webkit ms spec); +/// } +/// +/// @example css - CSS Output +/// .element { +/// -webkit-border-radius: 10px; +/// -moz-border-radius: 10px; +/// border-radius: 10px; +/// } +/// +/// @require {variable} $prefix-for-webkit +/// @require {variable} $prefix-for-mozilla +/// @require {variable} $prefix-for-microsoft +/// @require {variable} $prefix-for-opera +/// @require {variable} $prefix-for-spec + +@mixin prefixer($property, $value, $prefixes) { + @each $prefix in $prefixes { + @if $prefix == webkit { + @if $prefix-for-webkit { + -webkit-#{$property}: $value; + } + } @else if $prefix == moz { + @if $prefix-for-mozilla { + -moz-#{$property}: $value; + } + } @else if $prefix == ms { + @if $prefix-for-microsoft { + -ms-#{$property}: $value; + } + } @else if $prefix == o { + @if $prefix-for-opera { + -o-#{$property}: $value; + } + } @else if $prefix == spec { + @if $prefix-for-spec { + #{$property}: $value; + } + } @else { + @warn "Unrecognized prefix: #{$prefix}"; + } + } +} + +@mixin disable-prefix-for-all() { + $prefix-for-webkit: false !global; + $prefix-for-mozilla: false !global; + $prefix-for-microsoft: false !global; + $prefix-for-opera: false !global; + $prefix-for-spec: false !global; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss new file mode 100644 index 000000000..7febbd751 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss @@ -0,0 +1,25 @@ +@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { + @if $asset-pipeline { + background-image: image-url("#{$filename}.#{$extension}"); + } @else { + background-image: url("#{$filename}.#{$extension}"); + } + + @include hidpi { + @if $asset-pipeline { + @if $retina-filename { + background-image: image-url("#{$retina-filename}.#{$extension}"); + } @else { + background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); + } + } @else { + @if $retina-filename { + background-image: url("#{$retina-filename}.#{$extension}"); + } @else { + background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); + } + } + + background-size: $background-size; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss new file mode 100644 index 000000000..a2992a34c --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss @@ -0,0 +1,51 @@ +@charset "UTF-8"; + +/// Sets the `width` and `height` of the element. +/// +/// @param {List} $size +/// A list of at most 2 size values. +/// +/// If there is only a single value in `$size` it is used for both width and height. All units are supported. +/// +/// @example scss - Usage +/// .first-element { +/// @include size(2em); +/// } +/// +/// .second-element { +/// @include size(auto 10em); +/// } +/// +/// @example css - CSS Output +/// .first-element { +/// width: 2em; +/// height: 2em; +/// } +/// +/// .second-element { +/// width: auto; +/// height: 10em; +/// } +/// +/// @todo Refactor in 5.0.0 to use a comma-separated argument + +@mixin size($value) { + $width: nth($value, 1); + $height: $width; + + @if length($value) > 1 { + $height: nth($value, 2); + } + + @if is-size($height) { + height: $height; + } @else { + @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin."; + } + + @if is-size($width) { + width: $width; + } @else { + @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin."; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss new file mode 100644 index 000000000..1eb7a5451 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss @@ -0,0 +1,113 @@ +@charset "UTF-8"; + +/// Generates variables for all text-based inputs. Please note that you must use interpolation on the variable: `#{$all-text-inputs}`. +/// +/// @example scss - Usage +/// #{$all-text-inputs} { +/// border: 1px solid #f00; +/// } +/// +/// #{$all-text-inputs-focus}, +/// #{$all-text-inputs-hover} { +/// border: 1px solid #0f0; +/// } +/// +/// #{$all-text-inputs-active} { +/// border: 1px solid #00f; +/// } +/// +/// @example css - CSS Output +/// input[type="color"], +/// input[type="date"], +/// input[type="datetime"], +/// input[type="datetime-local"], +/// input[type="email"], +/// input[type="month"], +/// input[type="number"], +/// input[type="password"], +/// input[type="search"], +/// input[type="tel"], +/// input[type="text"], +/// input[type="time"], +/// input[type="url"], +/// input[type="week"], +/// textarea { +/// border: 1px solid #f00; +/// } +/// +/// input[type="color"]:focus, +/// input[type="date"]:focus, +/// input[type="datetime"]:focus, +/// input[type="datetime-local"]:focus, +/// input[type="email"]:focus, +/// input[type="month"]:focus, +/// input[type="number"]:focus, +/// input[type="password"]:focus, +/// input[type="search"]:focus, +/// input[type="tel"]:focus, +/// input[type="text"]:focus, +/// input[type="time"]:focus, +/// input[type="url"]:focus, +/// input[type="week"]:focus, +/// textarea:focus, +/// input[type="color"]:hover, +/// input[type="date"]:hover, +/// input[type="datetime"]:hover, +/// input[type="datetime-local"]:hover, +/// input[type="email"]:hover, +/// input[type="month"]:hover, +/// input[type="number"]:hover, +/// input[type="password"]:hover, +/// input[type="search"]:hover, +/// input[type="tel"]:hover, +/// input[type="text"]:hover, +/// input[type="time"]:hover, +/// input[type="url"]:hover, +/// input[type="week"]:hover, +/// textarea:hover { +/// border: 1px solid #0f0; +/// } +/// +/// input[type="color"]:active, +/// input[type="date"]:active, +/// input[type="datetime"]:active, +/// input[type="datetime-local"]:active, +/// input[type="email"]:active, +/// input[type="month"]:active, +/// input[type="number"]:active, +/// input[type="password"]:active, +/// input[type="search"]:active, +/// input[type="tel"]:active, +/// input[type="text"]:active, +/// input[type="time"]:active, +/// input[type="url"]:active, +/// input[type="week"]:active, +/// textarea:active { +/// border: 1px solid #00f; +/// } +/// +/// @require assign-inputs +/// +/// @type List + +$text-inputs-list: 'input[type="color"]', + 'input[type="date"]', + 'input[type="datetime"]', + 'input[type="datetime-local"]', + 'input[type="email"]', + 'input[type="month"]', + 'input[type="number"]', + 'input[type="password"]', + 'input[type="search"]', + 'input[type="tel"]', + 'input[type="text"]', + 'input[type="time"]', + 'input[type="url"]', + 'input[type="week"]', + 'input:not([type])', + 'textarea'; + +$all-text-inputs: assign-inputs($text-inputs-list); +$all-text-inputs-active: assign-inputs($text-inputs-list, active); +$all-text-inputs-focus: assign-inputs($text-inputs-list, focus); +$all-text-inputs-hover: assign-inputs($text-inputs-list, hover); diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss new file mode 100644 index 000000000..20e5f1d40 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss @@ -0,0 +1,34 @@ +@charset "UTF-8"; + +/// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) +/// +/// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html +/// +/// @type cubic-bezier + +$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); +$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); +$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); +$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); +$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); +$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); +$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); +$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); + +$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); +$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); +$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); +$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); +$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); +$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); +$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); +$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); + +$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); +$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); +$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); +$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); +$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); +$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); +$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); +$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss new file mode 100644 index 000000000..8a1ed9cd0 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss @@ -0,0 +1,63 @@ +@mixin triangle($size, $color, $direction) { + $width: nth($size, 1); + $height: nth($size, length($size)); + $foreground-color: nth($color, 1); + $background-color: if(length($color) == 2, nth($color, 2), transparent); + height: 0; + width: 0; + + @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) { + $width: $width / 2; + $height: if(length($size) > 1, $height, $height/2); + + @if $direction == up { + border-bottom: $height solid $foreground-color; + border-left: $width solid $background-color; + border-right: $width solid $background-color; + } @else if $direction == right { + border-bottom: $width solid $background-color; + border-left: $height solid $foreground-color; + border-top: $width solid $background-color; + } @else if $direction == down { + border-left: $width solid $background-color; + border-right: $width solid $background-color; + border-top: $height solid $foreground-color; + } @else if $direction == left { + border-bottom: $width solid $background-color; + border-right: $height solid $foreground-color; + border-top: $width solid $background-color; + } + } @else if ($direction == up-right) or ($direction == up-left) { + border-top: $height solid $foreground-color; + + @if $direction == up-right { + border-left: $width solid $background-color; + } @else if $direction == up-left { + border-right: $width solid $background-color; + } + } @else if ($direction == down-right) or ($direction == down-left) { + border-bottom: $height solid $foreground-color; + + @if $direction == down-right { + border-left: $width solid $background-color; + } @else if $direction == down-left { + border-right: $width solid $background-color; + } + } @else if ($direction == inset-up) { + border-color: $background-color $background-color $foreground-color; + border-style: solid; + border-width: $height $width; + } @else if ($direction == inset-down) { + border-color: $foreground-color $background-color $background-color; + border-style: solid; + border-width: $height $width; + } @else if ($direction == inset-right) { + border-color: $background-color $background-color $background-color $foreground-color; + border-style: solid; + border-width: $width $height; + } @else if ($direction == inset-left) { + border-color: $background-color $foreground-color $background-color $background-color; + border-style: solid; + border-width: $width $height; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss new file mode 100644 index 000000000..64856a925 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss @@ -0,0 +1,29 @@ +@charset "UTF-8"; + +/// Provides an easy way to change the `word-wrap` property. +/// +/// @param {String} $wrap [break-word] +/// Value for the `word-break` property. +/// +/// @example scss - Usage +/// .wrapper { +/// @include word-wrap(break-word); +/// } +/// +/// @example css - CSS Output +/// .wrapper { +/// overflow-wrap: break-word; +/// word-break: break-all; +/// word-wrap: break-word; +/// } + +@mixin word-wrap($wrap: break-word) { + overflow-wrap: $wrap; + word-wrap: $wrap; + + @if $wrap == break-word { + word-break: break-all; + } @else { + word-break: $wrap; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss new file mode 100644 index 000000000..aac675f5a --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss @@ -0,0 +1,43 @@ +// http://www.w3.org/TR/css3-animations/#the-animation-name-property- +// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. + +@mixin animation($animations...) { + @include prefixer(animation, $animations, webkit moz spec); +} + +@mixin animation-name($names...) { + @include prefixer(animation-name, $names, webkit moz spec); +} + +@mixin animation-duration($times...) { + @include prefixer(animation-duration, $times, webkit moz spec); +} + +@mixin animation-timing-function($motions...) { + // ease | linear | ease-in | ease-out | ease-in-out + @include prefixer(animation-timing-function, $motions, webkit moz spec); +} + +@mixin animation-iteration-count($values...) { + // infinite | + @include prefixer(animation-iteration-count, $values, webkit moz spec); +} + +@mixin animation-direction($directions...) { + // normal | alternate + @include prefixer(animation-direction, $directions, webkit moz spec); +} + +@mixin animation-play-state($states...) { + // running | paused + @include prefixer(animation-play-state, $states, webkit moz spec); +} + +@mixin animation-delay($times...) { + @include prefixer(animation-delay, $times, webkit moz spec); +} + +@mixin animation-fill-mode($modes...) { + // none | forwards | backwards | both + @include prefixer(animation-fill-mode, $modes, webkit moz spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss new file mode 100644 index 000000000..abddc0204 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss @@ -0,0 +1,3 @@ +@mixin appearance($value) { + @include prefixer(appearance, $value, webkit moz ms o spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss new file mode 100644 index 000000000..fc68e2dd0 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss @@ -0,0 +1,3 @@ +@mixin backface-visibility($visibility) { + @include prefixer(backface-visibility, $visibility, webkit spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss new file mode 100644 index 000000000..6ed19ab58 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss @@ -0,0 +1,42 @@ +//************************************************************************// +// Background-image property for adding multiple background images with +// gradients, or for stringing multiple gradients together. +//************************************************************************// + +@mixin background-image($images...) { + $webkit-images: (); + $spec-images: (); + + @each $image in $images { + $webkit-image: (); + $spec-image: (); + + @if (type-of($image) == string) { + $url-str: str-slice($image, 1, 3); + $gradient-type: str-slice($image, 1, 6); + + @if $url-str == "url" { + $webkit-image: $image; + $spec-image: $image; + } + + @else if $gradient-type == "linear" { + $gradients: _linear-gradient-parser($image); + $webkit-image: map-get($gradients, webkit-image); + $spec-image: map-get($gradients, spec-image); + } + + @else if $gradient-type == "radial" { + $gradients: _radial-gradient-parser($image); + $webkit-image: map-get($gradients, webkit-image); + $spec-image: map-get($gradients, spec-image); + } + } + + $webkit-images: append($webkit-images, $webkit-image, comma); + $spec-images: append($spec-images, $spec-image, comma); + } + + background-image: $webkit-images; + background-image: $spec-images; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss new file mode 100644 index 000000000..019db0ed3 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss @@ -0,0 +1,55 @@ +//************************************************************************// +// Background property for adding multiple backgrounds using shorthand +// notation. +//************************************************************************// + +@mixin background($backgrounds...) { + $webkit-backgrounds: (); + $spec-backgrounds: (); + + @each $background in $backgrounds { + $webkit-background: (); + $spec-background: (); + $background-type: type-of($background); + + @if $background-type == string or $background-type == list { + $background-str: if($background-type == list, nth($background, 1), $background); + + $url-str: str-slice($background-str, 1, 3); + $gradient-type: str-slice($background-str, 1, 6); + + @if $url-str == "url" { + $webkit-background: $background; + $spec-background: $background; + } + + @else if $gradient-type == "linear" { + $gradients: _linear-gradient-parser("#{$background}"); + $webkit-background: map-get($gradients, webkit-image); + $spec-background: map-get($gradients, spec-image); + } + + @else if $gradient-type == "radial" { + $gradients: _radial-gradient-parser("#{$background}"); + $webkit-background: map-get($gradients, webkit-image); + $spec-background: map-get($gradients, spec-image); + } + + @else { + $webkit-background: $background; + $spec-background: $background; + } + } + + @else { + $webkit-background: $background; + $spec-background: $background; + } + + $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); + $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); + } + + background: $webkit-backgrounds; + background: $spec-backgrounds; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss new file mode 100644 index 000000000..cf568ce6d --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss @@ -0,0 +1,59 @@ +@mixin border-image($borders...) { + $webkit-borders: (); + $spec-borders: (); + + @each $border in $borders { + $webkit-border: (); + $spec-border: (); + $border-type: type-of($border); + + @if $border-type == string or list { + $border-str: if($border-type == list, nth($border, 1), $border); + + $url-str: str-slice($border-str, 1, 3); + $gradient-type: str-slice($border-str, 1, 6); + + @if $url-str == "url" { + $webkit-border: $border; + $spec-border: $border; + } + + @else if $gradient-type == "linear" { + $gradients: _linear-gradient-parser("#{$border}"); + $webkit-border: map-get($gradients, webkit-image); + $spec-border: map-get($gradients, spec-image); + } + + @else if $gradient-type == "radial" { + $gradients: _radial-gradient-parser("#{$border}"); + $webkit-border: map-get($gradients, webkit-image); + $spec-border: map-get($gradients, spec-image); + } + + @else { + $webkit-border: $border; + $spec-border: $border; + } + } + + @else { + $webkit-border: $border; + $spec-border: $border; + } + + $webkit-borders: append($webkit-borders, $webkit-border, comma); + $spec-borders: append($spec-borders, $spec-border, comma); + } + + -webkit-border-image: $webkit-borders; + border-image: $spec-borders; + border-style: solid; +} + +//Examples: +// @include border-image(url("image.png")); +// @include border-image(url("image.png") 20 stretch); +// @include border-image(linear-gradient(45deg, orange, yellow)); +// @include border-image(linear-gradient(45deg, orange, yellow) stretch); +// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); +// @include border-image(radial-gradient(top, cover, orange, yellow, orange)); diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss new file mode 100644 index 000000000..0bfc738dd --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss @@ -0,0 +1,4 @@ +@mixin calc($property, $value) { + #{$property}: -webkit-calc(#{$value}); + #{$property}: calc(#{$value}); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss new file mode 100644 index 000000000..96117670c --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss @@ -0,0 +1,47 @@ +@mixin columns($arg: auto) { + // || + @include prefixer(columns, $arg, webkit moz spec); +} + +@mixin column-count($int: auto) { + // auto || integer + @include prefixer(column-count, $int, webkit moz spec); +} + +@mixin column-gap($length: normal) { + // normal || length + @include prefixer(column-gap, $length, webkit moz spec); +} + +@mixin column-fill($arg: auto) { + // auto || length + @include prefixer(column-fill, $arg, webkit moz spec); +} + +@mixin column-rule($arg) { + // || || + @include prefixer(column-rule, $arg, webkit moz spec); +} + +@mixin column-rule-color($color) { + @include prefixer(column-rule-color, $color, webkit moz spec); +} + +@mixin column-rule-style($style: none) { + // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid + @include prefixer(column-rule-style, $style, webkit moz spec); +} + +@mixin column-rule-width ($width: none) { + @include prefixer(column-rule-width, $width, webkit moz spec); +} + +@mixin column-span($arg: none) { + // none || all + @include prefixer(column-span, $arg, webkit moz spec); +} + +@mixin column-width($length: auto) { + // auto || length + @include prefixer(column-width, $length, webkit moz spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss new file mode 100644 index 000000000..b8f8ffb0e --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss @@ -0,0 +1,4 @@ +@mixin filter($function: none) { + // [ + @include prefixer(perspective, $depth, webkit moz spec); +} + +@mixin perspective-origin($value: 50% 50%) { + @include prefixer(perspective-origin, $value, webkit moz spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss new file mode 100644 index 000000000..5682fd097 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss @@ -0,0 +1,8 @@ +@mixin placeholder { + $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; + @each $placeholder in $placeholders { + &:#{$placeholder}-placeholder { + @content; + } + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss new file mode 100644 index 000000000..18f7b5b58 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss @@ -0,0 +1,39 @@ +// Requires Sass 3.1+ +@mixin radial-gradient($g1, $g2, + $g3: null, $g4: null, + $g5: null, $g6: null, + $g7: null, $g8: null, + $g9: null, $g10: null, + $pos: null, + $shape-size: null, + $fallback: null) { + + $data: _radial-arg-parser($g1, $g2, $pos, $shape-size); + $g1: nth($data, 1); + $g2: nth($data, 2); + $pos: nth($data, 3); + $shape-size: nth($data, 4); + + $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; + + // Strip deprecated cover/contain for spec + $shape-size-spec: _shape-size-stripper($shape-size); + + // Set $g1 as the default fallback color + $first-color: nth($full, 1); + $fallback-color: nth($first-color, 1); + + @if (type-of($fallback) == color) or ($fallback == "transparent") { + $fallback-color: $fallback; + } + + // Add Commas and spaces + $shape-size: if($shape-size, "#{$shape-size}, ", null); + $pos: if($pos, "#{$pos}, ", null); + $pos-spec: if($pos, "at #{$pos}", null); + $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} "); + + background-color: $fallback-color; + background-image: -webkit-radial-gradient(#{$pos}#{$shape-size}#{$full}); + background-image: radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full}); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss new file mode 100644 index 000000000..cd71d4f53 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss @@ -0,0 +1,42 @@ +@charset "UTF-8"; + +/// Outputs the spec and prefixed versions of the `::selection` pseudo-element. +/// +/// @param {Bool} $current-selector [false] +/// If set to `true`, it takes the current element into consideration. +/// +/// @example scss - Usage +/// .element { +/// @include selection(true) { +/// background-color: #ffbb52; +/// } +/// } +/// +/// @example css - CSS Output +/// .element::-moz-selection { +/// background-color: #ffbb52; +/// } +/// +/// .element::selection { +/// background-color: #ffbb52; +/// } + +@mixin selection($current-selector: false) { + @if $current-selector { + &::-moz-selection { + @content; + } + + &::selection { + @content; + } + } @else { + ::-moz-selection { + @content; + } + + ::selection { + @content; + } + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss new file mode 100644 index 000000000..9222746ce --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss @@ -0,0 +1,19 @@ +@mixin text-decoration($value) { +// || || + @include prefixer(text-decoration, $value, moz); +} + +@mixin text-decoration-line($line: none) { +// none || underline || overline || line-through + @include prefixer(text-decoration-line, $line, moz); +} + +@mixin text-decoration-style($style: solid) { +// solid || double || dotted || dashed || wavy + @include prefixer(text-decoration-style, $style, moz webkit); +} + +@mixin text-decoration-color($color: currentColor) { +// currentColor || + @include prefixer(text-decoration-color, $color, moz); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss new file mode 100644 index 000000000..8ee6509ff --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss @@ -0,0 +1,15 @@ +@mixin transform($property: none) { + // none | + @include prefixer(transform, $property, webkit moz ms o spec); +} + +@mixin transform-origin($axes: 50%) { + // x-axis - left | center | right | length | % + // y-axis - top | center | bottom | length | % + // z-axis - length + @include prefixer(transform-origin, $axes, webkit moz ms o spec); +} + +@mixin transform-style($style: flat) { + @include prefixer(transform-style, $style, webkit moz ms o spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss new file mode 100644 index 000000000..3c785ed52 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss @@ -0,0 +1,71 @@ +// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. +// Example: @include transition (all 2s ease-in-out); +// @include transition (opacity 1s ease-in 2s, width 2s ease-out); +// @include transition-property (transform, opacity); + +@mixin transition($properties...) { + // Fix for vendor-prefix transform property + $needs-prefixes: false; + $webkit: (); + $moz: (); + $spec: (); + + // Create lists for vendor-prefixed transform + @each $list in $properties { + @if nth($list, 1) == "transform" { + $needs-prefixes: true; + $list1: -webkit-transform; + $list2: -moz-transform; + $list3: (); + + @each $var in $list { + $list3: join($list3, $var); + + @if $var != "transform" { + $list1: join($list1, $var); + $list2: join($list2, $var); + } + } + + $webkit: append($webkit, $list1); + $moz: append($moz, $list2); + $spec: append($spec, $list3); + } @else { + $webkit: append($webkit, $list, comma); + $moz: append($moz, $list, comma); + $spec: append($spec, $list, comma); + } + } + + @if $needs-prefixes { + -webkit-transition: $webkit; + -moz-transition: $moz; + transition: $spec; + } @else { + @if length($properties) >= 1 { + @include prefixer(transition, $properties, webkit moz spec); + } @else { + $properties: all 0.15s ease-out 0s; + @include prefixer(transition, $properties, webkit moz spec); + } + } +} + +@mixin transition-property($properties...) { + -webkit-transition-property: transition-property-names($properties, "webkit"); + -moz-transition-property: transition-property-names($properties, "moz"); + transition-property: transition-property-names($properties, false); +} + +@mixin transition-duration($times...) { + @include prefixer(transition-duration, $times, webkit moz spec); +} + +@mixin transition-timing-function($motions...) { + // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() + @include prefixer(transition-timing-function, $motions, webkit moz spec); +} + +@mixin transition-delay($times...) { + @include prefixer(transition-delay, $times, webkit moz spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss new file mode 100644 index 000000000..d4e555100 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss @@ -0,0 +1,3 @@ +@mixin user-select($value: none) { + @include prefixer(user-select, $value, webkit moz ms spec); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss new file mode 100644 index 000000000..f8aba9678 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss @@ -0,0 +1,11 @@ +@function assign-inputs($inputs, $pseudo: null) { + $list: (); + + @each $input in $inputs { + $input: unquote($input); + $input: if($pseudo, $input + ":" + $pseudo, $input); + $list: append($list, $input, comma); + } + + @return $list; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss new file mode 100644 index 000000000..c096fdb92 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss @@ -0,0 +1,20 @@ +@charset "UTF-8"; + +/// Checks if a list does not contains a value. +/// +/// @access private +/// +/// @param {List} $list +/// The list to check against. +/// +/// @return {Bool} + +@function contains-falsy($list) { + @each $item in $list { + @if not $item { + @return true; + } + } + + @return false; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss new file mode 100644 index 000000000..3dec27db8 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss @@ -0,0 +1,26 @@ +@charset "UTF-8"; + +/// Checks if a list contains a value(s). +/// +/// @access private +/// +/// @param {List} $list +/// The list to check against. +/// +/// @param {List} $values +/// A single value or list of values to check for. +/// +/// @example scss - Usage +/// contains($list, $value) +/// +/// @return {Bool} + +@function contains($list, $values...) { + @each $value in $values { + @if type-of(index($list, $value)) != "number" { + @return false; + } + } + + @return true; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss new file mode 100644 index 000000000..5826e789b --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +/// Checks for a valid CSS length. +/// +/// @param {String} $value + +@function is-length($value) { + @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc" + or index(auto inherit initial 0, $value) + or (type-of($value) == "number" and not(unitless($value)))); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss new file mode 100644 index 000000000..92d90ac3c --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss @@ -0,0 +1,21 @@ +@charset "UTF-8"; + +/// Programatically determines whether a color is light or dark. +/// +/// @link http://robots.thoughtbot.com/closer-look-color-lightness +/// +/// @param {Color (Hex)} $color +/// +/// @example scss - Usage +/// is-light($color) +/// +/// @return {Bool} + +@function is-light($hex-color) { + $-local-red: red(rgba($hex-color, 1)); + $-local-green: green(rgba($hex-color, 1)); + $-local-blue: blue(rgba($hex-color, 1)); + $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; + + @return $-local-lightness > 0.6; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss new file mode 100644 index 000000000..a64e0bf21 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +/// Checks for a valid number. +/// +/// @param {Number} $value +/// +/// @require {function} contains + +@function is-number($value) { + @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss new file mode 100644 index 000000000..661789ab4 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss @@ -0,0 +1,13 @@ +@charset "UTF-8"; + +/// Checks for a valid CSS size. +/// +/// @param {String} $value +/// +/// @require {function} contains +/// @require {function} is-length + +@function is-size($value) { + @return is-length($value) + or contains("fill" "fit-content" "min-content" "max-content", $value); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss new file mode 100644 index 000000000..20fa38812 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss @@ -0,0 +1,69 @@ +// Scaling Variables +$golden: 1.618; +$minor-second: 1.067; +$major-second: 1.125; +$minor-third: 1.2; +$major-third: 1.25; +$perfect-fourth: 1.333; +$augmented-fourth: 1.414; +$perfect-fifth: 1.5; +$minor-sixth: 1.6; +$major-sixth: 1.667; +$minor-seventh: 1.778; +$major-seventh: 1.875; +$octave: 2; +$major-tenth: 2.5; +$major-eleventh: 2.667; +$major-twelfth: 3; +$double-octave: 4; + +$modular-scale-ratio: $perfect-fourth !default; +$modular-scale-base: em($em-base) !default; + +@function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) { + $v1: nth($value, 1); + $v2: nth($value, length($value)); + $value: $v1; + + // scale $v2 to just above $v1 + @while $v2 > $v1 { + $v2: ($v2 / $ratio); // will be off-by-1 + } + @while $v2 < $v1 { + $v2: ($v2 * $ratio); // will fix off-by-1 + } + + // check AFTER scaling $v2 to prevent double-counting corner-case + $double-stranded: $v2 > $v1; + + @if $increment > 0 { + @for $i from 1 through $increment { + @if $double-stranded and ($v1 * $ratio) > $v2 { + $value: $v2; + $v2: ($v2 * $ratio); + } @else { + $v1: ($v1 * $ratio); + $value: $v1; + } + } + } + + @if $increment < 0 { + // adjust $v2 to just below $v1 + @if $double-stranded { + $v2: ($v2 / $ratio); + } + + @for $i from $increment through -1 { + @if $double-stranded and ($v1 / $ratio) < $v2 { + $value: $v2; + $v2: ($v2 / $ratio); + } @else { + $v1: ($v1 / $ratio); + $value: $v1; + } + } + } + + @return $value; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss new file mode 100644 index 000000000..ae81a44ad --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss @@ -0,0 +1,13 @@ +// Convert pixels to ems +// eg. for a relational value of 12px write em(12) when the parent is 16px +// if the parent is another value say 24px write em(12, 24) + +@function em($pxval, $base: $em-base) { + @if not unitless($pxval) { + $pxval: strip-units($pxval); + } + @if not unitless($base) { + $base: strip-units($base); + } + @return ($pxval / $base) * 1em; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss new file mode 100644 index 000000000..0ac941e76 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss @@ -0,0 +1,15 @@ +// Convert pixels to rems +// eg. for a relational value of 12px write rem(12) +// Assumes $em-base is the font-size of + +@function rem($pxval) { + @if not unitless($pxval) { + $pxval: strip-units($pxval); + } + + $base: $em-base; + @if not unitless($base) { + $base: strip-units($base); + } + @return ($pxval / $base) * 1rem; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss new file mode 100644 index 000000000..8aaf2c6d2 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss @@ -0,0 +1,24 @@ +@charset "UTF-8"; + +/// Mixes a color with black. +/// +/// @param {Color} $color +/// +/// @param {Number (Percentage)} $percent +/// The amount of black to be mixed in. +/// +/// @example scss - Usage +/// .element { +/// background-color: shade(#ffbb52, 60%); +/// } +/// +/// @example css - CSS Output +/// .element { +/// background-color: #664a20; +/// } +/// +/// @return {Color} + +@function shade($color, $percent) { + @return mix(#000, $color, $percent); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss new file mode 100644 index 000000000..6c5f3e810 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss @@ -0,0 +1,17 @@ +@charset "UTF-8"; + +/// Strips the unit from a number. +/// +/// @param {Number (With Unit)} $value +/// +/// @example scss - Usage +/// $dimension: strip-units(10em); +/// +/// @example css - CSS Output +/// $dimension: 10; +/// +/// @return {Number (Unitless)} + +@function strip-units($value) { + @return ($value / ($value * 0 + 1)); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss new file mode 100644 index 000000000..2e3381488 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss @@ -0,0 +1,24 @@ +@charset "UTF-8"; + +/// Mixes a color with white. +/// +/// @param {Color} $color +/// +/// @param {Number (Percentage)} $percent +/// The amount of white to be mixed in. +/// +/// @example scss - Usage +/// .element { +/// background-color: tint(#6ecaa6, 40%); +/// } +/// +/// @example css - CSS Output +/// .element { +/// background-color: #a8dfc9; +/// } +/// +/// @return {Color} + +@function tint($color, $percent) { + @return mix(#fff, $color, $percent); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss new file mode 100644 index 000000000..18348b93a --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss @@ -0,0 +1,22 @@ +// Return vendor-prefixed property names if appropriate +// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background +//************************************************************************// +@function transition-property-names($props, $vendor: false) { + $new-props: (); + + @each $prop in $props { + $new-props: append($new-props, transition-property-name($prop, $vendor), comma); + } + + @return $new-props; +} + +@function transition-property-name($prop, $vendor: false) { + // put other properties that need to be prefixed here aswell + @if $vendor and $prop == transform { + @return unquote('-'+$vendor+'-'+$prop); + } + @else { + @return $prop; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss new file mode 100644 index 000000000..4367935d5 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss @@ -0,0 +1,27 @@ +@charset "UTF-8"; + +/// Converts shorthand to the 4-value syntax. +/// +/// @param {List} $shorthand +/// +/// @example scss - Usage +/// .element { +/// margin: unpack(1em 2em); +/// } +/// +/// @example css - CSS Output +/// .element { +/// margin: 1em 2em 1em 2em; +/// } + +@function unpack($shorthand) { + @if length($shorthand) == 1 { + @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); + } @else if length($shorthand) == 2 { + @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); + } @else if length($shorthand) == 3 { + @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); + } @else { + @return $shorthand; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss new file mode 100644 index 000000000..e0a65a05c --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss @@ -0,0 +1,21 @@ +//************************************************************************// +// Helper function for str-to-num fn. +// Source: http://sassmeister.com/gist/9647408 +//************************************************************************// +@function _convert-units($number, $unit) { + $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn"; + $units: 1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn; + $index: index($strings, $unit); + + @if not $index { + @warn "Unknown unit `#{$unit}`."; + @return false; + } + + @if type-of($number) != "number" { + @warn "`#{$number} is not a number`"; + @return false; + } + + @return $number * nth($units, $index); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss new file mode 100644 index 000000000..6ee538db4 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss @@ -0,0 +1,96 @@ +@charset "UTF-8"; + +/// Directional-property mixins are shorthands for writing properties like the following +/// +/// @ignore You can also use `false` instead of `null`. +/// +/// @param {List} $vals +/// List of directional values +/// +/// @example scss - Usage +/// .element { +/// @include border-style(dotted null); +/// @include margin(null 0 10px); +/// } +/// +/// @example css - CSS Output +/// .element { +/// border-bottom-style: dotted; +/// border-top-style: dotted; +/// margin-bottom: 10px; +/// margin-left: 0; +/// margin-right: 0; +/// } +/// +/// @require {function} contains-falsy +/// +/// @return {List} + +@function collapse-directionals($vals) { + $output: null; + + $a: nth($vals, 1); + $b: if(length($vals) < 2, $a, nth($vals, 2)); + $c: if(length($vals) < 3, $a, nth($vals, 3)); + $d: if(length($vals) < 2, $a, nth($vals, if(length($vals) < 4, 2, 4))); + + @if $a == 0 { $a: 0; } + @if $b == 0 { $b: 0; } + @if $c == 0 { $c: 0; } + @if $d == 0 { $d: 0; } + + @if $a == $b and $a == $c and $a == $d { $output: $a; } + @else if $a == $c and $b == $d { $output: $a $b; } + @else if $b == $d { $output: $a $b $c; } + @else { $output: $a $b $c $d; } + + @return $output; +} + +/// Output directional properties, for instance `margin`. +/// +/// @access private +/// +/// @param {String} $pre +/// Prefix to use +/// @param {String} $suf +/// Suffix to use +/// @param {List} $vals +/// List of values +/// +/// @require {function} collapse-directionals +/// @require {function} contains-falsy + +@mixin directional-property($pre, $suf, $vals) { + // Property Names + $top: $pre + "-top" + if($suf, "-#{$suf}", ""); + $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", ""); + $left: $pre + "-left" + if($suf, "-#{$suf}", ""); + $right: $pre + "-right" + if($suf, "-#{$suf}", ""); + $all: $pre + if($suf, "-#{$suf}", ""); + + $vals: collapse-directionals($vals); + + @if contains-falsy($vals) { + @if nth($vals, 1) { #{$top}: nth($vals, 1); } + + @if length($vals) == 1 { + @if nth($vals, 1) { #{$right}: nth($vals, 1); } + } @else { + @if nth($vals, 2) { #{$right}: nth($vals, 2); } + } + + @if length($vals) == 2 { + @if nth($vals, 1) { #{$bottom}: nth($vals, 1); } + @if nth($vals, 2) { #{$left}: nth($vals, 2); } + } @else if length($vals) == 3 { + @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } + @if nth($vals, 2) { #{$left}: nth($vals, 2); } + } @else if length($vals) == 4 { + @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } + @if nth($vals, 4) { #{$left}: nth($vals, 4); } + } + } @else { + #{$all}: $vals; + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss new file mode 100644 index 000000000..7f17586c9 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss @@ -0,0 +1,43 @@ +// Used for creating the source string for fonts using @font-face +// Reference: http://goo.gl/Ru1bKP + +@function font-url-prefixer($asset-pipeline) { + @if $asset-pipeline == true { + @return font-url; + } @else { + @return url; + } +} + +@function font-source-declaration( + $font-family, + $file-path, + $asset-pipeline, + $file-formats, + $font-url) { + + $src: (); + + $formats-map: ( + eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"), + woff2: "#{$file-path}.woff2" format("woff2"), + woff: "#{$file-path}.woff" format("woff"), + ttf: "#{$file-path}.ttf" format("truetype"), + svg: "#{$file-path}.svg##{$font-family}" format("svg") + ); + + @each $key, $values in $formats-map { + @if contains($file-formats, $key) { + $file-path: nth($values, 1); + $font-format: nth($values, 2); + + @if $asset-pipeline == true { + $src: append($src, font-url($file-path) $font-format, comma); + } @else { + $src: append($src, url($file-path) $font-format, comma); + } + } + } + + @return $src; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss new file mode 100644 index 000000000..07d30b6cf --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss @@ -0,0 +1,13 @@ +@function _gradient-positions-parser($gradient-type, $gradient-positions) { + @if $gradient-positions + and ($gradient-type == linear) + and (type-of($gradient-positions) != color) { + $gradient-positions: _linear-positions-parser($gradient-positions); + } + @else if $gradient-positions + and ($gradient-type == radial) + and (type-of($gradient-positions) != color) { + $gradient-positions: _radial-positions-parser($gradient-positions); + } + @return $gradient-positions; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss new file mode 100644 index 000000000..e0401ed8d --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss @@ -0,0 +1,25 @@ +// Private function for linear-gradient-parser +@function _linear-angle-parser($image, $first-val, $prefix, $suffix) { + $offset: null; + $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); + $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); + + @if ($unit-long == "grad") or + ($unit-long == "turn") { + $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); + } + + @else if ($unit-short == "deg") or + ($unit-short == "rad") { + $offset: if($unit-short == "deg", -90 * 3, 1.6rad); + } + + @if $offset { + $num: _str-to-num($first-val); + + @return ( + webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, + spec-image: $image + ); + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss new file mode 100644 index 000000000..48a8f77f9 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss @@ -0,0 +1,41 @@ +@function _linear-gradient-parser($image) { + $image: unquote($image); + $gradients: (); + $start: str-index($image, "("); + $end: str-index($image, ","); + $first-val: str-slice($image, $start + 1, $end - 1); + + $prefix: str-slice($image, 1, $start); + $suffix: str-slice($image, $end, str-length($image)); + + $has-multiple-vals: str-index($first-val, " "); + $has-single-position: unquote(_position-flipper($first-val) + ""); + $has-angle: is-number(str-slice($first-val, 1, 1)); + + @if $has-multiple-vals { + $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); + } + + @else if $has-single-position != "" { + $pos: unquote($has-single-position + ""); + + $gradients: ( + webkit-image: -webkit- + $image, + spec-image: $prefix + "to " + $pos + $suffix + ); + } + + @else if $has-angle { + // Rotate degree for webkit + $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); + } + + @else { + $gradients: ( + webkit-image: -webkit- + $image, + spec-image: $image + ); + } + + @return $gradients; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss new file mode 100644 index 000000000..96d6a6d45 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss @@ -0,0 +1,61 @@ +@function _linear-positions-parser($pos) { + $type: type-of(nth($pos, 1)); + $spec: null; + $degree: null; + $side: null; + $corner: null; + $length: length($pos); + // Parse Side and corner positions + @if ($length > 1) { + @if nth($pos, 1) == "to" { // Newer syntax + $side: nth($pos, 2); + + @if $length == 2 { // eg. to top + // Swap for backwards compatibility + $degree: _position-flipper(nth($pos, 2)); + } + @else if $length == 3 { // eg. to top left + $corner: nth($pos, 3); + } + } + @else if $length == 2 { // Older syntax ("top left") + $side: _position-flipper(nth($pos, 1)); + $corner: _position-flipper(nth($pos, 2)); + } + + @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + $spec: to $side $corner; + } + @else if $length == 1 { + // Swap for backwards compatibility + @if $type == string { + $degree: $pos; + $spec: to _position-flipper($pos); + } + @else { + $degree: -270 - $pos; //rotate the gradient opposite from spec + $spec: $pos; + } + } + $degree: unquote($degree + ","); + $spec: unquote($spec + ","); + @return $degree $spec; +} + +@function _position-flipper($pos) { + @return if($pos == left, right, null) + if($pos == right, left, null) + if($pos == top, bottom, null) + if($pos == bottom, top, null); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss new file mode 100644 index 000000000..7a691253d --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss @@ -0,0 +1,31 @@ +// Private function for linear-gradient-parser +@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { + $val-1: str-slice($first-val, 1, $has-multiple-vals - 1); + $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); + $val-3: null; + $has-val-3: str-index($val-2, " "); + + @if $has-val-3 { + $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); + $val-2: str-slice($val-2, 1, $has-val-3 - 1); + } + + $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); + $pos: unquote($pos + ""); + + // Use old spec for webkit + @if $val-1 == "to" { + @return ( + webkit-image: -webkit- + $prefix + $pos + $suffix, + spec-image: $image + ); + } + + // Bring the code up to spec + @else { + @return ( + webkit-image: -webkit- + $image, + spec-image: $prefix + "to " + $pos + $suffix + ); + } +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss new file mode 100644 index 000000000..56c6030b7 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss @@ -0,0 +1,69 @@ +@function _radial-arg-parser($g1, $g2, $pos, $shape-size) { + @each $value in $g1, $g2 { + $first-val: nth($value, 1); + $pos-type: type-of($first-val); + $spec-at-index: null; + + // Determine if spec was passed to mixin + @if type-of($value) == list { + $spec-at-index: if(index($value, at), index($value, at), false); + } + @if $spec-at-index { + @if $spec-at-index > 1 { + @for $i from 1 through ($spec-at-index - 1) { + $shape-size: $shape-size nth($value, $i); + } + @for $i from ($spec-at-index + 1) through length($value) { + $pos: $pos nth($value, $i); + } + } + @else if $spec-at-index == 1 { + @for $i from ($spec-at-index + 1) through length($value) { + $pos: $pos nth($value, $i); + } + } + $g1: null; + } + + // If not spec calculate correct values + @else { + @if ($pos-type != color) or ($first-val != "transparent") { + @if ($pos-type == number) + or ($first-val == "center") + or ($first-val == "top") + or ($first-val == "right") + or ($first-val == "bottom") + or ($first-val == "left") { + + $pos: $value; + + @if $pos == $g1 { + $g1: null; + } + } + + @else if + ($first-val == "ellipse") + or ($first-val == "circle") + or ($first-val == "closest-side") + or ($first-val == "closest-corner") + or ($first-val == "farthest-side") + or ($first-val == "farthest-corner") + or ($first-val == "contain") + or ($first-val == "cover") { + + $shape-size: $value; + + @if $value == $g1 { + $g1: null; + } + + @else if $value == $g2 { + $g2: null; + } + } + } + } + } + @return $g1, $g2, $pos, $shape-size; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss new file mode 100644 index 000000000..5444d8085 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss @@ -0,0 +1,50 @@ +@function _radial-gradient-parser($image) { + $image: unquote($image); + $gradients: (); + $start: str-index($image, "("); + $end: str-index($image, ","); + $first-val: str-slice($image, $start + 1, $end - 1); + + $prefix: str-slice($image, 1, $start); + $suffix: str-slice($image, $end, str-length($image)); + + $is-spec-syntax: str-index($first-val, "at"); + + @if $is-spec-syntax and $is-spec-syntax > 1 { + $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); + $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); + $pos: append($pos, $keyword, comma); + + $gradients: ( + webkit-image: -webkit- + $prefix + $pos + $suffix, + spec-image: $image + ); + } + + @else if $is-spec-syntax == 1 { + $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); + + $gradients: ( + webkit-image: -webkit- + $prefix + $pos + $suffix, + spec-image: $image + ); + } + + @else if str-index($image, "cover") or str-index($image, "contain") { + @warn "Radial-gradient needs to be updated to conform to latest spec."; + + $gradients: ( + webkit-image: null, + spec-image: $image + ); + } + + @else { + $gradients: ( + webkit-image: -webkit- + $image, + spec-image: $image + ); + } + + @return $gradients; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss new file mode 100644 index 000000000..3c552ad79 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss @@ -0,0 +1,18 @@ +@function _radial-positions-parser($gradient-pos) { + $shape-size: nth($gradient-pos, 1); + $pos: nth($gradient-pos, 2); + $shape-size-spec: _shape-size-stripper($shape-size); + + $pre-spec: unquote(if($pos, "#{$pos}, ", null)) + unquote(if($shape-size, "#{$shape-size},", null)); + $pos-spec: if($pos, "at #{$pos}", null); + + $spec: "#{$shape-size-spec} #{$pos-spec}"; + + // Add comma + @if ($spec != " ") { + $spec: "#{$spec},"; + } + + @return $pre-spec $spec; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss new file mode 100644 index 000000000..576567683 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss @@ -0,0 +1,26 @@ +// User for linear and radial gradients within background-image or border-image properties + +@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { + $pre-spec: null; + $spec: null; + $vendor-gradients: null; + @if $gradient-type == linear { + @if $gradient-positions { + $pre-spec: nth($gradient-positions, 1); + $spec: nth($gradient-positions, 2); + } + } + @else if $gradient-type == radial { + $pre-spec: nth($gradient-positions, 1); + $spec: nth($gradient-positions, 2); + } + + @if $vendor { + $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); + } + @else if $vendor == false { + $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; + $vendor-gradients: unquote($vendor-gradients); + } + @return $vendor-gradients; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss new file mode 100644 index 000000000..ee5eda422 --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss @@ -0,0 +1,10 @@ +@function _shape-size-stripper($shape-size) { + $shape-size-spec: null; + @each $value in $shape-size { + @if ($value == "cover") or ($value == "contain") { + $value: null; + } + $shape-size-spec: "#{$shape-size-spec} #{$value}"; + } + @return $shape-size-spec; +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss new file mode 100644 index 000000000..3ef1d873b --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss @@ -0,0 +1,50 @@ +//************************************************************************// +// Helper function for linear/radial-gradient-parsers. +// Source: http://sassmeister.com/gist/9647408 +//************************************************************************// +@function _str-to-num($string) { + // Matrices + $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"; + $numbers: 0 1 2 3 4 5 6 7 8 9; + + // Result + $result: 0; + $divider: 0; + $minus: false; + + // Looping through all characters + @for $i from 1 through str-length($string) { + $character: str-slice($string, $i, $i); + $index: index($strings, $character); + + @if $character == "-" { + $minus: true; + } + + @else if $character == "." { + $divider: 1; + } + + @else { + @if not $index { + $result: if($minus, $result * -1, $result); + @return _convert-units($result, str-slice($string, $i)); + } + + $number: nth($numbers, $index); + + @if $divider == 0 { + $result: $result * 10; + } + + @else { + // Move the decimal dot to the left + $divider: $divider * 10; + $number: $number / $divider; + } + + $result: $result + $number; + } + } + @return if($minus, $result * -1, $result); +} diff --git a/themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss b/themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss new file mode 100644 index 000000000..4c6afc5bb --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss @@ -0,0 +1,7 @@ +@charset "UTF-8"; + +/// A global setting to enable or disable the `$asset-pipeline` variable for all functions that accept it. +/// +/// @type Bool + +$asset-pipeline: false !default; diff --git a/themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss b/themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss new file mode 100644 index 000000000..8c390514d --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss @@ -0,0 +1,9 @@ +@charset "UTF-8"; + +/// Global variables to enable or disable vendor prefixes + +$prefix-for-webkit: true !default; +$prefix-for-mozilla: true !default; +$prefix-for-microsoft: true !default; +$prefix-for-opera: true !default; +$prefix-for-spec: true !default; diff --git a/themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss b/themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss new file mode 100644 index 000000000..f2f9a3e8d --- /dev/null +++ b/themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss @@ -0,0 +1 @@ +$em-base: 16px !default; diff --git a/themes/hugodocs/pipeline/scss/components/_anchors.scss b/themes/hugodocs/pipeline/scss/components/_anchors.scss index c3f02bd9b..789716322 100644 --- a/themes/hugodocs/pipeline/scss/components/_anchors.scss +++ b/themes/hugodocs/pipeline/scss/components/_anchors.scss @@ -43,45 +43,7 @@ a { transform: rotateX(0); } &::after { - border-bottom: 2px solid #fff; + border-bottom: 1px solid $default-anchor-color; } } -} - -// .body-copy { -// a { -// position: relative; -// display: inline-block; -// outline: none; -// color: $default-anchor-color; -// vertical-align: bottom; -// text-decoration: none; -// white-space: nowrap; -// font-weight: 500; -// &:hover { -// color:$hugo-white; -// } -// &:before { -// position: absolute; -// top: 0; -// left: -5px; -// z-index: -1; -// box-sizing: content-box; -// padding: 0 5px; -// width: 100%; -// height: 100%; -// border-radius: 10px; -// background-color: $default-anchor-color; -// content: ''; -// opacity: 0; -// transition: transform 0.2s, opacity 0.2s; -// transform: scale(0); -// } -// &:hover::before, -// &:focus::before { -// opacity: 1; -// -webkit-transform: scale(1); -// transform: scale(1); -// } -// } -// } +} \ No newline at end of file diff --git a/themes/hugodocs/pipeline/scss/components/_code.scss b/themes/hugodocs/pipeline/scss/components/_code.scss index d491e4cdb..33d7c2036 100644 --- a/themes/hugodocs/pipeline/scss/components/_code.scss +++ b/themes/hugodocs/pipeline/scss/components/_code.scss @@ -1,22 +1,42 @@ //General code styling for inline code (ie, within body copy and not in a separate code block) -code,pre { +code, +pre { font-family: $code-font-family; } -p code, li > code { + +pre > code { + font-size: .8em; +} + +.body-copy > pre[class*="language-"], +.body-copy > code[class*="language-"] { + @include card(3); + text-shadow: 0 0px transparent; + text-shadow: none; + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +.body-copy > pre[class*="language-"] { + margin-bottom:1.5em; +} + +p code, +li > code { font-size: .9em; - color:$base-font-color; + color: $base-font-color; font-family: $code-font-family; - border:1px solid $hugo-gray-light; - padding-left:.25em; - padding-right:.25em; + border: 1px solid $hugo-gray-light; + padding-left: .25em; + padding-right: .25em; } //for clipboard.js tooltip and button div.code-copy { position: relative; margin-top: 1em; - margin-bottom: 1em; - font-size: .8em; + margin-bottom: 1.5em; &:hover { button.copy-button { transition: all .2s ease-in-out; @@ -46,9 +66,9 @@ button.copy-button { height: 1.5em; border-width: 0px; border-radius: 0px; - color:$code-copy-button-text-color; + color: $code-copy-button-text-color; &:hover { - background-color:$hugo-blue; + background-color: $hugo-blue; } &:active, &:focus { @@ -59,7 +79,7 @@ button.copy-button { } .copy-text { - color:$code-copy-button-text-color; + color: $code-copy-button-text-color; font-size: 12px; display: block; width: 80px; @@ -83,7 +103,8 @@ button.copy-button { div.code-copy { position: relative; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + // box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + @include card(3); transition: all 0.3s cubic-bezier(.25, .8, .25, 1); border-radius: 0px; } @@ -95,6 +116,9 @@ div.code-copy-header { background-color: $code-editor-header-bg-color; border-radius: 0px; position: relative; + &.output { + background-color: $hugo-blue; + } span.filename { @include center; text-align: center; @@ -105,12 +129,12 @@ div.code-copy-header { background-color: transparent; font-family: $systemfonts; } - [class^="icon-"]{ - float:right; - position:relative; - top:-1.45em; - right:.5em; - color:$code-filename-color; + [class^="icon-"] { + float: right; + position: relative; + top: -1.45em; + right: .5em; + color: $code-filename-color; } } @@ -502,4 +526,4 @@ code.language-markdown { .token.list.punctuation { color: $hugo-blue; } -} \ No newline at end of file +} diff --git a/themes/hugodocs/pipeline/scss/components/_icons.scss b/themes/hugodocs/pipeline/scss/components/_icons.scss index e69de29bb..c8bb0a3e2 100644 --- a/themes/hugodocs/pipeline/scss/components/_icons.scss +++ b/themes/hugodocs/pipeline/scss/components/_icons.scss @@ -0,0 +1,4 @@ +svg.svg-icon { + max-width: 60px; +} + diff --git a/themes/hugodocs/pipeline/scss/components/_lists.scss b/themes/hugodocs/pipeline/scss/components/_lists.scss index e174026b7..a08c7b20a 100644 --- a/themes/hugodocs/pipeline/scss/components/_lists.scss +++ b/themes/hugodocs/pipeline/scss/components/_lists.scss @@ -17,17 +17,42 @@ aside { //sets list style in body copy .body-copy { - ul { - list-style: disc outside none; - padding-left: 1em; + ul, + ol { + padding-left: .75em; margin-left: .25em; margin-top: 0px; padding-top: 0px; - margin-bottom:1.5em; + margin-bottom: 1.5em; li { - // padding-left:1em; - // margin-left: 1em; - // text-indent: -1em; + ul,ol { + margin-bottom:0px; + } + } + } + ul { + list-style: disc outside none; + li { + ul { + list-style-type: circle; + li { + ul { + list-style-type: square; + } + } + } + } + } + ol { + li { + ol { + list-style-type: lower-roman; + li { + ol { + list-style-type: lower-alpha; + } + } + } } } } diff --git a/themes/hugodocs/pipeline/scss/components/_note-and-warn.scss b/themes/hugodocs/pipeline/scss/components/_note-caution-and-warning-shortcodes.scss similarity index 66% rename from themes/hugodocs/pipeline/scss/components/_note-and-warn.scss rename to themes/hugodocs/pipeline/scss/components/_note-caution-and-warning-shortcodes.scss index 8548bced9..b172fe696 100644 --- a/themes/hugodocs/pipeline/scss/components/_note-and-warn.scss +++ b/themes/hugodocs/pipeline/scss/components/_note-caution-and-warning-shortcodes.scss @@ -1,5 +1,5 @@ .note, -.caution,.warn { +.caution,.warning { display: block; margin-bottom: 1em; width: 100%; @@ -17,6 +17,7 @@ display: block; margin: 0px; padding: 12px; + font-size:.9em; } } @@ -25,7 +26,10 @@ background-color: $hugo-blue; } .shortcode-content { - background-color: lighten($hugo-blue, 50%); + background-color: lighten($hugo-blue, 55%); + @include MQ(retina){ + background-color: lighten($hugo-blue,56%); + } } } @@ -35,14 +39,20 @@ } .shortcode-content { background-color: lighten($hugo-gold, 30%); + @include MQ(retina){ + background-color: lighten($hugo-gold,35%); + } } } -.warn { +.warning { > h2 { background-color: $hugo-pink-dark; } .shortcode-content { background-color: lighten($hugo-pink-dark, 50%); + @include MQ(retina){ + background-color: lighten($hugo-pink-dark, 54%); + } } } diff --git a/themes/hugodocs/pipeline/scss/layout/_site-content.scss b/themes/hugodocs/pipeline/scss/layout/_site-content.scss index 4059c05ab..d58b3dfb1 100644 --- a/themes/hugodocs/pipeline/scss/layout/_site-content.scss +++ b/themes/hugodocs/pipeline/scss/layout/_site-content.scss @@ -23,25 +23,65 @@ main.main { margin-left: auto; margin-right: auto; max-width: $content-max-width; - position:relative; - header.content-header { - display: block; - clear: both; - width: 100%; - position: relative; - margin-top: 3em; - @include MQ(M) { - margin-top: 2em; - } - .last-modified { - color: $hugo-gray-light; - display: block; - margin-top: -10px; - width: 100%; - font-size: .8em; - margin-bottom: 20px; - } + position: relative; + min-height:calc(100vh - #{$site-header-height * 2}); +} + +header.content-header { + display: block; + clear: both; + width: 100%; + position: relative; + margin-top: 3em; + @include MQ(M) { + margin-top: 2em; } + .last-modified { + color: $hugo-gray-light; + display: block; + margin-top: -10px; + width: 100%; + font-size: .8em; + margin-bottom: 20px; + } +} + +a.godoc-link { + // position: absolute; + // display:flex; + // position:relative; + display: inline-block; + // flex-direction: column; + // justify-content: center; + // align-items: center; + width:auto; + position:relative; + margin-bottom:0px; + vertical-align:bottom; + svg { + height:1em; + width:.7em; + } + // @include MQ(M) { + // max-width: 30px; + // } + // svg { + // display: inline; + // // } + // span { + // display: none; + // text-align: center; + // text-transform: uppercase; + // font-size: 12px; + // color: $hugo-white; + // background-color: brown; + // padding: .2em .5em; + // margin-top: -5px; + // @include MQ(M) { + // font-size: 14px; + // margin-top: -8px; + // } + // } } a.edit-link { @@ -66,7 +106,7 @@ a.edit-link { } .body-copy { - margin-bottom: 2em; + margin-bottom: 2.5em; display: block; div + h2 { margin-top: 1em; diff --git a/themes/hugodocs/pipeline/scss/layout/_site-footer.scss b/themes/hugodocs/pipeline/scss/layout/_site-footer.scss index e69de29bb..c3695d9a0 100644 --- a/themes/hugodocs/pipeline/scss/layout/_site-footer.scss +++ b/themes/hugodocs/pipeline/scss/layout/_site-footer.scss @@ -0,0 +1,43 @@ +#site-footer { + position: relative; + display: flex; + align-items:center; + justify-content:space-around; + background-color: $hugo-black; + min-height: 100px; + width: 100%; + color: $hugo-white; + div { + display:flex; + flex-direction:column; + justify-content:center; + align-items:center; + img { + max-width:200px; + } + } + i.icon-heart:before { + color:$hugo-pink; + } + @include MQ(L) { + width:calc(100% - #{$sidebar-width}); + margin-left: $sidebar-width; + } +} + +ul.footer-list { + color: $hugo-white; + list-style: none; + margin-left:0px; + padding-left:0px; + li a { + color: $hugo-white; + font-size: .9em; + &:not(i) { + font-size: 14px; + } + i { + font-size: 16px; + } + } +} diff --git a/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss b/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss index e8ccc89ae..e1e596409 100644 --- a/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss +++ b/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss @@ -40,7 +40,7 @@ } } a.top-menu-item-link { - font-size: 17px; + font-size: 16px; &.active-section { color: $active-color; // border-bottom: 1px solid $active-color; diff --git a/themes/hugodocs/pipeline/scss/style.scss b/themes/hugodocs/pipeline/scss/style.scss index c1146b844..490a18bfb 100644 --- a/themes/hugodocs/pipeline/scss/style.scss +++ b/themes/hugodocs/pipeline/scss/style.scss @@ -1,3 +1,5 @@ +@import 'bourbon/bourbon'; + //variables and abstracts @import 'variables'; @import 'abstracts/mixins'; @@ -14,7 +16,7 @@ @import 'components/buttons'; @import 'components/lists'; @import 'components/anchors'; -@import 'components/note-and-warn'; +@import 'components/note-caution-and-warning-shortcodes'; @import 'vendor/prism'; @import 'components/code'; @import 'components/icons'; diff --git a/themes/hugodocs/static/css/style.min.css b/themes/hugodocs/static/css/style.min.css index 8abc9ef5a..cb8fe6e38 100644 --- a/themes/hugodocs/static/css/style.min.css +++ b/themes/hugodocs/static/css/style.min.css @@ -1 +1 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0px;padding:0px;outline:none;border:none;font-size:18px;font-family:"muli","helvetica neue",helvetica,sans-serif;color:#333;line-height:1.6;font-weight:300}body{font-size:90%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 760px){body{font-size:95%}}@media only screen and (min-width: 960px){body{font-size:100%}}p{margin-top:0px;margin-bottom:1.5em;line-height:1.6}@font-face{font-family:'fontello';src:url("/fonts/fontello/fontello.eot?73509738");src:url("/fonts/fontello/fontello.eot?73509738#iefix") format("embedded-opentype"),url("/fonts/fontello/fontello.woff2?73509738") format("woff2"),url("/fonts/fontello/fontello.woff?73509738") format("woff"),url("/fonts/fontello/fontello.ttf?73509738") format("truetype"),url("/fonts/fontello/fontello.svg?73509738#fontello") format("svg");font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-alert:before{content:'\e810'}.icon-angle-double-right:before{content:'\f101'}.icon-attention:before{content:'\e80f'}.icon-bash:before{content:'\e804'}.icon-bell:before{content:'\e80d'}.icon-chrome:before{content:'\e841'}.icon-clipboard:before{content:'\e817'}.icon-code:before{content:'\f121'}.icon-cog-alt:before{content:'\e814'}.icon-css3:before{content:'\f13c'}.icon-download:before{content:'\e815'}.icon-facebook-official:before{content:'\f230'}.icon-file-pdf:before{content:'\f1c1'}.icon-firefox:before{content:'\e840'}.icon-flag:before{content:'\e813'}.icon-go:before{content:'\e801'}.icon-golang:before{content:'\e801'}.icon-gopher:before{content:'\e801'}.icon-home:before{content:'\e812'}.icon-html.input:before{content:'\e801'}.icon-html5:before{content:'\e800'}.icon-html:before{content:'\e800'}.icon-ie:before{content:'\e843'}.icon-info:before{content:'\e811'}.icon-instagram:before{content:'\f32d'}.icon-javascript:before{content:'\e802'}.icon-js:before{content:'\e802'}.icon-json:before{content:'\E81C'}.icon-link:before{content:'\e816'}.icon-markdown:before{content:'\e80e'}.icon-opera:before{content:'\e842'}.icon-pencil:before{content:'\e80c'}.icon-picture:before{content:'\e808'}.icon-quote-left:before{content:'\e809'}.icon-quote-right:before{content:'\e80a'}.icon-sass:before{content:'\e803'}.icon-search:before{content:'\e80b'}.icon-sh:before{content:'\e804'}.icon-share:before{content:'\f1e0'}.icon-shell:before{content:'\e804'}.icon-tag:before{content:'\e806'}.icon-tags:before{content:'\e805'}.icon-terminal:before{content:'\e804'}.icon-twitter:before{content:'\e807'}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-webfont.woff") format("woff"),url("/fonts/muli/muli-100-webfont.ttf") format("truetype");font-weight:100;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-100-italic-webfont.ttf") format("truetype");font-weight:100;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-webfont.woff") format("woff"),url("/fonts/muli/muli-300-webfont.ttf") format("truetype");font-weight:300;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-300-italic-webfont.ttf") format("truetype");font-weight:300;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-webfont.woff") format("woff"),url("/fonts/muli/muli-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-webfont.woff") format("woff"),url("/fonts/muli/muli-600-webfont.ttf") format("truetype");font-weight:600;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-600-italic-webfont.ttf") format("truetype");font-weight:600;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-webfont.woff") format("woff"),url("/fonts/muli/muli-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}h1,h2,h3,h4{letter-spacing:-.021em;font-weight:700;margin:0px;padding-bottom:20px;line-height:1.4}h1{font-size:2em}@media only screen and (min-width: 760px){h1{font-size:2.25em}}h2{font-size:1.5em}h3{font-size:1.2em}h4{font-size:1em;color:#737373;text-transform:uppercase}.functions{font-family:"courierprime",courier,monospace;font-weight:300}button,a[role="button"]{background-color:#0594CB;color:#fff;border:none;outline:none;border-radius:.25em;padding:.25em .5em;box-shadow:none;text-align:center;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}button:hover,a[role="button"]:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}button[class^="icon-"]:before,a[role="button"][class^="icon-"]:before{display:inline-block;font-family:'FontAwesome';margin-right:.3em}button.icon-forum:before,a[role="button"].icon-forum:before{content:'\f086'}button.icon-mailing-list:before,a[role="button"].icon-mailing-list:before{content:'\f0e0'}nav ul,nav ol,aside ul,aside ol{margin-left:0px;padding-left:0px;list-style:none;text-indent:0px}nav ul li,nav ol li,aside ul li,aside ol li{margin-left:0px;padding-left:0px;list-style:none}.body-copy ul{list-style:disc outside none;padding-left:1em;margin-left:.25em;margin-top:0px;padding-top:0px;margin-bottom:1.5em}a{color:#ff4088;font-weight:500}a,a:hover,a:active,a:focus{text-decoration:none;cursor:pointer}.body-copy a{text-decoration:none;color:#ff4088;display:inline-block;outline:none;position:relative;transition:color 0.3s ease;-webkit-perspective:1800px;perspective:1800px}.body-copy a:hover{color:#fff}.body-copy a::before,.body-copy a::after{position:absolute;top:0;left:-4px;padding:0 4px;z-index:-1;box-sizing:content-box;width:100%;height:100%;content:''}.body-copy a::before{background-color:#ff4088;transition:-webkit-transform 0.2s;transition:transform 0.2s;transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1);-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.body-copy a:hover::before,.body-copy a:focus::before{-webkit-transform:rotateX(0);transform:rotateX(0)}.body-copy a::after{border-bottom:2px solid #fff}.note,.caution,.warn{display:block;margin-bottom:1em;width:100%}.note h2,.caution h2,.warn h2{font-size:1.1em;color:#fff;width:100%;display:block;margin:0px;padding:.25em 12px;border:none;outline:none}.note .shortcode-content,.caution .shortcode-content,.warn .shortcode-content{display:block;margin:0px;padding:12px}.note>h2{background-color:#0594CB}.note .shortcode-content{background-color:#d1f1fe}.caution>h2{background-color:#EBB951}.caution .shortcode-content{background-color:#fbf0da}.warn>h2{background-color:#C9177E}.warn .shortcode-content{background-color:#fce3f1}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#f5f2f0}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}code,pre{font-family:"courierprime",courier,monospace}p code,li>code{font-size:.9em;color:#333;font-family:"courierprime",courier,monospace;border:1px solid #949494;padding-left:.25em;padding-right:.25em}div.code-copy{position:relative;margin-top:1em;margin-bottom:1em;font-size:.8em}div.code-copy:hover button.copy-button{transition:all .2s ease-in-out;opacity:1}p+.code-copy{margin-top:0em}button.copy-button{display:none}@media only screen and (min-width: 760px){button.copy-button{display:block;padding:0px;transition:all .2s ease-in-out;opacity:1;background-color:#5a5a5a;box-sizing:border-box;position:absolute;bottom:0px;right:0px;z-index:4;width:80px;height:1.5em;border-width:0px;border-radius:0px;color:#fff}button.copy-button:hover{background-color:#0594CB}button.copy-button:active,button.copy-button:focus{outline:none;position:absolute}}.copy-text{color:#fff;font-size:12px;display:block;width:80px;line-height:1.5em;height:1.5em;vertical-align:middle;text-align:center}.copy-text i.icon-clipboard{display:inline}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}div.code-copy{position:relative;box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);border-radius:0px}div.code-copy-header{position:relative;height:1.5em;line-height:1.5em;background-color:#5a5a5a;border-radius:0px;position:relative}div.code-copy-header span.filename{display:block;margin-right:auto;margin-left:auto;text-align:center;max-width:50%;color:#fff;font-weight:100;font-size:.8em;background-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbols"}div.code-copy-header [class^="icon-"]{float:right;position:relative;top:-1.45em;right:.5em;color:#fff}.action-buttons{position:absolute;left:10px;margin-top:.35em;width:12px;height:12px;background:Crimson;border-radius:50%;box-shadow:18px 0 0 Orange, 36px 0 0 LimeGreen}.tooltipped{position:relative;background-color:#0594CB;padding-right:2em}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:2px 4px;font-size:.8em;font-weight:700;font-family:"muli","helvetica neue",helvetica,sans-serif;color:#fff;text-align:center;text-transform:uppercase;text-decoration:none;text-shadow:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background-color:#0594CB;border-color:#0594CB;border-radius:0px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:#0594CB;pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before,.tooltipped:hover:after,.tooltipped:active:before,.tooltipped:active:after,.tooltipped:focus:before,.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after,.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;text-align:center}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:#0594CB;text-align:center}.tooltipped-se:after{right:auto;left:50%;margin-left:-15px;text-align:center}.tooltipped-sw:after{margin-right:-15px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:#0594CB}.tooltipped-ne:after{right:auto;left:50%;margin-left:-15px}.tooltipped-nw:after{margin-right:-15px}.tooltipped-s:after,.tooltipped-n:after{-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:#0594CB}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:#0594CB}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-multiline.tooltipped-s:after,.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after,.tooltipped-multiline.tooltipped-e:after{right:100%}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:"courierprime",courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em 1em 2em 1em;margin:.5em 0;overflow:auto;background-color:#333}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#fff}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#5a5a5a}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#C9177E}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#33BA91}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#C9177E;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#0594CB}.token.function{color:#EBB951}.token.regex,.token.important,.token.variable{color:#EBB951}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre.line-numbers>code{position:relative}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#737373;display:block;padding-right:0.8em;text-align:right}code.language-markdown span.token.italic{color:#ff4088}code.language-markdown span.token.url{color:#0594CB}code.language-markdown .token.list.punctuation{color:#0594CB}ul.tags{list-style:none;margin:0;overflow:hidden;padding:0;margin-top:-1em;margin-bottom:.5em}.tags li{float:left}.tags li:first-child{margin-right:.5em}.tag{background:#eee;border-radius:3px 0 0 3px;color:#999;display:inline-block;height:26px;line-height:26px;padding:0 20px 0 23px;position:relative;margin:0 10px 10px 0;text-decoration:none;font-size:.7em;-webkit-transition:color 0.2s}.tag::before{background:#fff;border-radius:10px;box-shadow:inset 0 1px rgba(0,0,0,0.25);content:'';height:6px;left:10px;position:absolute;width:6px;top:10px}.tag::after{background:#fff;border-bottom:13px solid transparent;border-left:10px solid #eee;border-top:13px solid transparent;content:'';position:absolute;right:0;top:0}.tag:hover{background-color:#C9177E;color:white}.tag:hover::after{border-left-color:#C9177E}.site-header{width:100%;height:50px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin:0px;background-color:#fff;color:#000;position:fixed;top:0px;left:0px;z-index:10;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}@media only screen and (min-width: 760px){.site-header{-ms-flex-pack:justify;justify-content:space-between}}.site-header .hugo-meta{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.site-header #home-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.8em;margin-left:1.5em}.site-header #home-link img{height:35px;margin-right:.25em}.site-header #home-link .hugo-v{-ms-flex-item-align:end;align-self:flex-end;font-size:.9em}.site-header a.github-button{display:none}@media only screen and (min-width: 760px){.site-header a.github-button{display:inline}}.site-header iframe[src^="https://buttons.github.io"]{display:none;margin-left:1em}@media only screen and (min-width: 760px){.site-header iframe[src^="https://buttons.github.io"]{display:inline}}.site-navigation{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;position:fixed;left:0px;top:0px;width:280px;bottom:0px;overflow-y:scroll;background-color:#fcfcfc;-webkit-transform:translateX(-280px);transform:translateX(-280px);padding:1em;z-index:9}.site-navigation.navigation-open{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-webkit-transform:translateX(0px);transform:translateX(0px)}@media only screen and (min-width: 960px){.site-navigation{-webkit-transform:translateX(0px);transform:translateX(0px)}}.site-navigation ul.top-menu{margin-top:80px;display:inline-block;margin-left:auto;margin-right:auto}@media only screen and (min-width: 960px){.site-navigation ul.top-menu{margin-top:60px}}.site-navigation ul.top-menu a{color:#333;font-weight:300}.site-navigation ul.top-menu li{padding-left:1em;line-height:1;margin-top:.66em;margin-bottom:.66em}.site-navigation ul.top-menu li ul li{padding-left:.5em}.site-navigation ul.top-menu a.top-menu-item-link{font-size:17px}.site-navigation ul.top-menu a.top-menu-item-link.active-section{color:#ff4088;font-weight:600}.site-navigation ul.top-menu a.top-menu-item-link.active-section+ul.submenu{display:block;border-left:1px solid #ff4088}.site-navigation ul.top-menu ul.submenu{display:none}.site-navigation ul.top-menu ul.submenu a.submenu-item-link{font-size:14px}.site-navigation ul.top-menu ul.submenu a.submenu-item-link:hover{color:#737373}.site-navigation ul.top-menu ul.submenu a.submenu-item-link.active-page{font-weight:600;color:#0594CB}.nav-buttons a{margin-left:1em;margin-bottom:.5em;display:inline-block;width:200px;font-size:.9em}.navigation-toggle-wrapper{width:60px;height:60px;position:fixed;top:50px;left:0px;z-index:20}.navigation-toggle-wrapper h4.menu{display:inline-block;position:absolute;bottom:-1em;left:.8em;color:#0594CB;display:none}@media only screen and (min-width: 960px){.navigation-toggle-wrapper{display:none}}.navigation-toggle-wrapper.navigation-open .middle{width:40px;height:40px;top:10%;border-radius:50%;background-color:#ff4088;border-color:#ff4088;opacity:0.3}.navigation-toggle-wrapper.navigation-open .top{-webkit-transform:rotate(45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.navigation-toggle-wrapper.navigation-open .bottom{-webkit-transform:rotate(-45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.bar{width:40px;height:2px;border:2px solid #0594CB;background-color:#0594CB;position:absolute;border-radius:10px}.bar.navigation-open{background-color:#ff4088;border:2px solid #ff4088}.top{left:15%;top:20%;-webkit-transition:all 0.5s}.middle{left:15%;top:40%;-webkit-transition:all 0.5s}.bottom{left:15%;top:60%;-webkit-transition:all 0.5s}#all-content-wrapper{margin-top:50px;z-index:5;transition:all .3s ease-in-out;opacity:1}@media only screen and (min-width: 960px){#all-content-wrapper{margin-left:280px}}#all-content-wrapper.navigation-open{transition:all .3s ease-in-out;-webkit-transform:translateX(280px);transform:translateX(280px);opacity:.4}@media only screen and (min-width: 960px){#all-content-wrapper.navigation-open{opacity:1;-webkit-transform:translateX(0px);transform:translateX(0px)}}main.main{width:90%;display:block;margin-left:auto;margin-right:auto;max-width:35em;position:relative}main.main header.content-header{display:block;clear:both;width:100%;position:relative;margin-top:3em}@media only screen and (min-width: 760px){main.main header.content-header{margin-top:2em}}main.main header.content-header .last-modified{color:#949494;display:block;margin-top:-10px;width:100%;font-size:.8em;margin-bottom:20px}a.edit-link{font-size:1.2em;position:absolute;top:-40px;right:0px}@media only screen and (min-width: 960px){a.edit-link{font-size:.7em;position:fixed;top:90px;right:2em}}a.edit-link .edit-text{display:none}@media only screen and (min-width: 960px){a.edit-link .edit-text{display:inline;margin-right:.15em;text-transform:uppercase}}.body-copy{margin-bottom:2em;display:block}.body-copy div+h2{margin-top:1em}.all-content-wrapper.home{background-color:#eaf9fe}main#homepage{width:90%;margin-bottom:2.5em}@media only screen and (min-width: 760px){main#homepage{max-width:684px}}@media only screen and (min-width: 960px){main#homepage{max-width:774px}}.homepage-image{display:block;margin:1em auto;max-width:200px}.homepage-image img{max-width:200px;margin-left:auto;margin-right:auto}.homepage-cards{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.homepage-cards .homepage-card{transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);color:inherit;width:100%;background-color:#fff;margin-bottom:.5em;padding:16px 8px}.homepage-cards .homepage-card:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}@media only screen and (min-width: 760px){.homepage-cards .homepage-card{max-width:328.32px;margin-bottom:1em}}@media only screen and (min-width: 960px){.homepage-cards .homepage-card{max-width:239.94px;margin-left:.2em}}.homepage-cards .homepage-card h2{font-size:1em;margin:0px;line-height:1.1;margin-bottom:.5em;padding-bottom:0px}.homepage-cards .homepage-card p{font-size:.8em;line-height:1.3;margin-bottom:0px;color:#595959} +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0px;padding:0px;outline:none;border:none;font-size:18px;font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;color:#333;line-height:1.6;font-weight:300}body{font-size:90%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 760px){body{font-size:95%}}@media only screen and (min-width: 960px){body{font-size:100%}}p{margin-top:0px;margin-bottom:1.5em;line-height:1.6}@font-face{font-family:'fontello';src:url("/fonts/fontello/fontello.eot");src:url("/fonts/fontello/fontello.woff2") format("woff2"),url("/fonts/fontello/fontello.woff") format("woff"),url("/fonts/fontello/fontello.ttf") format("truetype"),url("/fonts/fontello/fontello.svg?78165468#fontello") format("svg");font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-alert:before{content:'\e810'}.icon-angle-double-right:before{content:'\f101'}.icon-attach:before{content:'\e820'}.icon-attention:before{content:'\e80f'}.icon-bell:before{content:'\e80d'}.icon-cancel:before{content:'\e81e'}.icon-caution:before{content:'\e80f'}.icon-chrome:before{content:'\e841'}.icon-clipboard:before{content:'\e817'}.icon-code:before{content:'\f121'}.icon-cog-alt:before{content:'\e814'}.icon-css3:before{content:'\f13c'}.icon-docs:before{content:'\f15c'}.icon-download:before{content:'\e815'}.icon-facebook-official:before{content:'\f230'}.icon-firefox:before{content:'\e840'}.icon-flag:before{content:'\e813'}.icon-forum:before{content:'\f03d';margin-right:.3em}.icon-github:before{content:'\f09b'}.icon-gitter:before{content:'\e819'}.icon-go:before{content:'\e801'}.icon-golang:before{content:'\e801'}.icon-heart:before{content:'\e81d'}.icon-help:before{content:'\e81b'}.icon-home:before{content:'\e812'}.icon-html.input:before{content:'\e81f'}.icon-html5:before{content:'\e800'}.icon-html:before{content:'\e800'}.icon-hugo:before{content:'\e81f'}.icon-ie:before{content:'\e843'}.icon-info:before{content:'\e811'}.icon-instagram:before{content:'\f32d'}.icon-javascript:before{content:'\e802'}.icon-js:before{content:'\e802'}.icon-json:before{content:'\e81c'}.icon-link:before{content:'\e816'}.icon-linkedin:before{content:'\f30c'}.icon-love:before{content:'\e81d'}.icon-mail:before{content:'\e821'}.icon-markdown:before{content:'\e80e'}.icon-note:before{content:'\e80d'}.icon-opera:before{content:'\e842'}.icon-pdf:before{content:'\f1c1'}.icon-pencil:before{content:'\e80c'}.icon-picture:before{content:'\e808'}.icon-quote-left:before{content:'\e809'}.icon-quote-right:before{content:'\e80a'}.icon-sass:before{content:'\e803'}.icon-search:before{content:'\e80b'}.icon-share:before{content:'\f1e0'}.icon-tag:before{content:'\e806'}.icon-tags:before{content:'\e805'}.icon-sh:before{content:'\e804'}.icon-terminal:before{content:'\e804'}.icon-bash:before{content:'\e804'}.icon-thumbs-up:before{content:'\e81a'}.icon-twitter:before{content:'\e807'}.icon-warning:before{content:'\e810'}.icon-website:before{content:'\e818'}.icon-yaml:before,.icon-yml:before,.icon-toml:before{font-family:"courierprime",courier,monospace;left:-1em;margin-right:1em}.icon-yaml:before,.icon-yml:before{content:'YAML'}.icon-toml:before{content:'TOML'}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-webfont.woff") format("woff"),url("/fonts/muli/muli-100-webfont.ttf") format("truetype");font-weight:100;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-100-italic-webfont.ttf") format("truetype");font-weight:100;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-webfont.woff") format("woff"),url("/fonts/muli/muli-300-webfont.ttf") format("truetype");font-weight:300;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-300-italic-webfont.ttf") format("truetype");font-weight:300;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-webfont.woff") format("woff"),url("/fonts/muli/muli-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-webfont.woff") format("woff"),url("/fonts/muli/muli-600-webfont.ttf") format("truetype");font-weight:600;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-600-italic-webfont.ttf") format("truetype");font-weight:600;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-webfont.woff") format("woff"),url("/fonts/muli/muli-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}h1,h2,h3,h4{font-weight:700;margin:0px;padding-bottom:20px;line-height:1.4}h1{font-size:2em;letter-spacing:-.021em}@media only screen and (min-width: 760px){h1{font-size:2.25em}}h2{font-size:1.5em}h3{font-size:1.2em}h4{font-size:1em;color:#737373;text-transform:uppercase}.functions{font-family:"courierprime",courier,monospace;font-weight:300}.submenu-item:first-child a.submenu-item-link.functions{font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif}button,a[role="button"]{background-color:#0594CB;color:#fff;border:none;outline:none;border-radius:.25em;padding:.25em .5em;box-shadow:none;text-align:center;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}button:hover,a[role="button"]:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}button[class^="icon-"]:before,a[role="button"][class^="icon-"]:before{display:inline-block;font-family:'FontAwesome';margin-right:.3em}button.icon-forum:before,a[role="button"].icon-forum:before{content:'\f086'}button.icon-mailing-list:before,a[role="button"].icon-mailing-list:before{content:'\f0e0'}nav ul,nav ol,aside ul,aside ol{margin-left:0px;padding-left:0px;list-style:none;text-indent:0px}nav ul li,nav ol li,aside ul li,aside ol li{margin-left:0px;padding-left:0px;list-style:none}.body-copy ul,.body-copy ol{padding-left:.75em;margin-left:.25em;margin-top:0px;padding-top:0px;margin-bottom:1.5em}.body-copy ul li ul,.body-copy ul li ol,.body-copy ol li ul,.body-copy ol li ol{margin-bottom:0px}.body-copy ul{list-style:disc outside none}.body-copy ul li ul{list-style-type:circle}.body-copy ul li ul li ul{list-style-type:square}.body-copy ol li ol{list-style-type:lower-roman}.body-copy ol li ol li ol{list-style-type:lower-alpha}a{color:#ff4088;font-weight:500}a,a:hover,a:active,a:focus{text-decoration:none;cursor:pointer}.body-copy a{text-decoration:none;color:#ff4088;display:inline-block;outline:none;position:relative;transition:color 0.3s ease;-webkit-perspective:1800px;perspective:1800px}.body-copy a:hover{color:#fff}.body-copy a::before,.body-copy a::after{position:absolute;top:0;left:-4px;padding:0 4px;z-index:-1;box-sizing:content-box;width:100%;height:100%;content:''}.body-copy a::before{background-color:#ff4088;transition:-webkit-transform 0.2s;transition:transform 0.2s;transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1);-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.body-copy a:hover::before,.body-copy a:focus::before{-webkit-transform:rotateX(0);transform:rotateX(0)}.body-copy a::after{border-bottom:1px solid #ff4088}.note,.caution,.warning{display:block;margin-bottom:1em;width:100%}.note h2,.caution h2,.warning h2{font-size:1.1em;color:#fff;width:100%;display:block;margin:0px;padding:.25em 12px;border:none;outline:none}.note .shortcode-content,.caution .shortcode-content,.warning .shortcode-content{display:block;margin:0px;padding:12px;font-size:.9em}.note>h2{background-color:#0594CB}.note .shortcode-content{background-color:#eaf9fe}@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi){.note .shortcode-content{background-color:#effaff}}.caution>h2{background-color:#EBB951}.caution .shortcode-content{background-color:#fbf0da}@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi){.caution .shortcode-content{background-color:#fdf9f1}}.warning>h2{background-color:#C9177E}.warning .shortcode-content{background-color:#fce3f1}@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi){.warning .shortcode-content{background-color:#fef5fa}}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#f5f2f0}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}code,pre{font-family:"courierprime",courier,monospace}pre>code{font-size:.8em}.body-copy>pre[class*="language-"],.body-copy>code[class*="language-"]{transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23);text-shadow:0 0px transparent;text-shadow:none;padding:1em;margin:.5em 0;overflow:auto}.body-copy>pre[class*="language-"]{margin-bottom:1.5em}p code,li>code{font-size:.9em;color:#333;font-family:"courierprime",courier,monospace;border:1px solid #949494;padding-left:.25em;padding-right:.25em}div.code-copy{position:relative;margin-top:1em;margin-bottom:1.5em}div.code-copy:hover button.copy-button{transition:all .2s ease-in-out;opacity:1}p+.code-copy{margin-top:0em}button.copy-button{display:none}@media only screen and (min-width: 760px){button.copy-button{display:block;padding:0px;transition:all .2s ease-in-out;opacity:1;background-color:#5a5a5a;box-sizing:border-box;position:absolute;bottom:0px;right:0px;z-index:4;width:80px;height:1.5em;border-width:0px;border-radius:0px;color:#fff}button.copy-button:hover{background-color:#0594CB}button.copy-button:active,button.copy-button:focus{outline:none;position:absolute}}.copy-text{color:#fff;font-size:12px;display:block;width:80px;line-height:1.5em;height:1.5em;vertical-align:middle;text-align:center}.copy-text i.icon-clipboard{display:inline}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}div.code-copy{position:relative;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23);transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);border-radius:0px}div.code-copy-header{position:relative;height:1.5em;line-height:1.5em;background-color:#5a5a5a;border-radius:0px;position:relative}div.code-copy-header.output{background-color:#0594CB}div.code-copy-header span.filename{display:block;margin-right:auto;margin-left:auto;text-align:center;max-width:50%;color:#fff;font-weight:100;font-size:.8em;background-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbols"}div.code-copy-header [class^="icon-"]{float:right;position:relative;top:-1.45em;right:.5em;color:#fff}.action-buttons{position:absolute;left:10px;margin-top:.35em;width:12px;height:12px;background:Crimson;border-radius:50%;box-shadow:18px 0 0 Orange, 36px 0 0 LimeGreen}.tooltipped{position:relative;background-color:#0594CB;padding-right:2em}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:2px 4px;font-size:.8em;font-weight:700;font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;color:#fff;text-align:center;text-transform:uppercase;text-decoration:none;text-shadow:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background-color:#0594CB;border-color:#0594CB;border-radius:0px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:#0594CB;pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before,.tooltipped:hover:after,.tooltipped:active:before,.tooltipped:active:after,.tooltipped:focus:before,.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after,.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;text-align:center}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:#0594CB;text-align:center}.tooltipped-se:after{right:auto;left:50%;margin-left:-15px;text-align:center}.tooltipped-sw:after{margin-right:-15px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:#0594CB}.tooltipped-ne:after{right:auto;left:50%;margin-left:-15px}.tooltipped-nw:after{margin-right:-15px}.tooltipped-s:after,.tooltipped-n:after{-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:#0594CB}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:#0594CB}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-multiline.tooltipped-s:after,.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after,.tooltipped-multiline.tooltipped-e:after{right:100%}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:"courierprime",courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em 1em 2em 1em;margin:.5em 0;overflow:auto;background-color:#333}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#fff}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#5a5a5a}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#C9177E}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#33BA91}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#C9177E;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#0594CB}.token.function{color:#EBB951}.token.regex,.token.important,.token.variable{color:#EBB951}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre.line-numbers>code{position:relative}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#737373;display:block;padding-right:0.8em;text-align:right}code.language-markdown span.token.italic{color:#ff4088}code.language-markdown span.token.url{color:#0594CB}code.language-markdown .token.list.punctuation{color:#0594CB}svg.svg-icon{max-width:60px}ul.tags{list-style:none;margin:0;overflow:hidden;padding:0;margin-top:-1em;margin-bottom:.5em}.tags li{float:left}.tags li:first-child{margin-right:.5em}.tag{background:#eee;border-radius:3px 0 0 3px;color:#999;display:inline-block;height:26px;line-height:26px;padding:0 20px 0 23px;position:relative;margin:0 10px 10px 0;text-decoration:none;font-size:.7em;-webkit-transition:color 0.2s}.tag::before{background:#fff;border-radius:10px;box-shadow:inset 0 1px rgba(0,0,0,0.25);content:'';height:6px;left:10px;position:absolute;width:6px;top:10px}.tag::after{background:#fff;border-bottom:13px solid transparent;border-left:10px solid #eee;border-top:13px solid transparent;content:'';position:absolute;right:0;top:0}.tag:hover{background-color:#C9177E;color:white}.tag:hover::after{border-left-color:#C9177E}.site-header{width:100%;height:50px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin:0px;background-color:#fff;color:#000;position:fixed;top:0px;left:0px;z-index:10;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}@media only screen and (min-width: 760px){.site-header{-ms-flex-pack:justify;justify-content:space-between}}.site-header .hugo-meta{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.site-header #home-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.8em;margin-left:1.5em}.site-header #home-link img{height:35px;margin-right:.25em}.site-header #home-link .hugo-v{-ms-flex-item-align:end;align-self:flex-end;font-size:.9em}.site-header a.github-button{display:none}@media only screen and (min-width: 760px){.site-header a.github-button{display:inline}}.site-header iframe[src^="https://buttons.github.io"]{display:none;margin-left:1em}@media only screen and (min-width: 760px){.site-header iframe[src^="https://buttons.github.io"]{display:inline}}.site-navigation{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;position:fixed;left:0px;top:0px;width:280px;bottom:0px;overflow-y:scroll;background-color:#fcfcfc;-webkit-transform:translateX(-280px);transform:translateX(-280px);padding:1em;z-index:9}.site-navigation.navigation-open{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-webkit-transform:translateX(0px);transform:translateX(0px)}@media only screen and (min-width: 960px){.site-navigation{-webkit-transform:translateX(0px);transform:translateX(0px)}}.site-navigation ul.top-menu{margin-top:80px;display:inline-block;margin-left:auto;margin-right:auto}@media only screen and (min-width: 960px){.site-navigation ul.top-menu{margin-top:60px}}.site-navigation ul.top-menu a{color:#333;font-weight:300}.site-navigation ul.top-menu li{padding-left:1em;line-height:1;margin-top:.66em;margin-bottom:.66em}.site-navigation ul.top-menu li ul li{padding-left:.5em}.site-navigation ul.top-menu a.top-menu-item-link{font-size:16px}.site-navigation ul.top-menu a.top-menu-item-link.active-section{color:#ff4088;font-weight:600}.site-navigation ul.top-menu a.top-menu-item-link.active-section+ul.submenu{display:block;border-left:1px solid #ff4088}.site-navigation ul.top-menu ul.submenu{display:none}.site-navigation ul.top-menu ul.submenu a.submenu-item-link{font-size:14px}.site-navigation ul.top-menu ul.submenu a.submenu-item-link:hover{color:#737373}.site-navigation ul.top-menu ul.submenu a.submenu-item-link.active-page{font-weight:600;color:#0594CB}.nav-buttons a{margin-left:1em;margin-bottom:.5em;display:inline-block;width:200px;font-size:.9em}.navigation-toggle-wrapper{width:60px;height:60px;position:fixed;top:50px;left:0px;z-index:20}.navigation-toggle-wrapper h4.menu{display:inline-block;position:absolute;bottom:-1em;left:.8em;color:#0594CB;display:none}@media only screen and (min-width: 960px){.navigation-toggle-wrapper{display:none}}.navigation-toggle-wrapper.navigation-open .middle{width:40px;height:40px;top:10%;border-radius:50%;background-color:#ff4088;border-color:#ff4088;opacity:0.3}.navigation-toggle-wrapper.navigation-open .top{-webkit-transform:rotate(45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.navigation-toggle-wrapper.navigation-open .bottom{-webkit-transform:rotate(-45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.bar{width:40px;height:2px;border:2px solid #0594CB;background-color:#0594CB;position:absolute;border-radius:10px}.bar.navigation-open{background-color:#ff4088;border:2px solid #ff4088}.top{left:15%;top:20%;-webkit-transition:all 0.5s}.middle{left:15%;top:40%;-webkit-transition:all 0.5s}.bottom{left:15%;top:60%;-webkit-transition:all 0.5s}#all-content-wrapper{margin-top:50px;z-index:5;transition:all .3s ease-in-out;opacity:1}@media only screen and (min-width: 960px){#all-content-wrapper{margin-left:280px}}#all-content-wrapper.navigation-open{transition:all .3s ease-in-out;-webkit-transform:translateX(280px);transform:translateX(280px);opacity:.4}@media only screen and (min-width: 960px){#all-content-wrapper.navigation-open{opacity:1;-webkit-transform:translateX(0px);transform:translateX(0px)}}main.main{width:90%;display:block;margin-left:auto;margin-right:auto;max-width:35em;position:relative;min-height:calc(100vh - 100px)}header.content-header{display:block;clear:both;width:100%;position:relative;margin-top:3em}@media only screen and (min-width: 760px){header.content-header{margin-top:2em}}header.content-header .last-modified{color:#949494;display:block;margin-top:-10px;width:100%;font-size:.8em;margin-bottom:20px}a.godoc-link{display:inline-block;width:auto;position:relative;margin-bottom:0px;vertical-align:bottom}a.godoc-link svg{height:1em;width:.7em}a.edit-link{font-size:1.2em;position:absolute;top:-40px;right:0px}@media only screen and (min-width: 960px){a.edit-link{font-size:.7em;position:fixed;top:90px;right:2em}}a.edit-link .edit-text{display:none}@media only screen and (min-width: 960px){a.edit-link .edit-text{display:inline;margin-right:.15em;text-transform:uppercase}}.body-copy{margin-bottom:2.5em;display:block}.body-copy div+h2{margin-top:1em}#site-footer{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around;background-color:#000;min-height:100px;width:100%;color:#fff}#site-footer div{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}#site-footer div img{max-width:200px}#site-footer i.icon-heart:before{color:#ff4088}@media only screen and (min-width: 960px){#site-footer{width:calc(100% - 280px);margin-left:280px}}ul.footer-list{color:#fff;list-style:none;margin-left:0px;padding-left:0px}ul.footer-list li a{color:#fff;font-size:.9em}ul.footer-list li a:not(i){font-size:14px}ul.footer-list li a i{font-size:16px}.all-content-wrapper.home{background-color:#eaf9fe}main#homepage{width:90%;margin-bottom:2.5em}@media only screen and (min-width: 760px){main#homepage{max-width:684px}}@media only screen and (min-width: 960px){main#homepage{max-width:774px}}.homepage-image{display:block;margin:1em auto;max-width:200px}.homepage-image img{max-width:200px;margin-left:auto;margin-right:auto}.homepage-cards{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.homepage-cards .homepage-card{transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);color:inherit;width:100%;background-color:#fff;margin-bottom:.5em;padding:16px 8px}.homepage-cards .homepage-card:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}@media only screen and (min-width: 760px){.homepage-cards .homepage-card{max-width:328.32px;margin-bottom:1em}}@media only screen and (min-width: 960px){.homepage-cards .homepage-card{max-width:239.94px;margin-left:.2em}}.homepage-cards .homepage-card h2{font-size:1em;margin:0px;line-height:1.1;margin-bottom:.5em;padding-bottom:0px}.homepage-cards .homepage-card p{font-size:.8em;line-height:1.3;margin-bottom:0px;color:#595959} diff --git a/themes/hugodocs/static/design-resources/godoc-icon.afdesign b/themes/hugodocs/static/design-resources/godoc-icon.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..793d9218e97bf75ee336892551714fe5c2d0a663 GIT binary patch literal 29015 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 A(f|Me literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/design-resources/hugo-h.afdesign b/themes/hugodocs/static/design-resources/hugo-h.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..8f027454a8ea534648846adee69346e460829c46 GIT binary patch literal 14242 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 literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/fonts/fontello/fontello.eot b/themes/hugodocs/static/fonts/fontello/fontello.eot index 481146e764f0c2c1bbf89cfe4cf6171235f2b091..f57898c84e9d4ebd6fb81e843c8f4f76fa419df9 100755 GIT binary patch delta 4456 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 delta 2460 zcma)7du&tZ6+h?uzWeecv4bB;OoHRMAuoqCFT$2Jm#5=;p%l{8p$uXiJ5J(@y(F}h zNd!&&(K051Zq-Rtou+M?(6njZuCyVvNBhTA2^F+Wm4>uU%_=cP)v6L;8Y&8GkY8HPyncng^;_ihuL_Il!p-enzXaGj zW_|}>z#p5RVszyITqJEIR3C{5Cv+18ZT$Vg-rs1oEY(faR#_Ktg?Jx@$U$D)xVH1w z8|%25$<*NqmWoM;Nx7~W!{&&{Gcl8!G>Dq zbmFAP?Q(Dl(cz4l1IqiBSIw$DBl@-)r^9a3WR4hBk>eiV$dEGw7$AcMfuu4*-_{=7{D2Jl{KO1w^$CC5;J{FSpMPkptPl<BCok{{+wB(Ju?l zeeNJ{#!x}u^~K|7wU&nLYy0ZDUwBg66d!I$U%hgE60JiU?qh40-o6PDC@5qU4>g>C zX^MbTVy1yHCySZi^UhliUjweJ=#FxtFxnnql)iYeW?w?@Qjo$$DNVzGkSe#Y#Bmyg zP!pi4lmo^d<{+SVKO#*z`)}e?x?@wQuHENu-B71VP1X&+#zt0j`xX?aDvX?r#)}Q) zLl^`(AtXblasuOEP!*4nDf*V!VW7HVETDIoA2)RHDcx_?H#SfpVD$z*lJQSwb11aZ z3li4^g@JT3ra=QxG|Ghl1%;BN9+8=R2&myIVewcXUhE^=ePul^X+~L5LF%Uet*H-x zPRaa6sNMQms1eO;t^OYPr*7Af+fcJ3a>}%aEKLG)aTiPbP?8l{QVbOZ*%E2N}U)p?Hw=DBy)h$Px(O_6%|Gy4-@*cPwyD!G=fo(Sa~=M^G6+xE|3Lf z5K&8jrcp(#_c}(=@^-Z$Hku>d-_pj)eMhZjnD2M@gnY=DV{9XOy`DrlFp4Q&v{53) zKNIVY^gmwAPGUPh6FU{@XnM?P`Xl!0J}+TC)AKRLO7}}I@ejEUGq9-FyBv(+bI*2l zwos0CAqXBlXlJ-PUTh+p4KyH_r?z8xN{aw4rfE9LH%dScnz{ZUwV&HM*S{UTm3zOG z;ddx+wRFjL!#4Ps2I*l`;~Li`A`;^pm%|q zRib<8u^Kcd|Hr{orZsrIgB*a;Jf9%vHo_K&kRi@1b$5(OR2WEzYFy^Ep<+0v&keb1 znUFz4NgXeDO%!BMKvoPpDk>=Ig1Nf2-d*h>D*wY4vh2gnXsvF$$(z)Q#VNA50UGI_ zV+syK4qk#&u&jU8oE#0RbjeGKDjDWCM;m-}!#wcEfszD?2N(C9(KBehy!`}Pf7$sw zhF9l99~`M2`3Knf8cD!=zuEBHhqQFBl#%xF17>3P7VI=%*&Sr!y7|N1iJH>=vNS(H zD3(fQ`<^Cqe2+Ty1J=jxia$to(i!Ppc|`uXd{^mHPOC!wuEw-6Tb=Ek?XErJv^h`L zoUEO8-Ea@MKdC$InfLDS`Ftn+!}V?Tr|NGtbT+m%o@rbSoFz{vi_mHPdXJrx3s++k zwIF4ejohHJWF&LBNS`_U^gCu#ynei9c5XR){AeUKx0uSMXX=v2W^?JtO#b*$B8zjg z*=3Q+&!k0aX{le$%+X?DCL=9nlZ$D0CYeef&F2>)`AlXmHJ8kpuf}_o1Jr#4>#g`b G`@aD%B;q0f diff --git a/themes/hugodocs/static/fonts/fontello/fontello.svg b/themes/hugodocs/static/fonts/fontello/fontello.svg index 1422dccbe..43cf02a6c 100755 --- a/themes/hugodocs/static/fonts/fontello/fontello.svg +++ b/themes/hugodocs/static/fonts/fontello/fontello.svg @@ -8,7 +8,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -64,6 +64,16 @@ + + + + + + + + + + @@ -72,7 +82,9 @@ - + + + @@ -80,12 +92,16 @@ - + + + + + diff --git a/themes/hugodocs/static/fonts/fontello/fontello.ttf b/themes/hugodocs/static/fonts/fontello/fontello.ttf index 885c83aebc73457cca115e8f1986bdca12af438d..17f58d96e774f6d432ea22d7376cc8ed9c31db5a 100755 GIT binary patch delta 4464 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 HxncV!f`UrI delta 2374 zcma)6ZERa-6+Y+vxF7yVoYZ#WI3JGVrul3$H(wp5y=~Juj%g`v$egZh@m!}#oV%Db zE2Te3g!*Hu`Xkk?hSaJ2KnVI{n><~Frox0Ofsm$B7$BGg5*eZ>nl{n2MO1XcoEx{3 z$|~U6NAErNJ@0$YdCqgr>YMnhE4bRa92=hlz{3DAku$T!-2KUR(ys#W_1x*Di1Pb? zeFCuWZQ74a7f+h!FRo6K{yu=acrtscNZ);=muS^a&VPM6R*HWNAXfo~{4@FN3Gb~! z2SDPxv_CjQAG9mtUDE$ZdThpAI+M9PQzqr}q{G$ug-(vyW3kX z1FXZk@!9WID+>gW&K`pC$A8ul_GNOUSl8JnRv%NVJ&tpvY&M@x`v!jjmkqj@1e$5x zTM?iH*Y{NfBDC(W2($v+eyt)91=yf;9Dz1kY0nXe(VD0TY^C*jMS!Zhu~re-25_gZ zB2NRA=WcIBpc52;@*?{YA0teB|?aA&-3a7a-}j;jHG z72g(ZZZ4fa^38gGxGj=d#DU%Y32b{FeV5fsvu66)RO69UvhU#2XRm(v%6nV+Jihn^ zq1RkE#+xx(G)6x6@_D^AG;`^2ZO?O0=`HEu*8IEIRwvN@LG1%<>oz)C5P_0HM)?pe z1WZu|oPe1E#=IclfQRb-;5ONNsCC4cc zLd$@r5eAGs!XRw)JZ4Rp{WtST!_yM2?FiPiZK>5|ligRRv&6FD-hl!&l~It%bSXqJ z#6VCGLYfMd6Bq}Rs`wJQqIb!j2dXQk!bYc+40ZBJqs}gdLX-&DuQYtD;2*5htsHM7Yhgcq*JO#mRTvIme}LItNuGHvP|&)-PKV zwkz6z2UKGDRbHUcz(Iv7sHOfLgi-j1;ntD6P zkZ~b^XH-EUFhkgRF=gdCPJfX`F@^gUKSn*F!5&zEapOy4`-VC7S`s94y1;Y>8FLYC z8ZfC5_LP|5s)M5<2tPzU1G-N2uzNc9plx=wBQ{uN*_@x2(JDiLzi z{4OC^O%t{UcEJbMaDQ?+M!n`tA5#^K5nUzC4Nm`pvRMNvhj)`{PU2mUY=H^-7l@aV zM$i*aP)qzD7f)L5ft#Ha0F>wWI0e@TJD`^walTo3�s-Kt@#ZvbGMEV)MrAps$(< z1$30!L5DXFP&3-YyKZso;_e2%WPH_nb9Y3e z$t_h)npV@EP>{yPL(d+R5;6~`aeB`=wBIw%pgpkvS&XgCMgROlb>i>f=Idkuzx~OU zpFLX3_si4rFh6RQMs{GAwKfuA;-*jr!Z6u7>u8a}8_Z^K>U+23>aW88@deqN(v}kTXl>{D6AO%+AmE#;w)V&$p@5 zvy1uZg)>TSW^uvH%Y|ZoG0SH2RVQbcW?p`=H#fVOo6n!HE{`=S+Vt#vzSnwZENp!+ Q)~6mNLXp_@>HF?~10piZ-~a#s diff --git a/themes/hugodocs/static/fonts/fontello/fontello.woff b/themes/hugodocs/static/fonts/fontello/fontello.woff index a842ba97d9314a2c1da285791e7204fa43c3c2aa..b9ef41c4a22bbf5a29874bb747edee0002e4d6e5 100755 GIT binary patch delta 12517 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 delta 11349 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 D6@O%W diff --git a/themes/hugodocs/static/fonts/fontello/fontello.woff2 b/themes/hugodocs/static/fonts/fontello/fontello.woff2 index 75feb98a2a6de11a2607a271031a8703c91e4dcd..ee7c932ebd27f44bd7c69dd15f1cd65fd33e6ec2 100755 GIT binary patch literal 12540 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 qVDU@#7o0K@boDL8;*Y2Bai3k=}bz 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 S3b`nX0;X*ME!KP(@_zvP6k1LI literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/images/made-with-hugo-dark.png b/themes/hugodocs/static/images/made-with-hugo-dark.png new file mode 100755 index 0000000000000000000000000000000000000000..c6cadf283308cfd9cbc295d36449b87bd6e941ad GIT binary patch literal 8764 zcmc(_cT`hf@Glxbs)i0i=pCd;3y6YLDbkS=K#?LX1rVhPC`FLor3#`{Aprs;NR!?P zAchEuAWD@kRr<~MzPH}`{r~P-_x!WhnR52boPEyh`OJ>DFf#x$fEWM(0MN)#&k6vb zgaH5)KsqWi#q;~*HS)my{2t`_17DBlK`#F80PQEfuI_?H2p3OxD|eSCAy0?g)yWzW z7ADsBoUf{H4+H@!6ZQsFaesb1?Jo!1dot5<PdjKKtMt- zAZ=)~)ueV}?VDIEz()TB&+ceOxznkqra*CslK~(c0H~xamPaobO$2!;Nb*Sluqi-P zc~L7%l}6;3S~@i?10bdgz{WAgA9;CsNu4#aWm2HjlD^(-IduKy+4L1abZ1adke;4i zYisM55-JuJmgJ7#=9L5w509;_En#8dyu7^G*;&91k;6~JqoborN=m!0>QBBc+Su4s zRaM2s#qFIO0g9q7PWCoOuC#Lol}&duGXjj-b51tKH`*Sa><~AM@^>dv0WZCNY%h<1 zUhz?}N;RjSerI?Irv!XT-0Jdd`}Gyg?(5X~E_DKP^t<`ra_{QB9Dt@WdUmKNj%sCp z>)(W6DVryNTQubb;X9-|2HqdEox&=06?JMNKe~3 zn7C1R9}r@fy5DU5hfYBT920Crd9&?idz>JHtM&$iEqlAa@x_5^ykM)+%Es8} zm`_yEHq%i^o6M8xbNQ9f;VsTGBhgpZdKD3R$n-ccYdl1R1t!Xh))yui_JZR7C($)o z?|%}>B4o+`j|dU@PaPeI2D8LJ%qr6tNf$*2Msg@6CD!BPT=e3>t~h-oSCsQoFv3HQ z9i}AZit-BreW(35?4S<9#Av$rZg$);LN4Jbco-#KbxX<+uDMNajnMbV9p|bh(YwmN zVho;(Pw^5$XBR0Yakq9{b7YqQk`SqoJ!>fu7vGg@B32ei(`h+Ls!WB%0=1r8k&bLt z(>r=^P4Gq>?65q++lU3aYj@r~(UC-#KZ>0#88BT)X{^#(HJ^@J*7}5nP`&w7VT)LQ<$r;8S*#}#D&%NzkPb(rH#(+4f;Lmt5op! z3H{kfIWuVd%;(!vSDdPQeT$I@OOwJkdel&4io=#NNKB&P@7>sZMHn3pF_ZmRmNlLg zHs?K=n=;L{Y@(I_c4#)t1ql4u(0ua=S3>;j3A%y&gZI7pPVU#thQ-l|5{f*1jbn>i zv@kE`!c+7wF=pD~GfQ{3$^Ziig1Q+{cm@Zf!CmuzY{tnBgD{&G-8M&>^mu&uYbaVI zP6#srezc#rQlXJ>wd2EGg&8tyM2mPwFe=CQ*}CFt@q(Vj`3+}r+FwcJDgI-dzN0=> zn}{^Kb-~}8pL2gv4wTJT`tluO;Jnk9P+wSC3N&tTJ`WlDdX*W*zlQ%MIHP^`yd+Mo z(d66{!B70?y3)EQ8e#O~gSHMbqN1ge^ZVM z7jS;Xk7h$&T%`HJCa~r=ZTucOcTXDt`}=;NS6uH-?OCV3x(j2vln)z~&Z>!wira;O z2O=}?vR_;VY5K0l=S39cSq`Xo2atKfts4=?@m|&BzDWcZJs-PKZYm41W+&Qp*>b(Hl60>vuEKV{sALXq4L0|2JA?*w@WIO41^c*N9teqc zmov^7r``G~?jg~@#wMdLOzUo0@a|S>d3POJTY0$mm_9q{%KI4onV)%kuspE&c$0zP`bUIM4o@So0}w~Tv2XB)61p#@9nS}XeRpKm^-J+hglI9d*62p5kri{ zcXXu4K}USVKS$W?MIx|*o^*<7)Mym}>_=JiP?QOPV6gy~!I2FOoC zYc9x{$bkKx-^lc2&whVzJ;sF23kk76rDV0ZD6`=o#cy;f0WgIh&zNCWzm2V)vOSc7 z>6zw5Kj4)LDJx@4=)&#TD>y!3_-IsTlB%veKM}Jz>2Y0U3D!b#4xRM^fD8y;~>#+(=?9x3@gzqi3_Sy1HPeLl)#)i5kJG zP_FenTJ2sN;Iq7%~@~eLIYnlb-p}3 z@}Dld2|uqM`r5}wiKD&FKUTfmOjuh!!baV)-4M%@(kMfDDwEBbySg+ z$9>T>#Z9E4Y>;hnwlue%1pI}AX3O<&gY9a)4s%w~`!j4eSvxTbn^A*s(}Yb+HU8K8 z*ZV3SKhu6r+>)!^7!+MwiNl}_iMz-t zJ=()`V03xQAgyId_4h3{#l#?qI80bMjV9$ID`ydtei_{E2F~KlOv*p)*yHEM?2=M_ zN9=>i+wnB^t~h~T=2k|dALK~gUA=0CpCmco-eb(aRUs>W&KvDLkPW>e+ra`0F$cZg z=13S{j#d0v!*suhzhviHbex-T`a9!G#+Eds*elGGc>MqW^sX<=aSaxJuaM84g9EX0 zY8U?Pfm5MP$aq29`@@Nbek>}92&#xWb~0XXivEja{DN_ECY;>1(;q*mluWGvTRU;z zwOcZhOuer9?}NCr70H_a`{aRZ$i~AQ#uhno7>TbW$#$0m9lhjYdt9j&M;($uon~U3Wsec_V0>46}9k^qrezp3p zqZoUtHV!niny8&+RZh0Q$t8ES;9sOe)`ri z^c*y=f2`~0!L-d_okQHGZ6)qTT_VMut5N0`+?Z&E(9N1hR|rw}N>W~IW+K*~3d-^r zhMp-x9VrYj$9fk{O9~RQs@LzrDlPYZV%tA4CJtUFal)_0dHvPBo18y@HC2Lz^Obzu zZ6R{1(pcDxx%i)OG+Qj={M#0OMFDM&-4BP7JcEGPeJI_8T($?n>IFE*yC zXSeFGA4|Se=PJ1zPIpfb-!8ladZhtS;rUzMB7hIO*tJ6VNHefH(!SK{ayN%l#(h< zM4!Cz*bPeGnX$H-RLrmpH#Rb2^B^(20rytUZjL=Yd~gn&`>rWpVtX3hpfojg;!LWG z#h)j*G|1WgFd*83hJ5wcc!LN;^Y>KA%w;t!%H)$S&FBa3!_uj)Oe#pc3b6bC|CC{pW&VFN;G%1!FoZE;@aV9F8@VMxs z&UfWME}S}HP-(IF_6!!i1F<;7X|_3`F2UhwnYjj5G_3;nuf+OH=wpf+Q5GeE>TnS} zHe@ob#X&QwdX9~>91Di~)5$}fNGkLt;$9?tMRMJcP-i7QQRTq9MDA%x|1?(o{G0w7 z(nTLJPfROOX~mG89s00t5IxonFMys?74SlTatGp{wi3KW$j@SW??DPQKWa?B0h?Z& zn7t4Za>1Iq6X{UTt|ibnAZ{F_nj7j?od-h<4FzqWjxNAY87C|(AF!yI$AkoaDK2n7 z7PyK=_+};LLolWUEcM%@d~lj8)-;f4I8>?7*gi?bTDbxXc>R^3Nr=|{du2dTF_`3DFbt73eth=3KLZAD3Gtc?iBxtrtNuofXx%mqt^k0CkoGHJu#)!38ra}lt^IE-0u zC4#Y;ynbvgz7tB+!frRA%yu$BZJ)x``2%Hpu~Wr0o1FoLx&$mZwA{_Pw zW(&=vA1P2cCcoX1B<&auaeyv1S~#4Xh37paF+^`_wFm`N|3gfjoTR?xT31z^2 zI5yBC1Bhmf=cz7VFMnH~zdsn7R?k+(PpjNYisckr=T+@c5A)u+@klna z4uS9kyj6zw+3U!+k^mqZEmzyaep8zd52y zH8rvl+KmP7!coPR)dt#*I(GGqk7eet4qKC>4t{-Kgvuhp!NkhU$Ho{{ecV^9jSh
%V@rR-v=5xByb3x`?S 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 J_209Y{{vQbkuCrL literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/images/made-with-hugo-long.png b/themes/hugodocs/static/images/made-with-hugo-long.png new file mode 100755 index 0000000000000000000000000000000000000000..c5df534cff1951045c72e2fa8d010cf09e3833b0 GIT binary patch literal 9318 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

h3Y4MbwEg z%Kb;6JT^)v>2%lH!#}I0Bk*85kH1e2HecYsbh2pWxcV1~0C{`qN;k2!*jM)lNeW5x z8^MTMD}7NJe5dZHoL+I;e`OW_Eu{EYGa*TB{oh)Pf7KQLSL1)mD*h|E)_y9}N%Qgw X3*++@emiO%3XQI|p;qmq=P~~S{QF0j literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/images/made-with-hugo.png b/themes/hugodocs/static/images/made-with-hugo.png new file mode 100755 index 0000000000000000000000000000000000000000..52dfd19e55088bc16d19b3fd705bdd317015b8ae GIT binary patch literal 8900 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 literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/images/powered-by-hugo-long-dark.png b/themes/hugodocs/static/images/powered-by-hugo-long-dark.png new file mode 100755 index 0000000000000000000000000000000000000000..1b760b1bffdeebfe94db88acd6b157bbd521faef GIT binary patch literal 3857 zcmbtXX*AT2_qK1*kZ+dMV91h4hA(A4V;h;Vj6JDj$y%0VLLXTo``D8uCQFhvdzK_r zV+qqtNSTRjGs)P-8v6Oa{GaoC_q#9d^PK10bI*D1o9Em_E3Ao-zzG31HZ~y)8fC-A z#sM7iM|_-z-Te5i@6}4G0fI^|(y?d7<;>=_+^YZdUL`1%;<2^k+;cz&W zO5LT*!eFqKm6f%~277yZeSQ5;pFRl-3l|j?sjI6eBqYel$PAu{>=X+TV&|)@tc*Bn z=^>~`B9ZRgx$_&7KQ%Qa$tmpO;!^)lz-PHfb#-+bJTgP49;T9oR0gdn)FjQ^RAFdvarL7clmbbIP3A- zLr+x^O^CLuR->HcFymk^4=WkMZAJ^c24kJ6jc4c za#PgEtF+zLpA)Ufj%ZIV@coi|OLb98L7~1G2jI4O^SZ3x&XN3MbdkC$FxF$k%iFxj zE4k281@Y8ymjkr%`?q$*4-vD;1#ZWVHDvmmDRo6bTYzzu?==xe{RCJf``sp(r?gCD z6tss)JZ>%Z!>Ex1@Xj7ShNv1fTD;fnc5;V*jhCKSg}b^k2~YK=nO|fFt)iRB0|t zmnIml=4RFY?&mw4y1%8^P>f#nw$l23Zbk@YiItB86@z@46rZx?0F^>7zg|;oab!o%mByp5jW4qc{tZuF(mnDdGHd2XN&gYUgT1&h zBo15=>9JNRnUPj*2{;SBRV1FK&2pm`ILjAKR<$rQ&xDJElfORQ1KGBO08E+0b0W!tfNR9eg9uBOj zYTRu-3kE4?a(uc&Z!_%SI{)U4E}(JsKEMg^nn7%8fAqI~mXn)7!iyGEe07$`zug!w z7^_U{tf7e)Z{;njVj&tf+XOk_oS}VAaoh`^*yoA|`<0%|(2ZMPqwGu4II7CRMtjmK zsy64#k9p=)psx$l_WeD<+PRYqgJ?^j=H@Y7jU*Gu?w`|CniN>+m)HPT6A|}n3R%*T z11#If>k60B%0k7i8~KQ(5vI1Zqa*dH5HM9zb9*&DuPfDZf;Q^Qnw&KqsgVGzW1d#d z#Xa+!rYA;3HkNkOsDI@J=Z}pHOR&$C46P%VJc{B?uRkj_fqIk>wMIXb*Revi-(|?( zdrKg^egFF3*bzjQ_A|nG0mIRwjM!_Ust#Z&nbqgY6@{QD5`1aOtfsp!%CqyJTO*e; z7=agcxtVZf zGQ}t7%Z=8;c5$b&Lv42zFh0Go&!ucY2L+D5*`Iz;g53tZHF}mKdOsvKyY#Gr?g>~}&Y0bFy3}E-)r;T}atNJIBDM`(r?XA_32W{BJb=*gEhJH@NO4eO?m>vUl4s!+#O5dk{*?}))=nW z6u@CJPS9h?k0yd&HzdvUQ24&Rxp`W=rAensB+v&oG0V&TU{n5r)A_6pNBCaaMP)3K zOCSREn1D69mAhIet2!lE@p-S5h2nf~xWdv&OvL)_bC4+3KT}7Y@T}DDBKhYrZrl^H zEvN*+El#)~J2~T*q1OqTRthS^%;XYN%@-`&-FbjBJn zUb2Pybf(^trF1ZWpgPM^5~d~JTLh?x$e*zu2`v^_EH)qws)?uQi2GbVYdop`q6ibm znB53t>0ZCx&N@+2)tj!;5S^xs*>o;0AHZR%lkdOU>1_PVlJS# z*$2VD6LM1cf=D74KVm`0`-ubZ$thoi%ZPInbcB}V1Kg&^+kC>W%i#0jg{&eoQc3vKPI0ycnoCX(#{o-kHhNIbbJORp94CPO`60$4 zURyX{8UQ>$U@7oVSL&U`++Xx`-ppI<#n*+W|9L&VBfAxni}(Gg=>bn4?9bl8Dl9H$ zpJnN+{<4#j3Z1V7`U9)mhVsXsGel0QzM0)?=qxd}JA zV{Wv(%SvIc^DEC1lN7Dvm1{m_8@%*3^W!~fDDQ6Ok-E4PVe z@QpJ1w9cG<+Np9iDSmfOrWVq8#3#;?jLb-wj|_N%)1xOkM10FgN^rN4NZ!j&bXCAW zh|0WR`ZqOxq}@It8;XsUPkcp6Py|YSszL+5UJTD{a>jvfTK`aoW6;JDvX?%`Y96ee z#Y1V;z+#_^1NceDNpf!pHbKAep&&KU{mX*9l&||#?iVc^ZHo=7cJDNXD`eqzV0Q^B zJ6o*EOG~FFj~7rdBPex{v(O&NUB4{w(D*iT09L+KEmCf*9%b)NZSuQj&#X-XUMN0) z*#4*H`ATyZ;<&Ua&zmX(XHD2v^S{z&*aU^t>YxP-rM6xh%CQ-_8O z>{cR@TXLb|iO_k1n2KcV>ayEu#!bDPwuT;jd>qer#dfjvP65eM%{L!g}E&bN%ge&h`q?JR}7$V5!FS(63vQK(@hL(o$W>KTcvBmVj zW!nZX3tV%ZL#KttC`Wm z{5U?wv2)_a9odVsuFpkHG)OZwyeFo7Mmoi}=Rh71^m>CS(GurlKCjB%azJuVyJ~}b z1QeYve8k^3G1MyA6cOwrlQC%QclFGA!JZt*Q8kwS&uac)UEfCPjg|8@&z59NAtg=; z#NP>=-Jvi`Jr%@B@Urs(m)LA@8sXmvh>JtL~DVX_3Ar91~JfVrRJjk%=Yw2O5G z1VqSF6=1o8B6_w_z}IjqzAQ^8L+-(iPesr&j2P0qdF6B{87Hvqr<|BT_86~gr^cT>k43b?Y$H_*;l8FRrTuX zUs!l=;OndFdENmVf@uO7w)1Ls>|oqZ3Xf`q_4=YHDcAklFS1357C)7<@yhVWQU{}^s| znA?StgBsqi+~1W4EF}z_LF!@q}KLaYvR*!00B$!Hm`|RwEKv=u<+>qwav|x7UXA8XV`wS&2wXD|!w4*pZrZy)-LsB5LU1O%JN<%qAyihl%1+( ze!ljJCg#i18EI03zUA3Sj_IfA@8;LfLaKY&K(4AS{{Q)*e5h}ZFa6~ZWHX+o5V9SlISzk3 NHjFVARcq)H{U2W{oLT?? literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/images/powered-by-hugo-long.png b/themes/hugodocs/static/images/powered-by-hugo-long.png new file mode 100755 index 0000000000000000000000000000000000000000..37131359d059328e415c8f5b09941a1ec3d0f5dc GIT binary patch literal 3773 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 literal 0 HcmV?d00001

YrIe$G<3bf5q;R3DW&VDVdIW;!yUxTgs1-Hq z-eCR+2?T;~!Qt&@VqgUFuNq|m|CJd8iVsIu#M9kEMLjtpz^8)su*A>F(bqotgW`hY zK=y94pf~yYgj>^G1A)J-+ouMI&V|u#r-BLjJLQME+aGQXZ^4B^n_`OtVUM6<=05SA zDmCd~75XKK+sgI*-G_q-?QR#J(!p{`ikZJmI?hGb@SNAwG}!4%2$5Jh1$;t|sNHT2 zwDJ48GuiTt&Cp;oN|H^dw!3mR z`|%Jf9Z5Py@J4?=#$8^1Q5L5A9iC5XGSWWgMxd!BDKnMlI%=}u`9ZP#)5w|CkM6RB z?9=uak1E}t^HhaHPD@%(AkPwt^X=U}da?L?FJ`E5A|Ndri7$8(Ew0$;;N+clxx3w^ zN!ggBt9lk-yz}(^MPLCX45(Yw5D4@{5rv}GJa8>&8xp&JD(0gH*VRx)9!ENNl#w)4 z5Kc(ONfS=mJ;?&UkW(j}#B@Q}5hetzp5)Xo4PQth<==+JT5i;#LwbpwX-vq2M6~S+ z6)ZXm+2ymTfc1V`lYLH?;r`fmo37{3G6_70;&7Y0G_v{2l$DTJT_i&XF?ev!PlZUw|G(DOo#-fs{#hTg%>KjQVXbz9AG(aLw zx*eM6U%GVl0` za}m+$bx41r;3E>KiJhU~fV3`IOZFT@@J)&l7}7BV!a)W@ z#*rA(Fo`%g_{DUeOpU=oLFKFTO-2Hmnm=+CJl)Sz4hyZNeX9ILS>L?x)<(AC-s5MWMkn6E3 zYeY!+s+R?kW+vqRv~rH6%XB2{=vkF@>mymnxj;n+`ACMa#SA0w(UEUiVZER}3)f^w z$&UyK+Y`hGX9%f|8+9%Q^K;phuABNVA)&Rw<8#-S zPY)k99NI2ugudx@ps2@I1m9HLi#wq{IR*?7|F~_itAP$fVqb(55UCfp_Z;8~x_OX*yD&JDSTf z;g`muN?H%7t|K>PBiwY(0t49A5_M2CQ$g=JqJ76nZ@fb5nD|=KQ-j_g?-jLE92{-@ zWe?|wYwQn_dEF8`&VP6^VO5PFg)%DA2j3xcg?y{rfBp$x-=PoYotSP}(|`eA)*a&e zPIZq3p=ZC6K+msTvicMpz2P@*=R96%g^qktH*m5!o%r>X-+!BlZ^poOckdCVDS@e) zfPTs*nE81{0~Vwj?u;V!g{B|7>h~XA4)At;h_zK;yYe&fhn#I82j{=+oKx5Bdp<0| zyq~fnYHUYpcfTA_T;C3TqawR-3T*Ih-7UNWK)6pOeAy1C4F|_2bXxsD&!5iKGJL^} zQbV(u*SKL+a}6FLv#mhbbpPScp!wJ5PsN%7&O?@%R;ynnytcSQNW1<;x|_x>TvkXq zP2ZmC@xK~Ip4a(H0o%9j9k~NuEVMciX#5DnJ;FRB;LNwL(~|8I7-fDD=GXYjKE_ zFY@~3i$cf;g0|gjVXs?1+%#?`+D@lXzd=k{xCwg|5C1{2KIMX z%3|G$&mno(n3chKpT6)dH&An#9}j67Vx)1O6f5j~Aa*v;xaKZg`J*iB9i4h8^h7E^o*1c!TkyLD|xQvvST#`dygX zywqpAD0AJd1*t!+H{d@i7x^!RXuWYrL@hv2S$%2{Byd-0ErMXhN8?3B_2)6;)BW{V zQNNUUw4)~+Korw(N^fyvNX+ExNgKHOnW7fx+xy$b_ip~>oxU=ep57BKnO$S|L8LY8 z-{|UOz7HWnGJk|c<<0&o5wO4TIQqLPgua-$hT8jd@A13FSG94OoHb!o?{j47s0(<7 z21utXWuDY?lanjk2p?TQw}jpHKkj=u6zu&q1k$Xn9|Y6!5@h}pRcqId;Rdcei+b2z z0!9^ruV7oxZyQo2fl?f9pVPbsq7imq?x)klnoH7ZP<7Bm2~E7TACQhr(VqOwi|5CN ziXDh-QFDW(@J}GR&JEKlU_{{0w>rQWU;{$+Gj8)Ik6}YQqd2Pm`uNwbLL31bpFv=} zTx42xaGvhZzyGj=h8wJgFNGNUcEozag4Y-@7Zm>n0*M?hX5I3L>BWJ!Jde$fnra{W zK0NmIvk(r8?U@p4-JASOC+q?vy~9MO*($j=WMQ5%$D{3JYYeH99k453vdPud=r3tM z!2lOh+Kw6#jp)dlgK{MjTeRJUN@w8E3in(UuEf-VwaPAi*}Cb~x@>~6Jg40hl@uJW zXs=z(tL~31i!LM=u8oKSI`7nzci$(eXstG~uNw&Iqw3XH+p<69N7#~LxiDIegCVl5 zeuC|GAEEfPonzAsK6`>8WgPv z^VWxx%VsJt6n7s_ZYp(QBY~fgmYGhL=4B+U1TKtUh()067J~HGAfUtpSh|Ja@xTX8 z6R^Ns^Es^yr9R2|HUf1g11UTuwn}AnS#m*GVD+;$i1F#D!?Gg_N!;S{ zb1XLofhlXVtbOGr550D5c)sxEnc(avtt29CAIAA0)ov`ZkzWalTI;NA$Y#7j{0}(U zdhqxvl*GQyt06ZwB5{vYK0pSd5cWe@A)wT~lJZE5iQs0IuOk_m=$o~gTw=hQzPEJq z=z%SgY$3W(=|!j%tkrE73j{-9f7;O5W@JbRb>dQ@;;^{8JKTg~=dp6lKsau${s$zS z%6O9|Vy$ypW7x^vnlvp264`$722n;#V@19)oKcyI&ALM(mzc`nQgs(uHCG^&NL3#@*HzY4-Ec^oB5PW~+*dl~8TOmx$C zr~f~kLMGIa&jW831^S-x(pDr*bi-Myiy)C~Y=5T{UZ9qN71T$J7FvEA0?lDTd|s*5?CgvTJ36oXK&fp=527G?p9`!&S{AemV6-PK7x(oSUtpXO(zMO0 z&=z}Ll5OCmCmAy-;PYP6_9aANP#bv8T@P79(y-ZNrtZtSSdxl~Loykn&<$YSh0Crs zvWNo%81dNlG`&q{*+*%}nQ0ZxBoJHM6H4!Z+8kpv8nGq*CTmS#fweTbY3$tgegOv>SO=+?IfHOCJ(g@Ck|Iwy1_~HzWTTagq@Rt`O(k zxxv+S-X*BCZR4);`tM?Q-t*6WRUL50@X}i2Y7*mK8}{480xsv>>FCBIq7c{C6!@Yw7>jJ>d(ZRJ;Rpi zLz&!hOyieZ1DliD)j0x7&Edo?>EX)Sn}x5aLqkVKMnYfcQrBhg@Jw z5SGa&7?ug(RLu%WQ{iI~a+~}ANPGPM?V0c2S-qs@0^IPKiYWD_93`JF02tjf)2q>O Gj{09GbYRy2 literal 0 HcmV?d00001 diff --git a/themes/hugodocs/static/images/made-with-hugo-long-dark.png b/themes/hugodocs/static/images/made-with-hugo-long-dark.png new file mode 100755 index 0000000000000000000000000000000000000000..1e49995fba5ed57f568ed2410a0d4e2e05d8c927 GIT binary patch literal 9116 zcmc(FbzDZChDQB1;3vq09_XVqUJBA6jF=PP^6f+nE&<9EdwAPy?i$vz`;2z6n%Ml34AwzH_VZ5O8?#XxQ{2|Y?c}j+uq#V42Q#Y zbae1|JR2KZc6PR#o7=0l72~q$#l^)NH*O3L4$8~RCnY5vmiL>Rn;(r{JDK>k7g<|T zQL%qQx;WVf38#P8_>iwZOrrLuvH{olQbQ=KGN@t)ssRtx0p?*{3q+^`CGqf- zD`#Y4?EsM0i~Dnw^K*?nQoVLv&g3Er_T-T%8IAwV3!n@%a0dXci|OlVnIYzPa*wq+ z^lN(JeNz}1daoxwXBBze?Ls8 zgZ^JV<*E|JPgFp;4LdTsW(l->^HPdTD9OJwE0Ll2`r@hpl7V_wo`VD4`eYodjd)A+ zCYjSRPFnSA9^SKQxcBNxaoFqvVUO#1t5*Ze)at^VU(y6}Dz|L(pKck4mi<(g0TAx| z-gNa|d27}PG8{FWvF$j~dUeGN^9b>lHF9pd;9f3^foz5)#4(z$*FO-;9ef^$H2p#mzAdJ@0JoFR{ zea_UmHyhKYz8bq$33P~HkEuI~BZ_UUtpRzP;M^!18e|W5*ipT)Gz$n33V9%@&Ha&B zg+kd_aq!RJ2{!va56P#{zQEwg=wW566(QPkGDRD%t8kC;|dGH>f;*8Sc`S{ptT<7^0a zM~9LJZ5|fti2hcR^Bsp*^Rgc~JqSGg&QC_0-M>I)AP$_3FOYA1hTbj7LE@y}<1rfU z+j5sR$8}fzKX(UpI0HYqze88h8 z%yWvY!pry;;-wmvQ3A4yaOndFzVEQ|%MQWLe>gpx2;W|L@M${4(w1NvZ%7)Ym`|Ml z;@4(8#R4n9e;oc4URI&i9@C}>&Jt>eEo}-rPcGdMBGn}l#U_Sye7NxfIJ~v5=4f<( zCxk-dmw&$GWVA|e2ZVxIhloiKQZk|47G(BeB&y!a-K z(hxp$>=iXU)8L9ekJ`erb+%L+0f;Ne9WNjg!$YU%!% z)ASPltWP|1r3@eNk6&moHI0=rKu*0I6~xAhx#hzv;z(@61E-@Um_SBmse~(2wx+$n ze;zVNT+Lvt#SNdDWkoZarEj@S`So;JJnm>7-}7&Wtx7d?Ru&d)X+#=T@_i4l=nN^r znEw+C`jILz6@rceilfpz?U_Ldm9Gk5YZc!#%%5Z2hp>w8t})_WzTBFOmK+&i1T{2P z7LuX5LcNe6rMw(2`gb&a>%O(GQ32n__dZ!t%9GI{Apx9USVnJTmyp-Mau;mX0zF1{ z8h$eye_KSwTK?Mur2^#D68Z+L#p9lTlS-9FO4+4J^(SnS!HVb*NBSne=q2)j5~LiI z{C>LbLo@t^UH$?6!w`e26Z1xT)eDOHUKD7o{R$18n zfjq5wrb_2cKX3g6y>YBhX2)hYHf5wZ5^rRiGWvADL_iHER{MNQ(aD3O@LV6R`1