diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2020-01-24 00:07:47 +0100 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2020-01-24 00:07:56 +0100 |
commit | ba5d38ad4427bcda21a4cc57689464ed58d8b9a0 (patch) | |
tree | 12964eb240f749baa7276369265c89a04765d14e | |
parent | 2acd6ab280390057bf6d68a801a1be0f09dbd0b9 (diff) |
Rework of main template, adds options for more fine customisation
31 files changed, 161 insertions, 110 deletions
@@ -200,7 +200,7 @@ bookCollapseSection = true bookHidden = true # (Optional) Set how many levels of ToC to show. use 'false' to hide ToC completely -bookToC = 3 +bookToC = true # (Optional) If you have enabled BookComments for the site, you can disable it for specific pages. bookComments = true @@ -329,6 +329,12 @@ x = \begin{cases} {{< /katex >}} ``` +## Versioning + +Theme follows simple incremental versioning. e.g. `v1`, `v2` and so on. There might be breaking changes between versions. + +If you want lower maintenance use one of released versions. If you want to live on the edge of changes you can use `master` branch and update your website when needed. + ## Contributing ### [Extra credits to contributors](https://github.com/alex-shpak/hugo-book/graphs/contributors) diff --git a/archetypes/docs.md b/archetypes/docs.md index 04a6fd8..7e5e24b 100644 --- a/archetypes/docs.md +++ b/archetypes/docs.md @@ -2,6 +2,8 @@ title: "{{ .Name | humanize | title }}" weight: 1 # bookFlatSection: false -# bookToc: 6 +# bookToc: true # bookHidden: false +# bookCollapseSection: false +# bookComments: true --- diff --git a/assets/_defaults.scss b/assets/_defaults.scss index 354af74..af7aa24 100644 --- a/assets/_defaults.scss +++ b/assets/_defaults.scss @@ -31,15 +31,14 @@ $body-background: white !default; $body-font-color: $gray-800 !default; $body-font-weight: normal !default; -$body-min-width: 20rem !default; +$body-min-width: 25rem !default; $container-max-width: 80rem !default; $header-height: 3.5rem !default; $menu-width: 16rem !default; $toc-width: 16rem !default; -$md-breakpoint: $menu-width + $body-min-width * 1.25 + $toc-width !default; -$sm-breakpoint: $menu-width + $body-min-width !default; +$mobile-breakpoint: $menu-width + $body-min-width + $toc-width !default; // Hint colors $hint-colors: ( diff --git a/assets/_main.scss b/assets/_main.scss index 03bc298..1be9960 100644 --- a/assets/_main.scss +++ b/assets/_main.scss @@ -47,11 +47,6 @@ img { vertical-align: baseline; } -main { - display: flex; - flex-direction: row-reverse; -} - aside nav ul { padding: 0; margin: 0; @@ -162,8 +157,12 @@ ul.pagination { } .book-header { - margin-bottom: $padding-16; display: none; + margin-bottom: $padding-16; + + label { + line-height: 0; + } } .book-search { @@ -230,7 +229,6 @@ ul.pagination { } .book-footer { - display: flex; padding-top: $padding-16; font-size: $font-size-14; @@ -272,7 +270,7 @@ ul.pagination { } img { - opacity: .1; + opacity: 0.1; } li.active img { @@ -298,46 +296,41 @@ ul.pagination { // Responsive styles aside nav, .book-page, +.book-header aside, .markdown { transition: 0.2s ease-in-out; transition-property: transform, margin, opacity; will-change: transform, margin; } -@media screen and (max-width: $md-breakpoint) { +@media screen and (max-width: $mobile-breakpoint) { .book-menu { margin-left: -$menu-width; font-size: $font-size-base; } + .book-toc { - margin-right: -$toc-width; - font-size: $font-size-base; + display: none; } .book-header { - display: flex; + display: block; } - #menu-control:checked ~ main { - .book-menu #BookMenu, + #menu-control:checked + main { + .book-menu nav, .book-page { transform: translateX($menu-width); } + + .book-header aside, .markdown { opacity: 0.25; } - .book-header #menu-control { - transform: rotate(90deg); - } } - #toc-control:checked ~ main { - aside #TableOfContents, - .book-page { - transform: translateX(-$menu-width); - } - .markdown { - opacity: 0.25; - } + + #toc-control:checked + aside { + display: block; } } diff --git a/assets/_print.scss b/assets/_print.scss index 6acd75e..8ae2901 100644 --- a/assets/_print.scss +++ b/assets/_print.scss @@ -1,19 +1,17 @@ @media print { .book-menu, - .book-footer { + .book-footer, + .book-toc { display: none; } - main { + .book-header, + .book-header aside { display: block; } - .book-toc { - flex: none; - - nav { - position: relative; - width: auto; - } + main { + // Fix for https://bugzilla.mozilla.org/show_bug.cgi?id=939897 + display: block !important; } } diff --git a/assets/_shortcodes.scss b/assets/_shortcodes.scss index 451f8b8..97b7dc3 100644 --- a/assets/_shortcodes.scss +++ b/assets/_shortcodes.scss @@ -77,8 +77,7 @@ > div { margin: $padding-16 0; - // max-width: 50%; - min-width: $body-min-width * 0.66; + min-width: $body-min-width / 2; padding: 0 $padding-16; } } @@ -102,7 +101,6 @@ a.book-btn { &.#{$name} { border-left-color: $color; background-color: rgba($color, 0.1); - // background-color: $gray-100; } }; } diff --git a/assets/_utils.scss b/assets/_utils.scss index 175a4ad..6162aba 100644 --- a/assets/_utils.scss +++ b/assets/_utils.scss @@ -46,6 +46,12 @@ display: none; } +.clearfix::after { + content: ""; + display: table; + clear: both; +} + @mixin spin($duration) { animation: spin $duration ease infinite; @keyframes spin { diff --git a/exampleSite/config.toml b/exampleSite/config.toml index 8fe0667..da06bec 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -37,10 +37,10 @@ enableGitInfo = true weight = 3 [params] - # (Optional, default 6) Set how many table of contents levels to be showed on page. - # Use false to hide ToC, note that 0 will default to 6 (https://gohugo.io/functions/default/) - # You can also specify this parameter per page in front matter - BookToC = 3 + # (Optional, default true) Controls table of contents visibility on right side of pages. + # Start and end levels can be controlled with markup.tableOfContents setting. + # You can also specify this parameter per page in front matter. + BookToC = true # (Optional, default none) Set the path to a logo for the book. If the logo is # /static/logo.png then the path would be logo.png diff --git a/exampleSite/config.yaml b/exampleSite/config.yaml index 8362ecb..0e56f53 100644 --- a/exampleSite/config.yaml +++ b/exampleSite/config.yaml @@ -35,10 +35,10 @@ languages: weight: 3 params: - # (Optional, default 6) Set how many table of contents levels to be showed on page. - # Use false to hide ToC, note that 0 will default to 6 (https://gohugo.io/functions/default/) - # You can also specify this parameter per page in front matter - BookToC: 3 + # (Optional, default true) Controls table of contents visibility on right side of pages. + # Start and end levels can be controlled with markup.tableOfContents setting. + # You can also specify this parameter per page in front matter. + BookToC: true # (Optional, default none) Set the path to a logo for the book. If the logo is # /static/logo.png then the path would be logo.png diff --git a/exampleSite/content/_index.md b/exampleSite/content/_index.md index baffdb5..ba76b4d 100644 --- a/exampleSite/content/_index.md +++ b/exampleSite/content/_index.md @@ -3,6 +3,8 @@ title: Introduction type: docs --- +# Acerbo datus maxime + {{< columns >}} ## Astris ipse furtiva diff --git a/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content b/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content index 2891cf5..879fb90 100644 --- a/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content +++ b/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content @@ -1 +1 @@ -/*!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}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}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.hidden{display:none}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:20rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#05b}a:visited{color:#8440f1}img{vertical-align:baseline}main{display:flex;flex-direction:row-reverse}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}.levels-1 ul ul,.levels-2 ul ul ul,.levels-3 ul ul ul ul,.levels-4 ul ul ul ul ul,.levels-5 ul ul ul ul ul ul,.levels-6 ul ul ul ul ul ul ul{display:none}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:none}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-right:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:inherit}.book-menu a.active{color:#05b}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span{font-weight:bolder}.book-section-flat>ul{padding-left:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{margin-bottom:1rem;display:none}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search::after{display:block;content:"";clear:both}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:#f8f9fa;color:#343a40}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;margin:.5rem;right:0;top:0;width:1rem;height:1rem;border:1px solid transparent;border-top-color:#343a40;border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{display:flex;padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-right:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages:hover .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:0;left:0;padding:.5rem 0;background:#fff;box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li{padding:.5rem 1rem;white-space:nowrap}.book-languages .book-languages-list img{opacity:.1}.book-languages .book-languages-list li.active img{opacity:1}.book-languages .book-languages-list a{color:inherit}.book-languages ul{margin:0;padding:0;list-style:none}.book-home{padding:1rem}aside nav,.book-page,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity;will-change:transform,margin}@media screen and (max-width:57rem){.book-menu{margin-left:-16rem;font-size:16px}.book-toc{margin-right:-16rem;font-size:16px}.book-header{display:flex}#menu-control:checked~main .book-menu #BookMenu,#menu-control:checked~main .book-page{transform:translateX(16rem)}#menu-control:checked~main .markdown{opacity:.25}#menu-control:checked~main .book-header #menu-control{transform:rotate(90deg)}#toc-control:checked~main aside #TableOfContents,#toc-control:checked~main .book-page{transform:translateX(-16rem)}#toc-control:checked~main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:italic;font-weight:300;font-display:swap;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(fonts/roboto-v19-latin-300italic.woff2)format("woff2"),url(fonts/roboto-v19-latin-300italic.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2)format("woff2"),url(fonts/roboto-v19-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/roboto-v19-latin-700.woff2)format("woff2"),url(fonts/roboto-v19-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(fonts/roboto-mono-v6-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v6-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer{display:none}main{display:block}.book-toc{flex:none}.book-toc nav{position:relative;width:auto}}.markdown{line-height:1.6em}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1em;margin-top:1.5em;margin-bottom:1rem}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:#e9ecef;border-radius:.15rem;font-size:.875em}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:.25rem solid #e9ecef;border-radius:.15rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.markdown hr{height:1px;border:none;background:#e9ecef}.markdown ul,.markdown ol{padding-left:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-left:2rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-right:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-left:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden}.book-expand .book-expand-head{background:#f8f9fa;padding:.5rem 1rem;cursor:pointer}.book-expand .book-expand-content{display:none;padding:1rem}.book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid #f8f9fa;padding:1rem;display:none}.book-tabs input[type=radio]:checked+label{border-bottom:1px solid #05b}.book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.book-columns{margin-left:-1rem;margin-right:-1rem}.book-columns>div{margin:1rem 0;min-width:13.2rem;padding:0 1rem}a.book-btn{display:inline-block;color:#05b!important;text-decoration:none!important;border:1px solid #05b;border-radius:.15rem;padding:.25rem 1rem;margin-top:.5rem;margin-bottom:.5rem;cursor:pointer}.book-hint.info{border-left-color:#6bf;background-color:rgba(102,187,255,.1)}.book-hint.warning{border-left-color:#fd6;background-color:rgba(255,221,102,.1)}.book-hint.danger{border-left-color:#f66;background-color:rgba(255,102,102,.1)}
\ No newline at end of file +/*!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}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}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.hidden{display:none}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:25rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#05b}a:visited{color:#8440f1}img{vertical-align:baseline}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}.levels-1 ul ul,.levels-2 ul ul ul,.levels-3 ul ul ul ul,.levels-4 ul ul ul ul ul,.levels-5 ul ul ul ul ul ul,.levels-6 ul ul ul ul ul ul ul{display:none}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:none}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-right:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:inherit}.book-menu a.active{color:#05b}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span{font-weight:bolder}.book-section-flat>ul{padding-left:0}.book-page{min-width:25rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search::after{display:block;content:"";clear:both}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:#f8f9fa;color:#343a40}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;margin:.5rem;right:0;top:0;width:1rem;height:1rem;border:1px solid transparent;border-top-color:#343a40;border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-right:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages:hover .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:0;left:0;padding:.5rem 0;background:#fff;box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li{padding:.5rem 1rem;white-space:nowrap}.book-languages .book-languages-list img{opacity:.1}.book-languages .book-languages-list li.active img{opacity:1}.book-languages .book-languages-list a{color:inherit}.book-languages ul{margin:0;padding:0;list-style:none}.book-home{padding:1rem}aside nav,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity;will-change:transform,margin}@media screen and (max-width:57rem){.book-menu{margin-left:-16rem;font-size:16px}.book-toc{display:none}.book-header{display:block}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page{transform:translateX(16rem)}#menu-control:checked+main .book-header aside,#menu-control:checked+main .markdown{opacity:.25}#toc-control:checked+aside{display:block}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:italic;font-weight:300;font-display:swap;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(fonts/roboto-v19-latin-300italic.woff2)format("woff2"),url(fonts/roboto-v19-latin-300italic.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2)format("woff2"),url(fonts/roboto-v19-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/roboto-v19-latin-700.woff2)format("woff2"),url(fonts/roboto-v19-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(fonts/roboto-mono-v6-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v6-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6em}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1em;margin-top:1.5em;margin-bottom:1rem}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:#e9ecef;border-radius:.15rem;font-size:.875em}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:.25rem solid #e9ecef;border-radius:.15rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.markdown hr{height:1px;border:none;background:#e9ecef}.markdown ul,.markdown ol{padding-left:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-left:2rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-right:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-left:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden}.book-expand .book-expand-head{background:#f8f9fa;padding:.5rem 1rem;cursor:pointer}.book-expand .book-expand-content{display:none;padding:1rem}.book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid #f8f9fa;padding:1rem;display:none}.book-tabs input[type=radio]:checked+label{border-bottom:1px solid #05b}.book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.book-columns{margin-left:-1rem;margin-right:-1rem}.book-columns>div{margin:1rem 0;min-width:12.5rem;padding:0 1rem}a.book-btn{display:inline-block;color:#05b!important;text-decoration:none!important;border:1px solid #05b;border-radius:.15rem;padding:.25rem 1rem;margin-top:.5rem;margin-bottom:.5rem;cursor:pointer}.book-hint.info{border-left-color:#6bf;background-color:rgba(102,187,255,.1)}.book-hint.warning{border-left-color:#fd6;background-color:rgba(255,221,102,.1)}.book-hint.danger{border-left-color:#f66;background-color:rgba(255,102,102,.1)}
\ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json b/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json index d6c7c09..a7f5f84 100644 --- a/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json +++ b/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json @@ -1 +1 @@ -{"Target":"book.min.327a7346ed65bd45e7889adff447f01f212a1b54dbf3c12139d26b63b077108f.css","MediaType":"text/css","Data":{"Integrity":"sha256-MnpzRu1lvUXniJrf9EfwHyEqG1Tb88EhOdJrY7B3EI8="}}
\ No newline at end of file +{"Target":"book.min.232a19b11d60be2ef65e25692295b4ba14eb16031dc765d576d62c9a1f4312e6.css","MediaType":"text/css","Data":{"Integrity":"sha256-IyoZsR1gvi72XiVpIpW0uhTrFgMdx2XVdtYsmh9DEuY="}}
\ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.content b/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.content index 4b30bb5..9ea1ba6 100644 --- a/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.content +++ b/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.content @@ -1 +1 @@ -/*!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}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}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.hidden{display:none}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:20rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#05b}a:visited{color:#8440f1}img{vertical-align:baseline}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}.levels-1 ul ul,.levels-2 ul ul ul,.levels-3 ul ul ul ul,.levels-4 ul ul ul ul ul,.levels-5 ul ul ul ul ul ul,.levels-6 ul ul ul ul ul ul ul{display:none}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:none}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-right:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:inherit}.book-menu a.active{color:#05b}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span{font-weight:bolder}.book-section-flat>ul{padding-left:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{margin-bottom:1rem;display:none}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search::after{display:block;content:"";clear:both}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:#f8f9fa;color:#343a40}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;margin:.5rem;right:0;top:0;width:1rem;height:1rem;border:1px solid transparent;border-top-color:#343a40;border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{display:flex;padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-right:.5rem}#disqus_thread{padding-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages:hover .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:0;left:0;padding:.5rem 0;background:#fff;box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li{padding:.5rem 1rem;white-space:nowrap}.book-languages .book-languages-list img{opacity:.1}.book-languages .book-languages-list li.active img{opacity:1}.book-languages .book-languages-list a{color:inherit}.book-languages ul{margin:0;padding:0;list-style:none}.book-home{padding:1rem}aside nav,.book-page,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity;will-change:transform,margin}@media screen and (max-width:57rem){.book-menu{margin-left:-16rem;font-size:16px}.book-toc{margin-right:-16rem;font-size:16px}.book-header{display:flex}#menu-control:checked~main .book-menu #BookMenu,#menu-control:checked~main .book-page{transform:translateX(16rem)}#menu-control:checked~main .markdown{opacity:.25}#menu-control:checked~main .book-header #menu-control{transform:rotate(90deg)}#toc-control:checked~main aside #TableOfContents,#toc-control:checked~main .book-page{transform:translateX(-16rem)}#toc-control:checked~main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:italic;font-weight:300;font-display:swap;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(fonts/roboto-v19-latin-300italic.woff2)format("woff2"),url(fonts/roboto-v19-latin-300italic.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2)format("woff2"),url(fonts/roboto-v19-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/roboto-v19-latin-700.woff2)format("woff2"),url(fonts/roboto-v19-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(fonts/roboto-mono-v6-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v6-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer{display:none}main{flex-direction:column-reverse}.book-toc{flex:none}.book-toc nav{position:relative;width:auto}}.markdown{line-height:1.6em}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1em;margin-top:1.5em;margin-bottom:1rem}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:#e9ecef;border-radius:.15rem;font-size:.875em}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:.25rem solid #e9ecef;border-radius:.15rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.markdown hr{height:1px;border:none;background:#e9ecef}.markdown ul,.markdown ol{padding-left:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-left:2rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-right:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-left:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden}.book-expand .book-expand-head{background:#f8f9fa;padding:.5rem 1rem;cursor:pointer}.book-expand .book-expand-content{display:none;padding:1rem}.book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid #f8f9fa;padding:1rem;display:none}.book-tabs input[type=radio]:checked+label{border-bottom:1px solid #05b}.book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.book-columns{margin-left:-1rem;margin-right:-1rem}.book-columns>div{margin:1rem 0;min-width:13.2rem;padding:0 1rem}a.book-btn{display:inline-block;color:#05b!important;text-decoration:none!important;border:1px solid #05b;border-radius:.15rem;padding:.25rem 1rem;margin-top:.5rem;margin-bottom:.5rem;cursor:pointer}.book-hint.info{border-left-color:#6bf;background-color:rgba(102,187,255,.1)}.book-hint.warning{border-left-color:#fd6;background-color:rgba(255,221,102,.1)}.book-hint.danger{border-left-color:#f66;background-color:rgba(255,102,102,.1)}
\ No newline at end of file +/*!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}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}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.hidden{display:none}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:25rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#05b}a:visited{color:#8440f1}img{vertical-align:baseline}label{line-height:0}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}.levels-1 ul ul,.levels-2 ul ul ul,.levels-3 ul ul ul ul,.levels-4 ul ul ul ul ul,.levels-5 ul ul ul ul ul ul,.levels-6 ul ul ul ul ul ul ul{display:none}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:none}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-right:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:inherit}.book-menu a.active{color:#05b}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span{font-weight:bolder}.book-section-flat>ul{padding-left:0}.book-page{min-width:25rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search::after{display:block;content:"";clear:both}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:#f8f9fa;color:#343a40}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;margin:.5rem;right:0;top:0;width:1rem;height:1rem;border:1px solid transparent;border-top-color:#343a40;border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-right:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages:hover .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:0;left:0;padding:.5rem 0;background:#fff;box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li{padding:.5rem 1rem;white-space:nowrap}.book-languages .book-languages-list img{opacity:.1}.book-languages .book-languages-list li.active img{opacity:1}.book-languages .book-languages-list a{color:inherit}.book-languages ul{margin:0;padding:0;list-style:none}.book-home{padding:1rem}aside nav,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity;will-change:transform,margin}@media screen and (max-width:57rem){.book-menu{margin-left:-16rem;font-size:16px}.book-toc{display:none}.book-header{display:block}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page{transform:translateX(16rem)}#menu-control:checked+main .book-header aside,#menu-control:checked+main .markdown{opacity:.25}#toc-control:checked+aside{display:block}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:italic;font-weight:300;font-display:swap;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(fonts/roboto-v19-latin-300italic.woff2)format("woff2"),url(fonts/roboto-v19-latin-300italic.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2)format("woff2"),url(fonts/roboto-v19-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/roboto-v19-latin-700.woff2)format("woff2"),url(fonts/roboto-v19-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(fonts/roboto-mono-v6-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v6-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6em}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1em;margin-top:1.5em;margin-bottom:1rem}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:#e9ecef;border-radius:.15rem;font-size:.875em}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:.25rem solid #e9ecef;border-radius:.15rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.markdown hr{height:1px;border:none;background:#e9ecef}.markdown ul,.markdown ol{padding-left:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-left:2rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-right:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-left:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden}.book-expand .book-expand-head{background:#f8f9fa;padding:.5rem 1rem;cursor:pointer}.book-expand .book-expand-content{display:none;padding:1rem}.book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid #f8f9fa;padding:1rem;display:none}.book-tabs input[type=radio]:checked+label{border-bottom:1px solid #05b}.book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.book-columns{margin-left:-1rem;margin-right:-1rem}.book-columns>div{margin:1rem 0;min-width:16.5rem;padding:0 1rem}a.book-btn{display:inline-block;color:#05b!important;text-decoration:none!important;border:1px solid #05b;border-radius:.15rem;padding:.25rem 1rem;margin-top:.5rem;margin-bottom:.5rem;cursor:pointer}.book-hint.info{border-left-color:#6bf;background-color:rgba(102,187,255,.1)}.book-hint.warning{border-left-color:#fd6;background-color:rgba(255,221,102,.1)}.book-hint.danger{border-left-color:#f66;background-color:rgba(255,102,102,.1)}
\ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.json b/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.json index 5cda449..f622696 100644 --- a/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.json +++ b/exampleSite/resources/_gen/assets/scss/book/book.scss_50fc8c04e12a2f59027287995557ceff.json @@ -1 +1 @@ -{"Target":"book.min.2f0632dc31655f852f191d7c354e584af6f6ca239af70afdd117bbe5950815b2.css","MediaType":"text/css","Data":{"Integrity":"sha256-LwYy3DFlX4UvGR18NU5YSvb2yiOa9wr90Re75ZUIFbI="}}
\ No newline at end of file +{"Target":"book.min.651109bd6f1663cae20024e8b68d60fd4127eade8c26dfdc236a797a99163647.css","MediaType":"text/css","Data":{"Integrity":"sha256-ZREJvW8WY8riACToto1g/UEn6t6MJt/cI2p5epkWNkc="}}
\ No newline at end of file diff --git a/i18n/cn.yaml b/i18n/cn.yaml index c22d4cf..52e80c5 100644 --- a/i18n/cn.yaml +++ b/i18n/cn.yaml @@ -7,6 +7,9 @@ - id: Last modified by translation: Last modified by +- id: Expand + translation: Expand + - id: bookSearchConfig translation: | { diff --git a/i18n/en.yaml b/i18n/en.yaml index c5154df..94b9c77 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -7,5 +7,8 @@ - id: Last modified by translation: Last modified by +- id: Expand + translation: Expand + - id: bookSearchConfig translation: '{ cache: true }' diff --git a/i18n/es.yaml b/i18n/es.yaml index 7c24154..db4da60 100644 --- a/i18n/es.yaml +++ b/i18n/es.yaml @@ -7,5 +7,8 @@ - id: Last modified by translation: Última modificación por +- id: Expand + translation: Expand + - id: bookSearchConfig translation: '{ cache: true }' diff --git a/i18n/jp.yaml b/i18n/jp.yaml index bb9849b..5c1fdb0 100644 --- a/i18n/jp.yaml +++ b/i18n/jp.yaml @@ -7,6 +7,9 @@ - id: Last modified by translation: Last modified by +- id: Expand + translation: Expand + - id: bookSearchConfig translation: | { diff --git a/i18n/ko.yaml b/i18n/ko.yaml index bb9849b..5c1fdb0 100644 --- a/i18n/ko.yaml +++ b/i18n/ko.yaml @@ -7,6 +7,9 @@ - id: Last modified by translation: Last modified by +- id: Expand + translation: Expand + - id: bookSearchConfig translation: | { diff --git a/i18n/ru.yaml b/i18n/ru.yaml index 9501165..1e4d124 100644 --- a/i18n/ru.yaml +++ b/i18n/ru.yaml @@ -2,10 +2,13 @@ translation: Поиск - id: Edit this page - translation: Редактировать эту сраницу + translation: Редактировать - id: Last modified by translation: Last modified by +- id: Expand + translation: Развернуть + - id: bookSearchConfig translation: '{ split: /[^a-zа-яё0-9\w]/gi }' diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index a2eb80e..a9c4da1 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -7,24 +7,69 @@ </head> <body> - <input type="checkbox" class="hidden" id="toc-control" /> <input type="checkbox" class="hidden" id="menu-control" /> - <main class="container"> - {{ template "toc" . }} + <main class="container flex"> + <aside class="book-menu"> + {{ template "menu" . }} <!-- Left menu Content --> + </aside> <div class="book-page"> - {{ partial "docs/mobile-header" . }} - {{ template "main" . }} - {{ partial "docs/footer" . }} + <header class="book-header"> + {{ template "header" . }} <!-- Mobile layout header --> + </header> + + {{ template "main" . }} <!-- Page Content --> + + <footer class="book-footer"> + {{ template "footer" . }} <!-- Footer under page content --> + {{ template "comments" . }} <!-- Comments block --> + </footer> {{ partial "docs/inject/footer" . }} </div> - <aside class="book-menu fixed"> - {{ partial "docs/menu" . }} + {{ if default true (default .Site.Params.BookToC .Params.BookToC) }} + <aside class="book-toc"> + {{ template "toc" . }} <!-- Table of Contents --> </aside> + {{ end }} </main> {{ partial "docs/inject/body" . }} </body> </html> + +{{ define "menu" }} + {{ partial "docs/menu" . }} +{{ end }} + +{{ define "header" }} + {{ partial "docs/header" . }} + + {{ if default true (default .Site.Params.BookToC .Params.BookToC) }} + <input type="checkbox" class="hidden" id="toc-control" /> + <aside class="hidden clearfix"> + {{ template "toc" . }} + </aside> + {{ end }} +{{ end }} + +{{ define "footer" }} + {{ partial "docs/footer" . }} +{{ end }} + +{{ define "comments" }} + {{ if and .Content (default true (default .Site.Params.BookComments .Params.BookComments)) }} + <div class="book-comments"> + {{- partial "docs/comments" . -}} + </div> + {{ end }} +{{ end }} + +{{ define "main" }} + {{ .Content }} +{{ end }} + +{{ define "toc" }} + {{ .TableOfContents }} +{{ end }} diff --git a/layouts/partials/docs/brand.html b/layouts/partials/docs/brand.html index 7d3ca3a..3fab74b 100644 --- a/layouts/partials/docs/brand.html +++ b/layouts/partials/docs/brand.html @@ -1,5 +1,5 @@ <h2 class="book-brand"> - <a href="{{ .Site.BaseURL }}"> + <a href="{{ .Site.BaseURL | relLangURL }}"> {{- with .Site.Params.BookLogo -}} <img src="{{ . | relURL }}" alt="Logo" /> {{- end -}} diff --git a/layouts/partials/docs/footer.html b/layouts/partials/docs/footer.html index 0665f86..f9ca80d 100644 --- a/layouts/partials/docs/footer.html +++ b/layouts/partials/docs/footer.html @@ -1,33 +1,24 @@ -<div class="book-footer justify-between"> - {{ if .Site.IsMultiLingual }} +<div class="flex justify-between"> +{{ if .Site.IsMultiLingual }} {{ partial "docs/languages" . }} - {{ end }} +{{ end }} - {{ if and .GitInfo .Site.Params.BookRepo }} - {{ with .GitInfo }} +{{ if and .GitInfo .Site.Params.BookRepo }} <div> - {{ $date := .AuthorDate.Local.Format (default "January 2, 2006" $.Site.Params.BookDateFormat) }} - <a class="flex align-center" href="{{ $.Site.Params.BookRepo }}/commit/{{ .Hash }}" title='{{ i18n "Last modified by" }} {{ .AuthorName }} | {{ $date }}' target="_blank"> + {{ $date := .GitInfo.AuthorDate.Local.Format (default "January 2, 2006" .Site.Params.BookDateFormat) }} + <a class="flex align-center" href="{{ .Site.Params.BookRepo }}/commit/{{ .GitInfo.Hash }}" title='{{ i18n "Last modified by" }} {{ .GitInfo.AuthorName }} | {{ $date }}' target="_blank" rel="noopener"> <img src="{{ "svg/calendar.svg" | relURL }}" class="book-icon" alt="Calendar" /> <span>{{ $date }}</span> </a> </div> - {{ end }} - {{ end }} +{{ end }} - {{ if and .File .Site.Params.BookRepo .Site.Params.BookEditPath }} +{{ if and .File .Site.Params.BookRepo .Site.Params.BookEditPath }} <div> - <a class="flex align-center" href="{{ .Site.Params.BookRepo }}/{{ .Site.Params.BookEditPath }}/{{ replace .File.Path "\\" "/" }}" target="_blank"> + <a class="flex align-center" href="{{ .Site.Params.BookRepo }}/{{ .Site.Params.BookEditPath }}/{{ replace .File.Path "\\" "/" }}" target="_blank" rel="noopener"> <img src="{{ "svg/edit.svg" | relURL }}" class="book-icon" alt="Edit" /> <span>{{ i18n "Edit this page" }}</span> </a> </div> - {{ end }} - -</div> - -{{ if (default true (default .Site.Params.BookComments .Params.bookComments)) }} -<div class="book-comments"> - {{ partial "docs/comments" . }} -</div> {{ end }} +</div> diff --git a/layouts/partials/docs/header.html b/layouts/partials/docs/header.html new file mode 100644 index 0000000..23834df --- /dev/null +++ b/layouts/partials/docs/header.html @@ -0,0 +1,11 @@ +<div class="flex align-center justify-between"> + <label for="menu-control"> + <img src="{{ "svg/menu.svg" | relURL }}" class="book-icon" alt="Menu" /> + </label> + + <strong>{{ partial "docs/title" . }}</strong> + + <label for="toc-control"> + <img src="{{ "svg/toc.svg" | relURL }}" class="book-icon" alt="Table of Contents" /> + </label> +</div> diff --git a/layouts/partials/docs/menu.html b/layouts/partials/docs/menu.html index 6e41096..0db676f 100644 --- a/layouts/partials/docs/menu.html +++ b/layouts/partials/docs/menu.html @@ -1,12 +1,12 @@ -<nav id="BookMenu"> +<nav> {{ partial "docs/brand" . }} {{ partial "docs/search" . }} {{ partial "docs/inject/menu-before" . }} {{ if .Site.Params.BookMenuBundle }} - {{ partial "docs/menu-bundle" . }} + {{ partial "docs/menu-bundle" . }} {{ else }} - {{ partial "docs/menu-filetree" . }} + {{ partial "docs/menu-filetree" . }} {{ end }} {{ partial "docs/inject/menu-after" . }} diff --git a/layouts/partials/docs/mobile-header.html b/layouts/partials/docs/mobile-header.html deleted file mode 100644 index 4212a8e..0000000 --- a/layouts/partials/docs/mobile-header.html +++ /dev/null @@ -1,8 +0,0 @@ -<header class="flex align-center justify-between book-header"> - <label id="menu-control" for="menu-control"> - <img src="{{ "svg/menu.svg" | relURL }}" class="book-icon" alt="Menu" /> - </label> - <label id="toc-control" for="toc-control"> - <strong>{{ partial "docs/title" . }}</strong> - </label> -</header> diff --git a/layouts/partials/docs/post-meta.html b/layouts/partials/docs/post-meta.html index 41221c7..c68ea95 100644 --- a/layouts/partials/docs/post-meta.html +++ b/layouts/partials/docs/post-meta.html @@ -1,4 +1,4 @@ -{{ $dateFormat := default "January 2, 2006" .Site.Params.BookDateFormat }} +{{ $dateFormat := (default "January 2, 2006" .Site.Params.BookDateFormat) }} {{ if or .Date .Params.tags }} <div> {{ with .Date}} @@ -6,10 +6,10 @@ {{ end }} {{ range $term, $_ := .Site.Taxonomies }} - {{ with $list := index $.Params $term }} + {{ with $list := $.Param $term }} <div> {{ range $n, $single := $list }}{{ if $n }}, {{ end }} - {{ with $.Site.GetPage (printf "/%s/%s" $term $single | urlize) }} + {{- with $.Site.GetPage (printf "/%s/%s" $term $single | urlize) }} <a href="{{ .RelPermalink }}">{{ .Title }}</a> {{- end }} {{- end }} diff --git a/layouts/partials/docs/taxonomy.html b/layouts/partials/docs/taxonomy.html index db82e4c..2ebeb82 100644 --- a/layouts/partials/docs/taxonomy.html +++ b/layouts/partials/docs/taxonomy.html @@ -1,4 +1,3 @@ -<aside class="book-toc fixed"> <nav> <ul> {{ range $term, $_ := .Site.Taxonomies }} @@ -17,4 +16,3 @@ {{ end }} </ul> </nav> -</aside> diff --git a/layouts/partials/docs/toc.html b/layouts/partials/docs/toc.html index 79bfc0a..64546ec 100644 --- a/layouts/partials/docs/toc.html +++ b/layouts/partials/docs/toc.html @@ -1,10 +1 @@ -{{ $tocLevels := default (default 6 .Site.Params.BookToC) .Params.BookToC }} -{{ if and $tocLevels .Page.TableOfContents }} - <aside class="book-toc levels-{{$tocLevels}} fixed"> - {{ with .Page.TableOfContents }} - <label id="toc-control" for="toc-control"> - {{ . }} - </label> - {{ end }} - </aside> -{{ end }} +{{ .TableOfContents }} diff --git a/layouts/shortcodes/expand.html b/layouts/shortcodes/expand.html index 4519767..1c0cb6b 100644 --- a/layouts/shortcodes/expand.html +++ b/layouts/shortcodes/expand.html @@ -1,7 +1,7 @@ <div class="book-expand"> <label> <div class="book-expand-head flex justify-between"> - <span>{{ default "Expand" (.Get 0) }}</span> + <span>{{ default (i18n "Expand") (.Get 0) }}</span> <span>{{ default "↕" (.Get 1) }}</span> </div> <input type="checkbox" class="hidden" /> diff --git a/static/svg/toc.svg b/static/svg/toc.svg new file mode 100644 index 0000000..1889904 --- /dev/null +++ b/static/svg/toc.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
\ No newline at end of file |