commit 4bef824c7b601d736cde47777043d813251b617c Author: NeonXP Date: Wed Jan 3 19:09:11 2024 +0300 initial diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..d5add1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,29 @@ +# http://editorconfig.org + +# this file is the top-most editorconfig file +root = true + +# all files +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true + +# markdown files +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false + +# configuration files +[*.toml] +indent_size = 2 + +# web files +[*.{html,css,scss}] +indent_size = 2 + +[Makefile] +indent_style = tab diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2be26dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.idea +**/themes/ +exampleSite/public/ +exampleSite/resources/ +*.lock +public diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 0000000..98e2e1d --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,141 @@ +# Contributors + +- [Chip Senkbeil](https://github.com/chipsenkbeil) +- [Dale Noe](https://github.com/dalenoe) +- [Gabor Nagy](https://github.com/Aigeruth) +- [Harry Khanna](https://github.com/hkhanna) +- [Ihor Dvoretskyi](https://github.com/idvoretskyi) +- [Jacob Wood](https://github.com/jacoblukewood) +- [Jan Baudisch](https://github.com/flyingP0tat0) +- [Jiri Hubacek](https://github.com/qeef) +- [Khosrow Moossavi](https://github.com/khos2ow) +- [Maikel](https://github.com/mbollemeijer) +- [MetBril](https://github.com/metbril) +- [Myles Johnson](https://github.com/MylesJohnson) +- [Niels Reijn](https://github.com/reijnn) +- [Padraic Renaghan](https://github.com/prenagha) +- [peterrus](https://github.com/peterrus) +- [Philipp Rintz](https://github.com/p-rintz) +- [Ralf Junghanns](https://github.com/rabbl) +- [rdhox](https://rdhox.io) +- [tobaloidee](https://github.com/Tobaloidee) +- [Tomasz Wąsiński](https://github.com/wasinski) +- [Vinícius dos Santos Oliveira](https://github.com/vinipsmaker) +- [Vlad Ionescu](https://github.com/Vlaaaaaaad) +- [Joseph Ting](https://github.com/josephting) +- [Abner Campanha](https://github.com/abnerpc) +- [Martin Kiesel](https://github.com/Kyslik) +- [John Tobin](https://www.johntobin.ie/) +- [Thomas Nys](https://thomasnys.com) +- [Piotr Januszewski](https://piojanu.github.io) +- [Artem Khvastunov](https://artspb.me) +- [Gabriel Nepomuceno](https://blog.nepomuceno.me) +- [Salvatore Giordano](https://salvatore-giordano.github.io) +- [Jeffrey Carpenter](https://uvolabs.me) +- [Paul Lettington](https://github.com/plett) +- [Thomas Vochten](https://github.com/thomasvochten) +- [Caspar Krieger](https://www.asparck.com) +- [D_DAndrew](https://d-dandrew.github.io) +- [Wataru Mizukami](https://github.com/tarumzu) +- [Yudi Widiyanto](https://github.com/yudiwdynto) +- [Łukasz Mróz](https://github.com/mrozlukasz) +- [Jia "Jay" Tan](https://github.com/j7an) +- [Ryan](https://github.com/alrayyes) +- [Naim A.](https://github.com/naim94a) +- [Alexander Rohde](https://github.com/a1x42) +- [Shreyansh Khajanchi](https://shreyanshja.in) +- [Lionel Brianto](https://lionel.brianto.dev) +- [Luis Zarate](https://github.com/jlzaratec) +- [Ariejan de Vroom](https://www.devroom.io) +- [Bobby Lindsey](https://bobbywlindsey.com) +- [José Mª Escartín](https://github.com/jme52) +- [John Schroeder](https://blog.schroedernet.software) +- [Tobias Lindberg](https://github.com/tobiasehlert) +- [KK](https://github.com/bebound) +- [Eli W. Hunter](https://github.com/elihunter173) +- [Víctor López](https://github.com/viticlick) +- [Anson VanDoren](https://github.com/anson-vandoren) +- [Michael Lynch](https://github.com/mtlynch) +- [FIGBERT](https://figbert.com/) +- [Yash Mehrotra](https://yashmehrotra.com) +- [Paolo Mainardi](https://paolomainardi.com) +- [Ka-Wai Lin](https://github.com/kwlin) +- [Piotr Orzechowski](https://orzechowski.tech) +- [Glenn Feunteun](https://github.com/gfeun) +- [Santiago González](https://github.com/netrules) +- [Codruț Constantin Gușoi](https://www.codrut.pro) +- [Clément Pannetier](https://clementpannetier.dev) +- [FantasticMao](https://github.com/FantasticMao) +- [Utkarsh Gupta](https://utkarsh2102.com) +- [Latiif Alsharif](https://latiif.se) +- [Endormi](https://endormi.io) +- [Rajiv Ranjan Singh](https://iamrajiv.github.io/) +- [Pakhomov Alexander](https://github.com/PakhomovAlexander) +- [Rhys Perry](https://rhysperry.com) +- [Arunvel Sriram](https://github.com/arunvelsriram) +- [Lorenzo Cameroni](https://github.com/came88) +- [Jared Sturdy](https://github.com/jsturdy) +- [Daniel Monteiro](https://github.com/dfamonteiro) +- [Dave Rolsky](https://github.com/autarch) +- [Joseph Sanders](https://github.com/jls83) +- [Rabin Adhikari](https://github.com/rabinadk1/) +- [Hussaini Zulkifli](https://github.com/hussaini/) +- [Ellison Leão](https://github.com/ellisonleao) +- [Lucas de Oliveira](https://github.com/lucas-dOliveira) +- [Jian Loong Liew](https://github.com/JianLoong) +- [earnest ma](https://github.com/earnestma) +- [TMineCola](https://github.com/tminecola) +- [Arafat Hasan](https://github.com/arafat-hasan) +- [YUJI](https://yuji.ne.jp/) +- [JaeSang Yoo](https://github.com/JSYoo5B) +- [tianheg](https://github.com/tianheg) +- [Felix](https://github.com/lazyyz) +- [Peter Duchnovsky](https://pduchnovsky.com) +- [Alex Miranda](https://ammiranda.com) +- [Alphonse Mariya](https://github.com/alfunx) +- [Ziwei Pan](https://github.com/PanZiwei/) +- [Viktar Patotski](https://github.com/xp-vit) +- [cuso4-5h2o](https://www.cuso4.me) +- [freeformz](https://icanhazdowntime.org) +- [Roberto Gongora](https://yourfavourite.blog) +- [kuba86](https://kuba86.com) +- [Vladislav Matus](https://github.com/matusvla) +- [Kirill Feoktistov](https://feoktistoff.org) +- [leins275](https://github.com/LanskovNV) +- [Michael Weiss](https://mweiss.ch) +- [Simon Pai](https://github.com/simonpai) +- [Brenton Mallen](https://github.com/brentonmallen1) +- [Xiaoyang Luo](https://github.com/ccviolett/) +- [Michiel Appelman](https://appelman.se) +- [Mark Wood](https://digitalnotions.net) +- [Sam A.](https://samsapti.dev) +- [John Feminella](https://jxf.me) +- [zzsqwq](https://zzsqwq.cn) +- [George Tsiokos](https://george.tsiokos.com) +- [Eltjo](https://github.com/eltjo) +- [Saurmandal](https://saur.neocities.org) +- [Jneo8](https://github.com/jneo8) +- [Daniel Nduati](https://github.com/DanNduati) +- [Simon Hollingshead](https://github.com/simonhollingshead) +- [yangyangdaji](https://github.com/yangyangdaji) +- [xiaotianxt](https://github.com/xiaotianxt) +- [Nour Agha](https://github.com/nourkagha) +- [Brian Lachniet](https://github.com/blachniet) +- [ShortArrow](https://github.com/ShortArrow) +- [Martin Hellspong](https://github.com/marhel) +- [Robert Tucker](https://github.com/robertwtucker) +- [Michał Pawlik](https://michalp.net) +- [Kilian Kluge](https://github.com/ionicsolutions) +- [Jaroslaw Rozanski](https://jarekrozanski.eu) +- [Easton Man](https://github.com/eastonman) +- [Yiğit Altınay](https://altinay.xyz) +- [Fei Kong](https://github.com/alpha0422) +- [Ahmet Enes Bayraktar](https://github.com/aeb-dev) +- [Todor Bogosavljević](https://github.com/tbx1b) +- [Kemal Akkoyun](https://github.com/kakkoyun) +- [Igetin](https://github.com/Igetin) +- [Kirill Che.](https://github.com/g4s8) +- [iron3oxide](https://github.com/iron3oxide) +- [Jens Rantil](https://github.com/JensRantil) +- [Muqeet Malik](https://github.com/mmalik23) + \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..29dbd75 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 Luiz F. A. de Prá + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8e0c3e4 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +HUGO_BIN=hugo + +.PHONY: build demo release + +build: + $(HUGO_BIN) --themesDir=../.. --source=exampleSite + +demo: + $(HUGO_BIN) server -D --themesDir=../.. --source=exampleSite --bind 0.0.0.0 + +release: build + rm -rf ./resources && cp -r ./exampleSite/resources ./resources diff --git a/README.md b/README.md new file mode 100644 index 0000000..482a132 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +

+

+ + Hugo Theme Badge + + + MIT License Badge + +

+ +

+ + Hugo Coder Logo + +

+

+ +A simple and clean blog theme for [Hugo](https://gohugo.io/). + +![](images/screenshot.png) + +## Live Demo + +See [here](https://hugo-coder.netlify.app/). + +## Quick Start + +1. Add the repository into your Hugo Project repository as a submodule, `git submodule add https://github.com/luizdepra/hugo-coder.git themes/hugo-coder`. +2. Configure your `config.toml`. You can either use [this minimal configuration](https://github.com/luizdepra/hugo-coder/blob/main/docs/configurations.md#complete-example) as a base, or look for a complete explanation about all configurations [here](https://github.com/luizdepra/hugo-coder/blob/main/docs/configurations.md). The [`config.toml`](https://github.com/luizdepra/hugo-coder/blob/master/exampleSite/config.toml) inside the [`exampleSite`](https://github.com/luizdepra/hugo-coder/tree/master/exampleSite) is also a good reference. +3. Build your site with `hugo server` and see the result at `http://localhost:1313/`. + +## Documentation + +See the [`docs`](docs/home.md) folder. + +## License + +Coder is licensed under the [MIT license](https://github.com/luizdepra/hugo-coder/blob/master/LICENSE.md). + +## Maintenance + +This theme is maintained by its author [Luiz de Prá](https://github.com/luizdepra) with the help from these awesome [contributors](CONTRIBUTORS.md). + +## Sponsoring + +If you like my project or it was useful for you, consider supporting its development. Just: + +Buy Me A Coffee + +## Special Thanks + +- Gleen McComb, for his great [article](https://glennmccomb.com/articles/how-to-build-custom-hugo-pagination/) about custom pagination. +- All contributors, for every PR and Issue reported. diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c2de8e4 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ ++++ +draft = true +date = {{ .Date }} +title = "" +slug = "" ++++ diff --git a/archetypes/posts.md b/archetypes/posts.md new file mode 100644 index 0000000..76242f8 --- /dev/null +++ b/archetypes/posts.md @@ -0,0 +1,12 @@ ++++ +draft = true +date = {{ .Date }} +title = "" +description = "" +slug = "" +authors = [] +tags = [] +categories = [] +externalLink = "" +series = [] ++++ diff --git a/assets/js/coder.js b/assets/js/coder.js new file mode 100644 index 0000000..9b46cfc --- /dev/null +++ b/assets/js/coder.js @@ -0,0 +1,97 @@ +const body = document.body; +const darkModeToggle = document.getElementById('dark-mode-toggle'); +const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); + +// Check if user preference is set, if not check value of body class for light or dark else it means that colorscheme = auto +if (localStorage.getItem("colorscheme")) { + setTheme(localStorage.getItem("colorscheme")); +} else if (body.classList.contains('colorscheme-light') || body.classList.contains('colorscheme-dark')) { + setTheme(body.classList.contains("colorscheme-dark") ? "dark" : "light"); +} else { + setTheme(darkModeMediaQuery.matches ? "dark" : "light"); +} + +if (darkModeToggle) { + darkModeToggle.addEventListener('click', () => { + let theme = body.classList.contains("colorscheme-dark") ? "light" : "dark"; + setTheme(theme); + rememberTheme(theme); + }); +} + +darkModeMediaQuery.addListener((event) => { + setTheme(event.matches ? "dark" : "light"); +}); + +document.addEventListener("DOMContentLoaded", function () { + let node = document.querySelector('.preload-transitions'); + node.classList.remove('preload-transitions'); +}); + +function setTheme(theme) { + body.classList.remove('colorscheme-auto'); + let inverse = theme === 'dark' ? 'light' : 'dark'; + body.classList.remove('colorscheme-' + inverse); + body.classList.add('colorscheme-' + theme); + document.documentElement.style['color-scheme'] = theme; + + function waitForElm(selector) { + return new Promise(resolve => { + if (document.querySelector(selector)) { + return resolve(document.querySelector(selector)); + } + + const observer = new MutationObserver(mutations => { + if (document.querySelector(selector)) { + resolve(document.querySelector(selector)); + observer.disconnect(); + } + }); + + observer.observe(document.body, { + childList: true, + subtree: true + }); + }); + } + + if (theme === 'dark') { + const message = { + type: 'set-theme', + theme: 'github-dark' + }; + waitForElm('.utterances-frame').then((iframe) => { + iframe.contentWindow.postMessage(message, 'https://utteranc.es'); + }) + + } + else { + const message = { + type: 'set-theme', + theme: 'github-light' + }; + waitForElm('.utterances-frame').then((iframe) => { + iframe.contentWindow.postMessage(message, 'https://utteranc.es'); + }) + + } + + function sendMessage(message) { + const iframe = document.querySelector('iframe.giscus-frame'); + if (!iframe) return; + iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app'); + } + sendMessage({ + setConfig: { + theme: theme, + }, + }); + + // Create and send event + const event = new Event('themeChanged'); + document.dispatchEvent(event); +} + +function rememberTheme(theme) { + localStorage.setItem('colorscheme', theme); +} diff --git a/assets/scss/_base.scss b/assets/scss/_base.scss new file mode 100644 index 0000000..fadbed5 --- /dev/null +++ b/assets/scss/_base.scss @@ -0,0 +1,281 @@ +*, +*:after, +*:before { + box-sizing: inherit; +} + +html { + box-sizing: border-box; + font-size: 62.5%; +} + +body { + color: $fg-color; + background-color: $bg-color; + font-family: $font-family; + font-size: 1.8em; + font-weight: 400; + line-height: 1.8em; + + @media only screen and (max-width: 768px) { + font-size: 1.6em; + line-height: 1.6em; + } +} + +iframe[src*=disqus] { + color-scheme: light; +} + +a { + font-weight: 500; + color: $link-color; + text-decoration: none; + transition: all 0.25s ease-in; + + &:focus, + &:hover { + text-decoration: underline; + } +} + +p { + margin: 2rem 0 2rem 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: $font-family; + font-weight: 600; + color: $alt-fg-color; + margin: 4rem 0 2.5rem 0; + + &:hover .heading-link { + visibility: visible; + } + + .heading-link { + color: $link-color; + font-weight: inherit; + text-decoration: none; + font-size: 80%; + visibility: hidden; + } + + .title-link { + color: inherit; + font-weight: inherit; + text-decoration: none; + } +} + +h1 { + font-size: 3.2rem; + line-height: 3.6rem; + + @media only screen and (max-width: 768px) { + font-size: 3rem; + line-height: 3.4rem; + } +} + +h2 { + font-size: 2.8rem; + line-height: 3.2rem; + + @media only screen and (max-width: 768px) { + font-size: 2.6rem; + line-height: 3rem; + } +} + +h3 { + font-size: 2.4rem; + line-height: 2.8rem; + + @media only screen and (max-width: 768px) { + font-size: 2.2rem; + line-height: 2.6rem; + } +} + +h4 { + font-size: 2.2rem; + line-height: 2.6rem; + + @media only screen and (max-width: 768px) { + font-size: 2rem; + line-height: 2.4rem; + } +} + +h5 { + font-size: 2rem; + line-height: 2.4rem; + + @media only screen and (max-width: 768px) { + font-size: 1.8rem; + line-height: 2.2rem; + } +} + +h6 { + font-size: 1.8rem; + line-height: 2.2rem; + + @media only screen and (max-width: 768px) { + font-size: 1.6rem; + line-height: 2rem; + } +} + +b, +strong { + font-weight: 700; +} + +.highlight { + + div, + pre { + margin: 2rem 0 2rem; + padding: 1rem; + border-radius: 1rem; + } +} + +pre { + display: block; + font-family: $code-font-family; + font-size: 1.6rem; + font-weight: 400; + line-height: 2.6rem; + overflow-x: auto; + margin: 2rem 0 2rem; + padding: 1rem; + border-radius: 1rem; + + code { + display: inline-block; + background-color: inherit; + color: inherit; + } +} + +code { + font-family: $code-font-family; + font-size: 1.6rem; + font-weight: 400; + border-radius: 0.6rem; + padding: 0.3rem 0.6rem; + background-color: $darker-alt-bg-color; + color: $fg-color; +} + +blockquote { + border-left: 2px solid $alt-bg-color; + padding-left: 2rem; + line-height: 2.2rem; + font-weight: 400; + font-style: italic; +} + +th, +td { + padding: 1.6rem; +} + +table { + border-collapse: collapse; +} + +table td, +table th { + border: 2px solid $alt-fg-color; +} + +table tr:first-child th { + border-top: 0; +} + +table tr:last-child td { + border-bottom: 0; +} + +table tr td:first-child, +table tr th:first-child { + border-left: 0; +} + +table tr td:last-child, +table tr th:last-child { + border-right: 0; +} + +img { + max-width: 100%; +} + +figure { + text-align: center; +} + +.footnotes { + ol li p { + margin: 0; + } +} + +.preload-transitions * { + $null-transition: none !important; + + -webkit-transition: $null-transition; + -moz-transition: $null-transition; + -ms-transition: $null-transition; + -o-transition: $null-transition; + transition: $null-transition; +} + +.wrapper { + display: flex; + flex-direction: column; + + min-height: 100vh; + width: 100%; +} + +.container { + margin: 1rem auto; + max-width: 90rem; + width: 100%; + padding-left: 2rem; + padding-right: 2rem; +} + +.fab { + font-weight: 400; +} + +.fas { + font-weight: 700; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} + +.fab { + font-weight: 400; +} + +.fas { + font-weight: 900; +} \ No newline at end of file diff --git a/assets/scss/_base_dark.scss b/assets/scss/_base_dark.scss new file mode 100644 index 0000000..4a1490d --- /dev/null +++ b/assets/scss/_base_dark.scss @@ -0,0 +1,91 @@ +@mixin base_dark { + color: $fg-color-dark; + background-color: $bg-color-dark; + + a { + color: $link-color-dark; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + color: $alt-fg-color-dark; + + &:hover .heading-link { + visibility: visible; + } + + .heading-link { + color: $link-color-dark; + font-weight: inherit; + text-decoration: none; + font-size: 80%; + visibility: hidden; + } + + .title-link { + color: inherit; + font-weight: inherit; + text-decoration: none; + } + } + + pre code { + background-color: inherit; + color: inherit; + } + + code { + background-color: $lighter-alt-bg-color-dark; + color: $fg-color-dark; + } + + blockquote { + border-left: 2px solid $alt-bg-color-dark; + } + + th, + td { + padding: 1.6rem; + } + + table { + border-collapse: collapse; + } + + table td, + table th { + border: 2px solid $alt-fg-color-dark; + } + + table tr:first-child th { + border-top: 0; + } + + table tr:last-child td { + border-bottom: 0; + } + + table tr td:first-child, + table tr th:first-child { + border-left: 0; + } + + table tr td:last-child, + table tr th:last-child { + border-right: 0; + } +} + +body.colorscheme-dark { + @include base_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include base_dark(); + } +} diff --git a/assets/scss/_base_rtl.scss b/assets/scss/_base_rtl.scss new file mode 100644 index 0000000..e237fd5 --- /dev/null +++ b/assets/scss/_base_rtl.scss @@ -0,0 +1,24 @@ +body.rtl { + direction: rtl; + + pre { + direction: ltr; + } + + blockquote { + border-left: none; + border-right: 2px solid $alt-bg-color; + padding-left: 0; + padding-right: 1.6rem; + } + + table tr td:first-child, + table tr th:first-child { + border-right: 0; + } + + table tr td:last-child, + table tr th:last-child { + border-left: 0; + } +} diff --git a/assets/scss/_content.scss b/assets/scss/_content.scss new file mode 100644 index 0000000..350a427 --- /dev/null +++ b/assets/scss/_content.scss @@ -0,0 +1,244 @@ +.content { + flex: 1; + display: flex; + margin-top: 1.6rem; + margin-bottom: 3.2rem; + + header { + margin-top: 6.4rem; + margin-bottom: 3.2rem; + + h1 { + font-size: 4.2rem; + line-height: 4.6rem; + margin: 0; + + @media only screen and (max-width: 768px) { + font-size: 4rem; + line-height: 4.4rem; + } + } + } + + article { + a:where(.external-link)::after { + @include fa-icon; + content: fa-content($fa-var-external-link); + padding-left: 0.5em; + font-size: 0.75em; + } + + details { + summary { + cursor: pointer; + } + } + + footer { + margin-top: 4rem; + + .see-also { + margin: 3.2rem 0; + + h3 { + margin: 3.2rem 0; + } + } + } + + p { + text-align: justify; + text-justify: auto; + hyphens: auto; + } + } + + .post { + .post-title { + margin-bottom: 0.75em; + } + + .post-meta { + i { + text-align: center; + width: 1.6rem; + margin-left: 0; + margin-right: 0.5rem; + } + + .date { + .posted-on { + margin-left: 0; + margin-right: 1.5rem; + } + } + + .tags { + .tag { + display: inline-block; + padding: 0.3rem 0.6rem; + background-color: $alt-bg-color; + border-radius: 0.6rem; + line-height: 1.4em; + + a { + color: $fg-color; + } + + a:active { + color: $fg-color; + } + } + } + } + } + + figure { + margin: 0; + padding: 0; + } + + figcaption p { + text-align: center; + font-style: italic; + font-size: 1.6rem; + margin: 0; + } +} + +.avatar img { + width: 20rem; + height: auto; + border-radius: 50%; + + @media only screen and (max-width: 768px) { + width: 10rem; + } +} + +.list { + ul { + margin: 3.2rem 0 3.2rem 0; + list-style: none; + padding: 0; + + li { + font-size: 1.8rem; + + @media only screen and (max-width: 768px) { + margin: 1.6rem 0 1.6rem 0; + } + + .date { + display: inline-block; + flex: 1; + width: 20rem; + text-align: right; + margin-right: 3rem; + + @media only screen and (max-width: 768px) { + display: block; + text-align: left; + } + } + + .title { + font-size: 1.8rem; + flex: 2; + color: $fg-color; + font-family: $font-family; + font-weight: 700; + + &:hover, + &:focus { + color: $link-color; + } + } + } + } + + ul:not(.pagination) { + li { + @media only screen and (min-width: 768.1px) { + display: flex; + } + } + } +} + +.centered { + display: flex; + align-items: center; + justify-content: center; + + .about { + text-align: center; + + h1 { + margin-top: 2rem; + margin-bottom: 0.5rem; + } + + h2 { + margin-top: 1rem; + margin-bottom: 0.5rem; + font-size: 2.4rem; + + @media only screen and (max-width: 768px) { + font-size: 2rem; + } + } + + ul { + list-style: none; + margin: 3rem 0 1rem 0; + padding: 0; + + li { + display: inline-block; + position: relative; + + a { + color: $fg-color; + text-transform: uppercase; + margin-left: 1rem; + margin-right: 1rem; + font-size: 1.6rem; + + &:hover, + &:focus { + color: $link-color; + } + + @media only screen and (max-width: 768px) { + font-size: 1.4rem; + } + } + } + } + } + + .error { + text-align: center; + + h1 { + margin-top: 2rem; + margin-bottom: 0.5rem; + font-size: 4.6rem; + + @media only screen and (max-width: 768px) { + font-size: 3.2rem; + } + } + + h2 { + margin-top: 2rem; + margin-bottom: 3.2rem; + font-size: 3.2rem; + + @media only screen and (max-width: 768px) { + font-size: 2.8rem; + } + } + } +} diff --git a/assets/scss/_content_dark.scss b/assets/scss/_content_dark.scss new file mode 100644 index 0000000..c4b961a --- /dev/null +++ b/assets/scss/_content_dark.scss @@ -0,0 +1,59 @@ +@mixin content_dark { + .content { + .post { + .tags { + .tag { + background-color: $alt-bg-color-dark; + + a { + color: $fg-color-dark; + } + a:active { + color: $fg-color-dark; + } + } + } + } + .list { + ul { + li { + .title { + color: $fg-color-dark; + + &:hover, + &:focus { + color: $link-color-dark; + } + } + } + } + } + + .centered { + .about { + ul { + li { + a { + color: $fg-color-dark; + + &:hover, + &:focus { + color: $link-color-dark; + } + } + } + } + } + } + } +} + +body.colorscheme-dark { + @include content_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include content_dark(); + } +} diff --git a/assets/scss/_content_rtl.scss b/assets/scss/_content_rtl.scss new file mode 100644 index 0000000..e3868f9 --- /dev/null +++ b/assets/scss/_content_rtl.scss @@ -0,0 +1,36 @@ +body.rtl { + .content { + .post { + .post-meta { + .posted-on { + margin-left: 1.5rem; + margin-right: 0; + } + } + + .tags, + .categories { + i { + margin-left: 0.5rem; + margin-right: 0; + } + } + } + } + + .list { + ul { + li { + .date { + text-align: left; + margin-left: 3rem; + margin-right: 0; + + @media only screen and (max-width: 768px) { + text-align: right; + } + } + } + } + } +} diff --git a/assets/scss/_float.scss b/assets/scss/_float.scss new file mode 100644 index 0000000..97cddc5 --- /dev/null +++ b/assets/scss/_float.scss @@ -0,0 +1,38 @@ +.float-container { + bottom: 2rem; + right: 2rem; + z-index: 100; + position: fixed; + font-size: 1.6em; + + a { + position: relative; + display: inline-block; + width: 3rem; + height: 3rem; + font-size: 2rem; + color: $alt-fg-color; + background-color: $alt-bg-color; + border-radius: 0.2rem; + opacity: 0.5; + transition: all 0.25s ease-in; + + &:hover, + &:focus { + color: $link-color; + opacity: 1; + + @media only screen and (max-width: 768px) { + color: $alt-fg-color; + opacity: 0.5; + } + } + + i { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + } +} diff --git a/assets/scss/_float_dark.scss b/assets/scss/_float_dark.scss new file mode 100644 index 0000000..348dafe --- /dev/null +++ b/assets/scss/_float_dark.scss @@ -0,0 +1,27 @@ +@mixin float_dark { + .float-container { + a { + color: $alt-fg-color-dark; + background-color: $alt-bg-color-dark; + + &:hover, + &:focus { + color: $link-color-dark; + + @media only screen and (max-width: 768px) { + color: $alt-fg-color-dark; + } + } + } + } +} + +body.colorscheme-dark { + @include float_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include float_dark(); + } +} diff --git a/assets/scss/_footer.scss b/assets/scss/_footer.scss new file mode 100644 index 0000000..10b0c0f --- /dev/null +++ b/assets/scss/_footer.scss @@ -0,0 +1,11 @@ +.footer { + width: 100%; + text-align: center; + font-size: 1.6rem; + line-height: 2rem; + margin-bottom: 1rem; + + a { + color: $link-color; + } +} diff --git a/assets/scss/_footer_dark.scss b/assets/scss/_footer_dark.scss new file mode 100644 index 0000000..dd02be8 --- /dev/null +++ b/assets/scss/_footer_dark.scss @@ -0,0 +1,17 @@ +@mixin footer_dark { + .footer { + a { + color: $link-color-dark; + } + } +} + +body.colorscheme-dark { + @include footer_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include footer_dark(); + } +} diff --git a/assets/scss/_navigation.scss b/assets/scss/_navigation.scss new file mode 100644 index 0000000..8f94a38 --- /dev/null +++ b/assets/scss/_navigation.scss @@ -0,0 +1,151 @@ +.navigation { + height: 6rem; + width: 100%; + + a, + span { + display: inline; + font-size: 1.7rem; + font-family: $font-family; + font-weight: 600; + color: $fg-color; + } + + a { + + &:hover, + &:focus { + color: $link-color; + } + } + + .navigation-title { + letter-spacing: 0.1rem; + text-transform: uppercase; + } + + .navigation-list { + float: right; + list-style: none; + margin-bottom: 0; + margin-top: 0; + + @media only screen and (max-width: 768px) { + position: relative; + top: 2rem; + right: 0; + z-index: 5; + visibility: hidden; + opacity: 0; + padding: 0; + max-height: 0; + width: 100%; + background-color: $bg-color; + border-top: solid 2px $alt-bg-color; + border-bottom: solid 2px $alt-bg-color; + transition: opacity 0.25s, max-height 0.15s linear; + } + + .navigation-item { + float: left; + margin: 0; + position: relative; + + @media only screen and (max-width: 768px) { + float: none !important; + text-align: center; + + a, + span { + line-height: 5rem; + } + } + + a, + span { + margin-left: 1rem; + margin-right: 1rem; + } + } + + .separator { + @media only screen and (max-width: 768px) { + display: none; + } + } + + .menu-separator { + @media only screen and (max-width: 768px) { + border-top: 2px solid $fg-color; + margin: 0 8rem; + + span { + display: none; + } + } + } + } + + #dark-mode-toggle { + margin: 1.7rem 0; + font-size: 2.4rem; + line-height: inherit; + bottom: 2rem; + left: 2rem; + z-index: 100; + position: fixed; + } + + #menu-toggle { + display: none; + + @media only screen and (max-width: 768px) { + display: initial; + position: relative; + visibility: hidden; + + &:checked+label>i { + color: $alt-bg-color; + } + + &:checked+label+ul { + visibility: visible; + opacity: 1; + max-height: 100rem; + } + + &:focus-visible+label { + outline-style: auto; + } + } + } + + .menu-button { + display: none; + + @media only screen and (max-width: 768px) { + position: relative; + display: block; + font-size: 2.4rem; + font-weight: 400; + } + + i { + + &:hover, + &:focus { + color: $alt-fg-color; + } + } + } + + i { + color: $fg-color; + cursor: pointer; + + &:hover, + &:focus { + color: $link-color; + } + } +} diff --git a/assets/scss/_navigation_dark.scss b/assets/scss/_navigation_dark.scss new file mode 100644 index 0000000..4cbd554 --- /dev/null +++ b/assets/scss/_navigation_dark.scss @@ -0,0 +1,68 @@ +@mixin navigation_dark { + .navigation { + + a, + span { + color: $fg-color-dark; + } + + a { + + &:hover, + &:focus { + color: $link-color-dark; + } + } + + .navigation-list { + @media only screen and (max-width: 768px) { + background-color: $bg-color-dark; + border-top: solid 2px $alt-bg-color-dark; + border-bottom: solid 2px $alt-bg-color-dark; + } + + .menu-separator { + @media only screen and (max-width: 768px) { + border-top: 2px solid $fg-color-dark; + } + } + } + + #menu-toggle { + @media only screen and (max-width: 768px) { + &:checked+label>i { + color: $alt-bg-color-dark; + } + } + } + + i { + color: $fg-color-dark; + + &:hover, + &:focus { + color: $link-color-dark; + } + } + + .menu-button { + i { + + &:hover, + &:focus { + color: $alt-fg-color-dark; + } + } + } + } +} + +body.colorscheme-dark { + @include navigation_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include navigation_dark(); + } +} diff --git a/assets/scss/_navigation_rtl.scss b/assets/scss/_navigation_rtl.scss new file mode 100644 index 0000000..475c932 --- /dev/null +++ b/assets/scss/_navigation_rtl.scss @@ -0,0 +1,20 @@ +body.rtl { + .navigation-list { + float: left; + + @media only screen and (max-width: 768px) { + left: 0; + right: auto; + } + + .navigation-item { + float: right; + } + } + + .menu-button { + @media only screen and (max-width: 768px) { + float: left; + } + } +} diff --git a/assets/scss/_notices.scss b/assets/scss/_notices.scss new file mode 100644 index 0000000..1b3a5e7 --- /dev/null +++ b/assets/scss/_notices.scss @@ -0,0 +1,111 @@ +.notice { + border-radius: 0.2rem; + position: relative; + margin: 2rem 0; + padding: 0 0.75rem; + overflow: auto; + + .notice-title { + position: relative; + font-weight: 700; + margin: 0 -0.75rem; + padding: 0.2rem 3.5rem; + border-bottom: 1px solid $bg-color; + + i { + position: absolute; + top: 50%; + left: 1.8rem; + transform: translate(-50%, -50%); + } + } + + .notice-content { + display: block; + margin: 2rem 2rem; + } +} + +.notice.note { + background-color: $bg-color-notice-note-content; + + .notice-title { + background-color: $bg-color-notice-note-title; + + i { + color: $fg-color-notice-note-icon; + } + } +} + +.notice.tip { + background-color: $bg-color-notice-tip-content; + + .notice-title { + background-color: $bg-color-notice-tip-title; + + i { + color: $fg-color-notice-tip-icon; + } + } +} + +.notice.example { + background-color: $bg-color-notice-example-content; + + .notice-title { + background-color: $bg-color-notice-example-title; + + i { + color: $fg-color-notice-example-icon; + } + } +} + +.notice.question { + background-color: $bg-color-notice-question-content; + + .notice-title { + background-color: $bg-color-notice-question-title; + + i { + color: $fg-color-notice-question-icon; + } + } +} + +.notice.info { + background-color: $bg-color-notice-info-content; + + .notice-title { + background-color: $bg-color-notice-info-title; + + i { + color: $fg-color-notice-info-icon; + } + } +} + +.notice.warning { + background-color: $bg-color-notice-warning-content; + + .notice-title { + background-color: $bg-color-notice-warning-title; + + i { + color: $fg-color-notice-warning-icon; + } + } +} + +.notice.error { + background-color: $bg-color-notice-error-content; + + .notice-title { + background-color: $bg-color-notice-error-title; + + i { + color: $fg-color-notice-error-icon; + } + } +} diff --git a/assets/scss/_notices_dark.scss b/assets/scss/_notices_dark.scss new file mode 100644 index 0000000..00d3f3a --- /dev/null +++ b/assets/scss/_notices_dark.scss @@ -0,0 +1,17 @@ +@mixin notices_dark { + .notice { + .notice-title { + border-bottom: 1px solid $bg-color-dark; + } + } +} + +body.colorscheme-dark { + @include notices_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include notices_dark(); + } +} diff --git a/assets/scss/_pagination.scss b/assets/scss/_pagination.scss new file mode 100644 index 0000000..368c533 --- /dev/null +++ b/assets/scss/_pagination.scss @@ -0,0 +1,22 @@ +.pagination { + display: flex; + justify-content: center; + + margin-top: 6rem; + text-align: center; + font-family: $font-family; + + li { + display: inline; + text-align: center; + font-weight: 700; + + margin: 0; + text-align: center; + width: 2.2rem; + + a { + font-weight: 300; + } + } +} diff --git a/assets/scss/_syntax.scss b/assets/scss/_syntax.scss new file mode 100644 index 0000000..e5121ac --- /dev/null +++ b/assets/scss/_syntax.scss @@ -0,0 +1,86 @@ +/* Background */ .bg { background-color: #ffffff; } +/* PreWrapper */ .chroma { background-color: #ffffff; } +/* Other */ .chroma .x { } +/* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 } +/* CodeLine */ .chroma .cl { } +/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } +/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } +/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } +/* LineHighlight */ .chroma .hl { background-color: #ffffcc } +/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } +/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } +/* Line */ .chroma .line { display: flex; } +/* Keyword */ .chroma .k { color: #000000; font-weight: bold } +/* KeywordConstant */ .chroma .kc { color: #000000; font-weight: bold } +/* KeywordDeclaration */ .chroma .kd { color: #000000; font-weight: bold } +/* KeywordNamespace */ .chroma .kn { color: #000000; font-weight: bold } +/* KeywordPseudo */ .chroma .kp { color: #000000; font-weight: bold } +/* KeywordReserved */ .chroma .kr { color: #000000; font-weight: bold } +/* KeywordType */ .chroma .kt { color: #445588; font-weight: bold } +/* Name */ .chroma .n { } +/* NameAttribute */ .chroma .na { color: #008080 } +/* NameBuiltin */ .chroma .nb { color: #0086b3 } +/* NameBuiltinPseudo */ .chroma .bp { color: #999999 } +/* NameClass */ .chroma .nc { color: #445588; font-weight: bold } +/* NameConstant */ .chroma .no { color: #008080 } +/* NameDecorator */ .chroma .nd { color: #3c5d5d; font-weight: bold } +/* NameEntity */ .chroma .ni { color: #800080 } +/* NameException */ .chroma .ne { color: #990000; font-weight: bold } +/* NameFunction */ .chroma .nf { color: #990000; font-weight: bold } +/* NameFunctionMagic */ .chroma .fm { } +/* NameLabel */ .chroma .nl { color: #990000; font-weight: bold } +/* NameNamespace */ .chroma .nn { color: #555555 } +/* NameOther */ .chroma .nx { } +/* NameProperty */ .chroma .py { } +/* NameTag */ .chroma .nt { color: #000080 } +/* NameVariable */ .chroma .nv { color: #008080 } +/* NameVariableClass */ .chroma .vc { color: #008080 } +/* NameVariableGlobal */ .chroma .vg { color: #008080 } +/* NameVariableInstance */ .chroma .vi { color: #008080 } +/* NameVariableMagic */ .chroma .vm { } +/* Literal */ .chroma .l { } +/* LiteralDate */ .chroma .ld { } +/* LiteralString */ .chroma .s { color: #dd1144 } +/* LiteralStringAffix */ .chroma .sa { color: #dd1144 } +/* LiteralStringBacktick */ .chroma .sb { color: #dd1144 } +/* LiteralStringChar */ .chroma .sc { color: #dd1144 } +/* LiteralStringDelimiter */ .chroma .dl { color: #dd1144 } +/* LiteralStringDoc */ .chroma .sd { color: #dd1144 } +/* LiteralStringDouble */ .chroma .s2 { color: #dd1144 } +/* LiteralStringEscape */ .chroma .se { color: #dd1144 } +/* LiteralStringHeredoc */ .chroma .sh { color: #dd1144 } +/* LiteralStringInterpol */ .chroma .si { color: #dd1144 } +/* LiteralStringOther */ .chroma .sx { color: #dd1144 } +/* LiteralStringRegex */ .chroma .sr { color: #009926 } +/* LiteralStringSingle */ .chroma .s1 { color: #dd1144 } +/* LiteralStringSymbol */ .chroma .ss { color: #990073 } +/* LiteralNumber */ .chroma .m { color: #009999 } +/* LiteralNumberBin */ .chroma .mb { color: #009999 } +/* LiteralNumberFloat */ .chroma .mf { color: #009999 } +/* LiteralNumberHex */ .chroma .mh { color: #009999 } +/* LiteralNumberInteger */ .chroma .mi { color: #009999 } +/* LiteralNumberIntegerLong */ .chroma .il { color: #009999 } +/* LiteralNumberOct */ .chroma .mo { color: #009999 } +/* Operator */ .chroma .o { color: #000000; font-weight: bold } +/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold } +/* Punctuation */ .chroma .p { } +/* Comment */ .chroma .c { color: #999988; font-style: italic } +/* CommentHashbang */ .chroma .ch { color: #999988; font-style: italic } +/* CommentMultiline */ .chroma .cm { color: #999988; font-style: italic } +/* CommentSingle */ .chroma .c1 { color: #999988; font-style: italic } +/* CommentSpecial */ .chroma .cs { color: #999999; font-weight: bold; font-style: italic } +/* CommentPreproc */ .chroma .cp { color: #999999; font-weight: bold; font-style: italic } +/* CommentPreprocFile */ .chroma .cpf { color: #999999; font-weight: bold; font-style: italic } +/* Generic */ .chroma .g { } +/* GenericDeleted */ .chroma .gd { color: #000000; background-color: #ffdddd } +/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic } +/* GenericError */ .chroma .gr { color: #aa0000 } +/* GenericHeading */ .chroma .gh { color: #999999 } +/* GenericInserted */ .chroma .gi { color: #000000; background-color: #ddffdd } +/* GenericOutput */ .chroma .go { color: #888888 } +/* GenericPrompt */ .chroma .gp { color: #555555 } +/* GenericStrong */ .chroma .gs { font-weight: bold } +/* GenericSubheading */ .chroma .gu { color: #aaaaaa } +/* GenericTraceback */ .chroma .gt { color: #aa0000 } +/* GenericUnderline */ .chroma .gl { text-decoration: underline } +/* TextWhitespace */ .chroma .w { color: #bbbbbb } diff --git a/assets/scss/_syntax_dark.scss b/assets/scss/_syntax_dark.scss new file mode 100644 index 0000000..b95004a --- /dev/null +++ b/assets/scss/_syntax_dark.scss @@ -0,0 +1,98 @@ +@mixin syntax_dark { + /* Background */ .bg { color: #c9d1d9; background-color: #0d1117; } + /* PreWrapper */ .chroma { color: #c9d1d9; background-color: #0d1117; } + /* Other */ .chroma .x { } + /* Error */ .chroma .err { color: #f85149 } + /* CodeLine */ .chroma .cl { } + /* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } + /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } + /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } + /* LineHighlight */ .chroma .hl { background-color: #ffffcc } + /* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #64686c } + /* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #6e7681 } + /* Line */ .chroma .line { display: flex; } + /* Keyword */ .chroma .k { color: #ff7b72 } + /* KeywordConstant */ .chroma .kc { color: #79c0ff } + /* KeywordDeclaration */ .chroma .kd { color: #ff7b72 } + /* KeywordNamespace */ .chroma .kn { color: #ff7b72 } + /* KeywordPseudo */ .chroma .kp { color: #79c0ff } + /* KeywordReserved */ .chroma .kr { color: #ff7b72 } + /* KeywordType */ .chroma .kt { color: #ff7b72 } + /* Name */ .chroma .n { } + /* NameAttribute */ .chroma .na { } + /* NameBuiltin */ .chroma .nb { } + /* NameBuiltinPseudo */ .chroma .bp { } + /* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold } + /* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold } + /* NameDecorator */ .chroma .nd { color: #d2a8ff; font-weight: bold } + /* NameEntity */ .chroma .ni { color: #ffa657 } + /* NameException */ .chroma .ne { color: #f0883e; font-weight: bold } + /* NameFunction */ .chroma .nf { color: #d2a8ff; font-weight: bold } + /* NameFunctionMagic */ .chroma .fm { } + /* NameLabel */ .chroma .nl { color: #79c0ff; font-weight: bold } + /* NameNamespace */ .chroma .nn { color: #ff7b72 } + /* NameOther */ .chroma .nx { } + /* NameProperty */ .chroma .py { color: #79c0ff } + /* NameTag */ .chroma .nt { color: #7ee787 } + /* NameVariable */ .chroma .nv { color: #79c0ff } + /* NameVariableClass */ .chroma .vc { } + /* NameVariableGlobal */ .chroma .vg { } + /* NameVariableInstance */ .chroma .vi { } + /* NameVariableMagic */ .chroma .vm { } + /* Literal */ .chroma .l { color: #a5d6ff } + /* LiteralDate */ .chroma .ld { color: #79c0ff } + /* LiteralString */ .chroma .s { color: #a5d6ff } + /* LiteralStringAffix */ .chroma .sa { color: #79c0ff } + /* LiteralStringBacktick */ .chroma .sb { color: #a5d6ff } + /* LiteralStringChar */ .chroma .sc { color: #a5d6ff } + /* LiteralStringDelimiter */ .chroma .dl { color: #79c0ff } + /* LiteralStringDoc */ .chroma .sd { color: #a5d6ff } + /* LiteralStringDouble */ .chroma .s2 { color: #a5d6ff } + /* LiteralStringEscape */ .chroma .se { color: #79c0ff } + /* LiteralStringHeredoc */ .chroma .sh { color: #79c0ff } + /* LiteralStringInterpol */ .chroma .si { color: #a5d6ff } + /* LiteralStringOther */ .chroma .sx { color: #a5d6ff } + /* LiteralStringRegex */ .chroma .sr { color: #79c0ff } + /* LiteralStringSingle */ .chroma .s1 { color: #a5d6ff } + /* LiteralStringSymbol */ .chroma .ss { color: #a5d6ff } + /* LiteralNumber */ .chroma .m { color: #a5d6ff } + /* LiteralNumberBin */ .chroma .mb { color: #a5d6ff } + /* LiteralNumberFloat */ .chroma .mf { color: #a5d6ff } + /* LiteralNumberHex */ .chroma .mh { color: #a5d6ff } + /* LiteralNumberInteger */ .chroma .mi { color: #a5d6ff } + /* LiteralNumberIntegerLong */ .chroma .il { color: #a5d6ff } + /* LiteralNumberOct */ .chroma .mo { color: #a5d6ff } + /* Operator */ .chroma .o { color: #ff7b72; font-weight: bold } + /* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold } + /* Punctuation */ .chroma .p { } + /* Comment */ .chroma .c { color: #8b949e; font-style: italic } + /* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic } + /* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic } + /* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic } + /* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic } + /* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic } + /* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic } + /* Generic */ .chroma .g { } + /* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 } + /* GenericEmph */ .chroma .ge { font-style: italic } + /* GenericError */ .chroma .gr { color: #ffa198 } + /* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold } + /* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 } + /* GenericOutput */ .chroma .go { color: #8b949e } + /* GenericPrompt */ .chroma .gp { color: #8b949e } + /* GenericStrong */ .chroma .gs { font-weight: bold } + /* GenericSubheading */ .chroma .gu { color: #79c0ff } + /* GenericTraceback */ .chroma .gt { color: #ff7b72 } + /* GenericUnderline */ .chroma .gl { text-decoration: underline } + /* TextWhitespace */ .chroma .w { color: #6e7681 } +} + +body.colorscheme-dark { + @include syntax_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include syntax_dark(); + } +} diff --git a/assets/scss/_tabs.scss b/assets/scss/_tabs.scss new file mode 100644 index 0000000..b8466c8 --- /dev/null +++ b/assets/scss/_tabs.scss @@ -0,0 +1,77 @@ +.tabs { + display: flex; + flex-wrap: wrap; + margin: 2rem 0 2rem 0; + position: relative; + + &.tabs-left { + justify-content: flex-start; + + label.tab-label { + margin-right: 0.5rem; + } + + .tab-content { + border-radius: 0px 4px 4px 4px; + } + } + + &.tabs-right { + justify-content: flex-end; + + label.tab-label { + margin-left: 0.5rem; + } + + .tab-content { + border-radius: 4px 0px 4px 4px; + } + } + + input.tab-input { + display: none; + } + + label.tab-label { + background-color: $alt-bg-color; + border-color: $darker-alt-bg-color; + border-radius: 4px 4px 0px 0px; + + border-style: solid; + border-bottom-style: hidden; + + border-width: 1px; + cursor: pointer; + display: inline-block; + order: 1; + padding: 0.3rem 0.6rem; + position: relative; + top: 1px; + user-select: none; + } + + input.tab-input:checked + label.tab-label { + background-color: $bg-color; + } + + .tab-content { + background-color: $bg-color; + border-color: $darker-alt-bg-color; + border-style: solid; + border-width: 1px; + display: none; + order: 2; + padding: 1rem; + width: 100%; + } + + &.tabs-code { + .tab-content { + padding: 0.5rem; + + pre { + margin: 0; + } + } + } +} diff --git a/assets/scss/_tabs_dark.scss b/assets/scss/_tabs_dark.scss new file mode 100644 index 0000000..c5be40e --- /dev/null +++ b/assets/scss/_tabs_dark.scss @@ -0,0 +1,27 @@ +@mixin tabs_dark { + .tabs { + label.tab-label { + background-color: $alt-bg-color-dark; + border-color: $lighter-alt-bg-color-dark; + } + + input.tab-input:checked + label.tab-label { + background-color: $bg-color-dark; + } + + .tab-content { + background-color: $bg-color-dark; + border-color: $lighter-alt-bg-color-dark; + } + } +} + +body.colorscheme-dark { + @include tabs_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include tabs_dark(); + } +} diff --git a/assets/scss/_taxonomies.scss b/assets/scss/_taxonomies.scss new file mode 100644 index 0000000..d405c73 --- /dev/null +++ b/assets/scss/_taxonomies.scss @@ -0,0 +1,20 @@ +.taxonomy { + li { + display: inline-block; + margin: 0.9rem; + } + + .taxonomy-element { + display: block; + padding: 0.3rem 0.9rem; + background-color: $alt-bg-color; + border-radius: 0.6rem; + + a { + color: $fg-color; + } + a:active { + color: $fg-color; + } + } +} diff --git a/assets/scss/_taxonomies_dark.scss b/assets/scss/_taxonomies_dark.scss new file mode 100644 index 0000000..77c734d --- /dev/null +++ b/assets/scss/_taxonomies_dark.scss @@ -0,0 +1,22 @@ +@mixin taxonomy_dark { + .taxonomy-element { + background-color: $alt-bg-color-dark; + + a { + color: $fg-color-dark; + } + a:active { + color: $fg-color-dark; + } + } +} + +body.colorscheme-dark { + @include taxonomy_dark(); +} + +body.colorscheme-auto { + @media (prefers-color-scheme: dark) { + @include taxonomy_dark(); + } +} diff --git a/assets/scss/_variables.scss b/assets/scss/_variables.scss new file mode 100644 index 0000000..ce00c87 --- /dev/null +++ b/assets/scss/_variables.scss @@ -0,0 +1,61 @@ +// Fonts +$font-family: -apple-system, +BlinkMacSystemFont, +"Segoe UI", +Roboto, +Oxygen-Sans, +Ubuntu, +Cantarell, +"Helvetica Neue", +Helvetica, +"游ゴシック", +"PingFang SC", +STXihei,"华文细黑", +"Microsoft YaHei","微软雅黑", +SimSun,"宋体", +Heiti,"黑体", +sans-serif; +$code-font-family: SFMono-Regular, +Consolas, +Liberation Mono, +Menlo, +monospace; + +// Colors +$bg-color: #fafafa !default; +$fg-color: #212121 !default; +$alt-bg-color: #e0e0e0 !default; +$alt-fg-color: #000 !default; +$darker-alt-bg-color: #ccc !default; +$link-color: #1565c0 !default; + +// Dark colors +$bg-color-dark: #212121 !default; +$fg-color-dark: #dadada !default; +$alt-bg-color-dark: #424242 !default; +$alt-fg-color-dark: #dadada !default; +$lighter-alt-bg-color-dark: #4f4f4f !default; +$link-color-dark: #42a5f5 !default; + +// Notice colors +$fg-color-notice-note-icon: #5e35b1 !default; +$bg-color-notice-note-title: #673ab71a !default; +$bg-color-notice-note-content: #7e57c21a !default; +$fg-color-notice-tip-icon: #00897b !default; +$bg-color-notice-tip-title: #0096881a !default; +$bg-color-notice-tip-content: #26a69a1a !default; +$fg-color-notice-example-icon: #6d4c41 !default; +$bg-color-notice-example-title: #7955481a !default; +$bg-color-notice-example-content: #8d6e631a !default; +$fg-color-notice-question-icon: #7cb342 !default; +$bg-color-notice-question-title: #8bc34a1a !default; +$bg-color-notice-question-content: #9ccc651a !default; +$fg-color-notice-info-icon: #1e88e5 !default; +$bg-color-notice-info-title: #2196f31a !default; +$bg-color-notice-info-content: #42a5f51a !default; +$fg-color-notice-warning-icon: #ffb300 !default; +$bg-color-notice-warning-title: #ffc1071a !default; +$bg-color-notice-warning-content: #ffca281a !default; +$fg-color-notice-error-icon: #e53935 !default; +$bg-color-notice-error-title: #f443361a !default; +$bg-color-notice-error-content: #ef53501a !default; diff --git a/assets/scss/coder-dark.scss b/assets/scss/coder-dark.scss new file mode 100644 index 0000000..c05c5f5 --- /dev/null +++ b/assets/scss/coder-dark.scss @@ -0,0 +1,10 @@ +@import "variables"; +@import "base_dark"; +@import "content_dark"; +@import "notices_dark"; +@import "navigation_dark"; +@import "tabs_dark"; +@import "taxonomies_dark"; +@import "footer_dark"; +@import "float_dark"; +@import "syntax_dark"; diff --git a/assets/scss/coder-rtl.scss b/assets/scss/coder-rtl.scss new file mode 100644 index 0000000..c65ad5c --- /dev/null +++ b/assets/scss/coder-rtl.scss @@ -0,0 +1,4 @@ +@import "_variables"; +@import "_base_rtl"; +@import "_content_rtl"; +@import "_navigation_rtl"; diff --git a/assets/scss/coder.scss b/assets/scss/coder.scss new file mode 100644 index 0000000..e601683 --- /dev/null +++ b/assets/scss/coder.scss @@ -0,0 +1,13 @@ +@import "css/normalize"; +@import "fork-awesome/fork-awesome"; +@import "variables"; +@import "base"; +@import "content"; +@import "notices"; +@import "navigation"; +@import "pagination"; +@import "tabs"; +@import "taxonomies"; +@import "footer"; +@import "float"; +@import "syntax"; diff --git a/assets/scss/css/normalize.css b/assets/scss/css/normalize.css new file mode 100644 index 0000000..8d6f3ff --- /dev/null +++ b/assets/scss/css/normalize.css @@ -0,0 +1,350 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + word-wrap: break-word; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type="button"], + [type="reset"], + [type="submit"] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } diff --git a/assets/scss/fork-awesome/_animated.scss b/assets/scss/fork-awesome/_animated.scss new file mode 100644 index 0000000..543d5b3 --- /dev/null +++ b/assets/scss/fork-awesome/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: #{$fa-css-prefix}-spin 2s infinite linear; + animation: #{$fa-css-prefix}-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: #{$fa-css-prefix}-spin 1s infinite steps(8); + animation: #{$fa-css-prefix}-spin 1s infinite steps(8); +} + +@-webkit-keyframes #{$fa-css-prefix}-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes #{$fa-css-prefix}-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/assets/scss/fork-awesome/_bordered-pulled.scss b/assets/scss/fork-awesome/_bordered-pulled.scss new file mode 100644 index 0000000..d4b85a0 --- /dev/null +++ b/assets/scss/fork-awesome/_bordered-pulled.scss @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/assets/scss/fork-awesome/_core.scss b/assets/scss/fork-awesome/_core.scss new file mode 100644 index 0000000..e5a87b5 --- /dev/null +++ b/assets/scss/fork-awesome/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} #{$fa-font-family}; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/assets/scss/fork-awesome/_fixed-width.scss b/assets/scss/fork-awesome/_fixed-width.scss new file mode 100644 index 0000000..b221c98 --- /dev/null +++ b/assets/scss/fork-awesome/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/assets/scss/fork-awesome/_functions.scss b/assets/scss/fork-awesome/_functions.scss new file mode 100644 index 0000000..7ef2336 --- /dev/null +++ b/assets/scss/fork-awesome/_functions.scss @@ -0,0 +1,11 @@ +// Functions +// -------------------------- + +// Helper function which adds quotes to preserve unicode values in CSS output. +// +// See: https://github.com/sass/sass/issues/1395 +// See: https://stackoverflow.com/questions/30421570/sass-unicode-escape-is-not-preserved-in-css-file + +@function fa-content($fa-var) { + @return unquote("\"#{$fa-var}\""); +} diff --git a/assets/scss/fork-awesome/_icons.scss b/assets/scss/fork-awesome/_icons.scss new file mode 100644 index 0000000..4ac7aee --- /dev/null +++ b/assets/scss/fork-awesome/_icons.scss @@ -0,0 +1,934 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: fa-content($fa-var-glass); } +.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); } +.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); } +.#{$fa-css-prefix}-envelope-o:before { content: fa-content($fa-var-envelope-o); } +.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); } +.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); } +.#{$fa-css-prefix}-star-o:before { content: fa-content($fa-var-star-o); } +.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); } +.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); } +.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); } +.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); } +.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); } +.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); } +.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); } +.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); } +.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); } +.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); } +.#{$fa-css-prefix}-trash-o:before { content: fa-content($fa-var-trash-o); } +.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); } +.#{$fa-css-prefix}-file-o:before { content: fa-content($fa-var-file-o); } +.#{$fa-css-prefix}-clock-o:before { content: fa-content($fa-var-clock-o); } +.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); } +.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: fa-content($fa-var-arrow-circle-o-down); } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: fa-content($fa-var-arrow-circle-o-up); } +.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); } +.#{$fa-css-prefix}-play-circle-o:before { content: fa-content($fa-var-play-circle-o); } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: fa-content($fa-var-repeat); } +.#{$fa-css-prefix}-sync:before, +.#{$fa-css-prefix}-refresh:before { content: fa-content($fa-var-refresh); } +.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); } +.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); } +.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); } +.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); } +.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); } +.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); } +.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); } +.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); } +.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); } +.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); } +.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); } +.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); } +.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); } +.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); } +.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); } +.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); } +.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); } +.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); } +.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); } +.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); } +.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); } +.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); } +.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); } +.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); } +.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); } +.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); } +.#{$fa-css-prefix}-video:before, +.#{$fa-css-prefix}-video-camera:before { content: fa-content($fa-var-video-camera); } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: fa-content($fa-var-picture-o); } +.#{$fa-css-prefix}-pencil:before { content: fa-content($fa-var-pencil); } +.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); } +.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); } +.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: fa-content($fa-var-pencil-square-o); } +.#{$fa-css-prefix}-share-square-o:before { content: fa-content($fa-var-share-square-o); } +.#{$fa-css-prefix}-check-square-o:before { content: fa-content($fa-var-check-square-o); } +.#{$fa-css-prefix}-arrows:before { content: fa-content($fa-var-arrows); } +.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); } +.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); } +.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); } +.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); } +.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); } +.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); } +.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); } +.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); } +.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); } +.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); } +.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); } +.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); } +.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); } +.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); } +.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); } +.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); } +.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); } +.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); } +.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); } +.#{$fa-css-prefix}-times-circle-o:before { content: fa-content($fa-var-times-circle-o); } +.#{$fa-css-prefix}-check-circle-o:before { content: fa-content($fa-var-check-circle-o); } +.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); } +.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); } +.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); } +.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); } +.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); } +.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); } +.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); } +.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); } +.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); } +.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); } +.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); } +.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); } +.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); } +.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); } +.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); } +.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); } +.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); } +.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); } +.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); } +.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); } +.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); } +.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); } +.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); } +.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); } +.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); } +.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); } +.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); } +.#{$fa-css-prefix}-arrows-v:before { content: fa-content($fa-var-arrows-v); } +.#{$fa-css-prefix}-arrows-h:before { content: fa-content($fa-var-arrows-h); } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: fa-content($fa-var-bar-chart); } +.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); } +.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); } +.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); } +.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); } +.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); } +.#{$fa-css-prefix}-thumbs-o-up:before { content: fa-content($fa-var-thumbs-o-up); } +.#{$fa-css-prefix}-thumbs-o-down:before { content: fa-content($fa-var-thumbs-o-down); } +.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); } +.#{$fa-css-prefix}-heart-o:before { content: fa-content($fa-var-heart-o); } +.#{$fa-css-prefix}-sign-out:before { content: fa-content($fa-var-sign-out); } +.#{$fa-css-prefix}-linkedin-square:before { content: fa-content($fa-var-linkedin-square); } +.#{$fa-css-prefix}-thumb-tack:before { content: fa-content($fa-var-thumb-tack); } +.#{$fa-css-prefix}-external-link:before { content: fa-content($fa-var-external-link); } +.#{$fa-css-prefix}-sign-in:before { content: fa-content($fa-var-sign-in); } +.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); } +.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); } +.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); } +.#{$fa-css-prefix}-lemon-o:before { content: fa-content($fa-var-lemon-o); } +.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); } +.#{$fa-css-prefix}-square-o:before { content: fa-content($fa-var-square-o); } +.#{$fa-css-prefix}-bookmark-o:before { content: fa-content($fa-var-bookmark-o); } +.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); } +.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); } +.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); } +.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); } +.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); } +.#{$fa-css-prefix}-feed:before, +.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); } +.#{$fa-css-prefix}-hdd-o:before { content: fa-content($fa-var-hdd-o); } +.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); } +.#{$fa-css-prefix}-bell-o:before { content: fa-content($fa-var-bell-o); } +.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); } +.#{$fa-css-prefix}-hand-o-right:before { content: fa-content($fa-var-hand-o-right); } +.#{$fa-css-prefix}-hand-o-left:before { content: fa-content($fa-var-hand-o-left); } +.#{$fa-css-prefix}-hand-o-up:before { content: fa-content($fa-var-hand-o-up); } +.#{$fa-css-prefix}-hand-o-down:before { content: fa-content($fa-var-hand-o-down); } +.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); } +.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); } +.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); } +.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); } +.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); } +.#{$fa-css-prefix}-globe-e:before { content: fa-content($fa-var-globe-e); } +.#{$fa-css-prefix}-globe-w:before { content: fa-content($fa-var-globe-w); } +.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); } +.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); } +.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); } +.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); } +.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); } +.#{$fa-css-prefix}-community:before, +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); } +.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); } +.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: fa-content($fa-var-scissors); } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: fa-content($fa-var-files-o); } +.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: fa-content($fa-var-floppy-o); } +.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); } +.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); } +.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); } +.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); } +.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); } +.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); } +.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); } +.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); } +.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); } +.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); } +.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); } +.#{$fa-css-prefix}-google-plus-g:before, +.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); } +.#{$fa-css-prefix}-money:before { content: fa-content($fa-var-money); } +.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); } +.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); } +.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); } +.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); } +.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: fa-content($fa-var-sort-desc); } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: fa-content($fa-var-sort-asc); } +.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); } +.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: fa-content($fa-var-tachometer); } +.#{$fa-css-prefix}-comment-o:before { content: fa-content($fa-var-comment-o); } +.#{$fa-css-prefix}-comments-o:before { content: fa-content($fa-var-comments-o); } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); } +.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); } +.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); } +.#{$fa-css-prefix}-lightbulb-o:before { content: fa-content($fa-var-lightbulb-o); } +.#{$fa-css-prefix}-exchange:before { content: fa-content($fa-var-exchange); } +.#{$fa-css-prefix}-cloud-download:before { content: fa-content($fa-var-cloud-download); } +.#{$fa-css-prefix}-cloud-upload:before { content: fa-content($fa-var-cloud-upload); } +.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); } +.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); } +.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); } +.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); } +.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); } +.#{$fa-css-prefix}-utensils:before, +.#{$fa-css-prefix}-cutlery:before { content: fa-content($fa-var-cutlery); } +.#{$fa-css-prefix}-file-text-o:before { content: fa-content($fa-var-file-text-o); } +.#{$fa-css-prefix}-building-o:before { content: fa-content($fa-var-building-o); } +.#{$fa-css-prefix}-hospital-o:before { content: fa-content($fa-var-hospital-o); } +.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); } +.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); } +.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); } +.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); } +.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); } +.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); } +.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); } +.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); } +.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); } +.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); } +.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); } +.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); } +.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); } +.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); } +.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); } +.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); } +.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); } +.#{$fa-css-prefix}-circle-o:before { content: fa-content($fa-var-circle-o); } +.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); } +.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); } +.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); } +.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); } +.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); } +.#{$fa-css-prefix}-folder-o:before { content: fa-content($fa-var-folder-o); } +.#{$fa-css-prefix}-folder-open-o:before { content: fa-content($fa-var-folder-open-o); } +.#{$fa-css-prefix}-smile-o:before { content: fa-content($fa-var-smile-o); } +.#{$fa-css-prefix}-frown-o:before { content: fa-content($fa-var-frown-o); } +.#{$fa-css-prefix}-meh-o:before { content: fa-content($fa-var-meh-o); } +.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); } +.#{$fa-css-prefix}-keyboard-o:before { content: fa-content($fa-var-keyboard-o); } +.#{$fa-css-prefix}-flag-o:before { content: fa-content($fa-var-flag-o); } +.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); } +.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); } +.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: fa-content($fa-var-star-half-o); } +.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); } +.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); } +.#{$fa-css-prefix}-code-fork:before { content: fa-content($fa-var-code-fork); } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: fa-content($fa-var-chain-broken); } +.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); } +.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); } +.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); } +.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); } +.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); } +.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); } +.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); } +.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); } +.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); } +.#{$fa-css-prefix}-shield:before { content: fa-content($fa-var-shield); } +.#{$fa-css-prefix}-calendar-o:before { content: fa-content($fa-var-calendar-o); } +.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); } +.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); } +.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); } +.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); } +.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); } +.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); } +.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); } +.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); } +.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); } +.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); } +.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); } +.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); } +.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); } +.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); } +.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); } +.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); } +.#{$fa-css-prefix}-ticket:before { content: fa-content($fa-var-ticket); } +.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); } +.#{$fa-css-prefix}-minus-square-o:before { content: fa-content($fa-var-minus-square-o); } +.#{$fa-css-prefix}-level-up:before { content: fa-content($fa-var-level-up); } +.#{$fa-css-prefix}-level-down:before { content: fa-content($fa-var-level-down); } +.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); } +.#{$fa-css-prefix}-pencil-square:before { content: fa-content($fa-var-pencil-square); } +.#{$fa-css-prefix}-external-link-square:before { content: fa-content($fa-var-external-link-square); } +.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); } +.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: fa-content($fa-var-caret-square-o-down); } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: fa-content($fa-var-caret-square-o-up); } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: fa-content($fa-var-caret-square-o-right); } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: fa-content($fa-var-eur); } +.#{$fa-css-prefix}-pound:before, +.#{$fa-css-prefix}-gbp:before { content: fa-content($fa-var-gbp); } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: fa-content($fa-var-usd); } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: fa-content($fa-var-inr); } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: fa-content($fa-var-jpy); } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: fa-content($fa-var-rub); } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: fa-content($fa-var-krw); } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); } +.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); } +.#{$fa-css-prefix}-file-text:before { content: fa-content($fa-var-file-text); } +.#{$fa-css-prefix}-sort-alpha-down:before, +.#{$fa-css-prefix}-sort-alpha-asc:before { content: fa-content($fa-var-sort-alpha-asc); } +.#{$fa-css-prefix}-sort-alpha-up:before, +.#{$fa-css-prefix}-sort-alpha-desc:before { content: fa-content($fa-var-sort-alpha-desc); } +.#{$fa-css-prefix}-sort-amount-down:before, +.#{$fa-css-prefix}-sort-amount-asc:before { content: fa-content($fa-var-sort-amount-asc); } +.#{$fa-css-prefix}-sort-amount-up:before, +.#{$fa-css-prefix}-sort-amount-desc:before { content: fa-content($fa-var-sort-amount-desc); } +.#{$fa-css-prefix}-sort-numeric-down:before, +.#{$fa-css-prefix}-sort-numeric-asc:before { content: fa-content($fa-var-sort-numeric-asc); } +.#{$fa-css-prefix}-sort-numeric-up:before, +.#{$fa-css-prefix}-sort-numeric-desc:before { content: fa-content($fa-var-sort-numeric-desc); } +.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); } +.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); } +.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); } +.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); } +.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); } +.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); } +.#{$fa-css-prefix}-youtube-play:before { content: fa-content($fa-var-youtube-play); } +.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); } +.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); } +.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); } +.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); } +.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); } +.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); } +.#{$fa-css-prefix}-bitbucket-square:before { content: fa-content($fa-var-bitbucket-square); } +.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); } +.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); } +.#{$fa-css-prefix}-long-arrow-down:before { content: fa-content($fa-var-long-arrow-down); } +.#{$fa-css-prefix}-long-arrow-up:before { content: fa-content($fa-var-long-arrow-up); } +.#{$fa-css-prefix}-long-arrow-left:before { content: fa-content($fa-var-long-arrow-left); } +.#{$fa-css-prefix}-long-arrow-right:before { content: fa-content($fa-var-long-arrow-right); } +.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); } +.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); } +.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); } +.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); } +.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); } +.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); } +.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); } +.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); } +.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); } +.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); } +.#{$fa-css-prefix}-sun-o:before { content: fa-content($fa-var-sun-o); } +.#{$fa-css-prefix}-moon-o:before { content: fa-content($fa-var-moon-o); } +.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); } +.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); } +.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); } +.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); } +.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); } +.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); } +.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: fa-content($fa-var-arrow-circle-o-right); } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: fa-content($fa-var-arrow-circle-o-left); } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: fa-content($fa-var-caret-square-o-left); } +.#{$fa-css-prefix}-dot-circle-o:before { content: fa-content($fa-var-dot-circle-o); } +.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); } +.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: fa-content($fa-var-try); } +.#{$fa-css-prefix}-plus-square-o:before { content: fa-content($fa-var-plus-square-o); } +.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); } +.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); } +.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); } +.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); } +.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); } +.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); } +.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); } +.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); } +.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); } +.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); } +.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); } +.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); } +.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); } +.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); } +.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); } +.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); } +.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); } +.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); } +.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); } +.#{$fa-css-prefix}-utensil-spoon:before, +.#{$fa-css-prefix}-spoon:before { content: fa-content($fa-var-spoon); } +.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); } +.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); } +.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); } +.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); } +.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); } +.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); } +.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); } +.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); } +.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); } +.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); } +.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); } +.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); } +.#{$fa-css-prefix}-file-pdf-o:before { content: fa-content($fa-var-file-pdf-o); } +.#{$fa-css-prefix}-file-word-o:before { content: fa-content($fa-var-file-word-o); } +.#{$fa-css-prefix}-file-excel-o:before { content: fa-content($fa-var-file-excel-o); } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: fa-content($fa-var-file-powerpoint-o); } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: fa-content($fa-var-file-image-o); } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: fa-content($fa-var-file-archive-o); } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: fa-content($fa-var-file-audio-o); } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: fa-content($fa-var-file-video-o); } +.#{$fa-css-prefix}-file-code-o:before { content: fa-content($fa-var-file-code-o); } +.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); } +.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); } +.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); } +.#{$fa-css-prefix}-circle-o-notch:before { content: fa-content($fa-var-circle-o-notch); } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, +.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); } +.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); } +.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, +.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); } +.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); } +.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: fa-content($fa-var-paper-plane-o); } +.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); } +.#{$fa-css-prefix}-circle-thin:before { content: fa-content($fa-var-circle-thin); } +.#{$fa-css-prefix}-heading:before, +.#{$fa-css-prefix}-header:before { content: fa-content($fa-var-header); } +.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); } +.#{$fa-css-prefix}-sliders:before { content: fa-content($fa-var-sliders); } +.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); } +.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); } +.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: fa-content($fa-var-futbol-o); } +.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); } +.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); } +.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); } +.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); } +.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); } +.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); } +.#{$fa-css-prefix}-newspaper-o:before { content: fa-content($fa-var-newspaper-o); } +.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); } +.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); } +.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); } +.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); } +.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); } +.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); } +.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); } +.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); } +.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); } +.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); } +.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); } +.#{$fa-css-prefix}-bell-slash-o:before { content: fa-content($fa-var-bell-slash-o); } +.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); } +.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); } +.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); } +.#{$fa-css-prefix}-eyedropper:before { content: fa-content($fa-var-eyedropper); } +.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); } +.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); } +.#{$fa-css-prefix}-area-chart:before { content: fa-content($fa-var-area-chart); } +.#{$fa-css-prefix}-pie-chart:before { content: fa-content($fa-var-pie-chart); } +.#{$fa-css-prefix}-line-chart:before { content: fa-content($fa-var-line-chart); } +.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); } +.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); } +.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); } +.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); } +.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); } +.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); } +.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); } +.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); } +.#{$fa-css-prefix}-closed-captioning:before, +.#{$fa-css-prefix}-cc:before { content: fa-content($fa-var-cc); } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: fa-content($fa-var-ils); } +.#{$fa-css-prefix}-meanpath:before { content: fa-content($fa-var-meanpath); } +.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); } +.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); } +.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); } +.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); } +.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); } +.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); } +.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); } +.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); } +.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); } +.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); } +.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); } +.#{$fa-css-prefix}-gem:before, +.#{$fa-css-prefix}-diamond:before { content: fa-content($fa-var-diamond); } +.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); } +.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); } +.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); } +.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); } +.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); } +.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); } +.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); } +.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); } +.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); } +.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); } +.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); } +.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); } +.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); } +.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); } +.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); } +.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); } +.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); } +.#{$fa-css-prefix}-facebook-official:before { content: fa-content($fa-var-facebook-official); } +.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); } +.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); } +.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); } +.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); } +.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); } +.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); } +.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); } +.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); } +.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); } +.#{$fa-css-prefix}-medium-square:before { content: fa-content($fa-var-medium-square); } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); } +.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); } +.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); } +.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery:before, +.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); } +.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); } +.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); } +.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); } +.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); } +.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); } +.#{$fa-css-prefix}-sticky-note-o:before { content: fa-content($fa-var-sticky-note-o); } +.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); } +.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); } +.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); } +.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); } +.#{$fa-css-prefix}-hourglass-o:before { content: fa-content($fa-var-hourglass-o); } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); } +.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: fa-content($fa-var-hand-rock-o); } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: fa-content($fa-var-hand-paper-o); } +.#{$fa-css-prefix}-hand-scissors-o:before { content: fa-content($fa-var-hand-scissors-o); } +.#{$fa-css-prefix}-hand-lizard-o:before { content: fa-content($fa-var-hand-lizard-o); } +.#{$fa-css-prefix}-hand-spock-o:before { content: fa-content($fa-var-hand-spock-o); } +.#{$fa-css-prefix}-hand-pointer-o:before { content: fa-content($fa-var-hand-pointer-o); } +.#{$fa-css-prefix}-hand-peace-o:before { content: fa-content($fa-var-hand-peace-o); } +.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); } +.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); } +.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); } +.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); } +.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); } +.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); } +.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); } +.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); } +.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); } +.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); } +.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); } +.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); } +.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); } +.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: fa-content($fa-var-television); } +.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); } +.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); } +.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); } +.#{$fa-css-prefix}-calendar-plus-o:before { content: fa-content($fa-var-calendar-plus-o); } +.#{$fa-css-prefix}-calendar-minus-o:before { content: fa-content($fa-var-calendar-minus-o); } +.#{$fa-css-prefix}-calendar-times-o:before { content: fa-content($fa-var-calendar-times-o); } +.#{$fa-css-prefix}-calendar-check-o:before { content: fa-content($fa-var-calendar-check-o); } +.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); } +.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); } +.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); } +.#{$fa-css-prefix}-map-o:before { content: fa-content($fa-var-map-o); } +.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); } +.#{$fa-css-prefix}-commenting:before { content: fa-content($fa-var-commenting); } +.#{$fa-css-prefix}-commenting-o:before { content: fa-content($fa-var-commenting-o); } +.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); } +.#{$fa-css-prefix}-vimeo-v:before, +.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); } +.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); } +.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); } +.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); } +.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); } +.#{$fa-css-prefix}-credit-card-alt:before { content: fa-content($fa-var-credit-card-alt); } +.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); } +.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); } +.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); } +.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); } +.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); } +.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); } +.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); } +.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); } +.#{$fa-css-prefix}-pause-circle-o:before { content: fa-content($fa-var-pause-circle-o); } +.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); } +.#{$fa-css-prefix}-stop-circle-o:before { content: fa-content($fa-var-stop-circle-o); } +.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); } +.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); } +.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); } +.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); } +.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); } +.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); } +.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); } +.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); } +.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); } +.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); } +.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); } +.#{$fa-css-prefix}-wheelchair-alt:before { content: fa-content($fa-var-wheelchair-alt); } +.#{$fa-css-prefix}-question-circle-o:before { content: fa-content($fa-var-question-circle-o); } +.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); } +.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); } +.#{$fa-css-prefix}-phone-volume:before, +.#{$fa-css-prefix}-volume-control-phone:before { content: fa-content($fa-var-volume-control-phone); } +.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); } +.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); } +.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); } +.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); } +.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); } +.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); } +.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); } +.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); } +.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); } +.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); } +.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); } +.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: fa-content($fa-var-google-plus-official); } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); } +.#{$fa-css-prefix}-handshake-o:before { content: fa-content($fa-var-handshake-o); } +.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); } +.#{$fa-css-prefix}-envelope-open-o:before { content: fa-content($fa-var-envelope-open-o); } +.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); } +.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); } +.#{$fa-css-prefix}-address-book-o:before { content: fa-content($fa-var-address-book-o); } +.#{$fa-css-prefix}-vcard:before, +.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); } +.#{$fa-css-prefix}-vcard-o:before, +.#{$fa-css-prefix}-address-card-o:before { content: fa-content($fa-var-address-card-o); } +.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); } +.#{$fa-css-prefix}-user-circle-o:before { content: fa-content($fa-var-user-circle-o); } +.#{$fa-css-prefix}-user-o:before { content: fa-content($fa-var-user-o); } +.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); } +.#{$fa-css-prefix}-drivers-license:before, +.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); } +.#{$fa-css-prefix}-drivers-license-o:before, +.#{$fa-css-prefix}-id-card-o:before { content: fa-content($fa-var-id-card-o); } +.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); } +.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); } +.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); } +.#{$fa-css-prefix}-thermometer-4:before, +.#{$fa-css-prefix}-thermometer:before, +.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); } +.#{$fa-css-prefix}-thermometer-3:before, +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); } +.#{$fa-css-prefix}-thermometer-2:before, +.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); } +.#{$fa-css-prefix}-thermometer-1:before, +.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); } +.#{$fa-css-prefix}-thermometer-0:before, +.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); } +.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); } +.#{$fa-css-prefix}-bathtub:before, +.#{$fa-css-prefix}-s15:before, +.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); } +.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); } +.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); } +.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); } +.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); } +.#{$fa-css-prefix}-times-rectangle:before, +.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); } +.#{$fa-css-prefix}-times-rectangle-o:before, +.#{$fa-css-prefix}-window-close-o:before { content: fa-content($fa-var-window-close-o); } +.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); } +.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); } +.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); } +.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); } +.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); } +.#{$fa-css-prefix}-eercast:before { content: fa-content($fa-var-eercast); } +.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); } +.#{$fa-css-prefix}-snowflake-o:before { content: fa-content($fa-var-snowflake-o); } +.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); } +.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); } +.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); } +.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); } +.#{$fa-css-prefix}-mastodon-alt:before { content: fa-content($fa-var-mastodon-alt); } +.#{$fa-css-prefix}-fork-circle:before, +.#{$fa-css-prefix}-fork-awesome:before { content: fa-content($fa-var-fork-awesome); } +.#{$fa-css-prefix}-peertube:before { content: fa-content($fa-var-peertube); } +.#{$fa-css-prefix}-diaspora:before { content: fa-content($fa-var-diaspora); } +.#{$fa-css-prefix}-friendica:before { content: fa-content($fa-var-friendica); } +.#{$fa-css-prefix}-gnu-social:before { content: fa-content($fa-var-gnu-social); } +.#{$fa-css-prefix}-liberapay-square:before { content: fa-content($fa-var-liberapay-square); } +.#{$fa-css-prefix}-liberapay:before { content: fa-content($fa-var-liberapay); } +.#{$fa-css-prefix}-ssb:before, +.#{$fa-css-prefix}-scuttlebutt:before { content: fa-content($fa-var-scuttlebutt); } +.#{$fa-css-prefix}-hubzilla:before { content: fa-content($fa-var-hubzilla); } +.#{$fa-css-prefix}-social-home:before { content: fa-content($fa-var-social-home); } +.#{$fa-css-prefix}-artstation:before { content: fa-content($fa-var-artstation); } +.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); } +.#{$fa-css-prefix}-discord-alt:before { content: fa-content($fa-var-discord-alt); } +.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); } +.#{$fa-css-prefix}-snowdrift:before { content: fa-content($fa-var-snowdrift); } +.#{$fa-css-prefix}-activitypub:before { content: fa-content($fa-var-activitypub); } +.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); } +.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); } +.#{$fa-css-prefix}-shaarli:before { content: fa-content($fa-var-shaarli); } +.#{$fa-css-prefix}-shaarli-o:before { content: fa-content($fa-var-shaarli-o); } +.#{$fa-css-prefix}-cut-key:before, +.#{$fa-css-prefix}-key-modern:before { content: fa-content($fa-var-key-modern); } +.#{$fa-css-prefix}-xmpp:before { content: fa-content($fa-var-xmpp); } +.#{$fa-css-prefix}-archive-org:before { content: fa-content($fa-var-archive-org); } +.#{$fa-css-prefix}-freedombox:before { content: fa-content($fa-var-freedombox); } +.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); } +.#{$fa-css-prefix}-debian:before { content: fa-content($fa-var-debian); } +.#{$fa-css-prefix}-mastodon-square:before { content: fa-content($fa-var-mastodon-square); } +.#{$fa-css-prefix}-tipeee:before { content: fa-content($fa-var-tipeee); } +.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); } +.#{$fa-css-prefix}-dogmazic:before { content: fa-content($fa-var-dogmazic); } +.#{$fa-css-prefix}-zotero:before { content: fa-content($fa-var-zotero); } +.#{$fa-css-prefix}-nodejs:before { content: fa-content($fa-var-nodejs); } +.#{$fa-css-prefix}-nextcloud:before { content: fa-content($fa-var-nextcloud); } +.#{$fa-css-prefix}-nextcloud-square:before { content: fa-content($fa-var-nextcloud-square); } +.#{$fa-css-prefix}-hackaday:before { content: fa-content($fa-var-hackaday); } +.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); } +.#{$fa-css-prefix}-signalapp:before { content: fa-content($fa-var-signalapp); } +.#{$fa-css-prefix}-gnupg:before { content: fa-content($fa-var-gnupg); } +.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); } +.#{$fa-css-prefix}-ffmpeg:before { content: fa-content($fa-var-ffmpeg); } +.#{$fa-css-prefix}-joplin:before { content: fa-content($fa-var-joplin); } +.#{$fa-css-prefix}-syncthing:before { content: fa-content($fa-var-syncthing); } +.#{$fa-css-prefix}-inkscape:before { content: fa-content($fa-var-inkscape); } +.#{$fa-css-prefix}-matrix-org:before { content: fa-content($fa-var-matrix-org); } +.#{$fa-css-prefix}-pixelfed:before { content: fa-content($fa-var-pixelfed); } +.#{$fa-css-prefix}-bootstrap:before { content: fa-content($fa-var-bootstrap); } +.#{$fa-css-prefix}-dev-to:before { content: fa-content($fa-var-dev-to); } +.#{$fa-css-prefix}-hashnode:before { content: fa-content($fa-var-hashnode); } +.#{$fa-css-prefix}-jirafeau:before { content: fa-content($fa-var-jirafeau); } +.#{$fa-css-prefix}-emby:before { content: fa-content($fa-var-emby); } +.#{$fa-css-prefix}-wikidata:before { content: fa-content($fa-var-wikidata); } +.#{$fa-css-prefix}-gimp:before { content: fa-content($fa-var-gimp); } +.#{$fa-css-prefix}-c:before { content: fa-content($fa-var-c); } +.#{$fa-css-prefix}-digitalocean:before { content: fa-content($fa-var-digitalocean); } +.#{$fa-css-prefix}-att:before { content: fa-content($fa-var-att); } +.#{$fa-css-prefix}-gitea:before { content: fa-content($fa-var-gitea); } +.#{$fa-css-prefix}-file-epub:before { content: fa-content($fa-var-file-epub); } +.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); } +.#{$fa-css-prefix}-archlinux:before { content: fa-content($fa-var-archlinux); } +.#{$fa-css-prefix}-pleroma:before { content: fa-content($fa-var-pleroma); } +.#{$fa-css-prefix}-unsplash:before { content: fa-content($fa-var-unsplash); } +.#{$fa-css-prefix}-hackster:before { content: fa-content($fa-var-hackster); } +.#{$fa-css-prefix}-spell-check:before { content: fa-content($fa-var-spell-check); } +.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); } +.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); } +.#{$fa-css-prefix}-f-droid:before { content: fa-content($fa-var-f-droid); } +.#{$fa-css-prefix}-biometric:before { content: fa-content($fa-var-biometric); } +.#{$fa-css-prefix}-wire:before { content: fa-content($fa-var-wire); } +.#{$fa-css-prefix}-tor-onion:before { content: fa-content($fa-var-tor-onion); } +.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); } +.#{$fa-css-prefix}-bell-ringing:before { content: fa-content($fa-var-bell-ringing); } +.#{$fa-css-prefix}-bell-ringing-o:before { content: fa-content($fa-var-bell-ringing-o); } +.#{$fa-css-prefix}-hal:before { content: fa-content($fa-var-hal); } +.#{$fa-css-prefix}-jupyter:before { content: fa-content($fa-var-jupyter); } +.#{$fa-css-prefix}-julia:before { content: fa-content($fa-var-julia); } +.#{$fa-css-prefix}-classicpress:before { content: fa-content($fa-var-classicpress); } +.#{$fa-css-prefix}-classicpress-circle:before { content: fa-content($fa-var-classicpress-circle); } +.#{$fa-css-prefix}-open-collective:before { content: fa-content($fa-var-open-collective); } +.#{$fa-css-prefix}-orcid:before { content: fa-content($fa-var-orcid); } +.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); } +.#{$fa-css-prefix}-funkwhale:before { content: fa-content($fa-var-funkwhale); } +.#{$fa-css-prefix}-askfm:before { content: fa-content($fa-var-askfm); } +.#{$fa-css-prefix}-blockstack:before { content: fa-content($fa-var-blockstack); } +.#{$fa-css-prefix}-boardgamegeek:before { content: fa-content($fa-var-boardgamegeek); } +.#{$fa-css-prefix}-bunny:before { content: fa-content($fa-var-bunny); } +.#{$fa-css-prefix}-buymeacoffee:before { content: fa-content($fa-var-buymeacoffee); } +.#{$fa-css-prefix}-cc-by:before { content: fa-content($fa-var-cc-by); } +.#{$fa-css-prefix}-creative-commons-alt:before, +.#{$fa-css-prefix}-cc-cc:before { content: fa-content($fa-var-cc-cc); } +.#{$fa-css-prefix}-cc-nc-eu:before { content: fa-content($fa-var-cc-nc-eu); } +.#{$fa-css-prefix}-cc-nc-jp:before { content: fa-content($fa-var-cc-nc-jp); } +.#{$fa-css-prefix}-cc-nc:before { content: fa-content($fa-var-cc-nc); } +.#{$fa-css-prefix}-cc-nd:before { content: fa-content($fa-var-cc-nd); } +.#{$fa-css-prefix}-cc-pd:before { content: fa-content($fa-var-cc-pd); } +.#{$fa-css-prefix}-cc-remix:before { content: fa-content($fa-var-cc-remix); } +.#{$fa-css-prefix}-cc-sa:before { content: fa-content($fa-var-cc-sa); } +.#{$fa-css-prefix}-cc-share:before { content: fa-content($fa-var-cc-share); } +.#{$fa-css-prefix}-cc-zero:before { content: fa-content($fa-var-cc-zero); } +.#{$fa-css-prefix}-conway-hacker:before, +.#{$fa-css-prefix}-conway-glider:before { content: fa-content($fa-var-conway-glider); } +.#{$fa-css-prefix}-csharp:before { content: fa-content($fa-var-csharp); } +.#{$fa-css-prefix}-email-bulk:before { content: fa-content($fa-var-email-bulk); } +.#{$fa-css-prefix}-email-bulk-o:before { content: fa-content($fa-var-email-bulk-o); } +.#{$fa-css-prefix}-gnu:before { content: fa-content($fa-var-gnu); } +.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); } +.#{$fa-css-prefix}-heroku:before { content: fa-content($fa-var-heroku); } +.#{$fa-css-prefix}-hassio:before, +.#{$fa-css-prefix}-home-assistant:before { content: fa-content($fa-var-home-assistant); } +.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); } +.#{$fa-css-prefix}-mariadb:before { content: fa-content($fa-var-mariadb); } +.#{$fa-css-prefix}-markdown:before { content: fa-content($fa-var-markdown); } +.#{$fa-css-prefix}-mysql:before { content: fa-content($fa-var-mysql); } +.#{$fa-css-prefix}-nordcast:before { content: fa-content($fa-var-nordcast); } +.#{$fa-css-prefix}-plume:before { content: fa-content($fa-var-plume); } +.#{$fa-css-prefix}-postgresql:before { content: fa-content($fa-var-postgresql); } +.#{$fa-css-prefix}-sass-alt:before { content: fa-content($fa-var-sass-alt); } +.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); } +.#{$fa-css-prefix}-skate:before { content: fa-content($fa-var-skate); } +.#{$fa-css-prefix}-sketchfab:before { content: fa-content($fa-var-sketchfab); } +.#{$fa-css-prefix}-tex:before { content: fa-content($fa-var-tex); } +.#{$fa-css-prefix}-textpattern:before { content: fa-content($fa-var-textpattern); } +.#{$fa-css-prefix}-unity:before { content: fa-content($fa-var-unity); } diff --git a/assets/scss/fork-awesome/_larger.scss b/assets/scss/fork-awesome/_larger.scss new file mode 100644 index 0000000..41e9a81 --- /dev/null +++ b/assets/scss/fork-awesome/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/assets/scss/fork-awesome/_list.scss b/assets/scss/fork-awesome/_list.scss new file mode 100644 index 0000000..7d1e4d5 --- /dev/null +++ b/assets/scss/fork-awesome/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/assets/scss/fork-awesome/_mixins.scss b/assets/scss/fork-awesome/_mixins.scss new file mode 100644 index 0000000..6fdb128 --- /dev/null +++ b/assets/scss/fork-awesome/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} #{$fa-font-family}; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/assets/scss/fork-awesome/_path.scss b/assets/scss/fork-awesome/_path.scss new file mode 100644 index 0000000..1566182 --- /dev/null +++ b/assets/scss/fork-awesome/_path.scss @@ -0,0 +1,16 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: '#{$fa-font-family}'; + src: url('#{$fa-font-path}/forkawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/forkawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/forkawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/forkawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/forkawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/forkawesome-webfont.svg?v=#{$fa-version}#forkawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/ForkAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; + font-display: block; +} diff --git a/assets/scss/fork-awesome/_rotated-flipped.scss b/assets/scss/fork-awesome/_rotated-flipped.scss new file mode 100644 index 0000000..a3558fd --- /dev/null +++ b/assets/scss/fork-awesome/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/assets/scss/fork-awesome/_screen-reader.scss b/assets/scss/fork-awesome/_screen-reader.scss new file mode 100644 index 0000000..637426f --- /dev/null +++ b/assets/scss/fork-awesome/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/assets/scss/fork-awesome/_stacked.scss b/assets/scss/fork-awesome/_stacked.scss new file mode 100644 index 0000000..aef7403 --- /dev/null +++ b/assets/scss/fork-awesome/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/assets/scss/fork-awesome/_variables.scss b/assets/scss/fork-awesome/_variables.scss new file mode 100644 index 0000000..3a8abf3 --- /dev/null +++ b/assets/scss/fork-awesome/_variables.scss @@ -0,0 +1,945 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +$fa-css-prefix: "fa" !default; +$fa-font-family: "ForkAwesome" !default; +$fa-version: "1.2.0" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-500px: \f26e; +$fa-var-activitypub: \f2f2; +$fa-var-address-book: \f2b9; +$fa-var-address-book-o: \f2ba; +$fa-var-address-card: \f2bb; +$fa-var-address-card-o: \f2bc; +$fa-var-adjust: \f042; +$fa-var-adn: \f170; +$fa-var-align-center: \f037; +$fa-var-align-justify: \f039; +$fa-var-align-left: \f036; +$fa-var-align-right: \f038; +$fa-var-amazon: \f270; +$fa-var-ambulance: \f0f9; +$fa-var-american-sign-language-interpreting: \f2a3; +$fa-var-anchor: \f13d; +$fa-var-android: \f17b; +$fa-var-angellist: \f209; +$fa-var-angle-double-down: \f103; +$fa-var-angle-double-left: \f100; +$fa-var-angle-double-right: \f101; +$fa-var-angle-double-up: \f102; +$fa-var-angle-down: \f107; +$fa-var-angle-left: \f104; +$fa-var-angle-right: \f105; +$fa-var-angle-up: \f106; +$fa-var-apple: \f179; +$fa-var-archive: \f187; +$fa-var-archive-org: \f2fc; +$fa-var-archlinux: \f323; +$fa-var-area-chart: \f1fe; +$fa-var-arrow-circle-down: \f0ab; +$fa-var-arrow-circle-left: \f0a8; +$fa-var-arrow-circle-o-down: \f01a; +$fa-var-arrow-circle-o-left: \f190; +$fa-var-arrow-circle-o-right: \f18e; +$fa-var-arrow-circle-o-up: \f01b; +$fa-var-arrow-circle-right: \f0a9; +$fa-var-arrow-circle-up: \f0aa; +$fa-var-arrow-down: \f063; +$fa-var-arrow-left: \f060; +$fa-var-arrow-right: \f061; +$fa-var-arrow-up: \f062; +$fa-var-arrows: \f047; +$fa-var-arrows-alt: \f0b2; +$fa-var-arrows-h: \f07e; +$fa-var-arrows-v: \f07d; +$fa-var-artstation: \f2ed; +$fa-var-askfm: \f33a; +$fa-var-asl-interpreting: \f2a3; +$fa-var-assistive-listening-systems: \f2a2; +$fa-var-asterisk: \f069; +$fa-var-at: \f1fa; +$fa-var-att: \f31e; +$fa-var-audio-description: \f29e; +$fa-var-automobile: \f1b9; +$fa-var-backward: \f04a; +$fa-var-balance-scale: \f24e; +$fa-var-ban: \f05e; +$fa-var-bandcamp: \f2d5; +$fa-var-bank: \f19c; +$fa-var-bar-chart: \f080; +$fa-var-bar-chart-o: \f080; +$fa-var-barcode: \f02a; +$fa-var-bars: \f0c9; +$fa-var-bath: \f2cd; +$fa-var-bathtub: \f2cd; +$fa-var-battery: \f240; +$fa-var-battery-0: \f244; +$fa-var-battery-1: \f243; +$fa-var-battery-2: \f242; +$fa-var-battery-3: \f241; +$fa-var-battery-4: \f240; +$fa-var-battery-empty: \f244; +$fa-var-battery-full: \f240; +$fa-var-battery-half: \f242; +$fa-var-battery-quarter: \f243; +$fa-var-battery-three-quarters: \f241; +$fa-var-bed: \f236; +$fa-var-beer: \f0fc; +$fa-var-behance: \f1b4; +$fa-var-behance-square: \f1b5; +$fa-var-bell: \f0a2; +$fa-var-bell-o: \f0f3; +$fa-var-bell-ringing: \f32d; +$fa-var-bell-ringing-o: \f330; +$fa-var-bell-slash: \f1f6; +$fa-var-bell-slash-o: \f1f7; +$fa-var-bicycle: \f206; +$fa-var-binoculars: \f1e5; +$fa-var-biometric: \f32b; +$fa-var-birthday-cake: \f1fd; +$fa-var-bitbucket: \f171; +$fa-var-bitbucket-square: \f172; +$fa-var-bitcoin: \f15a; +$fa-var-black-tie: \f27e; +$fa-var-blind: \f29d; +$fa-var-blockstack: \f33b; +$fa-var-bluetooth: \f293; +$fa-var-bluetooth-b: \f294; +$fa-var-boardgamegeek: \f33c; +$fa-var-bold: \f032; +$fa-var-bolt: \f0e7; +$fa-var-bomb: \f1e2; +$fa-var-book: \f02d; +$fa-var-bookmark: \f02e; +$fa-var-bookmark-o: \f097; +$fa-var-bootstrap: \f315; +$fa-var-braille: \f2a1; +$fa-var-briefcase: \f0b1; +$fa-var-btc: \f15a; +$fa-var-bug: \f188; +$fa-var-building: \f1ad; +$fa-var-building-o: \f0f7; +$fa-var-bullhorn: \f0a1; +$fa-var-bullseye: \f140; +$fa-var-bunny: \f35f; +$fa-var-bus: \f207; +$fa-var-buymeacoffee: \f33d; +$fa-var-buysellads: \f20d; +$fa-var-c: \f31c; +$fa-var-cab: \f1ba; +$fa-var-calculator: \f1ec; +$fa-var-calendar: \f073; +$fa-var-calendar-check-o: \f274; +$fa-var-calendar-minus-o: \f272; +$fa-var-calendar-o: \f133; +$fa-var-calendar-plus-o: \f271; +$fa-var-calendar-times-o: \f273; +$fa-var-camera: \f030; +$fa-var-camera-retro: \f083; +$fa-var-car: \f1b9; +$fa-var-caret-down: \f0d7; +$fa-var-caret-left: \f0d9; +$fa-var-caret-right: \f0da; +$fa-var-caret-square-o-down: \f150; +$fa-var-caret-square-o-left: \f191; +$fa-var-caret-square-o-right: \f152; +$fa-var-caret-square-o-up: \f151; +$fa-var-caret-up: \f0d8; +$fa-var-cart-arrow-down: \f218; +$fa-var-cart-plus: \f217; +$fa-var-cc: \f20a; +$fa-var-cc-amex: \f1f3; +$fa-var-cc-by: \f33e; +$fa-var-cc-cc: \f33f; +$fa-var-cc-diners-club: \f24c; +$fa-var-cc-discover: \f1f2; +$fa-var-cc-jcb: \f24b; +$fa-var-cc-mastercard: \f1f1; +$fa-var-cc-nc: \f340; +$fa-var-cc-nc-eu: \f341; +$fa-var-cc-nc-jp: \f342; +$fa-var-cc-nd: \f343; +$fa-var-cc-paypal: \f1f4; +$fa-var-cc-pd: \f344; +$fa-var-cc-remix: \f345; +$fa-var-cc-sa: \f346; +$fa-var-cc-share: \f347; +$fa-var-cc-stripe: \f1f5; +$fa-var-cc-visa: \f1f0; +$fa-var-cc-zero: \f348; +$fa-var-certificate: \f0a3; +$fa-var-chain: \f0c1; +$fa-var-chain-broken: \f127; +$fa-var-check: \f00c; +$fa-var-check-circle: \f058; +$fa-var-check-circle-o: \f05d; +$fa-var-check-square: \f14a; +$fa-var-check-square-o: \f046; +$fa-var-chevron-circle-down: \f13a; +$fa-var-chevron-circle-left: \f137; +$fa-var-chevron-circle-right: \f138; +$fa-var-chevron-circle-up: \f139; +$fa-var-chevron-down: \f078; +$fa-var-chevron-left: \f053; +$fa-var-chevron-right: \f054; +$fa-var-chevron-up: \f077; +$fa-var-child: \f1ae; +$fa-var-chrome: \f268; +$fa-var-circle: \f111; +$fa-var-circle-o: \f10c; +$fa-var-circle-o-notch: \f1ce; +$fa-var-circle-thin: \f1db; +$fa-var-classicpress: \f331; +$fa-var-classicpress-circle: \f332; +$fa-var-clipboard: \f0ea; +$fa-var-clock-o: \f017; +$fa-var-clone: \f24d; +$fa-var-close: \f00d; +$fa-var-closed-captioning: \f20a; +$fa-var-cloud: \f0c2; +$fa-var-cloud-download: \f0ed; +$fa-var-cloud-upload: \f0ee; +$fa-var-cny: \f157; +$fa-var-code: \f121; +$fa-var-code-fork: \f126; +$fa-var-codepen: \f1cb; +$fa-var-codiepie: \f284; +$fa-var-coffee: \f0f4; +$fa-var-cog: \f013; +$fa-var-cogs: \f085; +$fa-var-columns: \f0db; +$fa-var-comment: \f075; +$fa-var-comment-o: \f0e5; +$fa-var-commenting: \f27a; +$fa-var-commenting-o: \f27b; +$fa-var-comments: \f086; +$fa-var-comments-o: \f0e6; +$fa-var-community: \f0c0; +$fa-var-compass: \f14e; +$fa-var-compress: \f066; +$fa-var-connectdevelop: \f20e; +$fa-var-contao: \f26d; +$fa-var-conway-glider: \f349; +$fa-var-conway-hacker: \f349; +$fa-var-copy: \f0c5; +$fa-var-copyright: \f1f9; +$fa-var-creative-commons: \f25e; +$fa-var-creative-commons-alt: \f33f; +$fa-var-credit-card: \f09d; +$fa-var-credit-card-alt: \f283; +$fa-var-crop: \f125; +$fa-var-crosshairs: \f05b; +$fa-var-csharp: \f34a; +$fa-var-css3: \f13c; +$fa-var-cube: \f1b2; +$fa-var-cubes: \f1b3; +$fa-var-cut: \f0c4; +$fa-var-cut-key: \f2f7; +$fa-var-cutlery: \f0f5; +$fa-var-dashboard: \f0e4; +$fa-var-dashcube: \f210; +$fa-var-database: \f1c0; +$fa-var-deaf: \f2a4; +$fa-var-deafness: \f2a4; +$fa-var-debian: \f2ff; +$fa-var-dedent: \f03b; +$fa-var-delicious: \f1a5; +$fa-var-desktop: \f108; +$fa-var-dev-to: \f316; +$fa-var-deviantart: \f1bd; +$fa-var-diamond: \f219; +$fa-var-diaspora: \f2e5; +$fa-var-digg: \f1a6; +$fa-var-digitalocean: \f31d; +$fa-var-discord: \f2ee; +$fa-var-discord-alt: \f2ef; +$fa-var-dogmazic: \f303; +$fa-var-dollar: \f155; +$fa-var-dot-circle-o: \f192; +$fa-var-download: \f019; +$fa-var-dribbble: \f17d; +$fa-var-drivers-license: \f2c2; +$fa-var-drivers-license-o: \f2c3; +$fa-var-dropbox: \f16b; +$fa-var-drupal: \f1a9; +$fa-var-edge: \f282; +$fa-var-edit: \f044; +$fa-var-eercast: \f2da; +$fa-var-eject: \f052; +$fa-var-ellipsis-h: \f141; +$fa-var-ellipsis-v: \f142; +$fa-var-email-bulk: \f34b; +$fa-var-email-bulk-o: \f34c; +$fa-var-emby: \f319; +$fa-var-empire: \f1d1; +$fa-var-envelope: \f0e0; +$fa-var-envelope-o: \f003; +$fa-var-envelope-open: \f2b6; +$fa-var-envelope-open-o: \f2b7; +$fa-var-envelope-square: \f199; +$fa-var-envira: \f299; +$fa-var-eraser: \f12d; +$fa-var-ethereum: \f2f3; +$fa-var-etsy: \f2d7; +$fa-var-eur: \f153; +$fa-var-euro: \f153; +$fa-var-exchange: \f0ec; +$fa-var-exclamation: \f12a; +$fa-var-exclamation-circle: \f06a; +$fa-var-exclamation-triangle: \f071; +$fa-var-expand: \f065; +$fa-var-expeditedssl: \f23e; +$fa-var-external-link: \f08e; +$fa-var-external-link-square: \f14c; +$fa-var-eye: \f06e; +$fa-var-eye-slash: \f070; +$fa-var-eyedropper: \f1fb; +$fa-var-f-droid: \f32a; +$fa-var-fa: \f2b4; +$fa-var-facebook: \f09a; +$fa-var-facebook-f: \f09a; +$fa-var-facebook-messenger: \f2fe; +$fa-var-facebook-official: \f230; +$fa-var-facebook-square: \f082; +$fa-var-fast-backward: \f049; +$fa-var-fast-forward: \f050; +$fa-var-fax: \f1ac; +$fa-var-feed: \f09e; +$fa-var-female: \f182; +$fa-var-ffmpeg: \f30f; +$fa-var-fighter-jet: \f0fb; +$fa-var-file: \f15b; +$fa-var-file-archive-o: \f1c6; +$fa-var-file-audio-o: \f1c7; +$fa-var-file-code-o: \f1c9; +$fa-var-file-epub: \f321; +$fa-var-file-excel-o: \f1c3; +$fa-var-file-image-o: \f1c5; +$fa-var-file-movie-o: \f1c8; +$fa-var-file-o: \f016; +$fa-var-file-pdf-o: \f1c1; +$fa-var-file-photo-o: \f1c5; +$fa-var-file-picture-o: \f1c5; +$fa-var-file-powerpoint-o: \f1c4; +$fa-var-file-sound-o: \f1c7; +$fa-var-file-text: \f15c; +$fa-var-file-text-o: \f0f6; +$fa-var-file-video-o: \f1c8; +$fa-var-file-word-o: \f1c2; +$fa-var-file-zip-o: \f1c6; +$fa-var-files-o: \f0c5; +$fa-var-film: \f008; +$fa-var-filter: \f0b0; +$fa-var-fire: \f06d; +$fa-var-fire-extinguisher: \f134; +$fa-var-firefox: \f269; +$fa-var-first-order: \f2b0; +$fa-var-flag: \f024; +$fa-var-flag-checkered: \f11e; +$fa-var-flag-o: \f11d; +$fa-var-flash: \f0e7; +$fa-var-flask: \f0c3; +$fa-var-flickr: \f16e; +$fa-var-floppy-o: \f0c7; +$fa-var-folder: \f07b; +$fa-var-folder-o: \f114; +$fa-var-folder-open: \f07c; +$fa-var-folder-open-o: \f115; +$fa-var-font: \f031; +$fa-var-font-awesome: \f2b4; +$fa-var-fonticons: \f280; +$fa-var-fork-awesome: \f2e3; +$fa-var-fork-circle: \f2e3; +$fa-var-fort-awesome: \f286; +$fa-var-forumbee: \f211; +$fa-var-forward: \f04e; +$fa-var-foursquare: \f180; +$fa-var-free-code-camp: \f2c5; +$fa-var-freedombox: \f2fd; +$fa-var-friendica: \f2e6; +$fa-var-frown-o: \f119; +$fa-var-funkwhale: \f339; +$fa-var-futbol-o: \f1e3; +$fa-var-gamepad: \f11b; +$fa-var-gavel: \f0e3; +$fa-var-gbp: \f154; +$fa-var-ge: \f1d1; +$fa-var-gear: \f013; +$fa-var-gears: \f085; +$fa-var-gem: \f219; +$fa-var-genderless: \f22d; +$fa-var-get-pocket: \f265; +$fa-var-gg: \f260; +$fa-var-gg-circle: \f261; +$fa-var-gift: \f06b; +$fa-var-gimp: \f31b; +$fa-var-git: \f1d3; +$fa-var-git-square: \f1d2; +$fa-var-gitea: \f31f; +$fa-var-github: \f09b; +$fa-var-github-alt: \f113; +$fa-var-github-square: \f092; +$fa-var-gitlab: \f296; +$fa-var-gittip: \f184; +$fa-var-glass: \f000; +$fa-var-glide: \f2a5; +$fa-var-glide-g: \f2a6; +$fa-var-globe: \f0ac; +$fa-var-globe-e: \f304; +$fa-var-globe-w: \f305; +$fa-var-gnu: \f34d; +$fa-var-gnu-social: \f2e7; +$fa-var-gnupg: \f30d; +$fa-var-google: \f1a0; +$fa-var-google-play: \f34e; +$fa-var-google-plus: \f0d5; +$fa-var-google-plus-circle: \f2b3; +$fa-var-google-plus-g: \f0d5; +$fa-var-google-plus-official: \f2b3; +$fa-var-google-plus-square: \f0d4; +$fa-var-google-wallet: \f1ee; +$fa-var-graduation-cap: \f19d; +$fa-var-gratipay: \f184; +$fa-var-grav: \f2d6; +$fa-var-group: \f0c0; +$fa-var-h-square: \f0fd; +$fa-var-hackaday: \f30a; +$fa-var-hacker-news: \f1d4; +$fa-var-hackster: \f326; +$fa-var-hal: \f333; +$fa-var-hand-grab-o: \f255; +$fa-var-hand-lizard-o: \f258; +$fa-var-hand-o-down: \f0a7; +$fa-var-hand-o-left: \f0a5; +$fa-var-hand-o-right: \f0a4; +$fa-var-hand-o-up: \f0a6; +$fa-var-hand-paper-o: \f256; +$fa-var-hand-peace-o: \f25b; +$fa-var-hand-pointer-o: \f25a; +$fa-var-hand-rock-o: \f255; +$fa-var-hand-scissors-o: \f257; +$fa-var-hand-spock-o: \f259; +$fa-var-hand-stop-o: \f256; +$fa-var-handshake-o: \f2b5; +$fa-var-hard-of-hearing: \f2a4; +$fa-var-hashnode: \f317; +$fa-var-hashtag: \f292; +$fa-var-hassio: \f350; +$fa-var-hdd-o: \f0a0; +$fa-var-header: \f1dc; +$fa-var-heading: \f1dc; +$fa-var-headphones: \f025; +$fa-var-heart: \f004; +$fa-var-heart-o: \f08a; +$fa-var-heartbeat: \f21e; +$fa-var-heroku: \f34f; +$fa-var-history: \f1da; +$fa-var-home: \f015; +$fa-var-home-assistant: \f350; +$fa-var-hospital-o: \f0f8; +$fa-var-hotel: \f236; +$fa-var-hourglass: \f254; +$fa-var-hourglass-1: \f251; +$fa-var-hourglass-2: \f252; +$fa-var-hourglass-3: \f253; +$fa-var-hourglass-end: \f253; +$fa-var-hourglass-half: \f252; +$fa-var-hourglass-o: \f250; +$fa-var-hourglass-start: \f251; +$fa-var-houzz: \f27c; +$fa-var-html5: \f13b; +$fa-var-hubzilla: \f2eb; +$fa-var-i-cursor: \f246; +$fa-var-id-badge: \f2c1; +$fa-var-id-card: \f2c2; +$fa-var-id-card-o: \f2c3; +$fa-var-ils: \f20b; +$fa-var-image: \f03e; +$fa-var-imdb: \f2d8; +$fa-var-inbox: \f01c; +$fa-var-indent: \f03c; +$fa-var-industry: \f275; +$fa-var-info: \f129; +$fa-var-info-circle: \f05a; +$fa-var-inkscape: \f312; +$fa-var-inr: \f156; +$fa-var-instagram: \f16d; +$fa-var-institution: \f19c; +$fa-var-internet-explorer: \f26b; +$fa-var-intersex: \f224; +$fa-var-ioxhost: \f208; +$fa-var-italic: \f033; +$fa-var-java: \f351; +$fa-var-jirafeau: \f318; +$fa-var-joomla: \f1aa; +$fa-var-joplin: \f310; +$fa-var-jpy: \f157; +$fa-var-jsfiddle: \f1cc; +$fa-var-julia: \f334; +$fa-var-jupyter: \f335; +$fa-var-key: \f084; +$fa-var-key-modern: \f2f7; +$fa-var-keybase: \f2f4; +$fa-var-keyboard-o: \f11c; +$fa-var-krw: \f159; +$fa-var-language: \f1ab; +$fa-var-laptop: \f109; +$fa-var-laravel: \f30b; +$fa-var-lastfm: \f202; +$fa-var-lastfm-square: \f203; +$fa-var-leaf: \f06c; +$fa-var-leanpub: \f212; +$fa-var-legal: \f0e3; +$fa-var-lemon-o: \f094; +$fa-var-level-down: \f149; +$fa-var-level-up: \f148; +$fa-var-liberapay: \f2e9; +$fa-var-liberapay-square: \f2e8; +$fa-var-life-bouy: \f1cd; +$fa-var-life-buoy: \f1cd; +$fa-var-life-ring: \f1cd; +$fa-var-life-saver: \f1cd; +$fa-var-lightbulb-o: \f0eb; +$fa-var-line-chart: \f201; +$fa-var-link: \f0c1; +$fa-var-linkedin: \f0e1; +$fa-var-linkedin-square: \f08c; +$fa-var-linode: \f2b8; +$fa-var-linux: \f17c; +$fa-var-list: \f03a; +$fa-var-list-alt: \f022; +$fa-var-list-ol: \f0cb; +$fa-var-list-ul: \f0ca; +$fa-var-location-arrow: \f124; +$fa-var-lock: \f023; +$fa-var-long-arrow-down: \f175; +$fa-var-long-arrow-left: \f177; +$fa-var-long-arrow-right: \f178; +$fa-var-long-arrow-up: \f176; +$fa-var-low-vision: \f2a8; +$fa-var-magic: \f0d0; +$fa-var-magnet: \f076; +$fa-var-mail-forward: \f064; +$fa-var-mail-reply: \f112; +$fa-var-mail-reply-all: \f122; +$fa-var-male: \f183; +$fa-var-map: \f279; +$fa-var-map-marker: \f041; +$fa-var-map-o: \f278; +$fa-var-map-pin: \f276; +$fa-var-map-signs: \f277; +$fa-var-mariadb: \f352; +$fa-var-markdown: \f353; +$fa-var-mars: \f222; +$fa-var-mars-double: \f227; +$fa-var-mars-stroke: \f229; +$fa-var-mars-stroke-h: \f22b; +$fa-var-mars-stroke-v: \f22a; +$fa-var-mastodon: \f2e1; +$fa-var-mastodon-alt: \f2e2; +$fa-var-mastodon-square: \f300; +$fa-var-matrix-org: \f313; +$fa-var-maxcdn: \f136; +$fa-var-meanpath: \f20c; +$fa-var-medium: \f23a; +$fa-var-medium-square: \f2f8; +$fa-var-medkit: \f0fa; +$fa-var-meetup: \f2e0; +$fa-var-meh-o: \f11a; +$fa-var-mercury: \f223; +$fa-var-microchip: \f2db; +$fa-var-microphone: \f130; +$fa-var-microphone-slash: \f131; +$fa-var-minus: \f068; +$fa-var-minus-circle: \f056; +$fa-var-minus-square: \f146; +$fa-var-minus-square-o: \f147; +$fa-var-mixcloud: \f289; +$fa-var-mobile: \f10b; +$fa-var-mobile-phone: \f10b; +$fa-var-modx: \f285; +$fa-var-money: \f0d6; +$fa-var-moon: \f328; +$fa-var-moon-o: \f186; +$fa-var-mortar-board: \f19d; +$fa-var-motorcycle: \f21c; +$fa-var-mouse-pointer: \f245; +$fa-var-music: \f001; +$fa-var-mysql: \f354; +$fa-var-navicon: \f0c9; +$fa-var-neuter: \f22c; +$fa-var-newspaper-o: \f1ea; +$fa-var-nextcloud: \f306; +$fa-var-nextcloud-square: \f307; +$fa-var-nodejs: \f308; +$fa-var-nordcast: \f355; +$fa-var-object-group: \f247; +$fa-var-object-ungroup: \f248; +$fa-var-odnoklassniki: \f263; +$fa-var-odnoklassniki-square: \f264; +$fa-var-open-collective: \f336; +$fa-var-opencart: \f23d; +$fa-var-openid: \f19b; +$fa-var-opera: \f26a; +$fa-var-optin-monster: \f23c; +$fa-var-orcid: \f337; +$fa-var-outdent: \f03b; +$fa-var-pagelines: \f18c; +$fa-var-paint-brush: \f1fc; +$fa-var-paper-plane: \f1d8; +$fa-var-paper-plane-o: \f1d9; +$fa-var-paperclip: \f0c6; +$fa-var-paragraph: \f1dd; +$fa-var-paste: \f0ea; +$fa-var-patreon: \f2f0; +$fa-var-pause: \f04c; +$fa-var-pause-circle: \f28b; +$fa-var-pause-circle-o: \f28c; +$fa-var-paw: \f1b0; +$fa-var-paypal: \f1ed; +$fa-var-peertube: \f2e4; +$fa-var-pencil: \f040; +$fa-var-pencil-square: \f14b; +$fa-var-pencil-square-o: \f044; +$fa-var-percent: \f295; +$fa-var-phone: \f095; +$fa-var-phone-square: \f098; +$fa-var-phone-volume: \f2a0; +$fa-var-photo: \f03e; +$fa-var-php: \f30e; +$fa-var-picture-o: \f03e; +$fa-var-pie-chart: \f200; +$fa-var-pinterest: \f0d2; +$fa-var-pinterest-p: \f231; +$fa-var-pinterest-square: \f0d3; +$fa-var-pixelfed: \f314; +$fa-var-plane: \f072; +$fa-var-play: \f04b; +$fa-var-play-circle: \f144; +$fa-var-play-circle-o: \f01d; +$fa-var-pleroma: \f324; +$fa-var-plug: \f1e6; +$fa-var-plume: \f356; +$fa-var-plus: \f067; +$fa-var-plus-circle: \f055; +$fa-var-plus-square: \f0fe; +$fa-var-plus-square-o: \f196; +$fa-var-podcast: \f2ce; +$fa-var-postgresql: \f357; +$fa-var-pound: \f154; +$fa-var-power-off: \f011; +$fa-var-print: \f02f; +$fa-var-product-hunt: \f288; +$fa-var-puzzle-piece: \f12e; +$fa-var-python: \f322; +$fa-var-qq: \f1d6; +$fa-var-qrcode: \f029; +$fa-var-question: \f128; +$fa-var-question-circle: \f059; +$fa-var-question-circle-o: \f29c; +$fa-var-quora: \f2c4; +$fa-var-quote-left: \f10d; +$fa-var-quote-right: \f10e; +$fa-var-ra: \f1d0; +$fa-var-random: \f074; +$fa-var-ravelry: \f2d9; +$fa-var-react: \f302; +$fa-var-rebel: \f1d0; +$fa-var-recycle: \f1b8; +$fa-var-reddit: \f1a1; +$fa-var-reddit-alien: \f281; +$fa-var-reddit-square: \f1a2; +$fa-var-refresh: \f021; +$fa-var-registered: \f25d; +$fa-var-remove: \f00d; +$fa-var-renren: \f18b; +$fa-var-reorder: \f0c9; +$fa-var-repeat: \f01e; +$fa-var-reply: \f112; +$fa-var-reply-all: \f122; +$fa-var-researchgate: \f338; +$fa-var-resistance: \f1d0; +$fa-var-retweet: \f079; +$fa-var-rmb: \f157; +$fa-var-road: \f018; +$fa-var-rocket: \f135; +$fa-var-rotate-left: \f0e2; +$fa-var-rotate-right: \f01e; +$fa-var-rouble: \f158; +$fa-var-rss: \f09e; +$fa-var-rss-square: \f143; +$fa-var-rub: \f158; +$fa-var-ruble: \f158; +$fa-var-rupee: \f156; +$fa-var-s15: \f2cd; +$fa-var-safari: \f267; +$fa-var-sass: \f358; +$fa-var-sass-alt: \f359; +$fa-var-save: \f0c7; +$fa-var-scissors: \f0c4; +$fa-var-scribd: \f28a; +$fa-var-scuttlebutt: \f2ea; +$fa-var-search: \f002; +$fa-var-search-minus: \f010; +$fa-var-search-plus: \f00e; +$fa-var-sellsy: \f213; +$fa-var-send: \f1d8; +$fa-var-send-o: \f1d9; +$fa-var-server: \f233; +$fa-var-shaarli: \f2f5; +$fa-var-shaarli-o: \f2f6; +$fa-var-share: \f064; +$fa-var-share-alt: \f1e0; +$fa-var-share-alt-square: \f1e1; +$fa-var-share-square: \f14d; +$fa-var-share-square-o: \f045; +$fa-var-shekel: \f20b; +$fa-var-sheqel: \f20b; +$fa-var-shield: \f132; +$fa-var-ship: \f21a; +$fa-var-shirtsinbulk: \f214; +$fa-var-shopping-bag: \f290; +$fa-var-shopping-basket: \f291; +$fa-var-shopping-cart: \f07a; +$fa-var-shower: \f2cc; +$fa-var-sign-in: \f090; +$fa-var-sign-language: \f2a7; +$fa-var-sign-out: \f08b; +$fa-var-signal: \f012; +$fa-var-signalapp: \f30c; +$fa-var-signing: \f2a7; +$fa-var-simplybuilt: \f215; +$fa-var-sitemap: \f0e8; +$fa-var-skate: \f35a; +$fa-var-sketchfab: \f35b; +$fa-var-skyatlas: \f216; +$fa-var-skype: \f17e; +$fa-var-slack: \f198; +$fa-var-sliders: \f1de; +$fa-var-slideshare: \f1e7; +$fa-var-smile-o: \f118; +$fa-var-snapchat: \f2ab; +$fa-var-snapchat-ghost: \f2ac; +$fa-var-snapchat-square: \f2ad; +$fa-var-snowdrift: \f2f1; +$fa-var-snowflake-o: \f2dc; +$fa-var-soccer-ball-o: \f1e3; +$fa-var-social-home: \f2ec; +$fa-var-sort: \f0dc; +$fa-var-sort-alpha-asc: \f15d; +$fa-var-sort-alpha-desc: \f15e; +$fa-var-sort-alpha-down: \f15d; +$fa-var-sort-alpha-up: \f15e; +$fa-var-sort-amount-asc: \f160; +$fa-var-sort-amount-desc: \f161; +$fa-var-sort-amount-down: \f160; +$fa-var-sort-amount-up: \f161; +$fa-var-sort-asc: \f0de; +$fa-var-sort-desc: \f0dd; +$fa-var-sort-down: \f0dd; +$fa-var-sort-numeric-asc: \f162; +$fa-var-sort-numeric-desc: \f163; +$fa-var-sort-numeric-down: \f162; +$fa-var-sort-numeric-up: \f163; +$fa-var-sort-up: \f0de; +$fa-var-soundcloud: \f1be; +$fa-var-space-shuttle: \f197; +$fa-var-spell-check: \f327; +$fa-var-spinner: \f110; +$fa-var-spoon: \f1b1; +$fa-var-spotify: \f1bc; +$fa-var-square: \f0c8; +$fa-var-square-o: \f096; +$fa-var-ssb: \f2ea; +$fa-var-stack-exchange: \f18d; +$fa-var-stack-overflow: \f16c; +$fa-var-star: \f005; +$fa-var-star-half: \f089; +$fa-var-star-half-empty: \f123; +$fa-var-star-half-full: \f123; +$fa-var-star-half-o: \f123; +$fa-var-star-o: \f006; +$fa-var-steam: \f1b6; +$fa-var-steam-square: \f1b7; +$fa-var-step-backward: \f048; +$fa-var-step-forward: \f051; +$fa-var-stethoscope: \f0f1; +$fa-var-sticky-note: \f249; +$fa-var-sticky-note-o: \f24a; +$fa-var-stop: \f04d; +$fa-var-stop-circle: \f28d; +$fa-var-stop-circle-o: \f28e; +$fa-var-street-view: \f21d; +$fa-var-strikethrough: \f0cc; +$fa-var-stumbleupon: \f1a4; +$fa-var-stumbleupon-circle: \f1a3; +$fa-var-subscript: \f12c; +$fa-var-subway: \f239; +$fa-var-suitcase: \f0f2; +$fa-var-sun: \f329; +$fa-var-sun-o: \f185; +$fa-var-superpowers: \f2dd; +$fa-var-superscript: \f12b; +$fa-var-support: \f1cd; +$fa-var-sync: \f021; +$fa-var-syncthing: \f311; +$fa-var-table: \f0ce; +$fa-var-tablet: \f10a; +$fa-var-tachometer: \f0e4; +$fa-var-tag: \f02b; +$fa-var-tags: \f02c; +$fa-var-tasks: \f0ae; +$fa-var-taxi: \f1ba; +$fa-var-telegram: \f2c6; +$fa-var-television: \f26c; +$fa-var-tencent-weibo: \f1d5; +$fa-var-terminal: \f120; +$fa-var-tex: \f35c; +$fa-var-text-height: \f034; +$fa-var-text-width: \f035; +$fa-var-textpattern: \f35d; +$fa-var-th: \f00a; +$fa-var-th-large: \f009; +$fa-var-th-list: \f00b; +$fa-var-themeisle: \f2b2; +$fa-var-thermometer: \f2c7; +$fa-var-thermometer-0: \f2cb; +$fa-var-thermometer-1: \f2ca; +$fa-var-thermometer-2: \f2c9; +$fa-var-thermometer-3: \f2c8; +$fa-var-thermometer-4: \f2c7; +$fa-var-thermometer-empty: \f2cb; +$fa-var-thermometer-full: \f2c7; +$fa-var-thermometer-half: \f2c9; +$fa-var-thermometer-quarter: \f2ca; +$fa-var-thermometer-three-quarters: \f2c8; +$fa-var-thumb-tack: \f08d; +$fa-var-thumbs-down: \f165; +$fa-var-thumbs-o-down: \f088; +$fa-var-thumbs-o-up: \f087; +$fa-var-thumbs-up: \f164; +$fa-var-ticket: \f145; +$fa-var-times: \f00d; +$fa-var-times-circle: \f057; +$fa-var-times-circle-o: \f05c; +$fa-var-times-rectangle: \f2d3; +$fa-var-times-rectangle-o: \f2d4; +$fa-var-tint: \f043; +$fa-var-tipeee: \f301; +$fa-var-toggle-down: \f150; +$fa-var-toggle-left: \f191; +$fa-var-toggle-off: \f204; +$fa-var-toggle-on: \f205; +$fa-var-toggle-right: \f152; +$fa-var-toggle-up: \f151; +$fa-var-tor-onion: \f32e; +$fa-var-trademark: \f25c; +$fa-var-train: \f238; +$fa-var-transgender: \f224; +$fa-var-transgender-alt: \f225; +$fa-var-trash: \f1f8; +$fa-var-trash-o: \f014; +$fa-var-tree: \f1bb; +$fa-var-trello: \f181; +$fa-var-tripadvisor: \f262; +$fa-var-trophy: \f091; +$fa-var-truck: \f0d1; +$fa-var-try: \f195; +$fa-var-tty: \f1e4; +$fa-var-tumblr: \f173; +$fa-var-tumblr-square: \f174; +$fa-var-turkish-lira: \f195; +$fa-var-tv: \f26c; +$fa-var-twitch: \f1e8; +$fa-var-twitter: \f099; +$fa-var-twitter-square: \f081; +$fa-var-umbrella: \f0e9; +$fa-var-underline: \f0cd; +$fa-var-undo: \f0e2; +$fa-var-unity: \f35e; +$fa-var-universal-access: \f29a; +$fa-var-university: \f19c; +$fa-var-unlink: \f127; +$fa-var-unlock: \f09c; +$fa-var-unlock-alt: \f13e; +$fa-var-unsorted: \f0dc; +$fa-var-unsplash: \f325; +$fa-var-upload: \f093; +$fa-var-usb: \f287; +$fa-var-usd: \f155; +$fa-var-user: \f007; +$fa-var-user-circle: \f2bd; +$fa-var-user-circle-o: \f2be; +$fa-var-user-md: \f0f0; +$fa-var-user-o: \f2c0; +$fa-var-user-plus: \f234; +$fa-var-user-secret: \f21b; +$fa-var-user-times: \f235; +$fa-var-users: \f0c0; +$fa-var-utensil-spoon: \f1b1; +$fa-var-utensils: \f0f5; +$fa-var-vcard: \f2bb; +$fa-var-vcard-o: \f2bc; +$fa-var-venus: \f221; +$fa-var-venus-double: \f226; +$fa-var-venus-mars: \f228; +$fa-var-viacoin: \f237; +$fa-var-viadeo: \f2a9; +$fa-var-viadeo-square: \f2aa; +$fa-var-video: \f03d; +$fa-var-video-camera: \f03d; +$fa-var-vimeo: \f27d; +$fa-var-vimeo-square: \f194; +$fa-var-vimeo-v: \f27d; +$fa-var-vine: \f1ca; +$fa-var-vk: \f189; +$fa-var-volume-control-phone: \f2a0; +$fa-var-volume-down: \f027; +$fa-var-volume-mute: \f32f; +$fa-var-volume-off: \f026; +$fa-var-volume-up: \f028; +$fa-var-warning: \f071; +$fa-var-wechat: \f1d7; +$fa-var-weibo: \f18a; +$fa-var-weixin: \f1d7; +$fa-var-whatsapp: \f232; +$fa-var-wheelchair: \f193; +$fa-var-wheelchair-alt: \f29b; +$fa-var-wifi: \f1eb; +$fa-var-wikidata: \f31a; +$fa-var-wikipedia-w: \f266; +$fa-var-window-close: \f2d3; +$fa-var-window-close-o: \f2d4; +$fa-var-window-maximize: \f2d0; +$fa-var-window-minimize: \f2d1; +$fa-var-window-restore: \f2d2; +$fa-var-windows: \f17a; +$fa-var-wire: \f32c; +$fa-var-won: \f159; +$fa-var-wordpress: \f19a; +$fa-var-wpbeginner: \f297; +$fa-var-wpexplorer: \f2de; +$fa-var-wpforms: \f298; +$fa-var-wrench: \f0ad; +$fa-var-xing: \f168; +$fa-var-xing-square: \f169; +$fa-var-xmpp: \f2f9; +$fa-var-y-combinator: \f23b; +$fa-var-y-combinator-square: \f1d4; +$fa-var-yahoo: \f19e; +$fa-var-yc: \f23b; +$fa-var-yc-square: \f1d4; +$fa-var-yelp: \f1e9; +$fa-var-yen: \f157; +$fa-var-yoast: \f2b1; +$fa-var-youtube: \f167; +$fa-var-youtube-play: \f16a; +$fa-var-youtube-square: \f166; +$fa-var-zotero: \f309; + diff --git a/assets/scss/fork-awesome/fork-awesome.scss b/assets/scss/fork-awesome/fork-awesome.scss new file mode 100644 index 0000000..a24f03c --- /dev/null +++ b/assets/scss/fork-awesome/fork-awesome.scss @@ -0,0 +1,28 @@ +/*! +Fork Awesome 1.2.0 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +@import "variables"; +@import "mixins"; +@import "functions"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..62b395a --- /dev/null +++ b/config.toml @@ -0,0 +1,5 @@ +baseURL = "https://example.com/" + +[module] +[module.hugoVersion] +min = "0.77.0" \ No newline at end of file diff --git a/docs/analytics.md b/docs/analytics.md new file mode 100644 index 0000000..9d56463 --- /dev/null +++ b/docs/analytics.md @@ -0,0 +1,20 @@ +# Enable Web Analytics + +## Supported Providers + +*in alphabetic order* + +* [Application Insights](https://azure.com/) - [documentation](/docs/analytics/applicationinsights.md) +* [Baidu Analytics](https://tongji.baidu.com/) - [documentation](/docs/analytics/baidu.md) +* [Clicky](https://clicky.com/) - [documentation](/docs/analytics/clicky.md) +* [Cloudflare](https://www.cloudflare.com/analytics/) - [documentation](/docs/analytics/cloudflare.md) +* [Google Analytics](https://developers.google.com/analytics) - [documentation](/docs/analytics/googleanalytics.md) +* [Google Tag Manager](https://developers.google.com/tag-manager) - [documentation](/docs/analytics/googletagmanager.md) +* [Fathom Analytics](https://usefathom.com/) - [documentation](/docs/analytics/fathom.md) +* [Goat Counter](https://www.goatcounter.com/) - [documentation](/docs/analytics/goatcounter.md) +* [Matomo](https://matomo.org/) - [documentation](/docs/analytics/matomo.md) +* [Micro Analytics](https://microanalytics.io/) - [documentation](/docs/analytics/microanalytics.md) +* [Pirsch](https://pirsch.io/) - [documentation](/docs/analytics/pirsch.md) +* [Plausible Analytics](https://plausible.io/) - [documentation](/docs/analytics/plausible.md) +* [Umami](https://umami.is/) - [documentation](/docs/analytics/umami.md) +* [Wide Angle Analytics](https://wideangle.co/) - [documentation](/docs/analytics/wideangle.md) \ No newline at end of file diff --git a/docs/analytics/applicationinsights.md b/docs/analytics/applicationinsights.md new file mode 100644 index 0000000..859feaa --- /dev/null +++ b/docs/analytics/applicationinsights.md @@ -0,0 +1,6 @@ +# Application Insights + +```toml +[params.applicationInsights] + connectionString = "connectionstring" # https://docs.microsoft.com/en-us/azure/azure-monitor/app/sdk-connection-string +``` diff --git a/docs/analytics/baidu.md b/docs/analytics/baidu.md new file mode 100644 index 0000000..e71a3be --- /dev/null +++ b/docs/analytics/baidu.md @@ -0,0 +1,25 @@ +# Baidu + +To use Baidu analytics in this theme, navigate to the setting page of your +site at . You will get a piece of JS code provided +as follows: + +```js + +``` + +Then you can use it by filling your site toke `your_token_at_here` in the +config file: + +```toml +[params.baidu] + token = "your_token_at_here" +``` diff --git a/docs/analytics/clicky.md b/docs/analytics/clicky.md new file mode 100644 index 0000000..3f945d1 --- /dev/null +++ b/docs/analytics/clicky.md @@ -0,0 +1,6 @@ +# Clicky + +```toml +[params.clicky] + id = "site-id" +``` \ No newline at end of file diff --git a/docs/analytics/cloudflare.md b/docs/analytics/cloudflare.md new file mode 100644 index 0000000..84f1171 --- /dev/null +++ b/docs/analytics/cloudflare.md @@ -0,0 +1,6 @@ +# Cloudflare + +```toml +[params.cloudflare] + token = "token" +``` diff --git a/docs/analytics/fathom.md b/docs/analytics/fathom.md new file mode 100644 index 0000000..d2a8c19 --- /dev/null +++ b/docs/analytics/fathom.md @@ -0,0 +1,7 @@ +# Fathom Analytics + +```toml +[params.fathomAnalytics] + siteID = "ABCDE" + serverURL = "cdn.usefathom.com" # (optionnal) Replace if you use a custom domain +``` \ No newline at end of file diff --git a/docs/analytics/goatcounter.md b/docs/analytics/goatcounter.md new file mode 100644 index 0000000..b217b5a --- /dev/null +++ b/docs/analytics/goatcounter.md @@ -0,0 +1,6 @@ +# Goat Counter + +```toml +[params.goatCounter] + code = "code" # You will access your account at https://[code].goatcounter.com +``` diff --git a/docs/analytics/googleanalytics.md b/docs/analytics/googleanalytics.md new file mode 100644 index 0000000..ae6c838 --- /dev/null +++ b/docs/analytics/googleanalytics.md @@ -0,0 +1,3 @@ +# Google Analytics + +Follow [these steps](https://gohugo.io/templates/internal/#configure-google-analytics). \ No newline at end of file diff --git a/docs/analytics/googletagmanager.md b/docs/analytics/googletagmanager.md new file mode 100644 index 0000000..94664e1 --- /dev/null +++ b/docs/analytics/googletagmanager.md @@ -0,0 +1,6 @@ +# Google Tag Manager + +```toml +[params.googleTagManager] + id = "gid" +``` diff --git a/docs/analytics/matomo.md b/docs/analytics/matomo.md new file mode 100644 index 0000000..f751330 --- /dev/null +++ b/docs/analytics/matomo.md @@ -0,0 +1,7 @@ +# Matomo + +```toml +[params.matomo] + siteID = "ABCDE" + serverURL = "analytics.example.com" +``` diff --git a/docs/analytics/microanalytics.md b/docs/analytics/microanalytics.md new file mode 100644 index 0000000..d1be070 --- /dev/null +++ b/docs/analytics/microanalytics.md @@ -0,0 +1,7 @@ +# microanalytics.io + +```toml +[params.microAnalytics] + id = "ABCDE" + dnt = "false" # respect DNT tracker, "true" by default +``` diff --git a/docs/analytics/pirsch.md b/docs/analytics/pirsch.md new file mode 100644 index 0000000..8cfceab --- /dev/null +++ b/docs/analytics/pirsch.md @@ -0,0 +1,6 @@ +# Pirsch + +```toml +[params.pirsch] + code = "ABCDE" +``` \ No newline at end of file diff --git a/docs/analytics/plausible.md b/docs/analytics/plausible.md new file mode 100644 index 0000000..3952da9 --- /dev/null +++ b/docs/analytics/plausible.md @@ -0,0 +1,7 @@ +# Plausible Analytics + +```toml +[params.plausibleAnalytics] + domain = "example.com" + serverURL = "plausible.io" # (optionnal) Replace if you use a custom domain +``` diff --git a/docs/analytics/umami.md b/docs/analytics/umami.md new file mode 100644 index 0000000..0ed0323 --- /dev/null +++ b/docs/analytics/umami.md @@ -0,0 +1,9 @@ +# Umami + +```toml +[params.umami] + siteID = "ABCDE" + scriptURL = "analytics.REGION.umami.is/SCRIPTNAME.js" + # refer to the "tracking code" tab in your umami website dashboard + # to obtain the script url +``` diff --git a/docs/analytics/wideangle.md b/docs/analytics/wideangle.md new file mode 100644 index 0000000..e4963c3 --- /dev/null +++ b/docs/analytics/wideangle.md @@ -0,0 +1,25 @@ +# Wide Angle Analytics + +Wide Angle Analytics is strictly **GDPR** compliant, privacy-first web analytics. Head to [wideangle.co](https://wideangle.co/) and create you free trial account now. + +## Configuration + +Built in template supports following configuration options: + +param | description | required | dafault +------|-------------|----------|-------- +siteID| A site ID from [Wide Angle site](https://wideangle.co/documentation/web-analytics-for-your-website)| :white_check_mark: | n/a +serverURL | [Domain](https://wideangle.co/documentation/track-with-custom-domain) with which the WAA is configured with | :x: | stats.wideangle.co +fingerprint | Enable advanced session fingerprint; requires user consent | :x: | false +supressDNT | Ignore Do-Not-Track setting in the browser | :x: | false + + +## Example + +```toml +[params.wideAngleAnalytics] + siteID = "1D4EG3B9ACA03F4243" + serverURL = "fyi.wideangle.co" + fingerprint = "false" + supressDNT = "false" +``` diff --git a/docs/comment-system.md b/docs/comment-system.md new file mode 100644 index 0000000..00d7bdd --- /dev/null +++ b/docs/comment-system.md @@ -0,0 +1 @@ +WIP diff --git a/docs/configurations.md b/docs/configurations.md new file mode 100644 index 0000000..58f0a5a --- /dev/null +++ b/docs/configurations.md @@ -0,0 +1,334 @@ +# Configurations + +* [About Hugo Configurations](#about-hugo-configurations) + * [Analytics](/docs/analytics.md) + * [Commenting Systems](#commenting-systems) + * [Disqus](#disqus) + * [Commento](#commento) + * [Utterances](#utterances) + * [Giscus](#giscus) +* [Syntax Highlight](#syntax-highlight) +* [Theme Parameters](#theme-parameters) + * [Social Icons Configuration](#social-icons-configuration) + * [Menu Items Configurations](#menu-items-configurations) + * [CSP](#csp) +* [Complete Example](#complete-example) +* [Front Matter](#front-matter) + * [Posts](#posts) + +## About Hugo Configurations + +This theme supports: + +* [Analytics](/docs/analytics.md) + +* Commenting Systems + * [Disqus](https://disqus.com/) + * [Commento](https://commento.io/) + * [Utterances](https://utteranc.es/) + * [Giscus](https://giscus.app/) + * [Telegram](https://comments.app/) + +### Commenting Systems + +Comments are displayed within post pages, but can be disabled with `disableComments` front-matter. + +#### Disqus + +Follow [these steps](https://gohugo.io/content-management/comments/#configure-disqus). + +#### Commento + +```toml +[params] + commentoURL = "https://cdn.commento.io" # Replace if you use a custom domain +``` + +#### Utterances + +```toml +[params.utterances] + repo = "" # https://utteranc.es/#heading-repository + issueTerm = "" # https://utteranc.es/#heading-mapping + label = "" # https://utteranc.es/#heading-issue-label + theme = "" # https://utteranc.es/#heading-theme +``` + +#### Giscus + +```toml +[params.giscus] # https://giscus.app + repo = "" + repoID = "" + category = "" + categoryID = "" + mapping = "" + term = "" + strict = "" + reactionsEnabled = "" + emitMetadata = "" + inputPosition = "" + theme = "" + lang = "" + loading = "" +``` + +#### Telegram + +```toml +[params.telegram] # https://comments.app/ + siteID = "" + limit = "" + height = "" + color = "" + dislikes = "" + outlined = "" + colorful = "" + dark = "" +``` + +## Syntax Highlight + +The theme uses the Goldmark syntax highlight system. GitHub light and dark are set as the default styles. To choose a different style, make sure `noClasses` is not set to false (default is true) and add to your `config.toml`: + +``` +[markup.highlight] +style = "monokai" +``` + +All `style` are available [here](https://xyproto.github.io/splash/docs/all.html). + +Alternatively, it is possible to use custom styles with generated CSS files. See [here](https://gohugo.io/content-management/syntax-highlighting/#generate-syntax-highlighter-css). + +## Theme Parameters + +These are all the parameters used by `hugo-coder` theme. + +| Name | Type | Required | Description | Default | Example | +| ----------------------------- | ------ | -------- | ------------------------------------------------ | -------------------------------- | ------------------------------------------------ | +| author | string | Yes | Author name. | | `"John Doe"` | +| info | string | Yes | An headline, job title or similar. | | `"Full Stack Developer"` | +| description | string | Yes | Description of the site. | | `"John Doe's personal website"` | +| keywords | string | Yes | Site keywords. | | `"blog,developer,personal"` | +| avatarURL | string | No | Photo of the author. | | `"images/avatar.jpg"` | +| gravatar | string | No | Gravatar photo of the author | | `"john.doe@example.com"` | +| faviconSVG | string | No | Custom path to a SCG favicon. | `"/img/favicon.svg"` | `"/img/favicon.svg"` | +| favicon_32 | string | No | Custom path to a 32x32 favicon. | `"/img/favicon-32x32.png"` | `"/img/favicon-32x32.png"` | +| favicon_16 | string | No | Custom path to a 16x16 favicon. | `"/img/favicon-16x16.png"` | `"/img/favicon-16x16.png"` | +| touchIcon | string | No | Custom path to a touch-icon | `"/images/apple-touch-icon.png"` | `"/images/apple-touch-icon.png"` | +| since | string | No | Date shown in the footer before now year | | `"2020"` | +| maxSeeAlsoItems | number | No | Series see also post count | `5` | `10` | +| commit | string | No | Show the last git commit in the footer | | `"https://github.com/luizdepra/hugo-coder/tree/"`| +| rtl | bool | No | Enable the Right To Left mode. | `false` | `true` or `false` | +| math | bool | No | Enable MathJax Module and add JS into your site. | `false` | `true` or `false` | +| katex | bool | No | Enable katex for all content types. | `false` | `true` or `false` | +| colorScheme | string | No | Specify light/dark colorscheme | `"auto"` | `"auto"` or `"light"` or `"dark"` | +| hideColorSchemeToggle | bool | No | If true, hides the color sheme toggle | `false` | `true` or `false` | +| customCSS | list | No | Add extra CSS files to the website. | [] | `["css/extra-style.css"]` | +| customSCSS | list | No | Add extra SCSS files to the website. | [] | `["scss/extra-style.scss"]` | +| customJS | list | No | Add extra JS files to the website. | [] | `["js/extra-script.js"]` | +| customRemoteJS | list | No | Add extra remote JS files to the website. | [] | `["https://www.example.com/file.js"]` | +| enableTwemoji | bool | No | Adds support for Twemoji | `false` | `true` or `false` | + +### Social Icons Configuration + +Social Icons are optional. To use them you will need to set at least all the following required parameters for each icon. + +| Configuration | Type | Required | Description | Example | +| -------------- | ------ | -------- | ---------------------------------------- | ------------------------------- | +| name | string | Yes | Icon name. | `"Github"` | +| icon | string | Yes | ForkAwesome icon classes. | `"fa fa-github"` | +| weight | int | Yes | Icon order. | `1` | +| url | string | Yes | URL to redirect. | `"https://github.com/johndoe/"` | + +An example: + +```toml +[[params.social]] + name = "Github" + icon = "fa fa-github fa-2x" + weight = 1 + url = "https://github.com/johndoe/" +[[params.social]] + name = "Gitlab" + icon = "fa fa-gitlab fa-2x" + weight = 2 + url = "https://gitlab.com/johndoe/" +[[params.social]] + name = "Twitter" + icon = "fa fa-twitter fa-2x" + weight = 3 + url = "https://twitter.com/johndoe/" +``` + +### Menu Items Configurations + +Menu Items are optional. To use them you will need to set all the following required parameters for each icon. + +| Configuration | Type | Required | Description | Example | +| -------------- | ------ | -------- | ---------------------------------------- | ------------------------------- | +| name | string | Yes | Menu Item name. | `"Posts"` | +| weight | int | Yes | Menu Item order. | `1` | +| url | string | Yes | URL to redirect. | `"/posts/"` | +| target | string | No | URL target attribute. | `"_blank"` | +| rel | string | No | URL rel attribute. | `"alternate"` | +| type | string | No | URL type attribute. | `"application/rss+xml"` | + +An example: + +```toml +[[menu.main]] + name = "Blog" + weight = 1 + url = "posts/" +[[menu.main]] + name = "About" + weight = 2 + url = "about/" +``` + +### CSP + +CSP stands for [Content Security Policy](https://developers.google.com/web/fundamentals/security/csp). These configurations are optional. To use them you will need to set all the following required parameters. See [here](https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources) for reference. + +| Configuration | Type | Required | Description | Example | +| -------------- | ----------- | -------- | ----------- | ------------------------------- | +| childsrc | string list | Yes | | `["'self'"]` | +| fontsrc | string list | Yes | | `["'self'"]` | +| formaction | string list | Yes | | `["'self'"]` | +| framesrc | string list | Yes | | `["'self'"]` | +| imgsrc | string list | Yes | | `["'self'"]` | +| objectsrc | string list | Yes | | `["'self'"]` | +| stylesrc | string list | Yes | | `["'self'"]` | +| scriptsrc | string list | Yes | | `["'self'"]` | +| prefetchsrc | string list | Yes | | `["'self'"]` | + +An example: + +```toml +[params.csp] + childsrc = ["'self'"] + fontsrc = [ + "'self'", + "https://fonts.gstatic.com", + "https://cdn.jsdelivr.net/" + ] + formaction = ["'self'"] + framesrc = ["'self'"] + imgsrc = ["'self'"] + objectsrc = ["'none'"] + stylesrc = [ + "'self'", + "'unsafe-inline'", + "https://fonts.googleapis.com/", + "https://cdn.jsdelivr.net/" + ] + scriptsrc = [ + "'self'", + "'unsafe-inline'", + "https://www.google-analytics.com" + ] + prefetchsrc = ["'self'"] +``` + +## Complete Example + +This is a complete configuration example with some recommended values. + +```toml +baseurl = "http://www.example.com" +title = "johndoe" +theme = "hugo-coder" +languagecode = "en" +defaultcontentlanguage = "en" + +paginate = 20 + +disqusShortname = "yourdiscussshortname" + +[markup.highlight] +style = "github-dark" + +[params] + author = "John Doe" + info = "Full Stack DevOps and Magician" + description = "John Doe's personal website" + keywords = "blog,developer,personal" + avatarurl = "images/avatar.jpg" + #gravatar = "john.doe@example.com" + + faviconSVG = "/img/favicon.svg" + favicon_32 = "/img/favicon-32x32.png" + favicon_16 = "/img/favicon-16x16.png" + + since = 2019 + + enableTwemoji = true + + colorScheme = "auto" + hidecolorschemetoggle = false + + # customCSS = ["css/custom.css"] + # customSCSS = ["scss/custom.scss"] + # customJS = ["js/custom.js"] + +[taxonomies] + category = "categories" + series = "series" + tag = "tags" + author = "authors" + +# Social links +[[params.social]] + name = "Github" + icon = "fa fa-github fa-2x" + weight = 1 + url = "https://github.com/johndoe/" +[[params.social]] + name = "Gitlab" + icon = "fa fa-gitlab fa-2x" + weight = 2 + url = "https://gitlab.com/johndoe/" +[[params.social]] + name = "Twitter" + icon = "fa fa-twitter fa-2x" + weight = 3 + url = "https://twitter.com/johndoe/" + +# Menu links +[[menu.main]] + name = "Blog" + weight = 1 + url = "posts/" +[[menu.main]] + name = "About" + weight = 2 + url = "about/" +``` + +## Front Matter + +Hugo documentation: https://gohugo.io/content-management/front-matter + +This theme includes one content type: + +* [Posts](#posts), useful to display blog posts + +### Posts + +These are the front matter variables used by `hugo-coder` theme. + +| Name | Type | Required | Description | Default | Example | +| ---------------- | ------ | -------- | -------------------------------------------------- | ------- | ------------------------------------------------------------------------------- | +| tags | list | No | Add tag(s) to this post. | | `["Hugo", "Go"]` | +| categories | list | No | Add categorie(s) to this post. | | `["Hugo", "Go"]` | +| series | list | No | Add series to this post (used by OpenGraph). | | `["Theme Demo"]` | +| author | list | No | Add author to this post. | | `["John Doe"]` | +| externalLink | string | No | Link to an external post. | | `"https://github.com/luizdepra/hugo-coder/wiki"` | +| featuredImage | string | No | Link/path to add an image below post metadata. | | `"https://github.com/luizdepra/hugo-coder/blob/master/images/screenshot.png"` | +| math | bool | No | If true, MathJax is enabled only for this post. | `false` | `true` or `false` | +| katex | bool | No | If true, katex is enabled only for this post. | `false` | `true` or `false` | +| disableComments | bool | No | If true, comments are disabled. | `false` | `true` or `false` | +| canonicalUrl | string | No | Link to override in | `false` | `"https://my-company.com/blog/my-blog-post-that-I-repost-without-hurtiong-seo"` | + +> "tags", "categories", "series" and "authors" are taxonomies defined in the `config.toml` file. diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 0000000..00d7bdd --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1 @@ +WIP diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 0000000..00d7bdd --- /dev/null +++ b/docs/faq.md @@ -0,0 +1 @@ +WIP diff --git a/docs/home.md b/docs/home.md new file mode 100644 index 0000000..9267ad0 --- /dev/null +++ b/docs/home.md @@ -0,0 +1,19 @@ +# Welcome to the hugo-coder docs! + +## Basic Usage + +* [Quick Start](quick-start.md) +* [Configurations](configurations.md) +* [FAQ](faq.md) + +## Extra Guides + +* [Multilingual Mode](multilingual-mode.md) +* [Comment System](comment-system.md) +* [Analytics](analytics.md) + +## Maintainers & Developers + +* [Contributing](contributing.md) + + diff --git a/docs/multilingual-mode.md b/docs/multilingual-mode.md new file mode 100644 index 0000000..8750f11 --- /dev/null +++ b/docs/multilingual-mode.md @@ -0,0 +1,74 @@ +# Multilingual-Mode + +* [Available Languages](#available-languages) +* [Configure Languages](#configure-languages) +* [Translation File Example](#translation-file-example) + +## Available Languages + +This theme supports the following languages: + +- Arabic +- Bengali +- Czech +- German +- English +- Spanish +- Finnish +- French +- Hebrew +- Hindi +- Hungarian +- Italian +- Japanese +- Malay +- Dutch +- Polish +- Brazilian Portuguese +- Romanian +- Russian +- Swedish +- Slovak +- Turkish +- Simplified Chinese +- Taiwan Chinese +- Urdu + +## Configure languages + +Go to [this Hugo documentation page](https://gohugo.io/content-management/multilingual/#configure-languages) to configure one or multiple languages for your website. + +## Translation File Example + +```toml +[category] +other = "category" + +[tag] +other = "tag" + +[series] +other = "series" + +[author] +other = "author" + +[reading_time] +one = "One-minute read" +other = "{{ .Count }}-minute read" + +[page_not_found] +other = "Page Not Found" + +[page_does_not_exist] +other = "Sorry, this page does not exist." + +[head_back] +other = "You can head back to homepage." + +[powered_by] +other = "Powered by" + +[see_also] +other = "See also in" +``` diff --git a/docs/quick-start.md b/docs/quick-start.md new file mode 100644 index 0000000..22cf8dd --- /dev/null +++ b/docs/quick-start.md @@ -0,0 +1,23 @@ +# Quick Start + +To start using `hugo-coder`: + +1. Add the repository into your Hugo Project repository as a submodule, `git submodule add https://github.com/luizdepra/hugo-coder.git themes/coder`. +2. Configure your `config.toml`. You can use [this minimal configuration](https://github.com/luizdepra/hugo-coder/blob/main/docs/configurations.md#complete-example) as a base. The [`config.toml`](https://github.com/luizdepra/hugo-coder/blob/master/exampleSite/config.toml) inside the [exampleSite](https://github.com/luizdepra/hugo-coder/tree/master/exampleSite) from the `exampleSite` is also a good reference. +3. Build your site with `hugo serve` and see the result at `http://localhost:1313/`. + +If you just want to test this theme, go to [this page](https://themes.gohugo.io/theme/hugo-coder/). + +You can also clone or download it, then run these commands: + +``` +git clone https://github.com/luizdepra/hugo-coder.git + +cd hugo-coder + +make demo +``` + +You'll see the result at [http://localhost:1313/](http://localhost:1313/). + +> These last two methods don't use the same content directory, the first one leads to 404 pages for some pages. More info [here](https://github.com/gohugoio/hugoThemes#adding-a-theme-to-the-list). diff --git a/exampleSite/config.toml b/exampleSite/config.toml new file mode 100644 index 0000000..b74af4d --- /dev/null +++ b/exampleSite/config.toml @@ -0,0 +1,219 @@ +baseURL = "http://www.example.com" +title = "johndoe" +theme = "hugo-coder" +languageCode = "en" +defaultContentLanguage = "en" +paginate = 6 +enableEmoji = true +# Enable Disqus comments +# disqusShortname = "yourdiscussshortname" + +[markup.highlight] +noClasses = false + +[params] +author = "John Doe" +# license = 'CC BY-SA-4.0' +description = "John Doe's personal website" +keywords = "blog,developer,personal" +info = ["Full Stack DevOps", "Magician"] +avatarURL = "images/avatar.jpg" +#gravatar = "john.doe@example.com" +dateFormat = "January 2, 2006" +since = 2019 +# Git Commit in Footer, uncomment the line below to enable it +commit = "https://github.com/luizdepra/hugo-coder/tree/" +# Right To Left, shift content direction for languagues such as Arabic +rtl = false +# Specify light/dark colorscheme +# Supported values: +# "auto" (use preference set by browser) +# "dark" (dark background, light foreground) +# "light" (light background, dark foreground) (default) +colorScheme = "auto" +# Hide the toggle button, along with the associated vertical divider +hideColorSchemeToggle = false +# Series see also post count +maxSeeAlsoItems = 5 +# Custom CSS +customCSS = [] +# Custom SCSS, file path is relative to Hugo's asset folder (default: {your project root}/assets) +customSCSS = [] + +# Custom JS +customJS = [] + +# Custom remote JS files +customRemoteJS = [] + +# If you want to use fathom(https://usefathom.com) for analytics, add this section +# [params.fathomAnalytics] +# siteID = "ABCDE" +# serverURL = "analytics.example.com" # Default value is cdn.usefathom.com, overwrite this if you are self-hosting + +# If you want to use plausible(https://plausible.io) for analytics, add this section +# [params.plausibleAnalytics] +# domain = "example.com" +# serverURL = "analytics.example.com" # Default value is plausible.io, overwrite this if you are self-hosting or using a custom domain +# outboundLinksTracking = true +# fileDownloadsTracking = true + +# If you want to use goatcounter(https://goatcounter.com) for analytics, add this section +# [params.goatCounter] +# code = "code" + +# If you want to use Cloudflare Web Analytics(https://cloudflare.com) for analytics, add this section +# [params.cloudflare] +# token = "token" + +# If you want to use Matomo(https://matomo.org) for analytics, add this section +# [params.matomo] +# siteID = "ABCDE" # Default value is "1", overwrite this if you are cloud-hosting +# serverURL = "analytics.example.com" # For cloud-hosting, use provided URL, e.g. example.matomo.cloud + +# If you want to use Google Tag Manager(https://analytics.google.com/) for analytics, add this section +# [params.googleTagManager] +# id = "gid" + +# If you want to use Yandex Metrika(https://metrika.yandex.ru) for analytics, add this section +# [params.yandexMetrika] +# id = "gid" + +# If you want to use Application Insights(https://azure.com/) for analytics, add this section +# [params.applicationInsights] +# connectionString = "connectionString" + +# If you want to use microanalytics.io for analytics, add this section +# [params.microAnalytics] +# id = "ABCDE" +# dnt = "false" # respect DNT tracker, "true" by default + +# If you want to use Pirsch(https://pirsch.io) for analytics, add this section +# [params.pirsch] +# code = "ABCDE" + +# If you want to use Umami(https://umami.is) for analytics, add this section +# [params.umami] +# siteID = "ABCDE" +# scriptURL = "analytics.REGION.umami.is/SCRIPTNAME.js" + +# If you want to implement a Content-Security-Policy, add this section +# [params.csp] +# childsrc = ["'self'"] +# fontsrc = ["'self'", "https://fonts.gstatic.com", "https://cdn.jsdelivr.net/"] +# formaction = ["'self'"] +# framesrc = ["'self'", "https://www.youtube.com"] +# imgsrc = ["'self'"] +# objectsrc = ["'none'"] +# stylesrc = [ +# "'self'", +# "'unsafe-inline'", +# "https://fonts.googleapis.com/", +# "https://cdn.jsdelivr.net/", +# ] +# scriptsrc = [ +# "'self'", +# "'unsafe-inline'", +# "https://www.google-analytics.com", +# "https://cdn.jsdelivr.net/", +# ] +# prefetchsrc = ["'self'"] +# # connect-src directive – defines valid targets for to XMLHttpRequest (AJAX), WebSockets or EventSource +# connectsrc = ["'self'", "https://www.google-analytics.com"] + +[taxonomies] +category = "categories" +series = "series" +tag = "tags" +author = "authors" + +[[params.social]] +name = "Github" +icon = "fa fa-2x fa-github" +weight = 1 +url = "https://github.com/johndoe/" + +[[params.social]] +name = "Gitlab" +icon = "fa fa-2x fa-gitlab" +weight = 2 +url = "https://gitlab.com/johndoe/" + +[[params.social]] +name = "Twitter" +icon = "fa fa-2x fa-twitter" +weight = 3 +url = "https://twitter.com/johndoe/" + +[[params.social]] +name = "LinkedIn" +icon = "fa fa-2x fa-linkedin" +weight = 4 +url = "https://www.linkedin.com/in/johndoe/" + +[[params.social]] +name = "Medium" +icon = "fa fa-2x fa-medium" +weight = 5 +url = "https://medium.com/@johndoe" + +[[params.social]] +name = "RSS" +icon = "fa fa-2x fa-rss" +weight = 6 +url = "https://myhugosite.com/index.xml" +rel = "alternate" +type = "application/rss+xml" + +[languages.en] +languageName = ":uk:" + +[[languages.en.menu.main]] +name = "About" +weight = 1 +url = "about/" + +[[languages.en.menu.main]] +name = "Blog" +weight = 2 +url = "posts/" + +[[languages.en.menu.main]] +name = "Projects" +weight = 3 +url = "projects/" + +[[languages.en.menu.main]] +name = "Contact me" +weight = 5 +url = "contact/" + +[languages.pt-br] +languageName = ":brazil:" +title = "João Ninguém" + +[languages.pt-br.params] +author = "João Ninguém" +info = "Full Stack DevOps e Mágico" +description = "Sítio pessoal de João Ninguém" +keywords = "blog,desenvolvedor,pessoal" + +[[languages.pt-br.menu.main]] +name = "Sobre" +weight = 1 +url = "about/" + +[[languages.pt-br.menu.main]] +name = "Blog" +weight = 2 +url = "posts/" + +[[languages.pt-br.menu.main]] +name = "Projetos" +weight = 3 +url = "projects/" + +[[languages.pt-br.menu.main]] +name = "Contato" +weight = 5 +url = "contact/" diff --git a/exampleSite/content/about.md b/exampleSite/content/about.md new file mode 100644 index 0000000..b31bf1d --- /dev/null +++ b/exampleSite/content/about.md @@ -0,0 +1,25 @@ ++++ +title = "About" +description = "Hugo, the world's fastest framework for building websites" +date = "2019-02-28" +aliases = ["about-us", "about-hugo", "contact"] +author = "Hugo Authors" ++++ + +Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows. + +Hugo makes use of a variety of open source projects including: + +* https://github.com/yuin/goldmark +* https://github.com/alecthomas/chroma +* https://github.com/muesli/smartcrop +* https://github.com/spf13/cobra +* https://github.com/spf13/viper + +Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages. + +Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases. + +Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider. + +Learn more and contribute on [GitHub](https://github.com/gohugoio). diff --git a/exampleSite/content/about.pt-br.md b/exampleSite/content/about.pt-br.md new file mode 100644 index 0000000..fd76ad1 --- /dev/null +++ b/exampleSite/content/about.pt-br.md @@ -0,0 +1,25 @@ ++++ +title = "About" +description = "Hugo, the world's fastest framework for building websites" +date = "2019-02-28" +aliases = ["about-us", "about-hugo", "contact"] +author = "Hugo Authors" ++++ + +Escrito em Go, Hugo é um gerador de sites estáticos de código aberto disponível sobre a licença [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) O Hugo suporta TOML, YAML e JSON como arquivos de dados, Markdown e HTML como arquivos de conteúdo, e usa shortcodes para adicionar conteúdos ricos. Outras funcionalidades notaveis são taxonomias, modo multilingual, processamento de imagens, formatos de saída customizaveis, minificação de HTML/CSS/JS e suporte a fluxos SASS/SCSS. + +O Hugo faz o uso de vários projetos de código aberto incluíndo: + +* https://github.com/yuin/goldmark +* https://github.com/alecthomas/chroma +* https://github.com/muesli/smartcrop +* https://github.com/spf13/cobra +* https://github.com/spf13/viper + +O Hugo é ideal para blogs, sites corporativos, protfólio criativos, revistas online, aplicações de página única ou até sites com milhares de páginas. + +O Hugo é para pessoas que querem cuidar do seu próprio site sem se preocupar com a configuração ambientes complicados, dependências e bancos de dados. + +Sites contru;idos com Hugo são extremamente rápidos, seguros e podem ser implantados em qualquer lugar, incluíndo AWS, GitHub Pages, Heroku, Netlify e outros provedores de hospedagem. + +Saiba mais e contribua em [GitHub](https://github.com/gohugoio). diff --git a/exampleSite/content/authors/hugo-authors/_index.md b/exampleSite/content/authors/hugo-authors/_index.md new file mode 100644 index 0000000..80d4ea8 --- /dev/null +++ b/exampleSite/content/authors/hugo-authors/_index.md @@ -0,0 +1,5 @@ ++++ +draft = false +date = 2023-01-05T01:15:29+01:00 +title = "Authors of Hugo" ++++ diff --git a/exampleSite/content/authors/hugo-authors/_index.pt-br.md b/exampleSite/content/authors/hugo-authors/_index.pt-br.md new file mode 100644 index 0000000..1c42b81 --- /dev/null +++ b/exampleSite/content/authors/hugo-authors/_index.pt-br.md @@ -0,0 +1,6 @@ ++++ +draft = false +date = 2023-01-05T01:15:52+01:00 +title = "Autores de Hugo" +url = "autores/autores-de-hugo" ++++ diff --git a/exampleSite/content/categories/syntax/_index.pt-br.md b/exampleSite/content/categories/syntax/_index.pt-br.md new file mode 100644 index 0000000..840c978 --- /dev/null +++ b/exampleSite/content/categories/syntax/_index.pt-br.md @@ -0,0 +1,6 @@ ++++ +draft = false +date = 2023-01-04T23:21:06+01:00 +title = "sintaxe" +url = "categoria/sintaxe" ++++ diff --git a/exampleSite/content/contact.md b/exampleSite/content/contact.md new file mode 100644 index 0000000..4bd8438 --- /dev/null +++ b/exampleSite/content/contact.md @@ -0,0 +1,6 @@ ++++ +title = "Contact" +slug = "contact" ++++ + +Follow me, @johndoe. \ No newline at end of file diff --git a/exampleSite/content/contact.pt-br.md b/exampleSite/content/contact.pt-br.md new file mode 100644 index 0000000..241861c --- /dev/null +++ b/exampleSite/content/contact.pt-br.md @@ -0,0 +1,6 @@ ++++ +title = "Contato" +slug = "contact" ++++ + +Me siga em @joaoninguem. \ No newline at end of file diff --git a/exampleSite/content/posts/emoji-support.md b/exampleSite/content/posts/emoji-support.md new file mode 100644 index 0000000..0044247 --- /dev/null +++ b/exampleSite/content/posts/emoji-support.md @@ -0,0 +1,57 @@ ++++ +authors = ["Lone Coder"] +title = "Emoji Support" +date = "2023-07-07" +description = "Guide to emoji usage in Hugo" +tags = [ + "hugo", + "markdown", + "emoji", +] +categories = [ + "syntax", + "theme demo", +] +series = ["Theme Demo"] ++++ + +Emoji can be enabled in a Hugo project in a number of ways. + + + +The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). + +To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. + +

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

+
+ +The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. + +--- + +**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. + +{{< highlight html >}} +.emoji { +font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; +} +{{< /highlight >}} + +{{< css.inline >}} + + + +{{< /css.inline >}} diff --git a/exampleSite/content/posts/emoji-support.pt-br.md b/exampleSite/content/posts/emoji-support.pt-br.md new file mode 100644 index 0000000..78b835a --- /dev/null +++ b/exampleSite/content/posts/emoji-support.pt-br.md @@ -0,0 +1,57 @@ ++++ +authors = ["Programador Solitário"] +title = "Suporte a Emojis" +date = "2023-07-07" +description = "Um guia de utilização de emojis com Hugo" +tags = [ + "hugo", + "markdown", + "emoji", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] ++++ + +Emojis podem ser ativados em um projeto Hugo de diversar formas. + + + +A função [`emojify`](https://gohugo.io/functions/emojify/) pode ser chamada diretamente nos templates ou com [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). + +Para ativar os emojis globalmente, aplique `enableEmoji` com o valor `true` na [configuração](https://gohugo.io/getting-started/configuration/) do seu site e então você poderá adicionar códigos de emoji diretamente nos arquivos de conteúdo. Por exemplo: + +

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

+
+ +O [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) é uma referência útil para identificar códigos de emojis. + +--- + +**Nota:** Os passos anteriores ativam os caractéres e sequências de emoji do Padrão Unicode no Hugo, porém a renderização desses glifos depende do navegador e plataforma utilizada. Para escolher o estilo dos emojis você pode tanto usar um font de emoji de terceiros ou uma lista de fontes. Por exemplo: + +{{< highlight html >}} +.emoji { +font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; +} +{{< /highlight >}} + +{{< css.inline >}} + + + +{{< /css.inline >}} diff --git a/exampleSite/content/posts/external-post.md b/exampleSite/content/posts/external-post.md new file mode 100644 index 0000000..92d6ed8 --- /dev/null +++ b/exampleSite/content/posts/external-post.md @@ -0,0 +1,10 @@ ++++ +authors = ["Lone Coder"] +date = "2023-07-06" +title = "External Page: Hugo Coder Wiki" +slug = "hugo-coder-wiki" +tags = [ + "hugo" +] +externalLink = "https://github.com/luizdepra/hugo-coder/wiki" ++++ diff --git a/exampleSite/content/posts/external-post.pt-br.md b/exampleSite/content/posts/external-post.pt-br.md new file mode 100644 index 0000000..ac4e875 --- /dev/null +++ b/exampleSite/content/posts/external-post.pt-br.md @@ -0,0 +1,10 @@ ++++ +authors = ["Programador Solitário"] +date = "2023-07-06" +title = "Página Externa: Wiki Hugo Coder" +slug = "hugo-coder-wiki" +tags = [ + "hugo" +] +externalLink = "https://github.com/luizdepra/hugo-coder/wiki" ++++ diff --git a/exampleSite/content/posts/html-and-css-only-tabs.md b/exampleSite/content/posts/html-and-css-only-tabs.md new file mode 100644 index 0000000..6eaceb3 --- /dev/null +++ b/exampleSite/content/posts/html-and-css-only-tabs.md @@ -0,0 +1,134 @@ ++++ +authors = ["Lone Coder"] +title = "HTML and CSS only tabs" +date = "2023-07-09" +description = "Sample article showcasing shortcodes for HTML/CSS only tabs" +tags = [ + "hugo", + "markdown", + "css", + "html", + "shortcodes", +] +categories = [ + "theme demo", + "syntax", +] +series = ["Theme Demo"] +aliases = ["migrate-from-jekyl"] ++++ + +## Shortcodes + +The following content: + +```markdown +{{}} +{{}} +Hello World! +{{}} + +{{}} +Goodbye Everybody! +{{}} +{{}} +``` + +Will generate: + +{{< tabgroup >}} +{{< tab name="Hello" >}} +Hello World! +{{< /tab >}} + +{{< tab name="Goodbye" >}} +Goodbye Everybody! +{{< /tab >}} +{{< /tabgroup >}} + +## Right alighment + +You can also align the tabs to the right: + +```markdown +{{}} +{{}} +Hello World! +{{}} + +{{}} +Goodbye Everybody! +{{}} +{{}} +``` + +Giving you this look: + +{{< tabgroup align="right" >}} +{{< tab name="Hello" >}} +Hello World! +{{< /tab >}} + +{{< tab name="Goodbye" >}} +Goodbye Everybody! +{{< /tab >}} +{{< /tabgroup >}} + +## Markdown content + +Any valid markdown can be used inside the tab: + +````markdown +{{}} +{{}} + +```ruby +puts 'Hello' +``` + +{{}} +{{}} + +```python +print('Hello') +``` + +{{}} +{{}} + +```js +console.log("Hello"); +``` + +{{}} +{{}} +```` + +And you get this lovely content: + +{{< tabgroup align="right" style="code" >}} +{{< tab name="Ruby" >}} + +```ruby +puts 'Hello' +``` + +{{< /tab >}} +{{< tab name="Python" >}} + +```python +print('Hello') +``` + +{{< /tab >}} +{{< tab name="JavaScript" >}} + +```js +console.log("Hello"); +``` + +{{< /tab >}} +{{< /tabgroup >}} + +In this case `style="code"` makes it look a little nicer for scenarios where +your content is purely a code block. diff --git a/exampleSite/content/posts/html-and-css-only-tabs.pt-br.md b/exampleSite/content/posts/html-and-css-only-tabs.pt-br.md new file mode 100644 index 0000000..5f772c0 --- /dev/null +++ b/exampleSite/content/posts/html-and-css-only-tabs.pt-br.md @@ -0,0 +1,133 @@ ++++ +authors = ["Programador Solitário"] +title = "HTML and CSS only tabs" +date = "2023-07-09" +description = "Sample article showcasing shortcodes for HTML/CSS only tabs" +tags = [ + "hugo", + "markdown", + "css", + "html", + "shortcodes", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] +aliases = ["migrate-from-jekyl"] ++++ + +## Shortcodes + +O seguinte conteúdo: + +```markdown +{{}} +{{}} +Hello World! +{{}} + +{{}} +Goodbye Everybody! +{{}} +{{}} +``` + +Irá gerar: + +{{< tabgroup >}} +{{< tab name="Hello" >}} +Hello World! +{{< /tab >}} + +{{< tab name="Goodbye" >}} +Goodbye Everybody! +{{< /tab >}} +{{< /tabgroup >}} + +## Alinhamento à direita + +Você também pode alinhas as tabs à direita: + +```markdown +{{}} +{{}} +Hello World! +{{}} + +{{}} +Goodbye Everybody! +{{}} +{{}} +``` + +Obtendo o seguinte resultado: + +{{< tabgroup align="right" >}} +{{< tab name="Hello" >}} +Hello World! +{{< /tab >}} + +{{< tab name="Goodbye" >}} +Goodbye Everybody! +{{< /tab >}} +{{< /tabgroup >}} + +## Conteúdo Markdown + +Qualquer conteúdo Markdown válido pode ser usado dentro das tabs: + +````markdown +{{}} +{{}} + +```ruby +puts 'Hello' +``` + +{{}} +{{}} + +```python +print('Hello') +``` + +{{}} +{{}} + +```js +console.log("Hello"); +``` + +{{}} +{{}} +```` + +Assim você obterá o seguinte resultado: + +{{< tabgroup align="right" style="code" >}} +{{< tab name="Ruby" >}} + +```ruby +puts 'Hello' +``` + +{{< /tab >}} +{{< tab name="Python" >}} + +```python +print('Hello') +``` + +{{< /tab >}} +{{< tab name="JavaScript" >}} + +```js +console.log("Hello"); +``` + +{{< /tab >}} +{{< /tabgroup >}} + +Nesse exemplo, `style="code"` faz com que o resultado seja mais agradável quando conteúdo é puramente blocos de código. diff --git a/exampleSite/content/posts/markdown-syntax.md b/exampleSite/content/posts/markdown-syntax.md new file mode 100644 index 0000000..5d8385e --- /dev/null +++ b/exampleSite/content/posts/markdown-syntax.md @@ -0,0 +1,168 @@ ++++ +authors = ["Lone Coder"] +title = "Markdown Syntax Guide" +date = "2023-07-13" +description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +tags = [ + "hugo", + "markdown", + "css", + "html", +] +categories = [ + "theme demo", + "syntax", +] +series = ["Theme Demo"] +aliases = ["migrate-from-jekyl"] ++++ + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. + + + +## Headings + +The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Links + +This is a [internal link](/posts/emoji-support) to another page. [This one](https://www.gohugo.io) points to a external page nad will be open in a new tag. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +#### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use _Markdown syntax_ within a blockquote. + +#### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1] + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports them out-of-the-box. + +| Name | Age | +| ----- | --- | +| Bob | 27 | +| Alice | 23 | + +#### Inline Markdown within tables + +| Italics | Bold | Code | +| --------- | -------- | ------ | +| _italics_ | **bold** | `code` | + +## Code Blocks + +#### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

Test

+ + +``` + +#### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

Test

+ + + +#### Code block with Hugo's internal highlight shortcode + +{{< highlight html >}} + + + + + + Example HTML5 Document + + +

Test

+ + +{{< /highlight >}} + +## List Types + +#### Ordered List + +1. First item +2. Second item +3. Third item + +#### Unordered List + +- List item +- Another item +- And another item + +#### Nested list + +- Fruit + - Apple + - Orange + - Banana +- Dairy + - Milk + - Cheese + +#### Foot Notes + +Check it[^2] at the end[^3] of this text[^4]. + +## Other Elements — abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. +[^2]: A footnote. +[^3]: Another one. +[^4]: Cool, right? diff --git a/exampleSite/content/posts/markdown-syntax.pt-br.md b/exampleSite/content/posts/markdown-syntax.pt-br.md new file mode 100644 index 0000000..b385524 --- /dev/null +++ b/exampleSite/content/posts/markdown-syntax.pt-br.md @@ -0,0 +1,164 @@ ++++ +authors = ["Programador Solitário"] +title = "Guia de Sintaxe Markdown" +date = "2023-07-13" +description = "Artigo de exemplo mostrando a sintaxe básica Markdown e a formatação de elementos HTML." +tags = [ + "hugo", + "markdown", + "css", + "html", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] +aliases = ["migrate-from-jekyl"] ++++ + +Esse artigo é um exemplo básico para mostrar a sintaxe Markdown que é usada nos arquivos de conteúdo do Hugo. Ele também mostrar como cada elemento básico HTML é estilizado com CSS com os temas do Hugo. + + + +## Cabeçalhos + +Os seguintes elementos HTML `

`—`

` representam 6 níveis de cabeçalhos de seção. `

` é para seções de nível mais alto enquanto `

` é para o nível mais baixo. + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## Parágrafo + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Citações + +O elemento de citações representa um conteúdo citado de outra origem, opcionalmente com atribuição que deve estar contida em um elemento `footer` ou `cite`, e também opcionalmente com informações in-line como anotações e abreviações. + +#### Citações sem atribuição + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use _Markdown syntax_ within a blockquote. + +#### Citações com atribuição + +> Não comunique compartilhando memória, compartilhe memória comunicando.
+> — Rob Pike[^1] + +## Tabelas + +Tabelas não fazem parte do cerne da especificação do Markdown, mas o Hugo oferece suporte a elas. + +| Nome | Idade | +| ----- | ----- | +| Bob | 27 | +| Alice | 23 | + +#### Tabelas com Markdown inline + +| Italics | Bold | Code | +| --------- | -------- | ------ | +| _italics_ | **bold** | `code` | + +## Blocos de código + +#### Blocos de código com crase + +```html + + + + + Exemplo de Documento HTML5 + + +

Teste

+ + +``` + +#### Blocos de código com quatro espaços + + + + + + Exemplo de Documento HTML5 + + +

Teste

+ + + +#### Blocos de código com highlight shortcode interno do Hugo + +{{< highlight html >}} + + + + + + Exemplo de Documento HTML5 + + +

Teste

+ + +{{< /highlight >}} + +## Tipos de Listas + +#### Listas Ordenada + +1. Primeiro item +2. Segundo item +3. Terceiro item + +#### Listas não Ordenada + +- Um item +- Outro item +- Algum outro item + +#### Listas aninhadas + +- Frutas + - Maçã + - Laranja + - Banana +- Laticínios + - Leite + - Queijo + +#### Notas de Rodapé + +Verifique[^2] no final[^3] desse texto[^4]. + +## Outros Elementos — abbr, sub, sup, kbd, mark + +GIF é um formato de imagem bitmap. + +H2O + +Xn + Yn = Zn + +Aperte CTRL+ALT+Delete para fechar. + +A maioria das salamandras são noturnas e caçam insetos, vermes, e outras criaturas pequenas. + +[^1]: A citação acima foi extraída da [apresentação](https://www.youtube.com/watch?v=PAAkCSZUG1c) do Rob Pike durante a Gopherfest, de 18 de Novembro de 2015. +[^2]: Uma nota de rodapé. +[^3]: Outra aqui. +[^4]: Legal, né? diff --git a/exampleSite/content/posts/math-typesetting.md b/exampleSite/content/posts/math-typesetting.md new file mode 100644 index 0000000..d061401 --- /dev/null +++ b/exampleSite/content/posts/math-typesetting.md @@ -0,0 +1,64 @@ ++++ +authors = ["Lone Coder"] +title = "Math Typesetting" +date = "2023-07-10" +description = "A brief guide to setup KaTeX" +math = true +tags = [ + "hugo", + "markdown", + "css", + "html", +] +categories = [ + "theme demo", + "syntax", +] +series = ["Theme Demo"] ++++ + +Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. + + + +In this example we will be using [KaTeX](https://katex.org/) + +- Create a partial under `/layouts/partials/math.html` +- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. +- Include the partial in your templates like so: + +```bash +{{ if or .Params.math .Site.Params.math }} +{{ partial "math.html" . }} +{{ end }} +``` + +- To enable KaTex globally set the parameter `math` to `true` in a project's configuration +- To enable KaTex on a per page basis include the parameter `math: true` in content files + +**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) + +{{< math.inline >}} +{{ if or .Page.Params.math .Site.Params.math }} + + + + + +{{ end }} +{{}} + +### Examples + +{{< math.inline >}} + +

+Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) +

+{{}} + +Block math: + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/exampleSite/content/posts/math-typesetting.pt-br.md b/exampleSite/content/posts/math-typesetting.pt-br.md new file mode 100644 index 0000000..c181c6a --- /dev/null +++ b/exampleSite/content/posts/math-typesetting.pt-br.md @@ -0,0 +1,64 @@ ++++ +authors = ["Programador Solitário"] +title = "Configuração de Equações Matemáticas" +date = "2023-07-10" +description = "Um guia rápido sobre utilizar KaTeX" +math ="true" +tags = [ + "hugo", + "markdown", + "css", + "html", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] ++++ + +Em um projeto Hugo as Notações Matemáticas podem ser usadas com a ajuda de bibliotecas JavaScript de terceiros. + + + +Nesse exemplo usaremos o [KaTeX](https://katex.org/). + +- Crie um partial template em `/layouts/partials/math.html` +- Dentro, utilize o [Auto-render Extension](https://katex.org/docs/autorender.html) ou sirva os scripts localmente. +- Inclua o partial nos seus templates da seguinte forma: + +```bash +{{ if or .Params.math .Site.Params.math }} +{{ partial "math.html" . }} +{{ end }} +``` + +- Para ativar o KaTex globalmente defina o parâmetro `math` como `true` na confgiuração do projeto +- Para ativar o KaTex em páginas específicas inclua o parâmetro `math: true` nos arquivos de conteúdo + +**Nota:** Use a referência online [Supported TeX Functions](https://katex.org/docs/supported.html) como base para criar notações matemáticas. + +{{< math.inline >}} +{{ if or .Page.Params.math .Site.Params.math }} + + + + + +{{ end }} +{{}} + +### Examples + +{{< math.inline >}} + +

+Notação inline: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) +

+{{}} + +Notação em bloco: + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/exampleSite/content/posts/mermaid-support.md b/exampleSite/content/posts/mermaid-support.md new file mode 100644 index 0000000..1918bfd --- /dev/null +++ b/exampleSite/content/posts/mermaid-support.md @@ -0,0 +1,43 @@ ++++ +authors = ["Lone Coder"] +date = "2023-07-08" +title = "Mermaid JS support" +description = "The post demonstrates Mermaid JS support" +tags = [ + "hugo", + "markdown", + "css", + "html", +] +categories = [ + "theme demo", + "syntax", +] +series = ["Theme Demo"] ++++ + +If you want to use [Mermaid-JS](https://mermaid-js.github.io/mermaid/#/) on your website. +Provide `mermaid` as [Shortcode](https://gohugo.io/content-management/shortcodes/#readout) in your markdown file. + +{{}} +flowchart LR + + A --> B + + B --> C + + C --> D + + D --> B + +{{}} + +{{}} +sequenceDiagram +participant Alice +participant Bob +Alice->>Bob: Hi Bob +Bob->>Alice: Hi Alice +{{}} + +Find more example on [Mermaid-JS](https://mermaid-js.github.io/mermaid/#/) website. diff --git a/exampleSite/content/posts/mermaid-support.pt-br.md b/exampleSite/content/posts/mermaid-support.pt-br.md new file mode 100644 index 0000000..b42755b --- /dev/null +++ b/exampleSite/content/posts/mermaid-support.pt-br.md @@ -0,0 +1,43 @@ ++++ +authors = ["Lone Coder"] +date = "2023-07-08" +title = "Mermaid JS support" +description = "The post demonstrates Mermaid JS support" +tags = [ + "hugo", + "markdown", + "css", + "html", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] ++++ + +Se quiser usar o [Mermaid-JS](https://mermaid-js.github.io/mermaid/#/) em sua página. +Use o [shortcode](https://gohugo.io/content-management/shortcodes/#readout) `mermaid` em seus conteúdos Markdown. + +{{}} +flowchart LR + + A --> B + + B --> C + + C --> D + + D --> B + +{{}} + +{{}} +sequenceDiagram +participant Alice +participant Bob +Alice->>Bob: Hi Bob +Bob->>Alice: Hi Alice +{{}} + +Entro mais exemplos na página do [Mermaid-JS](https://mermaid-js.github.io/mermaid/#/). diff --git a/exampleSite/content/posts/more-rich-content.md b/exampleSite/content/posts/more-rich-content.md new file mode 100644 index 0000000..5eb656c --- /dev/null +++ b/exampleSite/content/posts/more-rich-content.md @@ -0,0 +1,52 @@ ++++ +authors = ["Lone Coder"] +title = "More Rich Content" +date = "2023-07-11" +description = "A brief description about Hugo Coder's Custom Shortcodes" +tags = [ + "hugo", + "markdown", + "css", + "html", + "shortcodes", +] +categories = [ + "theme demo", + "syntax", +] +series = ["Theme Demo"] ++++ + +Hugo Coder provides some Custom Shortcodes. + +## + +## Shortcodes Avisos + +{{< notice note >}} +One note here. +{{< /notice >}} + +{{< notice tip >}} +I'm giving a tip about something. +{{< /notice >}} + +{{< notice example >}} +This is an example. +{{< /notice >}} + +{{< notice question >}} +Is this a question? +{{< /notice >}} + +{{< notice info >}} +Notice that this box contain information. +{{< /notice >}} + +{{< notice warning >}} +This is the last warning! +{{< /notice >}} + +{{< notice error >}} +There is an error in your code. +{{< /notice >}} diff --git a/exampleSite/content/posts/more-rich-content.pt-br.md b/exampleSite/content/posts/more-rich-content.pt-br.md new file mode 100644 index 0000000..6e00fe4 --- /dev/null +++ b/exampleSite/content/posts/more-rich-content.pt-br.md @@ -0,0 +1,52 @@ ++++ +authors = ["Programador Solitário"] +title = "Mais Conteúdo Rico" +date = "2023-07-11" +description = "Uma breve descrição sobre Shortcodes customizados do Hugo Coder" +tags = [ + "hugo", + "markdown", + "css", + "html", + "shortcodes", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] ++++ + +O Hugo Coder proporciona alguns Shortcodes Customizados. + +## + +## Shortcodes Avisos + +{{< notice note >}} +Uma nota aqui. +{{< /notice >}} + +{{< notice tip >}} +Estou lhe dando uma dica. +{{< /notice >}} + +{{< notice example >}} +Isso é um exemplo. +{{< /notice >}} + +{{< notice question >}} +Isso é um pergunta? +{{< /notice >}} + +{{< notice info >}} +Note que essa caixa contém informações. +{{< /notice >}} + +{{< notice warning >}} +Este é o último aviso! +{{< /notice >}} + +{{< notice error >}} +Há um erro no seu código. +{{< /notice >}} diff --git a/exampleSite/content/posts/placeholder-text.md b/exampleSite/content/posts/placeholder-text.md new file mode 100644 index 0000000..16fb65a --- /dev/null +++ b/exampleSite/content/posts/placeholder-text.md @@ -0,0 +1,47 @@ ++++ +authors = ["Lone Coder"] +title = "Placeholder Text" +date = "2023-07-05" +description = "Lorem Ipsum Dolor Si Amet" +tags = [ + "markdown", + "text", +] ++++ + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +# Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +## Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. + +{{< css.inline >}} + + + +{{< /css.inline >}} diff --git a/exampleSite/content/posts/placeholder-text.pt-br.md b/exampleSite/content/posts/placeholder-text.pt-br.md new file mode 100644 index 0000000..b3ccf25 --- /dev/null +++ b/exampleSite/content/posts/placeholder-text.pt-br.md @@ -0,0 +1,47 @@ ++++ +authors = ["Programador Solitário"] +title = "Texto de Exemplo" +date = "2023-07-05" +description = "Lorem Ipsum Dolor Si Amet" +tags = [ + "markdown", + "text", +] ++++ + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +# Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +## Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. + +{{< css.inline >}} + + + +{{< /css.inline >}} diff --git a/exampleSite/content/posts/rich-content.md b/exampleSite/content/posts/rich-content.md new file mode 100644 index 0000000..bf6d695 --- /dev/null +++ b/exampleSite/content/posts/rich-content.md @@ -0,0 +1,42 @@ ++++ +authors = ["Lone Coder"] +title = "Rich Content" +date = "2023-07-12" +description = "A brief description of Hugo Shortcodes" +tags = [ + "hugo", + "markdown", + "css", + "html", + "shortcodes", +] +categories = [ + "theme demo", + "syntax", +] +series = ["Theme Demo"] ++++ + +Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. + +## + +## YouTube Privacy Enhanced Shortcode + +{{< youtube ZJthWmvUzzc >}} + +
+ +--- + +## Twitter Shortcode + +{{< tweet user="SanDiegoZoo" id="1453110110599868418" >}} + +
+ +--- + +## Vimeo Simple Shortcode + +{{< vimeo_simple 48912912 >}} diff --git a/exampleSite/content/posts/rich-content.pt-br.md b/exampleSite/content/posts/rich-content.pt-br.md new file mode 100644 index 0000000..61b875d --- /dev/null +++ b/exampleSite/content/posts/rich-content.pt-br.md @@ -0,0 +1,42 @@ ++++ +authors = ["Programador Solitário"] +title = "Conteúdo Rico" +date = "2023-07-12" +description = "Uma breve descrição sobre Shortcodes do Hugo" +tags = [ + "hugo", + "markdown", + "css", + "html", + "shortcodes", +] +categories = [ + "sintaxe", + "demonstração do tema", +] +series = ["Demonstração do Tema"] ++++ + +O Hugo vem com vários [Shortcodes Internos](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) para conteúdo rico, assim como uma [Configuração de Privacidade](https://gohugo.io/about/hugo-and-gdpr/) e uma gama de Shortcodes simples que permitem embutir versões estáticas e sem JS de várias de redes sociais. + +## + +## Shortcode do YouTube com privacidade melhorada + +{{< youtube ZJthWmvUzzc >}} + +
+ +--- + +## Shortcode do Twitter + +{{< tweet user="SanDiegoZoo" id="1453110110599868418" >}} + +
+ +--- + +## Shortcode simples do Vimeo + +{{< vimeo_simple 48912912 >}} diff --git a/exampleSite/content/projects.md b/exampleSite/content/projects.md new file mode 100644 index 0000000..6a7fd85 --- /dev/null +++ b/exampleSite/content/projects.md @@ -0,0 +1,6 @@ ++++ +title = "Projects" +slug = "projects" ++++ + +Nothing to see here... Move along! \ No newline at end of file diff --git a/exampleSite/content/projects.pt-br.md b/exampleSite/content/projects.pt-br.md new file mode 100644 index 0000000..6494066 --- /dev/null +++ b/exampleSite/content/projects.pt-br.md @@ -0,0 +1,6 @@ ++++ +title = "Projetos" +slug = "projects" ++++ + +Nada para ver aqui.. Circulando! diff --git a/exampleSite/content/tags/shortcodes/_index.pt-br.md b/exampleSite/content/tags/shortcodes/_index.pt-br.md new file mode 100644 index 0000000..8ceb230 --- /dev/null +++ b/exampleSite/content/tags/shortcodes/_index.pt-br.md @@ -0,0 +1,5 @@ +--- +title: "Códigos curtos" +date: 2023-01-04T11:51:36+01:00 +draft: false +--- diff --git a/exampleSite/layouts/.gitkeep b/exampleSite/layouts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/exampleSite/static/images/N90.jpg b/exampleSite/static/images/N90.jpg new file mode 100644 index 0000000..7d303b2 Binary files /dev/null and b/exampleSite/static/images/N90.jpg differ diff --git a/exampleSite/static/images/apple-touch-icon.png b/exampleSite/static/images/apple-touch-icon.png new file mode 100644 index 0000000..12da374 Binary files /dev/null and b/exampleSite/static/images/apple-touch-icon.png differ diff --git a/exampleSite/static/images/avatar.jpg b/exampleSite/static/images/avatar.jpg new file mode 100644 index 0000000..0431831 Binary files /dev/null and b/exampleSite/static/images/avatar.jpg differ diff --git a/exampleSite/static/images/favicon-16x16.png b/exampleSite/static/images/favicon-16x16.png new file mode 100644 index 0000000..c0ce306 Binary files /dev/null and b/exampleSite/static/images/favicon-16x16.png differ diff --git a/exampleSite/static/images/favicon-32x32.png b/exampleSite/static/images/favicon-32x32.png new file mode 100644 index 0000000..f2f0316 Binary files /dev/null and b/exampleSite/static/images/favicon-32x32.png differ diff --git a/exampleSite/static/images/favicon.svg b/exampleSite/static/images/favicon.svg new file mode 100644 index 0000000..432b43c --- /dev/null +++ b/exampleSite/static/images/favicon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..9b2ac45 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/luizdepra/hugo-coder + +go 1.16 diff --git a/i18n/ar.toml b/i18n/ar.toml new file mode 100644 index 0000000..9de2101 --- /dev/null +++ b/i18n/ar.toml @@ -0,0 +1,63 @@ +[categories] +one = "فئة" +other = "categories" + +[tags] +one = "وَسم" +other = "tags" + +[series] +one = "سلسلة" +other = "series" + +[authors] +one = "الكاتب" +other = "authors" + +[posts] +other = "المنشورات" + +[reading_time] +other = "تستغرق {{ .Count }} د" + +[page_not_found] +other = "الصفحة غير موجودة" + +[page_does_not_exist] +other = "هذه الصفحة غير موجودة" + +[head_back] +other = "بإمكانك العودة إلى homepage." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "بواسطة" + +[see_also] +other = "انظر أيضاً" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/bn.toml b/i18n/bn.toml new file mode 100644 index 0000000..d5b2dd8 --- /dev/null +++ b/i18n/bn.toml @@ -0,0 +1,64 @@ +[categories] +one = "বিভাগ" +other = "বিভাগসমূহ" + +[tags] +one = "ট্যাগ" +other = "ট্যাগসমূহ" + +[series] +one = "সিরিজ" +other = "সিরিজ" + +[authors] +one = "লেখক" +other = "লেখকসমূহ" + +[posts] +other = "সব পোস্ট" + +[reading_time] +one = "পড়তে এক মিনিট লাগবে" +other = "পড়তে {{ .Count }} মিনিট লাগবে" + +[page_not_found] +other = "পাতাটি পাওয়া যায় নি" + +[page_does_not_exist] +other = "দুঃখিত, কাঙ্ক্ষিত পাতাটির অস্তিত্ব নেই" + +[head_back] +other = "আপনি নীড়পাতায় ফিরে যেতে পারেন" + +[licensed_under] +other = "লাইসেন্স:" + +[powered_by] +other = "চালনা:" + +[see_also] +other = "আরও দেখুন" + +[note] +other = "নোট" + +[tip] +other = "টিপ" + +[example] +other = "উদাহরণ" + +[question] +other = "প্রশ্ন" + +[info] +other = "তথ্য" + +[warning] +other = "নির্দেশ" + +[error] +other = "ত্রুটি" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/cs.toml b/i18n/cs.toml new file mode 100644 index 0000000..9304786 --- /dev/null +++ b/i18n/cs.toml @@ -0,0 +1,63 @@ +[categories] +one = "kategorie" +other = "categories" + +[tags] +one = "tag" +other = "tags" + +[series] +one = "série" +other = "series" + +[authors] +one = "author" +other = "authors" + +[posts] +other = "posts" + +[reading_time] +other = "Délka čtení: {{ .Count }}" + +[page_not_found] +other = "Stránka nenalezena" + +[page_does_not_exist] +other = "Omlouváme se, stránka nebyla nalezena." + +[head_back] +other = "Můžete se vrátit na homepage." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Stránka používá" + +[see_also] +other = "Podívejte se také na" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/de.toml b/i18n/de.toml new file mode 100644 index 0000000..521fe0f --- /dev/null +++ b/i18n/de.toml @@ -0,0 +1,64 @@ +[categories] +one = "Kategorie" +other = "Kategorien" + +[tags] +one = "Tag" +other = "Tags" + +[series] +one = "Serie" +other = "Serien" + +[authors] +one = "Autor" +other = "Autoren" + +[posts] +other = "Beiträge" + +[reading_time] +one = "Eine Minute Lesezeit" +other = "{{ .Count }} Minuten Lesezeit" + +[page_not_found] +other = "Seite nicht gefunden" + +[page_does_not_exist] +other = "Tut mir Leid, die Seite existiert leider nicht." + +[head_back] +other = "Du kannst hier zurück zur Startseite." + +[licensed_under] +other = "Lizenziert unter" + +[powered_by] +other = "Gestaltet mit" + +[see_also] +other = "Siehe auch in" + +[note] +other = "Bemerkung" + +[tip] +other = "Tipp" + +[example] +other = "Beispiel" + +[question] +other = "Frage" + +[info] +other = "Info" + +[warning] +other = "Warnung" + +[error] +other = "Fehler" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/en.toml b/i18n/en.toml new file mode 100644 index 0000000..987586d --- /dev/null +++ b/i18n/en.toml @@ -0,0 +1,64 @@ +[categories] +one = "category" +other = "categories" + +[tags] +one = "tag" +other = "tags" + +[series] +one = "series" +other = "series" + +[authors] +one = "author" +other = "authors" + +[posts] +other = "posts" + +[reading_time] +one = "One-minute read" +other = "{{ .Count }}-minute read" + +[page_not_found] +other = "Page Not Found" + +[page_does_not_exist] +other = "Sorry, this page does not exist." + +[head_back] +other = "You can head back to the homepage." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Powered by" + +[see_also] +other = "See also in" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/es.toml b/i18n/es.toml new file mode 100644 index 0000000..8300621 --- /dev/null +++ b/i18n/es.toml @@ -0,0 +1,64 @@ +[categories] +one = "categoría" +other = "categorías" + +[tags] +one = "etiqueta" +other = "etiquetas" + +[series] +one = "serie" +other = "series" + +[authors] +one = "autor" +other = "autores" + +[posts] +other = "publicaciones" + +[reading_time] +one = "Un minuto de lectura" +other = "{{ .Count }} minutos de lectura." + +[page_not_found] +other = "Página no encontrada." + +[page_does_not_exist] +other = "Disculpa, la página no existe." + +[head_back] +other = "Puedes regresar a la página inicial." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Desarrollado por" + +[see_also] +other = "También ver en" + +[note] +other = "nota" + +[tip] +other = "consejo" + +[example] +other = "ejemplo" + +[question] +other = "pregunta" + +[info] +other = "información" + +[warning] +other = "advertencia" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/fi.toml b/i18n/fi.toml new file mode 100644 index 0000000..2485616 --- /dev/null +++ b/i18n/fi.toml @@ -0,0 +1,64 @@ +[categories] +one = "kategoria" +other = "categories" + +[tags] +one = "merkki" +other = "tags" + +[series] +one = "sarja" +other = "series" + +[authors] +one = "Kirjoittaja" +other = "authors" + +[posts] +other = "Artikkelit" + +[reading_time] +one = "Yksi lukuminuutti" +other = "{{ .Count }} lukuminuuttia" + +[page_not_found] +other = "Sivua ei löydetty" + +[page_does_not_exist] +other = "Valitettavasti tätä sivua ei ole olemassa." + +[head_back] +other = "Voit palata takaisin kotisivulle." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Tarjoaa" + +[see_also] +other = "Katso myös" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/fr.toml b/i18n/fr.toml new file mode 100644 index 0000000..f51fd40 --- /dev/null +++ b/i18n/fr.toml @@ -0,0 +1,64 @@ +[categories] +one = "catégorie" +other = "catégories" + +[tags] +one = "tag" +other = "tags" + +[series] +one = "série" +other = "séries" + +[authors] +one = "auteur" +other = "auteurs" + +[posts] +other = "articles" + +[reading_time] +one = "Une minute de lecture" +other = "{{ .Count }} minutes de lecture" + +[page_not_found] +other = "Page Non Trouvée" + +[page_does_not_exist] +other = "Désolé, cette page n'existe pas." + +[head_back] +other = "Vous pouvez revenir à l'accueil." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Propulsé par" + +[see_also] +other = "Voir aussi dans" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/he.toml b/i18n/he.toml new file mode 100644 index 0000000..141b757 --- /dev/null +++ b/i18n/he.toml @@ -0,0 +1,64 @@ +[categories] +one = "קטגוריה" +other = "categories" + +[tags] +one = "תגית" +other = "tags" + +[series] +one = "סדרה" +other = "series" + +[authors] +one = "סופר" +other = "authors" + +[posts] +other = "פוסטים" + +[reading_time] +one = "דקה אחת לקרוא" +other = "דקות לקרוא {{ .Count }}" + +[page_not_found] +other = "דף האינטרנט שביקשת לא נמצא" + +[page_does_not_exist] +other = "מצטערים, דף אינטרנט זה אינו קיים" + +[head_back] +other = " אתה יכול לחזורלדף הבית." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "מופעל על ידי" + +[see_also] +other = "רואה עוד ב" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/hi.toml b/i18n/hi.toml new file mode 100644 index 0000000..2614982 --- /dev/null +++ b/i18n/hi.toml @@ -0,0 +1,65 @@ +[categories] +one = "श्रेणी" +other = "श्रेणियाँ" + +[tags] +one = "टैग" +other = "टैग्स" + +[series] +one = "श्रृंखला" +other = "श्रृंखलाएँ" + +[authors] +one = "लेखक" +other = "लेखक" + +[posts] +other = "सामग्री" + +[reading_time] +one = "पढ़ने में एक मिनट लगेगा" +other = "पढ़ने में {{ .Count }} मिनट लगेंगे" + +[page_not_found] +other = "पृष्ठ नहीं मिला" + +[page_does_not_exist] +other = "क्षमा करें, यह पृष्ठ मौजूद नहीं है।" + +[head_back] +other = "आप मुखपृष्ठ पर वापस आ सकते हैं।" + +[licensed_under] +other = "लाइसेंस:" + +[powered_by] +other = "संचालन:" + +[see_also] +other = "यह भी देखें" + +[note] +other = "नोट" + +[tip] +other = "टिप्पणी" + +[example] +other = "उदाहरण" + +[question] +other = "प्रश्न" + +[info] +other = "जानकारी" + +[warning] +other = "चेतावनी" + +[error] +other = "त्रुटि" + + +[link_to_heading] +other = "हैडिंग की कड़ी" diff --git a/i18n/hu.toml b/i18n/hu.toml new file mode 100644 index 0000000..fb47d01 --- /dev/null +++ b/i18n/hu.toml @@ -0,0 +1,64 @@ +[categories] +one = "Kategória" +other = "categories" + +[tags] +one = "Címke" +other = "tags" + +[series] +one = "Sorozat" +other = "series" + +[authors] +one = "Szerző" +other = "authors" + +[posts] +other = "Írások" + +[reading_time] +one = "Egyperces" +other = "{{ .Count }} percnyi olvasnivaló" + +[page_not_found] +other = "Az oldal nem található" + +[page_does_not_exist] +other = "Sajnálom, a kért oldal nem létezik." + +[head_back] +other = "Itt visszaléphet a Főoldalra." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Motor:" + +[see_also] +other = "Lásd még" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/id.toml b/i18n/id.toml new file mode 100644 index 0000000..f556d0e --- /dev/null +++ b/i18n/id.toml @@ -0,0 +1,64 @@ +[categories] +one = "kategori" +other = "categories" + +[tags] +one = "label" +other = "tags" + +[series] +one = "seri" +other = "series" + +[authors] +one = "penulis" +other = "authors" + +[posts] +other = "artikel" + +[reading_time] +one = "bacaan satu menit" +other = "bacaan {{ .Count }} menit" + +[page_not_found] +other = "Halaman tidak ditemukan" + +[page_does_not_exist] +other = "Maaf, halaman ini tidak ada." + +[head_back] +other = "Anda dapat kembali ke beranda." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Dipersembahkan oleh" + +[see_also] +other = "artikel terkait" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/it.toml b/i18n/it.toml new file mode 100644 index 0000000..9c8a6da --- /dev/null +++ b/i18n/it.toml @@ -0,0 +1,64 @@ +[categories] +one = "categoria" +other = "categorie" + +[tags] +one = "tag" +other = "tags" + +[series] +one = "serie" +other = "serie" + +[authors] +one = "autore" +other = "autori" + +[posts] +other = "post" + +[reading_time] +one = "Lettura di un minuto" +other = "{{ .Count }} minuti di lettura" + +[page_not_found] +other = "Pagina non trovata" + +[page_does_not_exist] +other = "Siamo spiacenti, questa pagina non esiste." + +[head_back] +other = "Torna alla homepage." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Generato da" + +[see_also] +other = "Vedi anche in" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/ja.toml b/i18n/ja.toml new file mode 100644 index 0000000..4a7e303 --- /dev/null +++ b/i18n/ja.toml @@ -0,0 +1,64 @@ +[categories] +one = "カテゴリー" +other = "カテゴリー" + +[tags] +one = "タグ" +other = "タグ" + +[series] +one = "シリーズ" +other = "シリーズ" + +[authors] +one = "著者" +other = "著者" + +[posts] +other = "記事" + +[reading_time] +one = "1分で読めます" +other = "{{ .Count }}分で読めます" + +[page_not_found] +other = "ページが見つかりません" + +[page_does_not_exist] +other = "申し訳ございません。アクセスしようとしたページが見つかりませんでした。" + +[head_back] +other = "トップページからお探しいただきますようお願い申し上げます。" + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Powered by" + +[see_also] +other = "関連記事:" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "見出しへのリンク" diff --git a/i18n/ko.toml b/i18n/ko.toml new file mode 100644 index 0000000..a34c8f6 --- /dev/null +++ b/i18n/ko.toml @@ -0,0 +1,64 @@ +[categories] +one = "카테고리" +other = "categories" + +[tags] +one = "태그" +other = "tags" + +[series] +one = "시리즈" +other = "series" + +[authors] +one = "저자" +other = "authors" + +[posts] +other = "포스트" + +[reading_time] +one = "읽는데 1분" +other = "읽는데 {{ .Count }}분" + +[page_not_found] +other = "페이지를 찾을 수 없습니다." + +[page_does_not_exist] +other = "해당 페이지가 존재하지 않습니다." + +[head_back] +other = "홈페이지로 돌아가기" + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Powered by" + +[see_also] +other = "관련 글:" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/ms.toml b/i18n/ms.toml new file mode 100644 index 0000000..25b037e --- /dev/null +++ b/i18n/ms.toml @@ -0,0 +1,67 @@ +[categories] +one = "kategori" +other = "kategori" + +[tags] +one = "teg" +other = "teg" + +[series] +one = "siri" +other = "siri" + +[author] +other = "penulis" + +[authors] +one = "penulis" +other = "penulis" + +[posts] +other = "artikel" + +[reading_time] +one = "Bacaan 1 minit" +other = "Bacaan {{ .Count }} minit" + +[page_not_found] +other = "Halaman Tidak Dijumpai" + +[page_does_not_exist] +other = "Maaf, halaman ini tidak wujud." + +[head_back] +other = "Kembali ke halaman utama." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Dikuasakan oleh" + +[see_also] +other = "Lihat juga" + +[note] +other = "nota" + +[tip] +other = "tip" + +[example] +other = "contoh" + +[question] +other = "soalan" + +[info] +other = "maklumat" + +[warning] +other = "amaran" + +[error] +other = "ralat" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/nl.toml b/i18n/nl.toml new file mode 100644 index 0000000..801e525 --- /dev/null +++ b/i18n/nl.toml @@ -0,0 +1,64 @@ +[categories] +one = "categorie" +other = "categorieën" + +[tags] +one = "label" +other = "labels" + +[series] +one = "serie" +other = "series" + +[authors] +one = "auteur" +other = "auteurs" + +[posts] +other = "berichten" + +[reading_time] +one = "Eén minuut leestijd" +other = "{{ .Count }} minuten leestijd" + +[page_not_found] +other = "Pagina niet gevonden" + +[page_does_not_exist] +other = "Sorry, deze pagina bestaat niet." + +[head_back] +other = "U kunt terugkeren naar de thuispagina." + +[licensed_under] +other = "Valt onder" + +[powered_by] +other = "Aangedreven door" + +[see_also] +other = "Zie ook in" + +[note] +other = "notitie" + +[tip] +other = "tip" + +[example] +other = "voorbeeld" + +[question] +other = "vraag" + +[info] +other = "info" + +[warning] +other = "waarschuwing" + +[error] +other = "fout" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/np.toml b/i18n/np.toml new file mode 100644 index 0000000..4e1e1c0 --- /dev/null +++ b/i18n/np.toml @@ -0,0 +1,64 @@ +[categories] +one = "वर्ग" +other = "categories" + +[tags] +one = "ट्याग" +other = "tags" + +[series] +one = "श्रृंखला" +other = "series" + +[authors] +one = "लेखक" +other = "authors" + +[posts] +other = "सामग्री" + +[reading_time] +one = "एक मिनेट पढाई" +other = "{{ .Count }} मिनेट पढाई" + +[page_not_found] +other = "पृष्ठ भेटिएन।" + +[page_does_not_exist] +other = "माफ गर्नुहोस, यो पृष्ठ उपलब्ध छैन।" + +[head_back] +other = "मुख्यपृष्ठमा फर्किन सक्नुहुन्छ।मुख्यपृष्ठ." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "द्वारा संचालित" + +[see_also] +other = "यो पनि हेर्नुहोस।" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/pl.toml b/i18n/pl.toml new file mode 100644 index 0000000..801bec4 --- /dev/null +++ b/i18n/pl.toml @@ -0,0 +1,64 @@ +[categories] +one = "kategoria" +other = "kategorie" + +[tags] +one = "tag" +other = "tagi" + +[series] +one = "seria" +other = "seria" + +[authors] +one = "autor(ka)" +other = "autorzy" + +[posts] +other = "posty" + +[reading_time] +one = "1 min czytania" +other = "{{ .Count }} min czytania" + +[page_not_found] +other = "Nie znaleziono strony" + +[page_does_not_exist] +other = "Wybacz, ta strona nie istnieje." + +[head_back] +other = "Możesz wrócić na stronę domową." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Napędzane przez" + +[see_also] +other = "Zobacz również" + +[note] +other = "notka" + +[tip] +other = "wskazówka" + +[example] +other = "przykład" + +[question] +other = "pytanie" + +[info] +other = "informacja" + +[warning] +other = "ostrzeżenie" + +[error] +other = "błąd" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/pt-br.toml b/i18n/pt-br.toml new file mode 100644 index 0000000..422771c --- /dev/null +++ b/i18n/pt-br.toml @@ -0,0 +1,64 @@ +[categories] +one = "categoria" +other = "categorias" + +[tags] +one = "etiqueta" +other = "etiquetas" + +[series] +one = "séries" +other = "séries" + +[authors] +one = "autor" +other = "autores" + +[posts] +other = "artigos" + +[reading_time] +one = "Um minuto de leitura" +other = "{{ .Count }} minutos de leitura" + +[page_not_found] +other = "Página Não Encontrada" + +[page_does_not_exist] +other = "Desculpe, essa página não existe." + +[head_back] +other = "Você pode voltar para a página inicial." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Promovido por" + +[see_also] +other = "Veja também em" + +[note] +other = "nota" + +[tip] +other = "dica" + +[example] +other = "exemplo" + +[question] +other = "pergunta" + +[info] +other = "info" + +[warning] +other = "aviso" + +[error] +other = "erro" + +[link_to_heading] +other = "Link para o cabeçalho" diff --git a/i18n/ro.toml b/i18n/ro.toml new file mode 100644 index 0000000..d3bb854 --- /dev/null +++ b/i18n/ro.toml @@ -0,0 +1,64 @@ +[categories] +one = "categorie" +other = "categorii" + +[tags] +one = "etichetă" +other = "etichete" + +[series] +one = "serie" +other = "serie" + +[authors] +one = "autor" +other = "autori" + +[posts] +other = "articole" + +[reading_time] +one = "Un minut de lectură" +other = "{{ .Count }} {{ if lt .Count 20 }}minute{{ else }}de minute{{ end }} de lectură" + +[page_not_found] +other = "Pagină Pierdută" + +[page_does_not_exist] +other = "Ne pare rău, această pagină nu există." + +[head_back] +other = "Poți să te întorci la pagina principală." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Susținut de" + +[see_also] +other = "Altele din seria" + +[note] +other = "notă" + +[tip] +other = "sfat" + +[example] +other = "exemplu" + +[question] +other = "întrebare" + +[info] +other = "informație" + +[warning] +other = "avertisment" + +[error] +other = "eroare" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/ru.toml b/i18n/ru.toml new file mode 100644 index 0000000..c360fb0 --- /dev/null +++ b/i18n/ru.toml @@ -0,0 +1,65 @@ +[categories] +one = "категория" +other = "категории" + +[tags] +one = "тэг" +other = "тэги" + +[series] +one = "серия" +other = "серии" + +[authors] +one = "автор" +other = "авторы" + +[posts] +other = "статьи" + +[reading_time] +one = "Читать одну минуту" +few = "Читать около {{ .Count }} минут" +many = "Читать около {{ .Count }} минут" + +[page_not_found] +other = "Страница не найдена" + +[page_does_not_exist] +other = "Извините, но этой страницы не существует." + +[head_back] +other = "Можете вернуться обратно на домашнюю страницу." + +[licensed_under] +other = "Лицензирован по" + +[powered_by] +other = "Работает на" + +[see_also] +other = "Также смотрите" + +[note] +other = "заметка" + +[tip] +other = "совет" + +[example] +other = "пример" + +[question] +other = "вопрос" + +[info] +other = "информация" + +[warning] +other = "предупреждение" + +[error] +other = "ошибка" + +[link_to_heading] +other = "Ссылка на заголовок" diff --git a/i18n/se.toml b/i18n/se.toml new file mode 100644 index 0000000..566992a --- /dev/null +++ b/i18n/se.toml @@ -0,0 +1,64 @@ +[categories] +one = "Kategori" +other = "Katgorier" + +[tags] +one = "Tagg" +other = "Taggar" + +[series] +one = "Serie" +other = "Serie" + +[authors] +one = "Författare" +other = "Författare" + +[posts] +other = "Inlägg" + +[reading_time] +one = "Ein minut lästid" +other = "{{ .Count }} minuter lästid" + +[page_not_found] +other = "Sida hittades inte" + +[page_does_not_exist] +other = "Ursäkta, men denna sida existerar inte." + +[head_back] +other = "Här kan du komma tillbaka till startsidan." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Byggd med" + +[see_also] +other = "Se även i" + +[note] +other = "Notera" + +[tip] +other = "Tips" + +[example] +other = "Exempel" + +[question] +other = "Fråga" + +[info] +other = "Info" + +[warning] +other = "Varning" + +[error] +other = "Fel" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/sk.toml b/i18n/sk.toml new file mode 100644 index 0000000..3c8b255 --- /dev/null +++ b/i18n/sk.toml @@ -0,0 +1,66 @@ +[categories] +one = "kategória" +other = "categories" + +[tags] +one = "téma" +other = "tags" + +[series] +one = "diel" +other = "series" + +[authors] +one = "autor" +other = "authors" + +[posts] +other = "články" + +[reading_time] +one = "Prečítate si za minútu" +few = "Prečítate si do {{ .Count }} minút" +many = "Prečítate si do {{ .Count }} minút" +other = "Prečítate si do {{ .Count }} minút" + +[page_not_found] +other = "Stránka nebola nájdená" + +[page_does_not_exist] +other = "Prepáčte, ale táto stránka neexistuje." + +[head_back] +other = "Späť na domácu stránku." + +[licensed_under] +other = "Licensed under" + +[see_also] +other = "Pozrite tiež" + +[powered_by] +other = "Táto stránka bola vytvorená cez" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/sq.toml b/i18n/sq.toml new file mode 100644 index 0000000..f0ed7d2 --- /dev/null +++ b/i18n/sq.toml @@ -0,0 +1,64 @@ +[categories] +one = "kategori" +other = "kategoritë" + +[tags] +one = "shenjim" +other = "shenjuesat" + +[series] +one = "seritë" +other = "seritë" + +[authors] +one = "autori" +other = "autorë" + +[posts] +other = "postime" + +[reading_time] +one = "një-minutë lexim" +other = "{{ .Count }}-minute read" + +[page_not_found] +other = "Nuk u gjet faqja" + +[page_does_not_exist] +other = "Na vjen keq, faqja nuk u gjet" + +[head_back] +other = "Mund të ktheheni prapë tek homepage." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "Mundësuar nga " + +[see_also] +other = "Shiko gjithashtu" + +[note] +other = "shënim" + +[tip] +other = "ndihmë" + +[example] +other = "shembull" + +[question] +other = "pyetje" + +[info] +other = "informacion" + +[warning] +other = "kujdes" + +[error] +other = "gabim" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/sr-latn.toml b/i18n/sr-latn.toml new file mode 100644 index 0000000..9956d9b --- /dev/null +++ b/i18n/sr-latn.toml @@ -0,0 +1,64 @@ +[categories] +one = "kategorija" +other = "kategorije" + +[tags] +one = "tag" +other = "tagovi" + +[series] +one = "serija" +other = "serije" + +[authors] +one = "autor" +other = "autori" + +[posts] +other = "objave" + +[reading_time] +one = "Jedan minut čitanja" +other = "{{ .Count }} minuta čitanja" + +[page_not_found] +other = "Stranica nije pronađena" + +[page_does_not_exist] +other = "Izvinite, ova stranica ne postoji." + +[head_back] +other = "Možete se vratiti na početnu stranicu." + +[licensed_under] +other = "Licensirano pod" + +[powered_by] +other = "Pokreće" + +[see_also] +other = "takođe proveriti" + +[note] +other = "napomena" + +[tip] +other = "savet" + +[example] +other = "primer" + +[question] +other = "pitanje" + +[info] +other = "informacija" + +[warning] +other = "upozorenje" + +[error] +other = "greška" + +[link_to_heading] +other = "Link do zaglavlja" diff --git a/i18n/sr.toml b/i18n/sr.toml new file mode 100644 index 0000000..3c23395 --- /dev/null +++ b/i18n/sr.toml @@ -0,0 +1,64 @@ +[categories] +one = "категорија" +other = "категорије" + +[tags] +one = "таг" +other = "тагови" + +[series] +one = "серија" +other = "серије" + +[authors] +one = "аутор" +other = "аутори" + +[posts] +other = "објаве" + +[reading_time] +one = "Један минут читања" +other = "{{ .Count }} минута читања" + +[page_not_found] +other = "Страница није пронађена" + +[page_does_not_exist] +other = "Извините, ова страница не постоји." + +[head_back] +other = "Можете се вратити на почетну страницу." + +[licensed_under] +other = "Лиценсирано под" + +[powered_by] +other = "Покреће" + +[see_also] +other = "такође проверити" + +[note] +other = "напомена" + +[tip] +other = "савет" + +[example] +other = "пример" + +[question] +other = "питање" + +[info] +other = "информација" + +[warning] +other = "упозорење" + +[error] +other = "грешка" + +[link_to_heading] +other = "Линк до заглавља" diff --git a/i18n/tr.toml b/i18n/tr.toml new file mode 100644 index 0000000..84787ad --- /dev/null +++ b/i18n/tr.toml @@ -0,0 +1,65 @@ +[categories] +one = "kategori" +other = "kategoriler" + +[tags] +one = "etiket" +other = "etiketler" + +[series] +one = "dizi" +other = "diziler" + +[authors] +one = "yazar" +other = "yazarlar" + +[posts] +one = "Gönderi" +other = "Gönderiler" + +[reading_time] +one = "Bir dakikalık okuma" +other = "{{ .Count }} dakikalık okuma" + +[page_not_found] +other = "Sayfa Bulunamadı" + +[page_does_not_exist] +other = "Özür dileriz, böyle bir sayfa yok." + +[head_back] +other = "Ana sayfaya dönebilirsiniz." + +[licensed_under] +other = "Lisansı alınta:" + +[powered_by] +other = "Site program altyapısı" + +[see_also] +other = "Ayrıca bakınız" + +[note] +other = "not" + +[tip] +other = "tavsiye" + +[example] +other = "örnek" + +[question] +other = "soru" + +[info] +other = "bilgi" + +[warning] +other = "uyarı" + +[error] +other = "hata" + +[link_to_heading] +other = "Başlık Linki" diff --git a/i18n/ur.toml b/i18n/ur.toml new file mode 100644 index 0000000..0957d90 --- /dev/null +++ b/i18n/ur.toml @@ -0,0 +1,64 @@ +[categories] +one = "قسم" +other = "اقسام" + +[tags] +one = "ٹیگ" +other = "ٹیگز" + +[series] +one = "سلسلہ" +other = "سلسلہ" + +[authors] +one = "مصنف" +other = "مصنفین" + +[posts] +other = "اِشاعَتی" + +[reading_time] +one = "اسے پڑھنے میں ایک منٹ لگے گا" +other = "اسے پڑھنے میں {{ Count }} منٹ لگتا ہے۔" + +[page_not_found] +other = "صفحہ نہیں ملا" + +[page_does_not_exist] +other = "معذرت، یہ صفحہ موجود نہیں ہے۔" + +[head_back] +other = "آپ ہوم پیج پر واپس جا سکتے ہیں۔" + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "شکریہ" + +[see_also] +other = "بھی دیکھو" + +[note] +other = "نوٹ" + +[tip] +other = "ٹپ" + +[example] +other = "مثال" + +[question] +other = "سوال" + +[info] +other = "معلومات" + +[warning] +other = "انتباہ" + +[error] +other = "غلطی" + +[link_to_heading] +other = "Link to heading" diff --git a/i18n/zh-cn.toml b/i18n/zh-cn.toml new file mode 100644 index 0000000..e6392c8 --- /dev/null +++ b/i18n/zh-cn.toml @@ -0,0 +1,64 @@ +[categories] +one = "分类" +other = "分类" + +[tags] +one = "标签" +other = "标签" + +[series] +one = "系列" +other = "系列" + +[authors] +one = "作者" +other = "作者" + +[posts] +other = "文章" + +[reading_time] +one = "阅读时间:1 分钟" +other = "阅读时间:{{ .Count }} 分钟" + +[page_not_found] +other = "找不到页面" + +[page_does_not_exist] +other = "此页面不存在" + +[head_back] +other = "返回 首页." + +[licensed_under] +other = "许可依据" + +[powered_by] +other = "技术支持" + +[see_also] +other = "参见" + +[note] +other = "注释" + +[tip] +other = "提示" + +[example] +other = "例子" + +[question] +other = "问题" + +[info] +other = "信息" + +[warning] +other = "警告" + +[error] +other = "错误" + +[link_to_heading] +other = "链接到标题" diff --git a/i18n/zh-tw.toml b/i18n/zh-tw.toml new file mode 100644 index 0000000..69fb4c6 --- /dev/null +++ b/i18n/zh-tw.toml @@ -0,0 +1,64 @@ +[categories] +one = "分類" +other = "categories" + +[tags] +one = "標籤" +other = "tags" + +[series] +one = "系列" +other = "series" + +[authors] +one = "作者" +other = "authors" + +[posts] +other = "文章" + +[reading_time] +one = "閱讀時間 1 分鐘" +other = "閱讀時間 {{ .Count }} 分鐘" + +[page_not_found] +other = "找不到頁面" + +[page_does_not_exist] +other = "此頁面不存在" + +[head_back] +other = "返回 首頁." + +[licensed_under] +other = "Licensed under" + +[powered_by] +other = "技術支援" + +[see_also] +other = "參見" + +[note] +other = "note" + +[tip] +other = "tip" + +[example] +other = "example" + +[question] +other = "question" + +[info] +other = "info" + +[warning] +other = "warning" + +[error] +other = "error" + +[link_to_heading] +other = "Link to heading" diff --git a/images/logos/favicon.png b/images/logos/favicon.png new file mode 100644 index 0000000..f2f0316 Binary files /dev/null and b/images/logos/favicon.png differ diff --git a/images/logos/favicon.svg b/images/logos/favicon.svg new file mode 100644 index 0000000..432b43c --- /dev/null +++ b/images/logos/favicon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/images/logos/logomark.png b/images/logos/logomark.png new file mode 100644 index 0000000..eb975d9 Binary files /dev/null and b/images/logos/logomark.png differ diff --git a/images/logos/logomark.svg b/images/logos/logomark.svg new file mode 100644 index 0000000..97f287f --- /dev/null +++ b/images/logos/logomark.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/images/logos/logotype-a.png b/images/logos/logotype-a.png new file mode 100644 index 0000000..983f407 Binary files /dev/null and b/images/logos/logotype-a.png differ diff --git a/images/logos/logotype-a.svg b/images/logos/logotype-a.svg new file mode 100644 index 0000000..e9ce474 --- /dev/null +++ b/images/logos/logotype-a.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/images/logos/logotype-b.png b/images/logos/logotype-b.png new file mode 100644 index 0000000..4352199 Binary files /dev/null and b/images/logos/logotype-b.png differ diff --git a/images/logos/logotype-b.svg b/images/logos/logotype-b.svg new file mode 100644 index 0000000..06e5dbc --- /dev/null +++ b/images/logos/logotype-b.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/images/screenshot.png b/images/screenshot.png new file mode 100644 index 0000000..0f4029c Binary files /dev/null and b/images/screenshot.png differ diff --git a/images/tn.png b/images/tn.png new file mode 100644 index 0000000..9cac7c7 Binary files /dev/null and b/images/tn.png differ diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..23ecb19 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,3 @@ +{{ define "content" }} + {{ partial "404.html" . }} +{{ end }} diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html new file mode 100644 index 0000000..7c5bfe2 --- /dev/null +++ b/layouts/_default/_markup/render-heading.html @@ -0,0 +1,7 @@ + + {{ .Text | safeHTML }} + + + {{ i18n "link_to_heading" | default "Link to heading" }} + + diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html new file mode 100644 index 0000000..0b13cd2 --- /dev/null +++ b/layouts/_default/_markup/render-link.html @@ -0,0 +1 @@ +{{ .Text | safeHTML }} \ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..9634f9c --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,126 @@ + + + + + {{ block "title" . }}{{ .Site.Title }}{{ end }} + {{ partial "head.html" . }} + + +{{ $csClass := "colorscheme-light" }} +{{ if eq .Site.Params.colorScheme "dark" }} +{{ $csClass = "colorscheme-dark" }} +{{ else if eq .Site.Params.colorScheme "auto" }} +{{ $csClass = "colorscheme-auto" }} +{{ end }} + + + {{ partial "float" . }} +
+ {{ partial "header.html" . }} + +
+ {{ block "content" . }}{{ end }} +
+ + {{ partial "footer.html" . }} +
+ + {{ if .HasShortcode "mermaid" }} + + + {{ end }} + + {{ if .Site.IsServer }} + {{ $script := resources.Get "js/coder.js" }} + + {{ else }} + {{ $script := resources.Get "js/coder.js" | minify | fingerprint }} + + {{ end }} + + {{ range .Site.Params.customJS }} + {{ if $.Site.IsServer }} + {{ $script := resources.Get . }} + + {{ else }} + {{ $script := resources.Get . | minify | fingerprint }} + + {{ end }} + {{ end }} + + {{ range .Site.Params.customRemoteJS }} + {{ if $.Site.IsServer }} + {{ $script := resources.GetRemote . }} + + {{ else }} + {{ $script := resources.GetRemote . | minify | fingerprint }} + + {{ end }} + {{ end }} + + + {{ template "_internal/google_analytics.html" . }} + + {{ if and .Site.Params.fathomAnalytics .Site.Params.fathomAnalytics.siteID }} + {{- partial "analytics/fathom" . -}} + {{ end }} + + {{ if and .Site.Params.plausibleAnalytics .Site.Params.plausibleAnalytics.domain }} + {{- partial "analytics/plausible" . -}} + {{ end }} + + {{ if and .Site.Params.goatCounter .Site.Params.goatCounter.code }} + {{- partial "analytics/goatcounter" . -}} + {{ end }} + + {{ if and .Site.Params.cloudflare .Site.Params.cloudflare.token }} + {{- partial "analytics/cloudflare" . -}} + {{ end }} + + {{ if and .Site.Params.baidu .Site.Params.baidu.token }} + {{- partial "analytics/baidu" . -}} + {{ end }} + + {{ if and .Site.Params.wideAngleAnalytics .Site.Params.wideAngleAnalytics.siteID }} + {{- partial "analytics/wideangle" . -}} + {{ end }} + + {{ if and .Site.Params.matomo .Site.Params.matomo.serverURL }} + {{- partial "analytics/matomo" . -}} + {{ end }} + + {{ if and .Site.Params.googleTagManager .Site.Params.googleTagManager.id }} + {{- partial "analytics/googletagmanager" . -}} + {{ end }} + + {{ if and .Site.Params.applicationInsights .Site.Params.applicationInsights.connectionString }} + {{- partial "analytics/applicationinsights" . -}} + {{ end }} + + {{ if and .Site.Params.microAnalytics .Site.Params.microAnalytics.id }} + {{- partial "analytics/microanalyticsio" . -}} + {{ end }} + + {{ if and .Site.Params.yandexMetrika .Site.Params.yandexMetrika.id }} + {{- partial "analytics/yandex-metrika" . -}} + {{ end }} + + {{ if and .Site.Params.umami .Site.Params.umami.siteID }} + {{- partial "analytics/umami" . -}} + {{ end }} + + {{ if and .Site.Params.pirsch .Site.Params.pirsch.code }} + {{- partial "analytics/pirsch" . -}} + {{ end }} + + {{ if and .Site.Params.clicky .Site.Params.clicky.id }} + {{- partial "analytics/clicky" . -}} + {{ end }} + + {{- partial "body/extensions" . -}} + + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..cf15efb --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,10 @@ +{{ define "title" }} + {{- if eq .Kind "term" -}} + {{- i18n .Data.Plural 1 | title -}} + {{- print ": " -}} + {{- end -}} + {{- i18n (lower .Title) | default .Title | title }} · {{ .Site.Title -}} +{{ end }} +{{ define "content" }} + {{ partial "list.html" . }} +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..6150c6a --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,7 @@ +{{ define "title" }} + {{ .Title }} · {{ .Site.Title }} +{{ end }} +{{ define "content" }} + {{ partial "page.html" . }} + {{ partial "posts/math.html" . }} +{{ end }} diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html new file mode 100644 index 0000000..48b37e2 --- /dev/null +++ b/layouts/_default/terms.html @@ -0,0 +1,10 @@ +{{ define "title" }} + {{- if eq .Kind "term" -}} + {{- i18n .Data.Plural | title -}} + {{- print ": " -}} + {{- end -}} + {{- i18n (lower .Title) | default .Title | title }} · {{ .Site.Title -}} +{{ end }} +{{ define "content" }} + {{ partial "terms.html" . }} +{{ end }} diff --git a/layouts/archive/li.html b/layouts/archive/li.html new file mode 100644 index 0000000..9d8a659 --- /dev/null +++ b/layouts/archive/li.html @@ -0,0 +1,4 @@ +
  • + {{ .Date | time.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }} + {{ .Title }} +
  • diff --git a/layouts/archive/list.html b/layouts/archive/list.html new file mode 100644 index 0000000..17abb71 --- /dev/null +++ b/layouts/archive/list.html @@ -0,0 +1,22 @@ +{{ define "title" }} + {{ title (i18n (lower .Title)) | default .Title }} · {{ .Site.Title }} +{{ end }} +{{ define "content" }} +
    +
    +

    + + {{ title (i18n (lower .Title)) | default .Title }} + +

    +
    + {{ .Content }} +
      + {{- range .Paginator.Pages -}} + {{- .Render "li" -}} + {{- end -}} +
    + + {{ partial "pagination.html" . }} +
    +{{ end }} diff --git a/layouts/archive/single.html b/layouts/archive/single.html new file mode 100644 index 0000000..9716499 --- /dev/null +++ b/layouts/archive/single.html @@ -0,0 +1,54 @@ +{{ define "title" }} + {{ .Title }} · {{ .Site.Title }} +{{ end }} +{{ define "content" }} +
    +
    +
    +
    +

    + + {{ .Title }} + +

    +
    + +
    + +
    + {{ if .Params.featuredImage }} + Featured image + {{ end }} + {{ .Content }} +
    + + +
    + {{ partial "posts/series.html" . }} + {{ partial "posts/disqus.html" . }} + {{ partial "posts/commento.html" . }} + {{ partial "posts/utterances.html" . }} + {{ partial "posts/giscus.html" . }} + {{ partial "posts/telegram.html" . }} +
    +
    + + {{ partial "posts/math.html" . }} +
    +{{ end }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..b829b61 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,3 @@ +{{ define "content" }} + {{ partial "home.html" . }} +{{ end }} diff --git a/layouts/partials/404.html b/layouts/partials/404.html new file mode 100644 index 0000000..a884c68 --- /dev/null +++ b/layouts/partials/404.html @@ -0,0 +1,7 @@ +
    +
    +

    404

    +

    {{ i18n "page_not_found" }}

    +

    {{ i18n "page_does_not_exist" }}
    {{ i18n "head_back" .Site.BaseURL | safeHTML }}

    +
    +
    diff --git a/layouts/partials/analytics/applicationinsights.html b/layouts/partials/analytics/applicationinsights.html new file mode 100644 index 0000000..72d2d18 --- /dev/null +++ b/layouts/partials/analytics/applicationinsights.html @@ -0,0 +1,13 @@ + diff --git a/layouts/partials/analytics/baidu.html b/layouts/partials/analytics/baidu.html new file mode 100644 index 0000000..e2fcbe9 --- /dev/null +++ b/layouts/partials/analytics/baidu.html @@ -0,0 +1,11 @@ + + + diff --git a/layouts/partials/analytics/clicky.html b/layouts/partials/analytics/clicky.html new file mode 100644 index 0000000..7c91fc4 --- /dev/null +++ b/layouts/partials/analytics/clicky.html @@ -0,0 +1 @@ + diff --git a/layouts/partials/analytics/cloudflare.html b/layouts/partials/analytics/cloudflare.html new file mode 100644 index 0000000..d8a732f --- /dev/null +++ b/layouts/partials/analytics/cloudflare.html @@ -0,0 +1,4 @@ + + + diff --git a/layouts/partials/analytics/fathom.html b/layouts/partials/analytics/fathom.html new file mode 100644 index 0000000..13e7cfc --- /dev/null +++ b/layouts/partials/analytics/fathom.html @@ -0,0 +1,13 @@ + diff --git a/layouts/partials/analytics/goatcounter.html b/layouts/partials/analytics/goatcounter.html new file mode 100644 index 0000000..5ba3063 --- /dev/null +++ b/layouts/partials/analytics/goatcounter.html @@ -0,0 +1,2 @@ + diff --git a/layouts/partials/analytics/googletagmanager.html b/layouts/partials/analytics/googletagmanager.html new file mode 100644 index 0000000..2d2581d --- /dev/null +++ b/layouts/partials/analytics/googletagmanager.html @@ -0,0 +1,9 @@ + + + diff --git a/layouts/partials/analytics/matomo.html b/layouts/partials/analytics/matomo.html new file mode 100644 index 0000000..8fabb63 --- /dev/null +++ b/layouts/partials/analytics/matomo.html @@ -0,0 +1,13 @@ + diff --git a/layouts/partials/analytics/microanalyticsio.html b/layouts/partials/analytics/microanalyticsio.html new file mode 100644 index 0000000..0e8b65b --- /dev/null +++ b/layouts/partials/analytics/microanalyticsio.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/layouts/partials/analytics/pirsch.html b/layouts/partials/analytics/pirsch.html new file mode 100644 index 0000000..c2fa852 --- /dev/null +++ b/layouts/partials/analytics/pirsch.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/layouts/partials/analytics/plausible.html b/layouts/partials/analytics/plausible.html new file mode 100644 index 0000000..28450c0 --- /dev/null +++ b/layouts/partials/analytics/plausible.html @@ -0,0 +1 @@ + diff --git a/layouts/partials/analytics/umami.html b/layouts/partials/analytics/umami.html new file mode 100644 index 0000000..3b2041c --- /dev/null +++ b/layouts/partials/analytics/umami.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/layouts/partials/analytics/wideangle.html b/layouts/partials/analytics/wideangle.html new file mode 100644 index 0000000..3ec5b70 --- /dev/null +++ b/layouts/partials/analytics/wideangle.html @@ -0,0 +1,5 @@ + diff --git a/layouts/partials/analytics/yandex-metrika.html b/layouts/partials/analytics/yandex-metrika.html new file mode 100644 index 0000000..9261187 --- /dev/null +++ b/layouts/partials/analytics/yandex-metrika.html @@ -0,0 +1,14 @@ + + + + diff --git a/layouts/partials/body/extensions.html b/layouts/partials/body/extensions.html new file mode 100644 index 0000000..6dddea7 --- /dev/null +++ b/layouts/partials/body/extensions.html @@ -0,0 +1,5 @@ +{{/* + This extension point occurs just before the end of each page's tag. + + You can add further theme extensions or customizations here if needed. +*/}} diff --git a/layouts/partials/csp.html b/layouts/partials/csp.html new file mode 100644 index 0000000..e9238a4 --- /dev/null +++ b/layouts/partials/csp.html @@ -0,0 +1 @@ +{{ printf `` (delimit .Site.Params.csp.childsrc " ") (delimit .Site.Params.csp.fontsrc " ") (delimit .Site.Params.csp.formaction " ") (delimit .Site.Params.csp.framesrc " ") (delimit .Site.Params.csp.imgsrc " ") (delimit .Site.Params.csp.objectsrc " ") (delimit .Site.Params.csp.stylesrc " ") (delimit .Site.Params.csp.scriptsrc " ") (delimit .Site.Params.csp.prefetchsrc " ") (delimit .Site.Params.csp.connectsrc " ") | safeHTML }} diff --git a/layouts/partials/float.html b/layouts/partials/float.html new file mode 100644 index 0000000..623047d --- /dev/null +++ b/layouts/partials/float.html @@ -0,0 +1,7 @@ +{{ if not .Site.Params.hideColorSchemeToggle }} + +{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..201f5a2 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,19 @@ +
    +
    + © + {{ if (and .Site.Params.since (lt .Site.Params.since now.Year)) }} + {{ .Site.Params.since }} - + {{ end }} + {{ now.Year }} + {{ with .Site.Params.author }} {{ . }} {{ end }} + · + {{ if (and .Site.Params.license) }} + {{ i18n "licensed_under" }} {{ .Site.Params.license | safeHTML }} + · + {{ end }} + {{ i18n "powered_by" }} Hugo & Coder. + {{ if (and .Site.Params.commit .GitInfo) }} + [{{ .GitInfo.AbbreviatedHash }}] + {{ end }} +
    +
    diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..e9cad8b --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,21 @@ +{{ partial "head/meta-tags.html" . }} + +{{ if .Params.canonicalUrl }} + +{{ else }} + +{{ end }} + +{{ partialCached "head/theme-styles.html" . }} + +{{ partialCached "head/color-scheme.html" . }} + +{{ partialCached "head/custom-styles.html" . }} + +{{ partialCached "head/custom-icons.html" . }} + +{{ partial "head/alternative-output-formats.html" . }} + +{{ if .IsHome }}{{ partial "head/hugo-generator.html" . }}{{ end }} + +{{ partial "head/extensions.html" . }} diff --git a/layouts/partials/head/alternative-output-formats.html b/layouts/partials/head/alternative-output-formats.html new file mode 100644 index 0000000..8b1829a --- /dev/null +++ b/layouts/partials/head/alternative-output-formats.html @@ -0,0 +1,3 @@ +{{ range .AlternativeOutputFormats -}} + {{ printf `` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }} +{{ end -}} diff --git a/layouts/partials/head/color-scheme.html b/layouts/partials/head/color-scheme.html new file mode 100644 index 0000000..7a55e8e --- /dev/null +++ b/layouts/partials/head/color-scheme.html @@ -0,0 +1,11 @@ +{{ if or (eq .Site.Params.colorScheme "auto") (eq .Site.Params.colorScheme "dark") }} + {{ if .Site.IsServer }} + {{ $cssOpts := (dict "targetPath" "css/coder-dark.css" "enableSourceMap" true ) }} + {{ $styles := resources.Get "scss/coder-dark.scss" | resources.ExecuteAsTemplate "style.coder-dark.css" . | toCSS $cssOpts }} + + {{ else }} + {{ $cssOpts := (dict "targetPath" "css/coder-dark.css" ) }} + {{ $styles := resources.Get "scss/coder-dark.scss" | resources.ExecuteAsTemplate "style.coder-dark.css" . | toCSS $cssOpts | minify | fingerprint }} + + {{ end }} +{{ end }} diff --git a/layouts/partials/head/custom-icons.html b/layouts/partials/head/custom-icons.html new file mode 100644 index 0000000..6bad1a1 --- /dev/null +++ b/layouts/partials/head/custom-icons.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/layouts/partials/head/custom-styles.html b/layouts/partials/head/custom-styles.html new file mode 100644 index 0000000..6496963 --- /dev/null +++ b/layouts/partials/head/custom-styles.html @@ -0,0 +1,21 @@ + {{ range .Site.Params.customCSS }} + {{ if $.Site.IsServer }} + {{ $styles := resources.Get . }} + + {{ else }} + {{ $styles := resources.Get . | minify | fingerprint }} + + {{ end }} +{{ end }} + +{{ range .Site.Params.customSCSS }} + {{/* We don't change the targetPath to because it's transparent to users */}} + {{ if $.Site.IsServer }} + {{ $cssOpts := (dict "enableSourceMap" true ) }} + {{ $styles := resources.Get . | toCSS $cssOpts }} + + {{ else }} + {{ $styles := resources.Get . | toCSS | minify | fingerprint }} + + {{ end }} +{{ end }} diff --git a/layouts/partials/head/extensions.html b/layouts/partials/head/extensions.html new file mode 100644 index 0000000..a9eb885 --- /dev/null +++ b/layouts/partials/head/extensions.html @@ -0,0 +1,4 @@ +{{/* + You can add further theme extensions or customizations here if they should + appear in . +*/}} diff --git a/layouts/partials/head/hugo-generator.html b/layouts/partials/head/hugo-generator.html new file mode 100644 index 0000000..cee2034 --- /dev/null +++ b/layouts/partials/head/hugo-generator.html @@ -0,0 +1 @@ +{{ hugo.Generator }} diff --git a/layouts/partials/head/meta-tags.html b/layouts/partials/head/meta-tags.html new file mode 100644 index 0000000..0d0b95a --- /dev/null +++ b/layouts/partials/head/meta-tags.html @@ -0,0 +1,15 @@ + + + + +{{ if .Site.Params.csp }} +{{ partial "csp.html" . }} +{{ end }} + +{{ with .Site.Params.author }} +{{ end }} + + + +{{ template "_internal/twitter_cards.html" . }} +{{ template "_internal/opengraph.html" . }} diff --git a/layouts/partials/head/theme-styles.html b/layouts/partials/head/theme-styles.html new file mode 100644 index 0000000..720b7b2 --- /dev/null +++ b/layouts/partials/head/theme-styles.html @@ -0,0 +1,23 @@ + + +{{ if .Site.IsServer }} + {{ $cssOpts := (dict "targetPath" "css/coder.css" "enableSourceMap" true ) }} + {{ $styles := resources.Get "scss/coder.scss" | resources.ExecuteAsTemplate "style.coder.css" . | toCSS $cssOpts }} + +{{ else }} + {{ $cssOpts := (dict "targetPath" "css/coder.css" ) }} + {{ $styles := resources.Get "scss/coder.scss" | resources.ExecuteAsTemplate "style.coder.css" . | toCSS $cssOpts | minify | fingerprint }} + +{{ end }} + +{{ if .Site.Params.rtl }} + {{ if .Site.IsServer }} + {{ $cssOpts := (dict "targetPath" "css/coder-rtl.css" "enableSourceMap" true ) }} + {{ $styles := resources.Get "scss/coder-rtl.scss" | resources.ExecuteAsTemplate "style.coder-rtl.css" . | toCSS $cssOpts }} + + {{ else }} + {{ $cssOpts := (dict "targetPath" "css/coder-rtl.css" ) }} + {{ $styles := resources.Get "scss/coder-rtl.scss" | resources.ExecuteAsTemplate "style.coder-rtl.css" . | toCSS $cssOpts | minify | fingerprint }} + + {{ end }} +{{ end }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..223d226 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,39 @@ + diff --git a/layouts/partials/home.html b/layouts/partials/home.html new file mode 100644 index 0000000..8f178c8 --- /dev/null +++ b/layouts/partials/home.html @@ -0,0 +1,11 @@ +
    +
    + {{ partialCached "home/avatar.html" . }} + + {{ partialCached "home/author.html" . }} + + {{ partialCached "home/social.html" . }} +
    + + {{ partialCached "home/extensions.html" . }} +
    diff --git a/layouts/partials/home/author.html b/layouts/partials/home/author.html new file mode 100644 index 0000000..3fd3984 --- /dev/null +++ b/layouts/partials/home/author.html @@ -0,0 +1,6 @@ +

    {{ .Site.Params.author }}

    +{{ if reflect.IsSlice .Site.Params.info }} +

    {{ range .Site.Params.info }}{{ . | markdownify }}
    {{ end}}

    +{{ else }} +

    {{ .Site.Params.info | markdownify }}

    +{{ end }} diff --git a/layouts/partials/home/avatar.html b/layouts/partials/home/avatar.html new file mode 100644 index 0000000..4928915 --- /dev/null +++ b/layouts/partials/home/avatar.html @@ -0,0 +1,8 @@ +{{ if and (isset .Site.Params "avatarurl") (not (isset .Site.Params "gravatar")) }} + {{ with .Site.Params.avatarURL }} +
    avatar
    + {{ end }} +{{ end }} +{{ with .Site.Params.gravatar }} +
    gravatar
    +{{ end }} diff --git a/layouts/partials/home/extensions.html b/layouts/partials/home/extensions.html new file mode 100644 index 0000000..ba42ccb --- /dev/null +++ b/layouts/partials/home/extensions.html @@ -0,0 +1,4 @@ +{{/* +You can add further theme extensions or customizations here if they should +appear in after the "about" section. +*/}} diff --git a/layouts/partials/home/social.html b/layouts/partials/home/social.html new file mode 100644 index 0000000..8d726c8 --- /dev/null +++ b/layouts/partials/home/social.html @@ -0,0 +1,17 @@ +{{ with .Site.Params.social }} + +{{ end }} \ No newline at end of file diff --git a/layouts/partials/list.html b/layouts/partials/list.html new file mode 100644 index 0000000..80026ae --- /dev/null +++ b/layouts/partials/list.html @@ -0,0 +1,23 @@ +
    +
    +

    + + {{- if eq .Kind "term" -}} + {{- i18n .Data.Plural 1 | title -}} + {{- print ": " -}} + {{- end -}} + {{- i18n (lower .Title) | default .Title | title -}} + +

    +
    + {{ .Content }} +
      + {{ range .Paginator.Pages }} +
    • + {{ .Date | time.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }} + {{ .Title }} +
    • + {{ end }} +
    + {{ partial "pagination.html" . }} +
    diff --git a/layouts/partials/page.html b/layouts/partials/page.html new file mode 100644 index 0000000..656f2f1 --- /dev/null +++ b/layouts/partials/page.html @@ -0,0 +1,13 @@ +
    + +
    diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 0000000..1e004b8 --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,48 @@ +{{ $paginator := .Paginator }} +{{ $adjacent_links := 2 }} +{{ $max_links := (add (mul $adjacent_links 2) 1) }} +{{ $lower_limit := (add $adjacent_links 1) }} +{{ $upper_limit := (sub $paginator.TotalPages $adjacent_links) }} +{{ if gt $paginator.TotalPages 1 }} + +{{ end }} diff --git a/layouts/partials/posts/commento.html b/layouts/partials/posts/commento.html new file mode 100644 index 0000000..93a245e --- /dev/null +++ b/layouts/partials/posts/commento.html @@ -0,0 +1,4 @@ +{{- if and (isset .Site.Params "commentourl") (not (eq .Site.Params.commentoURL "" )) (eq (.Params.disableComments | default false) false) -}} +
    + +{{- end -}} diff --git a/layouts/partials/posts/disqus.html b/layouts/partials/posts/disqus.html new file mode 100644 index 0000000..d0b5242 --- /dev/null +++ b/layouts/partials/posts/disqus.html @@ -0,0 +1,26 @@ +{{- if and (not (eq (.Site.DisqusShortname | default "") "")) (eq (.Params.disableComments | default false) false) -}} +
    + +{{- end -}} diff --git a/layouts/partials/posts/giscus.html b/layouts/partials/posts/giscus.html new file mode 100644 index 0000000..3bf25d2 --- /dev/null +++ b/layouts/partials/posts/giscus.html @@ -0,0 +1,33 @@ +{{- if isset .Site.Params "giscus" -}} + {{- if and (isset .Site.Params.giscus "repo") (not (eq .Site.Params.giscus.repo "" )) (eq (.Params.disableComments | default false) false) -}} +
    + +
    + {{- end -}} +{{- end -}} diff --git a/layouts/partials/posts/math.html b/layouts/partials/posts/math.html new file mode 100644 index 0000000..0d2d100 --- /dev/null +++ b/layouts/partials/posts/math.html @@ -0,0 +1,19 @@ +{{- if or (.Params.math) (.Site.Params.math) (.Params.katex) (.Site.Params.katex) -}} + + {{/* The loading of KaTeX is deferred to speed up page rendering */}} + + +{{- end -}} diff --git a/layouts/partials/posts/series.html b/layouts/partials/posts/series.html new file mode 100644 index 0000000..ed5f214 --- /dev/null +++ b/layouts/partials/posts/series.html @@ -0,0 +1,30 @@ +{{ $currentPageUrl := .RelPermalink }} +{{ if .Params.series }} +
    + {{ range .Params.series }} + {{ $name := . | anchorize }} + {{ $series := index $.Site.Taxonomies.series $name }} + {{ if gt (len $series.Pages) 1 }} +

    + {{ i18n "see_also" | default "See also in" }} {{ . }} + + + {{ i18n "link_to_heading" | default "Link to heading" }} + +

    + + {{ end }} + {{ end }} +
    +{{ end }} diff --git a/layouts/partials/posts/telegram.html b/layouts/partials/posts/telegram.html new file mode 100644 index 0000000..2cdae65 --- /dev/null +++ b/layouts/partials/posts/telegram.html @@ -0,0 +1,22 @@ +{{- if isset .Site.Params "telegram" -}} + {{- if and (isset .Site.Params.telegram "siteid") (not (eq .Site.Params.telegram.siteID "" )) (eq (.Params.disableComments | default false) false) -}} +
    + +
    + {{- end -}} +{{- end -}} diff --git a/layouts/partials/posts/utterances.html b/layouts/partials/posts/utterances.html new file mode 100644 index 0000000..5388cf6 --- /dev/null +++ b/layouts/partials/posts/utterances.html @@ -0,0 +1,33 @@ +{{- if isset .Site.Params "utterances" -}} +{{- if and (isset .Site.Params.utterances "repo") (not (eq .Site.Params.utterances.repo "" )) (eq +(.Params.disableComments | default false) false) -}} +
    + +
    +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/taxonomy/authors.html b/layouts/partials/taxonomy/authors.html new file mode 100644 index 0000000..bfd6b0c --- /dev/null +++ b/layouts/partials/taxonomy/authors.html @@ -0,0 +1,9 @@ +
    + + {{- range $index, $el := . -}} + {{- if gt $index 0 }} + + {{- end }} + {{ .LinkTitle }} + {{- end -}} +
    diff --git a/layouts/partials/taxonomy/categories.html b/layouts/partials/taxonomy/categories.html new file mode 100644 index 0000000..aec7953 --- /dev/null +++ b/layouts/partials/taxonomy/categories.html @@ -0,0 +1,9 @@ +
    + + {{- range $index, $el := . -}} + {{- if gt $index 0 }} + + {{- end }} + {{ .LinkTitle }} + {{- end -}} +
    diff --git a/layouts/partials/taxonomy/tags.html b/layouts/partials/taxonomy/tags.html new file mode 100644 index 0000000..47fc5f2 --- /dev/null +++ b/layouts/partials/taxonomy/tags.html @@ -0,0 +1,11 @@ +
    + + {{- range $index, $el := . -}} + {{- if gt $index 0 }} + + {{- end }} + + {{ .LinkTitle }} + + {{- end -}} +
    diff --git a/layouts/partials/terms.html b/layouts/partials/terms.html new file mode 100644 index 0000000..864dc9f --- /dev/null +++ b/layouts/partials/terms.html @@ -0,0 +1,29 @@ +
    +
    +

    + + {{- if eq .Kind "term" -}} + {{- i18n .Data.Plural | title -}} + {{- print ": " -}} + {{- end -}} + {{- i18n (lower .Title) | default .Title | title -}} + +

    +
    + {{ .Content }} +
      + {{ $type := .Type }} + {{ range $key, $value := .Data.Terms.Alphabetical }} + {{ $name := .Name }} + {{ $count := .Count }} + {{ with $.Site.GetPage (printf "/%s/%s" $type $name) }} +
    • + + {{ .Name }} + {{ $count }} + +
    • + {{ end }} + {{ end }} +
    +
    diff --git a/layouts/posts/li.html b/layouts/posts/li.html new file mode 100644 index 0000000..9d8a659 --- /dev/null +++ b/layouts/posts/li.html @@ -0,0 +1,4 @@ +
  • + {{ .Date | time.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }} + {{ .Title }} +
  • diff --git a/layouts/posts/list.html b/layouts/posts/list.html new file mode 100644 index 0000000..17abb71 --- /dev/null +++ b/layouts/posts/list.html @@ -0,0 +1,22 @@ +{{ define "title" }} + {{ title (i18n (lower .Title)) | default .Title }} · {{ .Site.Title }} +{{ end }} +{{ define "content" }} +
    +
    +

    + + {{ title (i18n (lower .Title)) | default .Title }} + +

    +
    + {{ .Content }} +
      + {{- range .Paginator.Pages -}} + {{- .Render "li" -}} + {{- end -}} +
    + + {{ partial "pagination.html" . }} +
    +{{ end }} diff --git a/layouts/posts/single.html b/layouts/posts/single.html new file mode 100644 index 0000000..9716499 --- /dev/null +++ b/layouts/posts/single.html @@ -0,0 +1,54 @@ +{{ define "title" }} + {{ .Title }} · {{ .Site.Title }} +{{ end }} +{{ define "content" }} +
    +
    +
    +
    +

    + + {{ .Title }} + +

    +
    + +
    + +
    + {{ if .Params.featuredImage }} + Featured image + {{ end }} + {{ .Content }} +
    + + +
    + {{ partial "posts/series.html" . }} + {{ partial "posts/disqus.html" . }} + {{ partial "posts/commento.html" . }} + {{ partial "posts/utterances.html" . }} + {{ partial "posts/giscus.html" . }} + {{ partial "posts/telegram.html" . }} +
    +
    + + {{ partial "posts/math.html" . }} +
    +{{ end }} diff --git a/layouts/shortcodes/mermaid.html b/layouts/shortcodes/mermaid.html new file mode 100644 index 0000000..85166b1 --- /dev/null +++ b/layouts/shortcodes/mermaid.html @@ -0,0 +1,3 @@ +
    + {{- .Inner | safeHTML }} +
    diff --git a/layouts/shortcodes/notice.html b/layouts/shortcodes/notice.html new file mode 100644 index 0000000..96685d5 --- /dev/null +++ b/layouts/shortcodes/notice.html @@ -0,0 +1,12 @@ +{{- $type := .Get 0 -}} +{{- $title := .Get 1 | default $type -}} +{{- $inner := .Inner | .Page.RenderString | chomp -}} +{{- $icon := dict "note" "fa-sticky-note" "tip" "fa-lightbulb-o" "example" "fa-file-text" "question" "fa-question" "info" "fa-exclamation-circle" "warning" "fa-exclamation-triangle" "error" "fa-times-circle" -}} +
    +
    + {{ i18n $title | default $title | humanize }} +
    +
    + {{- $inner -}} +
    +
    diff --git a/layouts/shortcodes/tab.html b/layouts/shortcodes/tab.html new file mode 100644 index 0000000..0fdd14e --- /dev/null +++ b/layouts/shortcodes/tab.html @@ -0,0 +1,17 @@ +{{ $group := .Page.Scratch.Get "tabGroupIndex" | default 0 }} +{{ $index := .Page.Scratch.Get "tabElementIndex" | default 0 }} +{{ $name := .Get "name" | default "Name Me!" }} + + + + + +
    + {{ .Inner | markdownify }} +
    + +{{ .Page.Scratch.Set "tabElementIndex" (add 1 $index) }} diff --git a/layouts/shortcodes/tabgroup.html b/layouts/shortcodes/tabgroup.html new file mode 100644 index 0000000..7a19005 --- /dev/null +++ b/layouts/shortcodes/tabgroup.html @@ -0,0 +1,10 @@ +{{ $align := .Get "align" | default "left" }} +{{ $style := .Get "style" | default "markdown" }} +{{ $group := .Page.Scratch.Get "tabGroupIndex" | default 0 }} +{{ $index := .Page.Scratch.Set "tabElementIndex" 0 }} + +
    + {{ .Inner }} +
    + +{{ .Page.Scratch.Set "tabGroupIndex" (add 1 $group) }} diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..ef2bf2e --- /dev/null +++ b/netlify.toml @@ -0,0 +1,10 @@ +[build] +publish = "exampleSite/public" +command = "cd exampleSite && hugo --themesDir=../.. --baseURL $URL" + +[build.environment] +HUGO_VERSION = "0.111.3" +HUGO_THEME = "repo" + +[context.deploy-preview] +command = "cd exampleSite && hugo --themesDir=../.. --buildFuture --buildDrafts --baseURL $DEPLOY_PRIME_URL" diff --git a/resources/_gen/assets/scss/scss/coder-dark.scss_9e20ccd2d8034c8e0fd83b11fb6e2bd5.content b/resources/_gen/assets/scss/scss/coder-dark.scss_9e20ccd2d8034c8e0fd83b11fb6e2bd5.content new file mode 100644 index 0000000..81ba508 --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder-dark.scss_9e20ccd2d8034c8e0fd83b11fb6e2bd5.content @@ -0,0 +1,281 @@ +body.colorscheme-dark { + color: #dadada; + background-color: #212121; } + body.colorscheme-dark a { + color: #42a5f5; } + body.colorscheme-dark h1, + body.colorscheme-dark h2, + body.colorscheme-dark h3, + body.colorscheme-dark h4, + body.colorscheme-dark h5, + body.colorscheme-dark h6 { + color: #dadada; } + body.colorscheme-dark h1:hover .heading-link, + body.colorscheme-dark h2:hover .heading-link, + body.colorscheme-dark h3:hover .heading-link, + body.colorscheme-dark h4:hover .heading-link, + body.colorscheme-dark h5:hover .heading-link, + body.colorscheme-dark h6:hover .heading-link { + visibility: visible; } + body.colorscheme-dark h1 .heading-link, + body.colorscheme-dark h2 .heading-link, + body.colorscheme-dark h3 .heading-link, + body.colorscheme-dark h4 .heading-link, + body.colorscheme-dark h5 .heading-link, + body.colorscheme-dark h6 .heading-link { + color: #42a5f5; + font-weight: inherit; + text-decoration: none; + font-size: 80%; + visibility: hidden; } + body.colorscheme-dark h1 .title-link, + body.colorscheme-dark h2 .title-link, + body.colorscheme-dark h3 .title-link, + body.colorscheme-dark h4 .title-link, + body.colorscheme-dark h5 .title-link, + body.colorscheme-dark h6 .title-link { + color: inherit; + font-weight: inherit; + text-decoration: none; } + body.colorscheme-dark blockquote { + border-left: 2px solid #424242; } + body.colorscheme-dark th, + body.colorscheme-dark td { + padding: 1.6rem; } + body.colorscheme-dark table { + border-collapse: collapse; } + body.colorscheme-dark table td, + body.colorscheme-dark table th { + border: 2px solid #dadada; } + body.colorscheme-dark table tr:first-child th { + border-top: 0; } + body.colorscheme-dark table tr:last-child td { + border-bottom: 0; } + body.colorscheme-dark table tr td:first-child, + body.colorscheme-dark table tr th:first-child { + border-left: 0; } + body.colorscheme-dark table tr td:last-child, + body.colorscheme-dark table tr th:last-child { + border-right: 0; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto { + color: #dadada; + background-color: #212121; } + body.colorscheme-auto a { + color: #42a5f5; } + body.colorscheme-auto h1, + body.colorscheme-auto h2, + body.colorscheme-auto h3, + body.colorscheme-auto h4, + body.colorscheme-auto h5, + body.colorscheme-auto h6 { + color: #dadada; } + body.colorscheme-auto h1:hover .heading-link, + body.colorscheme-auto h2:hover .heading-link, + body.colorscheme-auto h3:hover .heading-link, + body.colorscheme-auto h4:hover .heading-link, + body.colorscheme-auto h5:hover .heading-link, + body.colorscheme-auto h6:hover .heading-link { + visibility: visible; } + body.colorscheme-auto h1 .heading-link, + body.colorscheme-auto h2 .heading-link, + body.colorscheme-auto h3 .heading-link, + body.colorscheme-auto h4 .heading-link, + body.colorscheme-auto h5 .heading-link, + body.colorscheme-auto h6 .heading-link { + color: #42a5f5; + font-weight: inherit; + text-decoration: none; + font-size: 80%; + visibility: hidden; } + body.colorscheme-auto h1 .title-link, + body.colorscheme-auto h2 .title-link, + body.colorscheme-auto h3 .title-link, + body.colorscheme-auto h4 .title-link, + body.colorscheme-auto h5 .title-link, + body.colorscheme-auto h6 .title-link { + color: inherit; + font-weight: inherit; + text-decoration: none; } + body.colorscheme-auto blockquote { + border-left: 2px solid #424242; } + body.colorscheme-auto th, + body.colorscheme-auto td { + padding: 1.6rem; } + body.colorscheme-auto table { + border-collapse: collapse; } + body.colorscheme-auto table td, + body.colorscheme-auto table th { + border: 2px solid #dadada; } + body.colorscheme-auto table tr:first-child th { + border-top: 0; } + body.colorscheme-auto table tr:last-child td { + border-bottom: 0; } + body.colorscheme-auto table tr td:first-child, + body.colorscheme-auto table tr th:first-child { + border-left: 0; } + body.colorscheme-auto table tr td:last-child, + body.colorscheme-auto table tr th:last-child { + border-right: 0; } } + +body.colorscheme-dark .content .post .tags .tag { + background-color: #424242; } + body.colorscheme-dark .content .post .tags .tag a { + color: #dadada; } + body.colorscheme-dark .content .post .tags .tag a:active { + color: #dadada; } + +body.colorscheme-dark .content .list ul li .title { + color: #dadada; } + body.colorscheme-dark .content .list ul li .title:hover, body.colorscheme-dark .content .list ul li .title:focus { + color: #42a5f5; } + +body.colorscheme-dark .content .centered .about ul li a { + color: #dadada; } + body.colorscheme-dark .content .centered .about ul li a:hover, body.colorscheme-dark .content .centered .about ul li a:focus { + color: #42a5f5; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .content .post .tags .tag { + background-color: #424242; } + body.colorscheme-auto .content .post .tags .tag a { + color: #dadada; } + body.colorscheme-auto .content .post .tags .tag a:active { + color: #dadada; } + body.colorscheme-auto .content .list ul li .title { + color: #dadada; } + body.colorscheme-auto .content .list ul li .title:hover, body.colorscheme-auto .content .list ul li .title:focus { + color: #42a5f5; } + body.colorscheme-auto .content .centered .about ul li a { + color: #dadada; } + body.colorscheme-auto .content .centered .about ul li a:hover, body.colorscheme-auto .content .centered .about ul li a:focus { + color: #42a5f5; } } + +body.colorscheme-dark .notice .notice-title { + border-bottom: 1px solid #212121; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .notice .notice-title { + border-bottom: 1px solid #212121; } } + +body.colorscheme-dark .navigation a, +body.colorscheme-dark .navigation span { + color: #dadada; } + +body.colorscheme-dark .navigation a:hover, body.colorscheme-dark .navigation a:focus { + color: #42a5f5; } + +@media only screen and (max-width: 768px) { + body.colorscheme-dark .navigation .navigation-list { + background-color: #212121; + border-top: solid 2px #424242; + border-bottom: solid 2px #424242; } } + +@media only screen and (max-width: 768px) { + body.colorscheme-dark .navigation .navigation-list .menu-separator { + border-top: 2px solid #dadada; } } + +@media only screen and (max-width: 768px) { + body.colorscheme-dark .navigation #menu-toggle:checked + label > i { + color: #424242; } } + +body.colorscheme-dark .navigation i { + color: #dadada; } + body.colorscheme-dark .navigation i:hover, body.colorscheme-dark .navigation i:focus { + color: #42a5f5; } + +body.colorscheme-dark .navigation .menu-button i:hover, body.colorscheme-dark .navigation .menu-button i:focus { + color: #dadada; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .navigation a, + body.colorscheme-auto .navigation span { + color: #dadada; } + body.colorscheme-auto .navigation a:hover, body.colorscheme-auto .navigation a:focus { + color: #42a5f5; } } + +@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) { + body.colorscheme-auto .navigation .navigation-list { + background-color: #212121; + border-top: solid 2px #424242; + border-bottom: solid 2px #424242; } } + +@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) { + body.colorscheme-auto .navigation .navigation-list .menu-separator { + border-top: 2px solid #dadada; } } + +@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) { + body.colorscheme-auto .navigation #menu-toggle:checked + label > i { + color: #424242; } } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .navigation i { + color: #dadada; } + body.colorscheme-auto .navigation i:hover, body.colorscheme-auto .navigation i:focus { + color: #42a5f5; } + body.colorscheme-auto .navigation .menu-button i:hover, body.colorscheme-auto .navigation .menu-button i:focus { + color: #dadada; } } + +body.colorscheme-dark .tabs label.tab-label { + background-color: #424242; + border-color: #4f4f4f; } + +body.colorscheme-dark .tabs input.tab-input:checked + label.tab-label { + background-color: #212121; } + +body.colorscheme-dark .tabs .tab-content { + background-color: #212121; + border-color: #4f4f4f; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .tabs label.tab-label { + background-color: #424242; + border-color: #4f4f4f; } + body.colorscheme-auto .tabs input.tab-input:checked + label.tab-label { + background-color: #212121; } + body.colorscheme-auto .tabs .tab-content { + background-color: #212121; + border-color: #4f4f4f; } } + +body.colorscheme-dark .taxonomy-element { + background-color: #424242; } + body.colorscheme-dark .taxonomy-element a { + color: #dadada; } + body.colorscheme-dark .taxonomy-element a:active { + color: #dadada; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .taxonomy-element { + background-color: #424242; } + body.colorscheme-auto .taxonomy-element a { + color: #dadada; } + body.colorscheme-auto .taxonomy-element a:active { + color: #dadada; } } + +body.colorscheme-dark .footer a { + color: #42a5f5; } + +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .footer a { + color: #42a5f5; } } + +body.colorscheme-dark .float-container a { + color: #dadada; + background-color: #424242; } + body.colorscheme-dark .float-container a:hover, body.colorscheme-dark .float-container a:focus { + color: #42a5f5; } + @media only screen and (max-width: 768px) { + body.colorscheme-dark .float-container a:hover, body.colorscheme-dark .float-container a:focus { + color: #dadada; } } +@media (prefers-color-scheme: dark) { + body.colorscheme-auto .float-container a { + color: #dadada; + background-color: #424242; } + body.colorscheme-auto .float-container a:hover, body.colorscheme-auto .float-container a:focus { + color: #42a5f5; } } + @media only screen and (prefers-color-scheme: dark) and (max-width: 768px) { + body.colorscheme-auto .float-container a:hover, body.colorscheme-auto .float-container a:focus { + color: #dadada; } } + +/*# sourceMappingURL=coder-dark.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder-dark.scss_9e20ccd2d8034c8e0fd83b11fb6e2bd5.json b/resources/_gen/assets/scss/scss/coder-dark.scss_9e20ccd2d8034c8e0fd83b11fb6e2bd5.json new file mode 100644 index 0000000..8a50cdb --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder-dark.scss_9e20ccd2d8034c8e0fd83b11fb6e2bd5.json @@ -0,0 +1 @@ +{"Target":"css/coder-dark.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder-dark.scss_e229566deac2466dcd73d10d2fe9546d.content b/resources/_gen/assets/scss/scss/coder-dark.scss_e229566deac2466dcd73d10d2fe9546d.content new file mode 100644 index 0000000..8ccfd94 --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder-dark.scss_e229566deac2466dcd73d10d2fe9546d.content @@ -0,0 +1 @@ +body.colorscheme-dark{color:#dadada;background-color:#212121}body.colorscheme-dark a{color:#42a5f5}body.colorscheme-dark h1,body.colorscheme-dark h2,body.colorscheme-dark h3,body.colorscheme-dark h4,body.colorscheme-dark h5,body.colorscheme-dark h6{color:#dadada}body.colorscheme-dark h1:hover .heading-link,body.colorscheme-dark h2:hover .heading-link,body.colorscheme-dark h3:hover .heading-link,body.colorscheme-dark h4:hover .heading-link,body.colorscheme-dark h5:hover .heading-link,body.colorscheme-dark h6:hover .heading-link{visibility:visible}body.colorscheme-dark h1 .heading-link,body.colorscheme-dark h2 .heading-link,body.colorscheme-dark h3 .heading-link,body.colorscheme-dark h4 .heading-link,body.colorscheme-dark h5 .heading-link,body.colorscheme-dark h6 .heading-link{color:#42a5f5;font-weight:inherit;text-decoration:none;font-size:80%;visibility:hidden}body.colorscheme-dark h1 .title-link,body.colorscheme-dark h2 .title-link,body.colorscheme-dark h3 .title-link,body.colorscheme-dark h4 .title-link,body.colorscheme-dark h5 .title-link,body.colorscheme-dark h6 .title-link{color:inherit;font-weight:inherit;text-decoration:none}body.colorscheme-dark pre code{background-color:inherit;color:inherit}body.colorscheme-dark code{background-color:#4f4f4f;color:#dadada}body.colorscheme-dark blockquote{border-left:2px solid #424242}body.colorscheme-dark th,body.colorscheme-dark td{padding:1.6rem}body.colorscheme-dark table{border-collapse:collapse}body.colorscheme-dark table td,body.colorscheme-dark table th{border:2px solid #dadada}body.colorscheme-dark table tr:first-child th{border-top:0}body.colorscheme-dark table tr:last-child td{border-bottom:0}body.colorscheme-dark table tr td:first-child,body.colorscheme-dark table tr th:first-child{border-left:0}body.colorscheme-dark table tr td:last-child,body.colorscheme-dark table tr th:last-child{border-right:0}@media(prefers-color-scheme:dark){body.colorscheme-auto{color:#dadada;background-color:#212121}body.colorscheme-auto a{color:#42a5f5}body.colorscheme-auto h1,body.colorscheme-auto h2,body.colorscheme-auto h3,body.colorscheme-auto h4,body.colorscheme-auto h5,body.colorscheme-auto h6{color:#dadada}body.colorscheme-auto h1:hover .heading-link,body.colorscheme-auto h2:hover .heading-link,body.colorscheme-auto h3:hover .heading-link,body.colorscheme-auto h4:hover .heading-link,body.colorscheme-auto h5:hover .heading-link,body.colorscheme-auto h6:hover .heading-link{visibility:visible}body.colorscheme-auto h1 .heading-link,body.colorscheme-auto h2 .heading-link,body.colorscheme-auto h3 .heading-link,body.colorscheme-auto h4 .heading-link,body.colorscheme-auto h5 .heading-link,body.colorscheme-auto h6 .heading-link{color:#42a5f5;font-weight:inherit;text-decoration:none;font-size:80%;visibility:hidden}body.colorscheme-auto h1 .title-link,body.colorscheme-auto h2 .title-link,body.colorscheme-auto h3 .title-link,body.colorscheme-auto h4 .title-link,body.colorscheme-auto h5 .title-link,body.colorscheme-auto h6 .title-link{color:inherit;font-weight:inherit;text-decoration:none}body.colorscheme-auto pre code{background-color:inherit;color:inherit}body.colorscheme-auto code{background-color:#4f4f4f;color:#dadada}body.colorscheme-auto blockquote{border-left:2px solid #424242}body.colorscheme-auto th,body.colorscheme-auto td{padding:1.6rem}body.colorscheme-auto table{border-collapse:collapse}body.colorscheme-auto table td,body.colorscheme-auto table th{border:2px solid #dadada}body.colorscheme-auto table tr:first-child th{border-top:0}body.colorscheme-auto table tr:last-child td{border-bottom:0}body.colorscheme-auto table tr td:first-child,body.colorscheme-auto table tr th:first-child{border-left:0}body.colorscheme-auto table tr td:last-child,body.colorscheme-auto table tr th:last-child{border-right:0}}body.colorscheme-dark .content .post .tags .tag{background-color:#424242}body.colorscheme-dark .content .post .tags .tag a{color:#dadada}body.colorscheme-dark .content .post .tags .tag a:active{color:#dadada}body.colorscheme-dark .content .list ul li .title{color:#dadada}body.colorscheme-dark .content .list ul li .title:hover,body.colorscheme-dark .content .list ul li .title:focus{color:#42a5f5}body.colorscheme-dark .content .centered .about ul li a{color:#dadada}body.colorscheme-dark .content .centered .about ul li a:hover,body.colorscheme-dark .content .centered .about ul li a:focus{color:#42a5f5}@media(prefers-color-scheme:dark){body.colorscheme-auto .content .post .tags .tag{background-color:#424242}body.colorscheme-auto .content .post .tags .tag a{color:#dadada}body.colorscheme-auto .content .post .tags .tag a:active{color:#dadada}body.colorscheme-auto .content .list ul li .title{color:#dadada}body.colorscheme-auto .content .list ul li .title:hover,body.colorscheme-auto .content .list ul li .title:focus{color:#42a5f5}body.colorscheme-auto .content .centered .about ul li a{color:#dadada}body.colorscheme-auto .content .centered .about ul li a:hover,body.colorscheme-auto .content .centered .about ul li a:focus{color:#42a5f5}}body.colorscheme-dark .notice .notice-title{border-bottom:1px solid #212121}@media(prefers-color-scheme:dark){body.colorscheme-auto .notice .notice-title{border-bottom:1px solid #212121}}body.colorscheme-dark .navigation a,body.colorscheme-dark .navigation span{color:#dadada}body.colorscheme-dark .navigation a:hover,body.colorscheme-dark .navigation a:focus{color:#42a5f5}@media only screen and (max-width:768px){body.colorscheme-dark .navigation .navigation-list{background-color:#212121;border-top:solid 2px #424242;border-bottom:solid 2px #424242}}@media only screen and (max-width:768px){body.colorscheme-dark .navigation .navigation-list .menu-separator{border-top:2px solid #dadada}}@media only screen and (max-width:768px){body.colorscheme-dark .navigation #menu-toggle:checked+label>i{color:#424242}}body.colorscheme-dark .navigation i{color:#dadada}body.colorscheme-dark .navigation i:hover,body.colorscheme-dark .navigation i:focus{color:#42a5f5}body.colorscheme-dark .navigation .menu-button i:hover,body.colorscheme-dark .navigation .menu-button i:focus{color:#dadada}@media(prefers-color-scheme:dark){body.colorscheme-auto .navigation a,body.colorscheme-auto .navigation span{color:#dadada}body.colorscheme-auto .navigation a:hover,body.colorscheme-auto .navigation a:focus{color:#42a5f5}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation .navigation-list{background-color:#212121;border-top:solid 2px #424242;border-bottom:solid 2px #424242}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation .navigation-list .menu-separator{border-top:2px solid #dadada}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation #menu-toggle:checked+label>i{color:#424242}}@media(prefers-color-scheme:dark){body.colorscheme-auto .navigation i{color:#dadada}body.colorscheme-auto .navigation i:hover,body.colorscheme-auto .navigation i:focus{color:#42a5f5}body.colorscheme-auto .navigation .menu-button i:hover,body.colorscheme-auto .navigation .menu-button i:focus{color:#dadada}}body.colorscheme-dark .tabs label.tab-label{background-color:#424242;border-color:#4f4f4f}body.colorscheme-dark .tabs input.tab-input:checked+label.tab-label{background-color:#212121}body.colorscheme-dark .tabs .tab-content{background-color:#212121;border-color:#4f4f4f}@media(prefers-color-scheme:dark){body.colorscheme-auto .tabs label.tab-label{background-color:#424242;border-color:#4f4f4f}body.colorscheme-auto .tabs input.tab-input:checked+label.tab-label{background-color:#212121}body.colorscheme-auto .tabs .tab-content{background-color:#212121;border-color:#4f4f4f}}body.colorscheme-dark .taxonomy-element{background-color:#424242}body.colorscheme-dark .taxonomy-element a{color:#dadada}body.colorscheme-dark .taxonomy-element a:active{color:#dadada}@media(prefers-color-scheme:dark){body.colorscheme-auto .taxonomy-element{background-color:#424242}body.colorscheme-auto .taxonomy-element a{color:#dadada}body.colorscheme-auto .taxonomy-element a:active{color:#dadada}}body.colorscheme-dark .footer a{color:#42a5f5}@media(prefers-color-scheme:dark){body.colorscheme-auto .footer a{color:#42a5f5}}body.colorscheme-dark .float-container a{color:#dadada;background-color:#424242}body.colorscheme-dark .float-container a:hover,body.colorscheme-dark .float-container a:focus{color:#42a5f5}@media only screen and (max-width:768px){body.colorscheme-dark .float-container a:hover,body.colorscheme-dark .float-container a:focus{color:#dadada}}@media(prefers-color-scheme:dark){body.colorscheme-auto .float-container a{color:#dadada;background-color:#424242}body.colorscheme-auto .float-container a:hover,body.colorscheme-auto .float-container a:focus{color:#42a5f5}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .float-container a:hover,body.colorscheme-auto .float-container a:focus{color:#dadada}}body.colorscheme-dark{}body.colorscheme-dark .bg{color:#c9d1d9;background-color:#0d1117}body.colorscheme-dark .chroma{color:#c9d1d9;background-color:#0d1117}body.colorscheme-dark .chroma .err{color:#f85149}body.colorscheme-dark .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}body.colorscheme-dark .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}body.colorscheme-dark .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}body.colorscheme-dark .chroma .hl{background-color:#ffc}body.colorscheme-dark .chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#64686c}body.colorscheme-dark .chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}body.colorscheme-dark .chroma .line{display:flex}body.colorscheme-dark .chroma .k{color:#ff7b72}body.colorscheme-dark .chroma .kc{color:#79c0ff}body.colorscheme-dark .chroma .kd{color:#ff7b72}body.colorscheme-dark .chroma .kn{color:#ff7b72}body.colorscheme-dark .chroma .kp{color:#79c0ff}body.colorscheme-dark .chroma .kr{color:#ff7b72}body.colorscheme-dark .chroma .kt{color:#ff7b72}body.colorscheme-dark .chroma .nc{color:#f0883e;font-weight:700}body.colorscheme-dark .chroma .no{color:#79c0ff;font-weight:700}body.colorscheme-dark .chroma .nd{color:#d2a8ff;font-weight:700}body.colorscheme-dark .chroma .ni{color:#ffa657}body.colorscheme-dark .chroma .ne{color:#f0883e;font-weight:700}body.colorscheme-dark .chroma .nf{color:#d2a8ff;font-weight:700}body.colorscheme-dark .chroma .nl{color:#79c0ff;font-weight:700}body.colorscheme-dark .chroma .nn{color:#ff7b72}body.colorscheme-dark .chroma .py{color:#79c0ff}body.colorscheme-dark .chroma .nt{color:#7ee787}body.colorscheme-dark .chroma .nv{color:#79c0ff}body.colorscheme-dark .chroma .l{color:#a5d6ff}body.colorscheme-dark .chroma .ld{color:#79c0ff}body.colorscheme-dark .chroma .s{color:#a5d6ff}body.colorscheme-dark .chroma .sa{color:#79c0ff}body.colorscheme-dark .chroma .sb{color:#a5d6ff}body.colorscheme-dark .chroma .sc{color:#a5d6ff}body.colorscheme-dark .chroma .dl{color:#79c0ff}body.colorscheme-dark .chroma .sd{color:#a5d6ff}body.colorscheme-dark .chroma .s2{color:#a5d6ff}body.colorscheme-dark .chroma .se{color:#79c0ff}body.colorscheme-dark .chroma .sh{color:#79c0ff}body.colorscheme-dark .chroma .si{color:#a5d6ff}body.colorscheme-dark .chroma .sx{color:#a5d6ff}body.colorscheme-dark .chroma .sr{color:#79c0ff}body.colorscheme-dark .chroma .s1{color:#a5d6ff}body.colorscheme-dark .chroma .ss{color:#a5d6ff}body.colorscheme-dark .chroma .m{color:#a5d6ff}body.colorscheme-dark .chroma .mb{color:#a5d6ff}body.colorscheme-dark .chroma .mf{color:#a5d6ff}body.colorscheme-dark .chroma .mh{color:#a5d6ff}body.colorscheme-dark .chroma .mi{color:#a5d6ff}body.colorscheme-dark .chroma .il{color:#a5d6ff}body.colorscheme-dark .chroma .mo{color:#a5d6ff}body.colorscheme-dark .chroma .o{color:#ff7b72;font-weight:700}body.colorscheme-dark .chroma .ow{color:#ff7b72;font-weight:700}body.colorscheme-dark .chroma .c{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .ch{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .cm{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .c1{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-dark .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-dark .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-dark .chroma .gd{color:#ffa198;background-color:#490202}body.colorscheme-dark .chroma .ge{font-style:italic}body.colorscheme-dark .chroma .gr{color:#ffa198}body.colorscheme-dark .chroma .gh{color:#79c0ff;font-weight:700}body.colorscheme-dark .chroma .gi{color:#56d364;background-color:#0f5323}body.colorscheme-dark .chroma .go{color:#8b949e}body.colorscheme-dark .chroma .gp{color:#8b949e}body.colorscheme-dark .chroma .gs{font-weight:700}body.colorscheme-dark .chroma .gu{color:#79c0ff}body.colorscheme-dark .chroma .gt{color:#ff7b72}body.colorscheme-dark .chroma .gl{text-decoration:underline}body.colorscheme-dark .chroma .w{color:#6e7681}@media(prefers-color-scheme:dark){body.colorscheme-auto{}body.colorscheme-auto .bg{color:#c9d1d9;background-color:#0d1117}body.colorscheme-auto .chroma{color:#c9d1d9;background-color:#0d1117}body.colorscheme-auto .chroma .err{color:#f85149}body.colorscheme-auto .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}body.colorscheme-auto .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}body.colorscheme-auto .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}body.colorscheme-auto .chroma .hl{background-color:#ffc}body.colorscheme-auto .chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#64686c}body.colorscheme-auto .chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}body.colorscheme-auto .chroma .line{display:flex}body.colorscheme-auto .chroma .k{color:#ff7b72}body.colorscheme-auto .chroma .kc{color:#79c0ff}body.colorscheme-auto .chroma .kd{color:#ff7b72}body.colorscheme-auto .chroma .kn{color:#ff7b72}body.colorscheme-auto .chroma .kp{color:#79c0ff}body.colorscheme-auto .chroma .kr{color:#ff7b72}body.colorscheme-auto .chroma .kt{color:#ff7b72}body.colorscheme-auto .chroma .nc{color:#f0883e;font-weight:700}body.colorscheme-auto .chroma .no{color:#79c0ff;font-weight:700}body.colorscheme-auto .chroma .nd{color:#d2a8ff;font-weight:700}body.colorscheme-auto .chroma .ni{color:#ffa657}body.colorscheme-auto .chroma .ne{color:#f0883e;font-weight:700}body.colorscheme-auto .chroma .nf{color:#d2a8ff;font-weight:700}body.colorscheme-auto .chroma .nl{color:#79c0ff;font-weight:700}body.colorscheme-auto .chroma .nn{color:#ff7b72}body.colorscheme-auto .chroma .py{color:#79c0ff}body.colorscheme-auto .chroma .nt{color:#7ee787}body.colorscheme-auto .chroma .nv{color:#79c0ff}body.colorscheme-auto .chroma .l{color:#a5d6ff}body.colorscheme-auto .chroma .ld{color:#79c0ff}body.colorscheme-auto .chroma .s{color:#a5d6ff}body.colorscheme-auto .chroma .sa{color:#79c0ff}body.colorscheme-auto .chroma .sb{color:#a5d6ff}body.colorscheme-auto .chroma .sc{color:#a5d6ff}body.colorscheme-auto .chroma .dl{color:#79c0ff}body.colorscheme-auto .chroma .sd{color:#a5d6ff}body.colorscheme-auto .chroma .s2{color:#a5d6ff}body.colorscheme-auto .chroma .se{color:#79c0ff}body.colorscheme-auto .chroma .sh{color:#79c0ff}body.colorscheme-auto .chroma .si{color:#a5d6ff}body.colorscheme-auto .chroma .sx{color:#a5d6ff}body.colorscheme-auto .chroma .sr{color:#79c0ff}body.colorscheme-auto .chroma .s1{color:#a5d6ff}body.colorscheme-auto .chroma .ss{color:#a5d6ff}body.colorscheme-auto .chroma .m{color:#a5d6ff}body.colorscheme-auto .chroma .mb{color:#a5d6ff}body.colorscheme-auto .chroma .mf{color:#a5d6ff}body.colorscheme-auto .chroma .mh{color:#a5d6ff}body.colorscheme-auto .chroma .mi{color:#a5d6ff}body.colorscheme-auto .chroma .il{color:#a5d6ff}body.colorscheme-auto .chroma .mo{color:#a5d6ff}body.colorscheme-auto .chroma .o{color:#ff7b72;font-weight:700}body.colorscheme-auto .chroma .ow{color:#ff7b72;font-weight:700}body.colorscheme-auto .chroma .c{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .ch{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .cm{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .c1{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-auto .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-auto .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-auto .chroma .gd{color:#ffa198;background-color:#490202}body.colorscheme-auto .chroma .ge{font-style:italic}body.colorscheme-auto .chroma .gr{color:#ffa198}body.colorscheme-auto .chroma .gh{color:#79c0ff;font-weight:700}body.colorscheme-auto .chroma .gi{color:#56d364;background-color:#0f5323}body.colorscheme-auto .chroma .go{color:#8b949e}body.colorscheme-auto .chroma .gp{color:#8b949e}body.colorscheme-auto .chroma .gs{font-weight:700}body.colorscheme-auto .chroma .gu{color:#79c0ff}body.colorscheme-auto .chroma .gt{color:#ff7b72}body.colorscheme-auto .chroma .gl{text-decoration:underline}body.colorscheme-auto .chroma .w{color:#6e7681}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder-dark.scss_e229566deac2466dcd73d10d2fe9546d.json b/resources/_gen/assets/scss/scss/coder-dark.scss_e229566deac2466dcd73d10d2fe9546d.json new file mode 100644 index 0000000..26000e2 --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder-dark.scss_e229566deac2466dcd73d10d2fe9546d.json @@ -0,0 +1 @@ +{"Target":"css/coder-dark.min.a00e6364bacbc8266ad1cc81230774a1397198f8cfb7bcba29b7d6fcb54ce57f.css","MediaType":"text/css","Data":{"Integrity":"sha256-oA5jZLrLyCZq0cyBIwd0oTlxmPjPt7y6KbfW/LVM5X8="}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder.scss_38b4d05915c0483e6cb106e4f0efccbc.content b/resources/_gen/assets/scss/scss/coder.scss_38b4d05915c0483e6cb106e4f0efccbc.content new file mode 100644 index 0000000..e92cb1a --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder.scss_38b4d05915c0483e6cb106e4f0efccbc.content @@ -0,0 +1,6 @@ +@charset "UTF-8";/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;word-wrap:break-word}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}/*!Fork Awesome 1.2.0 +License - https://forkaweso.me/Fork-Awesome/license +Copyright 2018 Dave Gandy & Fork Awesome +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/@font-face{font-family:forkawesome;src:url(../fonts/forkawesome-webfont.eot?v=1.2.0);src:url(../fonts/forkawesome-webfont.eot?#iefix&v=1.2.0)format("embedded-opentype"),url(../fonts/forkawesome-webfont.woff2?v=1.2.0)format("woff2"),url(../fonts/forkawesome-webfont.woff?v=1.2.0)format("woff"),url(../fonts/forkawesome-webfont.ttf?v=1.2.0)format("truetype"),url(../fonts/forkawesome-webfont.svg?v=1.2.0#forkawesomeregular)format("svg");font-weight:400;font-style:normal;font-display:block}.fa{display:inline-block;font:14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-sync:before,.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video:before,.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell-o:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-globe-e:before{content:"\f304"}.fa-globe-w:before{content:"\f305"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-community:before,.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus-g:before,.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-utensils:before,.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-pound:before,.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-down:before,.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-up:before,.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-down:before,.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-up:before,.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-down:before,.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-up:before,.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-utensil-spoon:before,.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-heading:before,.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-closed-captioning:before,.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-gem:before,.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-medium-square:before{content:"\f2f8"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo-v:before,.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.fa-mastodon:before{content:"\f2e1"}.fa-mastodon-alt:before{content:"\f2e2"}.fa-fork-circle:before,.fa-fork-awesome:before{content:"\f2e3"}.fa-peertube:before{content:"\f2e4"}.fa-diaspora:before{content:"\f2e5"}.fa-friendica:before{content:"\f2e6"}.fa-gnu-social:before{content:"\f2e7"}.fa-liberapay-square:before{content:"\f2e8"}.fa-liberapay:before{content:"\f2e9"}.fa-ssb:before,.fa-scuttlebutt:before{content:"\f2ea"}.fa-hubzilla:before{content:"\f2eb"}.fa-social-home:before{content:"\f2ec"}.fa-artstation:before{content:"\f2ed"}.fa-discord:before{content:"\f2ee"}.fa-discord-alt:before{content:"\f2ef"}.fa-patreon:before{content:"\f2f0"}.fa-snowdrift:before{content:"\f2f1"}.fa-activitypub:before{content:"\f2f2"}.fa-ethereum:before{content:"\f2f3"}.fa-keybase:before{content:"\f2f4"}.fa-shaarli:before{content:"\f2f5"}.fa-shaarli-o:before{content:"\f2f6"}.fa-cut-key:before,.fa-key-modern:before{content:"\f2f7"}.fa-xmpp:before{content:"\f2f9"}.fa-archive-org:before{content:"\f2fc"}.fa-freedombox:before{content:"\f2fd"}.fa-facebook-messenger:before{content:"\f2fe"}.fa-debian:before{content:"\f2ff"}.fa-mastodon-square:before{content:"\f300"}.fa-tipeee:before{content:"\f301"}.fa-react:before{content:"\f302"}.fa-dogmazic:before{content:"\f303"}.fa-zotero:before{content:"\f309"}.fa-nodejs:before{content:"\f308"}.fa-nextcloud:before{content:"\f306"}.fa-nextcloud-square:before{content:"\f307"}.fa-hackaday:before{content:"\f30a"}.fa-laravel:before{content:"\f30b"}.fa-signalapp:before{content:"\f30c"}.fa-gnupg:before{content:"\f30d"}.fa-php:before{content:"\f30e"}.fa-ffmpeg:before{content:"\f30f"}.fa-joplin:before{content:"\f310"}.fa-syncthing:before{content:"\f311"}.fa-inkscape:before{content:"\f312"}.fa-matrix-org:before{content:"\f313"}.fa-pixelfed:before{content:"\f314"}.fa-bootstrap:before{content:"\f315"}.fa-dev-to:before{content:"\f316"}.fa-hashnode:before{content:"\f317"}.fa-jirafeau:before{content:"\f318"}.fa-emby:before{content:"\f319"}.fa-wikidata:before{content:"\f31a"}.fa-gimp:before{content:"\f31b"}.fa-c:before{content:"\f31c"}.fa-digitalocean:before{content:"\f31d"}.fa-att:before{content:"\f31e"}.fa-gitea:before{content:"\f31f"}.fa-file-epub:before{content:"\f321"}.fa-python:before{content:"\f322"}.fa-archlinux:before{content:"\f323"}.fa-pleroma:before{content:"\f324"}.fa-unsplash:before{content:"\f325"}.fa-hackster:before{content:"\f326"}.fa-spell-check:before{content:"\f327"}.fa-moon:before{content:"\f328"}.fa-sun:before{content:"\f329"}.fa-f-droid:before{content:"\f32a"}.fa-biometric:before{content:"\f32b"}.fa-wire:before{content:"\f32c"}.fa-tor-onion:before{content:"\f32e"}.fa-volume-mute:before{content:"\f32f"}.fa-bell-ringing:before{content:"\f32d"}.fa-bell-ringing-o:before{content:"\f330"}.fa-hal:before{content:"\f333"}.fa-jupyter:before{content:"\f335"}.fa-julia:before{content:"\f334"}.fa-classicpress:before{content:"\f331"}.fa-classicpress-circle:before{content:"\f332"}.fa-open-collective:before{content:"\f336"}.fa-orcid:before{content:"\f337"}.fa-researchgate:before{content:"\f338"}.fa-funkwhale:before{content:"\f339"}.fa-askfm:before{content:"\f33a"}.fa-blockstack:before{content:"\f33b"}.fa-boardgamegeek:before{content:"\f33c"}.fa-bunny:before{content:"\f35f"}.fa-buymeacoffee:before{content:"\f33d"}.fa-cc-by:before{content:"\f33e"}.fa-creative-commons-alt:before,.fa-cc-cc:before{content:"\f33f"}.fa-cc-nc-eu:before{content:"\f341"}.fa-cc-nc-jp:before{content:"\f342"}.fa-cc-nc:before{content:"\f340"}.fa-cc-nd:before{content:"\f343"}.fa-cc-pd:before{content:"\f344"}.fa-cc-remix:before{content:"\f345"}.fa-cc-sa:before{content:"\f346"}.fa-cc-share:before{content:"\f347"}.fa-cc-zero:before{content:"\f348"}.fa-conway-hacker:before,.fa-conway-glider:before{content:"\f349"}.fa-csharp:before{content:"\f34a"}.fa-email-bulk:before{content:"\f34b"}.fa-email-bulk-o:before{content:"\f34c"}.fa-gnu:before{content:"\f34d"}.fa-google-play:before{content:"\f34e"}.fa-heroku:before{content:"\f34f"}.fa-hassio:before,.fa-home-assistant:before{content:"\f350"}.fa-java:before{content:"\f351"}.fa-mariadb:before{content:"\f352"}.fa-markdown:before{content:"\f353"}.fa-mysql:before{content:"\f354"}.fa-nordcast:before{content:"\f355"}.fa-plume:before{content:"\f356"}.fa-postgresql:before{content:"\f357"}.fa-sass-alt:before{content:"\f359"}.fa-sass:before{content:"\f358"}.fa-skate:before{content:"\f35a"}.fa-sketchfab:before{content:"\f35b"}.fa-tex:before{content:"\f35c"}.fa-textpattern:before{content:"\f35d"}.fa-unity:before{content:"\f35e"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#212121;background-color:#fafafa;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-size:1.8em;font-weight:400;line-height:1.8em}@media only screen and (max-width:768px){body{font-size:1.6em;line-height:1.6em}}iframe[src*=disqus]{color-scheme:light}a{font-weight:500;color:#1565c0;text-decoration:none;transition:all .25s ease-in}a:focus,a:hover{text-decoration:underline}p{margin:2rem 0}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-weight:600;color:#000;margin:4rem 0 2.5rem}h1:hover .heading-link,h2:hover .heading-link,h3:hover .heading-link,h4:hover .heading-link,h5:hover .heading-link,h6:hover .heading-link{visibility:visible}h1 .heading-link,h2 .heading-link,h3 .heading-link,h4 .heading-link,h5 .heading-link,h6 .heading-link{color:#1565c0;font-weight:inherit;text-decoration:none;font-size:80%;visibility:hidden}h1 .title-link,h2 .title-link,h3 .title-link,h4 .title-link,h5 .title-link,h6 .title-link{color:inherit;font-weight:inherit;text-decoration:none}h1{font-size:3.2rem;line-height:3.6rem}@media only screen and (max-width:768px){h1{font-size:3rem;line-height:3.4rem}}h2{font-size:2.8rem;line-height:3.2rem}@media only screen and (max-width:768px){h2{font-size:2.6rem;line-height:3rem}}h3{font-size:2.4rem;line-height:2.8rem}@media only screen and (max-width:768px){h3{font-size:2.2rem;line-height:2.6rem}}h4{font-size:2.2rem;line-height:2.6rem}@media only screen and (max-width:768px){h4{font-size:2rem;line-height:2.4rem}}h5{font-size:2rem;line-height:2.4rem}@media only screen and (max-width:768px){h5{font-size:1.8rem;line-height:2.2rem}}h6{font-size:1.8rem;line-height:2.2rem}@media only screen and (max-width:768px){h6{font-size:1.6rem;line-height:2rem}}b,strong{font-weight:700}.highlight div,.highlight pre{margin:2rem 0;padding:1rem;border-radius:1rem}pre{display:block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1.6rem;font-weight:400;line-height:2.6rem;overflow-x:auto;margin:2rem 0;padding:1rem;border-radius:1rem}pre code{display:inline-block;background-color:inherit;color:inherit}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1.6rem;font-weight:400;border-radius:.6rem;padding:.3rem .6rem;background-color:#ccc;color:#212121}blockquote{border-left:2px solid #e0e0e0;padding-left:2rem;line-height:2.2rem;font-weight:400;font-style:italic}th,td{padding:1.6rem}table{border-collapse:collapse}table td,table th{border:2px solid #000}table tr:first-child th{border-top:0}table tr:last-child td{border-bottom:0}table tr td:first-child,table tr th:first-child{border-left:0}table tr td:last-child,table tr th:last-child{border-right:0}img{max-width:100%}figure{text-align:center}.footnotes ol li p{margin:0}.preload-transitions *{-webkit-transition:none!important;-moz-transition:none!important;-ms-transition:none!important;-o-transition:none!important;transition:none!important}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.container{margin:1rem auto;max-width:90rem;width:100%;padding-left:2rem;padding-right:2rem}.fab{font-weight:400}.fas{font-weight:700}.float-right{float:right}.float-left{float:left}.fab{font-weight:400}.fas{font-weight:900}.content{flex:1;display:flex;margin-top:1.6rem;margin-bottom:3.2rem}.content header{margin-top:6.4rem;margin-bottom:3.2rem}.content header h1{font-size:4.2rem;line-height:4.6rem;margin:0}@media only screen and (max-width:768px){.content header h1{font-size:4rem;line-height:4.4rem}}.content article a:where(.external-link)::after{display:inline-block;font:14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f08e";padding-left:.5em;font-size:.75em}.content article details summary{cursor:pointer}.content article footer{margin-top:4rem}.content article footer .see-also{margin:3.2rem 0}.content article footer .see-also h3{margin:3.2rem 0}.content article p{text-align:justify;text-justify:auto;hyphens:auto}.content .post .post-title{margin-bottom:.75em}.content .post .post-meta i{text-align:center;width:1.6rem;margin-left:0;margin-right:.5rem}.content .post .post-meta .date .posted-on{margin-left:0;margin-right:1.5rem}.content .post .post-meta .tags .tag{display:inline-block;padding:.3rem .6rem;background-color:#e0e0e0;border-radius:.6rem;line-height:1.4em}.content .post .post-meta .tags .tag a{color:#212121}.content .post .post-meta .tags .tag a:active{color:#212121}.content figure{margin:0;padding:0}.content figcaption p{text-align:center;font-style:italic;font-size:1.6rem;margin:0}.avatar img{width:20rem;height:auto;border-radius:50%}@media only screen and (max-width:768px){.avatar img{width:10rem}}.list ul{margin:3.2rem 0;list-style:none;padding:0}.list ul li{font-size:1.8rem}@media only screen and (max-width:768px){.list ul li{margin:1.6rem 0}}.list ul li .date{display:inline-block;flex:1;width:20rem;text-align:right;margin-right:3rem}@media only screen and (max-width:768px){.list ul li .date{display:block;text-align:left}}.list ul li .title{font-size:1.8rem;flex:2;color:#212121;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-weight:700}.list ul li .title:hover,.list ul li .title:focus{color:#1565c0}@media only screen and (min-width:768.1px){.list ul:not(.pagination) li{display:flex}}.centered{display:flex;align-items:center;justify-content:center}.centered .about{text-align:center}.centered .about h1{margin-top:2rem;margin-bottom:.5rem}.centered .about h2{margin-top:1rem;margin-bottom:.5rem;font-size:2.4rem}@media only screen and (max-width:768px){.centered .about h2{font-size:2rem}}.centered .about ul{list-style:none;margin:3rem 0 1rem;padding:0}.centered .about ul li{display:inline-block;position:relative}.centered .about ul li a{color:#212121;text-transform:uppercase;margin-left:1rem;margin-right:1rem;font-size:1.6rem}.centered .about ul li a:hover,.centered .about ul li a:focus{color:#1565c0}@media only screen and (max-width:768px){.centered .about ul li a{font-size:1.4rem}}.centered .error{text-align:center}.centered .error h1{margin-top:2rem;margin-bottom:.5rem;font-size:4.6rem}@media only screen and (max-width:768px){.centered .error h1{font-size:3.2rem}}.centered .error h2{margin-top:2rem;margin-bottom:3.2rem;font-size:3.2rem}@media only screen and (max-width:768px){.centered .error h2{font-size:2.8rem}}.notice{border-radius:.2rem;position:relative;margin:2rem 0;padding:0 .75rem;overflow:auto}.notice .notice-title{position:relative;font-weight:700;margin:0 -.75rem;padding:.2rem 3.5rem;border-bottom:1px solid #fafafa}.notice .notice-title i{position:absolute;top:50%;left:1.8rem;transform:translate(-50%,-50%)}.notice .notice-content{display:block;margin:2rem}.notice.note{background-color:#7e57c21a}.notice.note .notice-title{background-color:#673ab71a}.notice.note .notice-title i{color:#5e35b1}.notice.tip{background-color:#26a69a1a}.notice.tip .notice-title{background-color:#0096881a}.notice.tip .notice-title i{color:#00897b}.notice.example{background-color:#8d6e631a}.notice.example .notice-title{background-color:#7955481a}.notice.example .notice-title i{color:#6d4c41}.notice.question{background-color:#9ccc651a}.notice.question .notice-title{background-color:#8bc34a1a}.notice.question .notice-title i{color:#7cb342}.notice.info{background-color:#42a5f51a}.notice.info .notice-title{background-color:#2196f31a}.notice.info .notice-title i{color:#1e88e5}.notice.warning{background-color:#ffca281a}.notice.warning .notice-title{background-color:#ffc1071a}.notice.warning .notice-title i{color:#ffb300}.notice.error{background-color:#ef53501a}.notice.error .notice-title{background-color:#f443361a}.notice.error .notice-title i{color:#e53935}.navigation{height:6rem;width:100%}.navigation a,.navigation span{display:inline;font-size:1.7rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-weight:600;color:#212121}.navigation a:hover,.navigation a:focus{color:#1565c0}.navigation .navigation-title{letter-spacing:.1rem;text-transform:uppercase}.navigation .navigation-list{float:right;list-style:none;margin-bottom:0;margin-top:0}@media only screen and (max-width:768px){.navigation .navigation-list{position:relative;top:2rem;right:0;z-index:5;visibility:hidden;opacity:0;padding:0;max-height:0;width:100%;background-color:#fafafa;border-top:solid 2px #e0e0e0;border-bottom:solid 2px #e0e0e0;transition:opacity .25s,max-height .15s linear}}.navigation .navigation-list .navigation-item{float:left;margin:0;position:relative}@media only screen and (max-width:768px){.navigation .navigation-list .navigation-item{float:none!important;text-align:center}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{line-height:5rem}}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{margin-left:1rem;margin-right:1rem}@media only screen and (max-width:768px){.navigation .navigation-list .separator{display:none}}@media only screen and (max-width:768px){.navigation .navigation-list .menu-separator{border-top:2px solid #212121;margin:0 8rem}.navigation .navigation-list .menu-separator span{display:none}}.navigation #dark-mode-toggle{margin:1.7rem 0;font-size:2.4rem;line-height:inherit;bottom:2rem;left:2rem;z-index:100;position:fixed}.navigation #menu-toggle{display:none}@media only screen and (max-width:768px){.navigation #menu-toggle{display:initial;position:relative;visibility:hidden}.navigation #menu-toggle:checked+label>i{color:#e0e0e0}.navigation #menu-toggle:checked+label+ul{visibility:visible;opacity:1;max-height:100rem}.navigation #menu-toggle:focus-visible+label{outline-style:auto}}.navigation .menu-button{display:none}@media only screen and (max-width:768px){.navigation .menu-button{position:relative;display:block;font-size:2.4rem;font-weight:400}}.navigation .menu-button i:hover,.navigation .menu-button i:focus{color:#000}.navigation i{color:#212121;cursor:pointer}.navigation i:hover,.navigation i:focus{color:#1565c0}.pagination{display:flex;justify-content:center;margin-top:6rem;text-align:center;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif}.pagination li{display:inline;text-align:center;font-weight:700;margin:0;text-align:center;width:2.2rem}.pagination li a{font-weight:300}.tabs{display:flex;flex-wrap:wrap;margin:2rem 0;position:relative}.tabs.tabs-left{justify-content:flex-start}.tabs.tabs-left label.tab-label{margin-right:.5rem}.tabs.tabs-left .tab-content{border-radius:0 4px 4px 4px}.tabs.tabs-right{justify-content:flex-end}.tabs.tabs-right label.tab-label{margin-left:.5rem}.tabs.tabs-right .tab-content{border-radius:4px 0 4px 4px}.tabs input.tab-input{display:none}.tabs label.tab-label{background-color:#e0e0e0;border-color:#ccc;border-radius:4px 4px 0 0;border-style:solid;border-bottom-style:hidden;border-width:1px;cursor:pointer;display:inline-block;order:1;padding:.3rem .6rem;position:relative;top:1px;user-select:none}.tabs input.tab-input:checked+label.tab-label{background-color:#fafafa}.tabs .tab-content{background-color:#fafafa;border-color:#ccc;border-style:solid;border-width:1px;display:none;order:2;padding:1rem;width:100%}.tabs.tabs-code .tab-content{padding:.5rem}.tabs.tabs-code .tab-content pre{margin:0}.taxonomy li{display:inline-block;margin:.9rem}.taxonomy .taxonomy-element{display:block;padding:.3rem .9rem;background-color:#e0e0e0;border-radius:.6rem}.taxonomy .taxonomy-element a{color:#212121}.taxonomy .taxonomy-element a:active{color:#212121}.footer{width:100%;text-align:center;font-size:1.6rem;line-height:2rem;margin-bottom:1rem}.footer a{color:#1565c0}.float-container{bottom:2rem;right:2rem;z-index:100;position:fixed;font-size:1.6em}.float-container a{position:relative;display:inline-block;width:3rem;height:3rem;font-size:2rem;color:#000;background-color:#e0e0e0;border-radius:.2rem;opacity:.5;transition:all .25s ease-in}.float-container a:hover,.float-container a:focus{color:#1565c0;opacity:1}@media only screen and (max-width:768px){.float-container a:hover,.float-container a:focus{color:#000;opacity:.5}}.float-container a i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bg{background-color:#fff}.chroma{background-color:#fff}.chroma .err{color:#a61717;background-color:#e3d2d2}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#ffc}.chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#000;font-weight:700}.chroma .kc{color:#000;font-weight:700}.chroma .kd{color:#000;font-weight:700}.chroma .kn{color:#000;font-weight:700}.chroma .kp{color:#000;font-weight:700}.chroma .kr{color:#000;font-weight:700}.chroma .kt{color:#458;font-weight:700}.chroma .na{color:teal}.chroma .nb{color:#0086b3}.chroma .bp{color:#999}.chroma .nc{color:#458;font-weight:700}.chroma .no{color:teal}.chroma .nd{color:#3c5d5d;font-weight:700}.chroma .ni{color:purple}.chroma .ne{color:#900;font-weight:700}.chroma .nf{color:#900;font-weight:700}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#555}.chroma .nt{color:navy}.chroma .nv{color:teal}.chroma .vc{color:teal}.chroma .vg{color:teal}.chroma .vi{color:teal}.chroma .s{color:#d14}.chroma .sa{color:#d14}.chroma .sb{color:#d14}.chroma .sc{color:#d14}.chroma .dl{color:#d14}.chroma .sd{color:#d14}.chroma .s2{color:#d14}.chroma .se{color:#d14}.chroma .sh{color:#d14}.chroma .si{color:#d14}.chroma .sx{color:#d14}.chroma .sr{color:#009926}.chroma .s1{color:#d14}.chroma .ss{color:#990073}.chroma .m{color:#099}.chroma .mb{color:#099}.chroma .mf{color:#099}.chroma .mh{color:#099}.chroma .mi{color:#099}.chroma .il{color:#099}.chroma .mo{color:#099}.chroma .o{color:#000;font-weight:700}.chroma .ow{color:#000;font-weight:700}.chroma .c{color:#998;font-style:italic}.chroma .ch{color:#998;font-style:italic}.chroma .cm{color:#998;font-style:italic}.chroma .c1{color:#998;font-style:italic}.chroma .cs{color:#999;font-weight:700;font-style:italic}.chroma .cp{color:#999;font-weight:700;font-style:italic}.chroma .cpf{color:#999;font-weight:700;font-style:italic}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000;font-style:italic}.chroma .gr{color:#a00}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gs{font-weight:700}.chroma .gu{color:#aaa}.chroma .gt{color:#a00}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbb} \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder.scss_38b4d05915c0483e6cb106e4f0efccbc.json b/resources/_gen/assets/scss/scss/coder.scss_38b4d05915c0483e6cb106e4f0efccbc.json new file mode 100644 index 0000000..7f37570 --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder.scss_38b4d05915c0483e6cb106e4f0efccbc.json @@ -0,0 +1 @@ +{"Target":"css/coder.min.e1bdf152d93b060b06ba5d496486ed9c201a8b95d335e035beb5faebe3b61cad.css","MediaType":"text/css","Data":{"Integrity":"sha256-4b3xUtk7BgsGul1JZIbtnCAai5XTNeA1vrX66+O2HK0="}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder.scss_fd4b5b3f9a48bc0c7f005d2f7a4cc30f.content b/resources/_gen/assets/scss/scss/coder.scss_fd4b5b3f9a48bc0c7f005d2f7a4cc30f.content new file mode 100644 index 0000000..ef26525 --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder.scss_fd4b5b3f9a48bc0c7f005d2f7a4cc30f.content @@ -0,0 +1,3687 @@ +@charset "UTF-8"; +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ } + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; } + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; } + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; } + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ } + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ } + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; + word-wrap: break-word; } + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + text-decoration: underline dotted; + /* 2 */ } + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; } + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ } + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; } + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sub { + bottom: -0.25em; } + +sup { + top: -0.5em; } + +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; } + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ } + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; } + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; } + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; } + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; } + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ } + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; } + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; } + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ } + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ } + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; } + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; } + +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; } + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; } + +/*! +Fork Awesome 1.2.0 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: "ForkAwesome"; + src: url("../fonts/forkawesome-webfont.eot?v=1.2.0"); + src: url("../fonts/forkawesome-webfont.eot?#iefix&v=1.2.0") format("embedded-opentype"), url("../fonts/forkawesome-webfont.woff2?v=1.2.0") format("woff2"), url("../fonts/forkawesome-webfont.woff?v=1.2.0") format("woff"), url("../fonts/forkawesome-webfont.ttf?v=1.2.0") format("truetype"), url("../fonts/forkawesome-webfont.svg?v=1.2.0#forkawesomeregular") format("svg"); + font-weight: normal; + font-style: normal; + font-display: block; } + +.fa { + display: inline-block; + font: normal normal normal 14px/1 ForkAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-fw { + width: 1.28571429em; + text-align: center; } + +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; } + .fa-ul > li { + position: relative; } + +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; } + .fa-li.fa-lg { + left: -1.85714286em; } + +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right { + margin-left: .3em; } + +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; } + +.pull-left { + float: left; } + +.fa.pull-left { + margin-right: .3em; } + +.fa.pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; } + +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; } + +.fa-stack-1x, .fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; } + +.fa-music:before { + content: "\f001"; } + +.fa-search:before { + content: "\f002"; } + +.fa-envelope-o:before { + content: "\f003"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-o:before { + content: "\f006"; } + +.fa-user:before { + content: "\f007"; } + +.fa-film:before { + content: "\f008"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-gear:before, +.fa-cog:before { + content: "\f013"; } + +.fa-trash-o:before { + content: "\f014"; } + +.fa-home:before { + content: "\f015"; } + +.fa-file-o:before { + content: "\f016"; } + +.fa-clock-o:before { + content: "\f017"; } + +.fa-road:before { + content: "\f018"; } + +.fa-download:before { + content: "\f019"; } + +.fa-arrow-circle-o-down:before { + content: "\f01a"; } + +.fa-arrow-circle-o-up:before { + content: "\f01b"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-play-circle-o:before { + content: "\f01d"; } + +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; } + +.fa-sync:before, +.fa-refresh:before { + content: "\f021"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-font:before { + content: "\f031"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-video:before, +.fa-video-camera:before { + content: "\f03d"; } + +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; } + +.fa-pencil:before { + content: "\f040"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; } + +.fa-share-square-o:before { + content: "\f045"; } + +.fa-check-square-o:before { + content: "\f046"; } + +.fa-arrows:before { + content: "\f047"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-times-circle-o:before { + content: "\f05c"; } + +.fa-check-circle-o:before { + content: "\f05d"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-calendar:before { + content: "\f073"; } + +.fa-random:before { + content: "\f074"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-arrows-v:before { + content: "\f07d"; } + +.fa-arrows-h:before { + content: "\f07e"; } + +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-key:before { + content: "\f084"; } + +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-thumbs-o-up:before { + content: "\f087"; } + +.fa-thumbs-o-down:before { + content: "\f088"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-heart-o:before { + content: "\f08a"; } + +.fa-sign-out:before { + content: "\f08b"; } + +.fa-linkedin-square:before { + content: "\f08c"; } + +.fa-thumb-tack:before { + content: "\f08d"; } + +.fa-external-link:before { + content: "\f08e"; } + +.fa-sign-in:before { + content: "\f090"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-lemon-o:before { + content: "\f094"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-square-o:before { + content: "\f096"; } + +.fa-bookmark-o:before { + content: "\f097"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; } + +.fa-hdd-o:before { + content: "\f0a0"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bell-o:before { + content: "\f0f3"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-e:before { + content: "\f304"; } + +.fa-globe-w:before { + content: "\f305"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-community:before, +.fa-group:before, +.fa-users:before { + content: "\f0c0"; } + +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; } + +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-plus-g:before, +.fa-google-plus:before { + content: "\f0d5"; } + +.fa-money:before { + content: "\f0d6"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; } + +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-linkedin:before { + content: "\f0e1"; } + +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; } + +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; } + +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; } + +.fa-comment-o:before { + content: "\f0e5"; } + +.fa-comments-o:before { + content: "\f0e6"; } + +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; } + +.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa-exchange:before { + content: "\f0ec"; } + +.fa-cloud-download:before { + content: "\f0ed"; } + +.fa-cloud-upload:before { + content: "\f0ee"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-bell:before { + content: "\f0a2"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-utensils:before, +.fa-cutlery:before { + content: "\f0f5"; } + +.fa-file-text-o:before { + content: "\f0f6"; } + +.fa-building-o:before { + content: "\f0f7"; } + +.fa-hospital-o:before { + content: "\f0f8"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; } + +.fa-circle-o:before { + content: "\f10c"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-folder-o:before { + content: "\f114"; } + +.fa-folder-open-o:before { + content: "\f115"; } + +.fa-smile-o:before { + content: "\f118"; } + +.fa-frown-o:before { + content: "\f119"; } + +.fa-meh-o:before { + content: "\f11a"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-keyboard-o:before { + content: "\f11c"; } + +.fa-flag-o:before { + content: "\f11d"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-code:before { + content: "\f121"; } + +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; } + +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-code-fork:before { + content: "\f126"; } + +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; } + +.fa-question:before { + content: "\f128"; } + +.fa-info:before { + content: "\f129"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-shield:before { + content: "\f132"; } + +.fa-calendar-o:before { + content: "\f133"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-ticket:before { + content: "\f145"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-minus-square-o:before { + content: "\f147"; } + +.fa-level-up:before { + content: "\f148"; } + +.fa-level-down:before { + content: "\f149"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-pencil-square:before { + content: "\f14b"; } + +.fa-external-link-square:before { + content: "\f14c"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa-euro:before, +.fa-eur:before { + content: "\f153"; } + +.fa-pound:before, +.fa-gbp:before { + content: "\f154"; } + +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; } + +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; } + +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; } + +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; } + +.fa-won:before, +.fa-krw:before { + content: "\f159"; } + +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-text:before { + content: "\f15c"; } + +.fa-sort-alpha-down:before, +.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa-sort-alpha-up:before, +.fa-sort-alpha-desc:before { + content: "\f15e"; } + +.fa-sort-amount-down:before, +.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa-sort-amount-up:before, +.fa-sort-amount-desc:before { + content: "\f161"; } + +.fa-sort-numeric-down:before, +.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa-sort-numeric-up:before, +.fa-sort-numeric-desc:before { + content: "\f163"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-youtube-square:before { + content: "\f166"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-youtube-play:before { + content: "\f16a"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitbucket-square:before { + content: "\f172"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-long-arrow-down:before { + content: "\f175"; } + +.fa-long-arrow-up:before { + content: "\f176"; } + +.fa-long-arrow-left:before { + content: "\f177"; } + +.fa-long-arrow-right:before { + content: "\f178"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-female:before { + content: "\f182"; } + +.fa-male:before { + content: "\f183"; } + +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; } + +.fa-sun-o:before { + content: "\f185"; } + +.fa-moon-o:before { + content: "\f186"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-arrow-circle-o-right:before { + content: "\f18e"; } + +.fa-arrow-circle-o-left:before { + content: "\f190"; } + +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa-dot-circle-o:before { + content: "\f192"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; } + +.fa-plus-square-o:before { + content: "\f196"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; } + +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-utensil-spoon:before, +.fa-spoon:before { + content: "\f1b1"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; } + +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa-file-word-o:before { + content: "\f1c2"; } + +.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; } + +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; } + +.fa-file-code-o:before { + content: "\f1c9"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; } + +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; } + +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-circle-thin:before { + content: "\f1db"; } + +.fa-heading:before, +.fa-header:before { + content: "\f1dc"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-sliders:before { + content: "\f1de"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bell-slash-o:before { + content: "\f1f7"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-eyedropper:before { + content: "\f1fb"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-area-chart:before { + content: "\f1fe"; } + +.fa-pie-chart:before { + content: "\f200"; } + +.fa-line-chart:before { + content: "\f201"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-closed-captioning:before, +.fa-cc:before { + content: "\f20a"; } + +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; } + +.fa-meanpath:before { + content: "\f20c"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-gem:before, +.fa-diamond:before { + content: "\f219"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-facebook-official:before { + content: "\f230"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-server:before { + content: "\f233"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-train:before { + content: "\f238"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-square:before { + content: "\f2f8"; } + +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-sticky-note-o:before { + content: "\f24a"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-hourglass-o:before { + content: "\f250"; } + +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; } + +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; } + +.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa-hand-spock-o:before { + content: "\f259"; } + +.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-tv:before, +.fa-television:before { + content: "\f26c"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa-calendar-times-o:before { + content: "\f273"; } + +.fa-calendar-check-o:before { + content: "\f274"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-map-o:before { + content: "\f278"; } + +.fa-map:before { + content: "\f279"; } + +.fa-commenting:before { + content: "\f27a"; } + +.fa-commenting-o:before { + content: "\f27b"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-vimeo-v:before, +.fa-vimeo:before { + content: "\f27d"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-credit-card-alt:before { + content: "\f283"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-pause-circle-o:before { + content: "\f28c"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stop-circle-o:before { + content: "\f28e"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-wheelchair-alt:before { + content: "\f29b"; } + +.fa-question-circle-o:before { + content: "\f29c"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-phone-volume:before, +.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-handshake-o:before { + content: "\f2b5"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-o:before { + content: "\f2b7"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-book-o:before { + content: "\f2ba"; } + +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; } + +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-circle-o:before { + content: "\f2be"; } + +.fa-user-o:before { + content: "\f2c0"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; } + +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; } + +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-eercast:before { + content: "\f2da"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-mastodon:before { + content: "\f2e1"; } + +.fa-mastodon-alt:before { + content: "\f2e2"; } + +.fa-fork-circle:before, +.fa-fork-awesome:before { + content: "\f2e3"; } + +.fa-peertube:before { + content: "\f2e4"; } + +.fa-diaspora:before { + content: "\f2e5"; } + +.fa-friendica:before { + content: "\f2e6"; } + +.fa-gnu-social:before { + content: "\f2e7"; } + +.fa-liberapay-square:before { + content: "\f2e8"; } + +.fa-liberapay:before { + content: "\f2e9"; } + +.fa-ssb:before, +.fa-scuttlebutt:before { + content: "\f2ea"; } + +.fa-hubzilla:before { + content: "\f2eb"; } + +.fa-social-home:before { + content: "\f2ec"; } + +.fa-artstation:before { + content: "\f2ed"; } + +.fa-discord:before { + content: "\f2ee"; } + +.fa-discord-alt:before { + content: "\f2ef"; } + +.fa-patreon:before { + content: "\f2f0"; } + +.fa-snowdrift:before { + content: "\f2f1"; } + +.fa-activitypub:before { + content: "\f2f2"; } + +.fa-ethereum:before { + content: "\f2f3"; } + +.fa-keybase:before { + content: "\f2f4"; } + +.fa-shaarli:before { + content: "\f2f5"; } + +.fa-shaarli-o:before { + content: "\f2f6"; } + +.fa-cut-key:before, +.fa-key-modern:before { + content: "\f2f7"; } + +.fa-xmpp:before { + content: "\f2f9"; } + +.fa-archive-org:before { + content: "\f2fc"; } + +.fa-freedombox:before { + content: "\f2fd"; } + +.fa-facebook-messenger:before { + content: "\f2fe"; } + +.fa-debian:before { + content: "\f2ff"; } + +.fa-mastodon-square:before { + content: "\f300"; } + +.fa-tipeee:before { + content: "\f301"; } + +.fa-react:before { + content: "\f302"; } + +.fa-dogmazic:before { + content: "\f303"; } + +.fa-zotero:before { + content: "\f309"; } + +.fa-nodejs:before { + content: "\f308"; } + +.fa-nextcloud:before { + content: "\f306"; } + +.fa-nextcloud-square:before { + content: "\f307"; } + +.fa-hackaday:before { + content: "\f30a"; } + +.fa-laravel:before { + content: "\f30b"; } + +.fa-signalapp:before { + content: "\f30c"; } + +.fa-gnupg:before { + content: "\f30d"; } + +.fa-php:before { + content: "\f30e"; } + +.fa-ffmpeg:before { + content: "\f30f"; } + +.fa-joplin:before { + content: "\f310"; } + +.fa-syncthing:before { + content: "\f311"; } + +.fa-inkscape:before { + content: "\f312"; } + +.fa-matrix-org:before { + content: "\f313"; } + +.fa-pixelfed:before { + content: "\f314"; } + +.fa-bootstrap:before { + content: "\f315"; } + +.fa-dev-to:before { + content: "\f316"; } + +.fa-hashnode:before { + content: "\f317"; } + +.fa-jirafeau:before { + content: "\f318"; } + +.fa-emby:before { + content: "\f319"; } + +.fa-wikidata:before { + content: "\f31a"; } + +.fa-gimp:before { + content: "\f31b"; } + +.fa-c:before { + content: "\f31c"; } + +.fa-digitalocean:before { + content: "\f31d"; } + +.fa-att:before { + content: "\f31e"; } + +.fa-gitea:before { + content: "\f31f"; } + +.fa-file-epub:before { + content: "\f321"; } + +.fa-python:before { + content: "\f322"; } + +.fa-archlinux:before { + content: "\f323"; } + +.fa-pleroma:before { + content: "\f324"; } + +.fa-unsplash:before { + content: "\f325"; } + +.fa-hackster:before { + content: "\f326"; } + +.fa-spell-check:before { + content: "\f327"; } + +.fa-moon:before { + content: "\f328"; } + +.fa-sun:before { + content: "\f329"; } + +.fa-f-droid:before { + content: "\f32a"; } + +.fa-biometric:before { + content: "\f32b"; } + +.fa-wire:before { + content: "\f32c"; } + +.fa-tor-onion:before { + content: "\f32e"; } + +.fa-volume-mute:before { + content: "\f32f"; } + +.fa-bell-ringing:before { + content: "\f32d"; } + +.fa-bell-ringing-o:before { + content: "\f330"; } + +.fa-hal:before { + content: "\f333"; } + +.fa-jupyter:before { + content: "\f335"; } + +.fa-julia:before { + content: "\f334"; } + +.fa-classicpress:before { + content: "\f331"; } + +.fa-classicpress-circle:before { + content: "\f332"; } + +.fa-open-collective:before { + content: "\f336"; } + +.fa-orcid:before { + content: "\f337"; } + +.fa-researchgate:before { + content: "\f338"; } + +.fa-funkwhale:before { + content: "\f339"; } + +.fa-askfm:before { + content: "\f33a"; } + +.fa-blockstack:before { + content: "\f33b"; } + +.fa-boardgamegeek:before { + content: "\f33c"; } + +.fa-bunny:before { + content: "\f35f"; } + +.fa-buymeacoffee:before { + content: "\f33d"; } + +.fa-cc-by:before { + content: "\f33e"; } + +.fa-creative-commons-alt:before, +.fa-cc-cc:before { + content: "\f33f"; } + +.fa-cc-nc-eu:before { + content: "\f341"; } + +.fa-cc-nc-jp:before { + content: "\f342"; } + +.fa-cc-nc:before { + content: "\f340"; } + +.fa-cc-nd:before { + content: "\f343"; } + +.fa-cc-pd:before { + content: "\f344"; } + +.fa-cc-remix:before { + content: "\f345"; } + +.fa-cc-sa:before { + content: "\f346"; } + +.fa-cc-share:before { + content: "\f347"; } + +.fa-cc-zero:before { + content: "\f348"; } + +.fa-conway-hacker:before, +.fa-conway-glider:before { + content: "\f349"; } + +.fa-csharp:before { + content: "\f34a"; } + +.fa-email-bulk:before { + content: "\f34b"; } + +.fa-email-bulk-o:before { + content: "\f34c"; } + +.fa-gnu:before { + content: "\f34d"; } + +.fa-google-play:before { + content: "\f34e"; } + +.fa-heroku:before { + content: "\f34f"; } + +.fa-hassio:before, +.fa-home-assistant:before { + content: "\f350"; } + +.fa-java:before { + content: "\f351"; } + +.fa-mariadb:before { + content: "\f352"; } + +.fa-markdown:before { + content: "\f353"; } + +.fa-mysql:before { + content: "\f354"; } + +.fa-nordcast:before { + content: "\f355"; } + +.fa-plume:before { + content: "\f356"; } + +.fa-postgresql:before { + content: "\f357"; } + +.fa-sass-alt:before { + content: "\f359"; } + +.fa-sass:before { + content: "\f358"; } + +.fa-skate:before { + content: "\f35a"; } + +.fa-sketchfab:before { + content: "\f35b"; } + +.fa-tex:before { + content: "\f35c"; } + +.fa-textpattern:before { + content: "\f35d"; } + +.fa-unity:before { + content: "\f35e"; } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +*, +*:after, +*:before { + box-sizing: inherit; } + +html { + box-sizing: border-box; + font-size: 62.5%; } + +body { + color: #212121; + background-color: #fafafa; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif; + font-size: 1.8em; + font-weight: 400; + line-height: 1.8em; } + @media only screen and (max-width: 768px) { + body { + font-size: 1.6em; + line-height: 1.6em; } } +iframe[src*=disqus] { + color-scheme: light; } + +a { + font-weight: 500; + color: #1565c0; + text-decoration: none; + transition: all 0.25s ease-in; } + a:focus, a:hover { + text-decoration: underline; } + +p { + margin: 2rem 0 2rem 0; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif; + font-weight: 600; + color: #000; + margin: 4rem 0 2.5rem 0; } + h1:hover .heading-link, + h2:hover .heading-link, + h3:hover .heading-link, + h4:hover .heading-link, + h5:hover .heading-link, + h6:hover .heading-link { + visibility: visible; } + h1 .heading-link, + h2 .heading-link, + h3 .heading-link, + h4 .heading-link, + h5 .heading-link, + h6 .heading-link { + color: #1565c0; + font-weight: inherit; + text-decoration: none; + font-size: 80%; + visibility: hidden; } + h1 .title-link, + h2 .title-link, + h3 .title-link, + h4 .title-link, + h5 .title-link, + h6 .title-link { + color: inherit; + font-weight: inherit; + text-decoration: none; } + +h1 { + font-size: 3.2rem; + line-height: 3.6rem; } + @media only screen and (max-width: 768px) { + h1 { + font-size: 3rem; + line-height: 3.4rem; } } +h2 { + font-size: 2.8rem; + line-height: 3.2rem; } + @media only screen and (max-width: 768px) { + h2 { + font-size: 2.6rem; + line-height: 3rem; } } +h3 { + font-size: 2.4rem; + line-height: 2.8rem; } + @media only screen and (max-width: 768px) { + h3 { + font-size: 2.2rem; + line-height: 2.6rem; } } +h4 { + font-size: 2.2rem; + line-height: 2.6rem; } + @media only screen and (max-width: 768px) { + h4 { + font-size: 2rem; + line-height: 2.4rem; } } +h5 { + font-size: 2rem; + line-height: 2.4rem; } + @media only screen and (max-width: 768px) { + h5 { + font-size: 1.8rem; + line-height: 2.2rem; } } +h6 { + font-size: 1.8rem; + line-height: 2.2rem; } + @media only screen and (max-width: 768px) { + h6 { + font-size: 1.6rem; + line-height: 2rem; } } +b, +strong { + font-weight: 700; } + +.highlight div, +.highlight pre { + margin: 2rem 0 2rem; + padding: 1rem; + border-radius: 1rem; } + +pre { + display: block; + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + font-size: 1.6rem; + font-weight: 400; + line-height: 2.6rem; + overflow-x: auto; + margin: 2rem 0 2rem; + padding: 1rem; + border-radius: 1rem; } + pre code { + display: inline-block; } + +code { + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + font-size: 1.6rem; + font-weight: 400; + border-radius: 0.6rem; + padding: 0.3rem 0.6rem; } + +blockquote { + border-left: 2px solid #e0e0e0; + padding-left: 2rem; + line-height: 2.2rem; + font-weight: 400; + font-style: italic; } + +th, +td { + padding: 1.6rem; } + +table { + border-collapse: collapse; } + +table td, +table th { + border: 2px solid #000; } + +table tr:first-child th { + border-top: 0; } + +table tr:last-child td { + border-bottom: 0; } + +table tr td:first-child, +table tr th:first-child { + border-left: 0; } + +table tr td:last-child, +table tr th:last-child { + border-right: 0; } + +img { + max-width: 100%; } + +figure { + text-align: center; } + +.footnotes ol li p { + margin: 0; } + +.preload-transitions * { + -webkit-transition: none !important; + -moz-transition: none !important; + -ms-transition: none !important; + -o-transition: none !important; + transition: none !important; } + +.wrapper { + display: flex; + flex-direction: column; + min-height: 100vh; + width: 100%; } + +.container { + margin: 1rem auto; + max-width: 90rem; + width: 100%; + padding-left: 2rem; + padding-right: 2rem; } + +.fab { + font-weight: 400; } + +.fas { + font-weight: 700; } + +.float-right { + float: right; } + +.float-left { + float: left; } + +.fab { + font-weight: 400; } + +.fas { + font-weight: 900; } + +.content { + flex: 1; + display: flex; + margin-top: 1.6rem; + margin-bottom: 3.2rem; } + .content header { + margin-top: 6.4rem; + margin-bottom: 3.2rem; } + .content header h1 { + font-size: 4.2rem; + line-height: 4.6rem; + margin: 0; } + @media only screen and (max-width: 768px) { + .content header h1 { + font-size: 4rem; + line-height: 4.4rem; } } + .content article a:where(.external-link)::after { + content: "⬈"; } + .content article details summary { + cursor: pointer; } + .content article footer { + margin-top: 4rem; } + .content article footer .see-also { + margin: 3.2rem 0; } + .content article footer .see-also h3 { + margin: 3.2rem 0; } + .content article p { + text-align: justify; + text-justify: auto; + hyphens: auto; } + .content .post .post-title { + margin-bottom: 0.75em; } + .content .post .post-meta i { + text-align: center; + width: 1.6rem; + margin-left: 0; + margin-right: 0.5rem; } + .content .post .post-meta .date .posted-on { + margin-left: 0; + margin-right: 1.5rem; } + .content .post .post-meta .tags .tag { + display: inline-block; + padding: 0.3rem 0.6rem; + background-color: #e0e0e0; + border-radius: 0.6rem; + line-height: 1.4em; } + .content .post .post-meta .tags .tag a { + color: #212121; } + .content .post .post-meta .tags .tag a:active { + color: #212121; } + .content figure { + margin: 0; + padding: 0; } + .content figcaption p { + text-align: center; + font-style: italic; + font-size: 1.6rem; + margin: 0; } + +.avatar img { + width: 20rem; + height: auto; + border-radius: 50%; } + @media only screen and (max-width: 768px) { + .avatar img { + width: 10rem; } } +.list ul { + margin: 3.2rem 0 3.2rem 0; + list-style: none; + padding: 0; } + .list ul li { + font-size: 1.8rem; } + @media only screen and (max-width: 768px) { + .list ul li { + margin: 1.6rem 0 1.6rem 0; } } + .list ul li .date { + display: inline-block; + flex: 1; + width: 20rem; + text-align: right; + margin-right: 3rem; } + @media only screen and (max-width: 768px) { + .list ul li .date { + display: block; + text-align: left; } } + .list ul li .title { + font-size: 1.8rem; + flex: 2; + color: #212121; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif; + font-weight: 700; } + .list ul li .title:hover, .list ul li .title:focus { + color: #1565c0; } + +@media only screen and (min-width: 768.1px) { + .list ul:not(.pagination) li { + display: flex; } } + +.centered { + display: flex; + align-items: center; + justify-content: center; } + .centered .about { + text-align: center; } + .centered .about h1 { + margin-top: 2rem; + margin-bottom: 0.5rem; } + .centered .about h2 { + margin-top: 1rem; + margin-bottom: 0.5rem; + font-size: 2.4rem; } + @media only screen and (max-width: 768px) { + .centered .about h2 { + font-size: 2rem; } } + .centered .about ul { + list-style: none; + margin: 3rem 0 1rem 0; + padding: 0; } + .centered .about ul li { + display: inline-block; + position: relative; } + .centered .about ul li a { + color: #212121; + text-transform: uppercase; + margin-left: 1rem; + margin-right: 1rem; + font-size: 1.6rem; } + .centered .about ul li a:hover, .centered .about ul li a:focus { + color: #1565c0; } + @media only screen and (max-width: 768px) { + .centered .about ul li a { + font-size: 1.4rem; } } + .centered .error { + text-align: center; } + .centered .error h1 { + margin-top: 2rem; + margin-bottom: 0.5rem; + font-size: 4.6rem; } + @media only screen and (max-width: 768px) { + .centered .error h1 { + font-size: 3.2rem; } } + .centered .error h2 { + margin-top: 2rem; + margin-bottom: 3.2rem; + font-size: 3.2rem; } + @media only screen and (max-width: 768px) { + .centered .error h2 { + font-size: 2.8rem; } } +.notice { + border-radius: 0.2rem; + position: relative; + margin: 2rem 0; + padding: 0 0.75rem; + overflow: auto; } + .notice .notice-title { + position: relative; + font-weight: 700; + margin: 0 -0.75rem; + padding: 0.2rem 3.5rem; + border-bottom: 1px solid #fafafa; } + .notice .notice-title i { + position: absolute; + top: 50%; + left: 1.8rem; + transform: translate(-50%, -50%); } + .notice .notice-content { + display: block; + margin: 2rem 2rem; } + +.notice.note { + background-color: #7e57c21a; } + .notice.note .notice-title { + background-color: #673ab71a; } + .notice.note .notice-title i { + color: #5e35b1; } + +.notice.tip { + background-color: #26a69a1a; } + .notice.tip .notice-title { + background-color: #0096881a; } + .notice.tip .notice-title i { + color: #00897b; } + +.notice.example { + background-color: #8d6e631a; } + .notice.example .notice-title { + background-color: #7955481a; } + .notice.example .notice-title i { + color: #6d4c41; } + +.notice.question { + background-color: #9ccc651a; } + .notice.question .notice-title { + background-color: #8bc34a1a; } + .notice.question .notice-title i { + color: #7cb342; } + +.notice.info { + background-color: #42a5f51a; } + .notice.info .notice-title { + background-color: #2196f31a; } + .notice.info .notice-title i { + color: #1e88e5; } + +.notice.warning { + background-color: #ffca281a; } + .notice.warning .notice-title { + background-color: #ffc1071a; } + .notice.warning .notice-title i { + color: #ffb300; } + +.notice.error { + background-color: #ef53501a; } + .notice.error .notice-title { + background-color: #f443361a; } + .notice.error .notice-title i { + color: #e53935; } + +.navigation { + height: 6rem; + width: 100%; } + .navigation a, + .navigation span { + display: inline; + font-size: 1.7rem; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif; + font-weight: 600; + color: #212121; } + .navigation a:hover, .navigation a:focus { + color: #1565c0; } + .navigation .navigation-title { + letter-spacing: 0.1rem; + text-transform: uppercase; } + .navigation .navigation-list { + float: right; + list-style: none; + margin-bottom: 0; + margin-top: 0; } + @media only screen and (max-width: 768px) { + .navigation .navigation-list { + position: relative; + top: 2rem; + right: 0; + z-index: 5; + visibility: hidden; + opacity: 0; + padding: 0; + max-height: 0; + width: 100%; + background-color: #fafafa; + border-top: solid 2px #e0e0e0; + border-bottom: solid 2px #e0e0e0; + transition: opacity 0.25s, max-height 0.15s linear; } } + .navigation .navigation-list .navigation-item { + float: left; + margin: 0; + position: relative; } + @media only screen and (max-width: 768px) { + .navigation .navigation-list .navigation-item { + float: none !important; + text-align: center; } + .navigation .navigation-list .navigation-item a, + .navigation .navigation-list .navigation-item span { + line-height: 5rem; } } + .navigation .navigation-list .navigation-item a, + .navigation .navigation-list .navigation-item span { + margin-left: 1rem; + margin-right: 1rem; } + @media only screen and (max-width: 768px) { + .navigation .navigation-list .separator { + display: none; } } + @media only screen and (max-width: 768px) { + .navigation .navigation-list .menu-separator { + border-top: 2px solid #212121; + margin: 0 8rem; } + .navigation .navigation-list .menu-separator span { + display: none; } } + .navigation #dark-mode-toggle { + margin: 1.7rem 0; + font-size: 2.4rem; + line-height: inherit; + bottom: 2rem; + left: 2rem; + z-index: 100; + position: fixed; } + .navigation #menu-toggle { + display: none; } + @media only screen and (max-width: 768px) { + .navigation #menu-toggle:checked + label > i { + color: #e0e0e0; } + .navigation #menu-toggle:checked + label + ul { + visibility: visible; + opacity: 1; + max-height: 100rem; } } + .navigation .menu-button { + display: none; } + @media only screen and (max-width: 768px) { + .navigation .menu-button { + position: relative; + display: block; + font-size: 2.4rem; + font-weight: 400; } } + .navigation .menu-button i:hover, .navigation .menu-button i:focus { + color: #000; } + .navigation i { + color: #212121; + cursor: pointer; } + .navigation i:hover, .navigation i:focus { + color: #1565c0; } + +.pagination { + margin-top: 6rem; + text-align: center; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif; } + .pagination li { + display: inline; + text-align: center; + font-weight: 700; } + .pagination li span { + margin: 0; + text-align: center; + width: 3.2rem; } + .pagination li a { + font-weight: 300; } + .pagination li a span { + margin: 0; + text-align: center; + width: 3.2rem; } + +.tabs { + display: flex; + flex-wrap: wrap; + margin: 2rem 0 2rem 0; + position: relative; } + .tabs.tabs-left { + justify-content: flex-start; } + .tabs.tabs-left label.tab-label { + margin-right: 0.5rem; } + .tabs.tabs-left .tab-content { + border-radius: 0px 4px 4px 4px; } + .tabs.tabs-right { + justify-content: flex-end; } + .tabs.tabs-right label.tab-label { + margin-left: 0.5rem; } + .tabs.tabs-right .tab-content { + border-radius: 4px 0px 4px 4px; } + .tabs input.tab-input { + display: none; } + .tabs label.tab-label { + background-color: #e0e0e0; + border-color: #ccc; + border-radius: 4px 4px 0px 0px; + border-style: solid; + border-bottom-style: hidden; + border-width: 1px; + cursor: pointer; + display: inline-block; + order: 1; + padding: 0.3rem 0.6rem; + position: relative; + top: 1px; + user-select: none; } + .tabs input.tab-input:checked + label.tab-label { + background-color: #fafafa; } + .tabs .tab-content { + background-color: #fafafa; + border-color: #ccc; + border-style: solid; + border-width: 1px; + display: none; + order: 2; + padding: 1rem; + width: 100%; } + .tabs.tabs-code .tab-content { + padding: 0.5rem; } + .tabs.tabs-code .tab-content pre { + margin: 0; } + +.taxonomy li { + display: inline-block; + margin: 0.9rem; } + +.taxonomy .taxonomy-element { + display: block; + padding: 0.3rem 0.9rem; + background-color: #e0e0e0; + border-radius: 0.6rem; } + .taxonomy .taxonomy-element a { + color: #212121; } + .taxonomy .taxonomy-element a:active { + color: #212121; } + +.footer { + width: 100%; + text-align: center; + font-size: 1.6rem; + line-height: 2rem; + margin-bottom: 1rem; } + .footer a { + color: #1565c0; } + +.float-container { + bottom: 2rem; + right: 2rem; + z-index: 100; + position: fixed; + font-size: 1.6em; } + .float-container a { + position: relative; + display: inline-block; + width: 3rem; + height: 3rem; + font-size: 2rem; + color: #000; + background-color: #e0e0e0; + border-radius: 0.2rem; + opacity: 0.5; + transition: all 0.25s ease-in; } + .float-container a:hover, .float-container a:focus { + color: #1565c0; + opacity: 1; } + @media only screen and (max-width: 768px) { + .float-container a:hover, .float-container a:focus { + color: #000; + opacity: 0.5; } } + .float-container a i { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); } + +/*# sourceMappingURL=coder.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/coder.scss_fd4b5b3f9a48bc0c7f005d2f7a4cc30f.json b/resources/_gen/assets/scss/scss/coder.scss_fd4b5b3f9a48bc0c7f005d2f7a4cc30f.json new file mode 100644 index 0000000..cfa430e --- /dev/null +++ b/resources/_gen/assets/scss/scss/coder.scss_fd4b5b3f9a48bc0c7f005d2f7a4cc30f.json @@ -0,0 +1 @@ +{"Target":"css/coder.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/static/fonts/forkawesome-webfont.eot b/static/fonts/forkawesome-webfont.eot new file mode 100644 index 0000000..c2c24b4 Binary files /dev/null and b/static/fonts/forkawesome-webfont.eot differ diff --git a/static/fonts/forkawesome-webfont.svg b/static/fonts/forkawesome-webfont.svg new file mode 100644 index 0000000..bd45b30 --- /dev/null +++ b/static/fonts/forkawesome-webfont.svg @@ -0,0 +1,3232 @@ + + + + + +Created by FontForge 20190801 at Fri Aug 27 00:07:49 2021 + By shine +The Fork Awesome font is licensed under the SIL OFL 1.1 (http://scripts.sil.org/OFL). Fork Awesome is a fork based of off Font Awesome 4.7.0 by Dave Gandy. More info on licenses at https://forkawesome.github.io + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/fonts/forkawesome-webfont.ttf b/static/fonts/forkawesome-webfont.ttf new file mode 100644 index 0000000..1f1d8f3 Binary files /dev/null and b/static/fonts/forkawesome-webfont.ttf differ diff --git a/static/fonts/forkawesome-webfont.woff b/static/fonts/forkawesome-webfont.woff new file mode 100644 index 0000000..cca43af Binary files /dev/null and b/static/fonts/forkawesome-webfont.woff differ diff --git a/static/fonts/forkawesome-webfont.woff2 b/static/fonts/forkawesome-webfont.woff2 new file mode 100644 index 0000000..c96e5bf Binary files /dev/null and b/static/fonts/forkawesome-webfont.woff2 differ diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..480884d --- /dev/null +++ b/theme.toml @@ -0,0 +1,27 @@ +name = "Coder" +license = "MIT" +licenselink = "https://github.com/luizdepra/hugo-coder/blob/master/LICENSE.md" +description = "A simple and clean blog theme for Hugo" +homepage = "https://github.com/luizdepra/hugo-coder/" +tags = [ + "blog", + "minimal", + "minimalist", + "responsive", + "simple", + "clean", + "personal" +] +features = [ + "analytics", + "favicon", + "multilingual", + "pagination", + "single-column", + "syntax-highlighting" +] +min_version = "0.79.0" + +[author] +name = "Luiz F. A. de Prá" +homepage = "https://luizdepra.com"