diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2019-11-10 00:23:06 +0100 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2019-11-16 20:35:23 +0100 |
commit | 05c3b8fac9bec7cf54fed20d93fac52e1e97ad97 (patch) | |
tree | 616345b1ec544000d9b3471852ac088bc8df382c | |
parent | 9cd378a2d27ad4c9cb2e46d12022e68e23f96ea7 (diff) |
Add language switch at bottom of page
-rw-r--r-- | assets/_main.scss | 48 | ||||
-rw-r--r-- | assets/_print.scss | 1 | ||||
-rw-r--r-- | exampleSite/config.toml | 3 | ||||
-rw-r--r-- | exampleSite/config.yaml | 3 | ||||
-rw-r--r-- | exampleSite/i18n/en.yaml | 6 | ||||
-rw-r--r-- | exampleSite/i18n/ru.yaml | 6 | ||||
-rw-r--r-- | exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content | 2 | ||||
-rw-r--r-- | exampleSite/resources/_gen/assets/scss/theme/hugo-book/book.scss_50fc8c04e12a2f59027287995557ceff.json | 1 | ||||
-rw-r--r-- | i18n/cn.yaml | 5 | ||||
-rw-r--r-- | i18n/en.yaml | 5 | ||||
-rw-r--r-- | i18n/ru.yaml | 5 | ||||
-rw-r--r-- | layouts/docs/baseof.html | 2 | ||||
-rw-r--r-- | layouts/partials/docs/footer.html (renamed from layouts/partials/docs/git-footer.html) | 3 | ||||
-rw-r--r-- | layouts/partials/docs/language-switch.html | 14 | ||||
-rw-r--r-- | layouts/partials/docs/languages.html | 32 | ||||
-rw-r--r-- | layouts/partials/docs/menu-filetree.html | 2 | ||||
-rw-r--r-- | layouts/partials/docs/menu.html | 5 | ||||
-rw-r--r-- | layouts/partials/docs/search.html | 2 | ||||
-rw-r--r-- | layouts/partials/docs/translation-switch.html | 14 | ||||
-rw-r--r-- | layouts/posts/baseof.html | 2 | ||||
-rw-r--r-- | static/svg/translate.svg | 1 |
21 files changed, 110 insertions, 52 deletions
diff --git a/assets/_main.scss b/assets/_main.scss index 3cfb66d..ce810dd 100644 --- a/assets/_main.scss +++ b/assets/_main.scss @@ -227,6 +227,54 @@ ul.pagination { } } + +.book-languages { + position: relative; + overflow: visible; + + padding: $padding-16; + margin: -$padding-16; + + &:hover .book-languages-list { + display: block; + } + + .book-languages-list { + display: none; + + position: absolute; + bottom: 0; + left: 0; + padding: $padding-8 0; + + background: $body-background; + box-shadow: 0 0 $padding-4 rgba(0, 0, 0, 0.1); + + li { + padding: $padding-8 $padding-16; + white-space: nowrap; + } + + img { + opacity: .1; + } + + li.active img { + opacity: 1; + } + + a { + color: inherit; + } + } + + ul { + margin: 0; + padding: 0; + list-style: none; + } +} + .book-posts { min-width: $body-min-width; max-width: $body-min-width * 2; diff --git a/assets/_print.scss b/assets/_print.scss index fca8312..387b4ff 100644 --- a/assets/_print.scss +++ b/assets/_print.scss @@ -1,4 +1,3 @@ -// Printing styles @media print { .book-menu, .book-footer { diff --git a/exampleSite/config.toml b/exampleSite/config.toml index a255c7d..db2bb08 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -23,6 +23,9 @@ defaultContentLanguage = 'en' [languages.ru] languageName = 'Russian' weight = 2 + [languages.cn] + languageName = 'Chinese' + weight = 3 [params] # (Optional, default 6) Set how many table of contents levels to be showed on page. diff --git a/exampleSite/config.yaml b/exampleSite/config.yaml index 5ed865e..720d5d3 100644 --- a/exampleSite/config.yaml +++ b/exampleSite/config.yaml @@ -23,6 +23,9 @@ languages: ru: languageName: Russian weight: 2 + cn: + languageName: Chinese + weight: 3 params: # (Optional, default 6) Set how many table of contents levels to be showed on page. diff --git a/exampleSite/i18n/en.yaml b/exampleSite/i18n/en.yaml deleted file mode 100644 index 93b0488..0000000 --- a/exampleSite/i18n/en.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# General -- id: translations - translation: Translations - -- id: languages - translation: Languages
\ No newline at end of file diff --git a/exampleSite/i18n/ru.yaml b/exampleSite/i18n/ru.yaml deleted file mode 100644 index 6584a39..0000000 --- a/exampleSite/i18n/ru.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# General -- id: translations - translation: Переводы - -- id: languages - translation: Языки
\ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content b/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content index c6e1644..6e28686 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}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-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-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-posts{min-width:20rem;max-width:40rem;flex-grow:1;padding:1rem}.book-posts article{padding-bottom:1rem}.book-home{padding:1rem}aside nav,.book-page,.book-posts,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}@media screen and (max-width:57rem){.book-toc{display:none}}@media screen and (max-width:36rem){.book-menu{margin-left:-16rem;font-size:16px}.book-header{display:flex}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page,#menu-control:checked+main .book-posts{transform:translateX(16rem)}#menu-control:checked+main .book-header label{transform:rotate(90deg)}#menu-control:checked+main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-posts,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:italic;font-weight:300;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;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;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;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 h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5{font-weight:400;line-height:1em;margin-top:1.5em;margin-bottom:1rem}.markdown>:first-child{margin-top:0}.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}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-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-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-posts{min-width:20rem;max-width:40rem;flex-grow:1;padding:1rem}.book-posts article{padding-bottom:1rem}.book-home{padding:1rem}aside nav,.book-page,.book-posts,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}@media screen and (max-width:57rem){.book-toc{display:none}}@media screen and (max-width:36rem){.book-menu{margin-left:-16rem;font-size:16px}.book-header{display:flex}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page,#menu-control:checked+main .book-posts{transform:translateX(16rem)}#menu-control:checked+main .book-header label{transform:rotate(90deg)}#menu-control:checked+main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-posts,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:italic;font-weight:300;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;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;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;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 h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5{font-weight:400;line-height:1em;margin-top:1.5em;margin-bottom:1rem}.markdown>:first-child{margin-top:0}.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)} diff --git a/exampleSite/resources/_gen/assets/scss/theme/hugo-book/book.scss_50fc8c04e12a2f59027287995557ceff.json b/exampleSite/resources/_gen/assets/scss/theme/hugo-book/book.scss_50fc8c04e12a2f59027287995557ceff.json new file mode 100644 index 0000000..ff08c21 --- /dev/null +++ b/exampleSite/resources/_gen/assets/scss/theme/hugo-book/book.scss_50fc8c04e12a2f59027287995557ceff.json @@ -0,0 +1 @@ +{"Target":"book.min.9655dddcbdb7746824f6a5a12c435a2fd6b9c5d6d7928958bf434d9563068728.css","MediaType":"text/css","Data":{"Integrity":"sha256-llXd3L23dGgk9qWhLENaL9a5xdbXkolYv0NNlWMGhyg="}}
\ No newline at end of file diff --git a/i18n/cn.yaml b/i18n/cn.yaml new file mode 100644 index 0000000..fbef15a --- /dev/null +++ b/i18n/cn.yaml @@ -0,0 +1,5 @@ +- id: Search + translation: 搜索 + +- id: Edit this page + translation: Edit this page diff --git a/i18n/en.yaml b/i18n/en.yaml new file mode 100644 index 0000000..5398302 --- /dev/null +++ b/i18n/en.yaml @@ -0,0 +1,5 @@ +- id: Search + translation: Search + +- id: Edit this page + translation: Edit this page diff --git a/i18n/ru.yaml b/i18n/ru.yaml new file mode 100644 index 0000000..8093dbc --- /dev/null +++ b/i18n/ru.yaml @@ -0,0 +1,5 @@ +- id: Search + translation: Поиск + +- id: Edit this page + translation: Редактировать эту сраницу diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html index 6ee6e40..38630a7 100644 --- a/layouts/docs/baseof.html +++ b/layouts/docs/baseof.html @@ -17,7 +17,7 @@ <div class="book-page"> {{ partial "docs/mobile-header" . }} {{ template "main" . }} - {{ partial "docs/git-footer" . }} + {{ partial "docs/footer" . }} {{ partial "docs/inject/footer" . }} </div> diff --git a/layouts/partials/docs/git-footer.html b/layouts/partials/docs/footer.html index bf3e4a7..15d1640 100644 --- a/layouts/partials/docs/git-footer.html +++ b/layouts/partials/docs/footer.html @@ -1,5 +1,6 @@ {{ if or .GitInfo .Site.Params.BookEditPath }} <div class="book-footer {{ if not .GitInfo }}justify-end{{ else }}justify-between{{ end }}"> + {{ partial "docs/languages" . }} {{ with .GitInfo }} <div> {{ $date := .AuthorDate.Local.Format (default "January 2, 2006" $.Site.Params.BookDateFormat) }} @@ -14,7 +15,7 @@ {{ if $.File }} <a class="flex align-center" href="{{ $.Site.Params.BookRepo }}/{{ . }}/{{ $.File.Path }}" target="_blank" rel="noopener"> <img src="{{ "svg/edit.svg" | relURL }}" alt="Edit" /> - <span>Edit this page</span> + <span>{{ i18n "Edit this page" }}</span> </a> {{ end }} </div> diff --git a/layouts/partials/docs/language-switch.html b/layouts/partials/docs/language-switch.html deleted file mode 100644 index 4a84ade..0000000 --- a/layouts/partials/docs/language-switch.html +++ /dev/null @@ -1,14 +0,0 @@ -{{ if .Site.IsMultiLingual }} -<ul> - <li class="book-section-flat"> - <span>{{ i18n "languages" }}</span> - <ul> - {{ range .Site.Home.AllTranslations -}} - <li> - <a href="{{ .Permalink }}" class="{{ if (eq $.Site.Language .Language ) }}active{{ end }}">{{ .Language.LanguageName }}</a> - </li> - {{- end }} - </ul> - </li> -</ul> -{{ end }} diff --git a/layouts/partials/docs/languages.html b/layouts/partials/docs/languages.html new file mode 100644 index 0000000..d905327 --- /dev/null +++ b/layouts/partials/docs/languages.html @@ -0,0 +1,32 @@ +{{ if .Site.IsMultiLingual }} +<!-- Merge home and current page translations --> +{{ $langs := dict }} +{{ range .Site.Home.AllTranslations }} + {{ $langs = merge $langs (dict .Language.Lang .) }} +{{ end }} +{{ range .Translations }} + {{ $langs = merge $langs (dict .Language.Lang .) }} +{{ end }} + +<div class="book-languages"> + + <ul> + <li class="flex"> + <img src="{{ "svg/translate.svg" | relURL }}" /> + {{ $.Site.Language.LanguageName }} + </li> + </ul> + + <ul class="book-languages-list"> + {{ range sort $langs }} + <li class="{{ if (eq $.Site.Language .Language ) }}active{{ end }}"> + <a href="{{ .Permalink }}" class="flex"> + <img src="{{ "svg/translate.svg" | relURL }}" /> + {{ .Language.LanguageName }} + </a> + </li> + {{ end }} + </ul> + +</div> +{{ end }} diff --git a/layouts/partials/docs/menu-filetree.html b/layouts/partials/docs/menu-filetree.html index c917828..30fc2ce 100644 --- a/layouts/partials/docs/menu-filetree.html +++ b/layouts/partials/docs/menu-filetree.html @@ -15,7 +15,7 @@ {{ end }} {{ else }} <ul> - {{ range where $sections "Params.bookhidden" "!=" true }} + {{ range where $sections "Params.bookHidden" "!=" true }} {{ template "book-section" (dict "Section" . "CurrentPage" $) }} {{ end }} </ul> diff --git a/layouts/partials/docs/menu.html b/layouts/partials/docs/menu.html index 3d04b04..6a72ac9 100644 --- a/layouts/partials/docs/menu.html +++ b/layouts/partials/docs/menu.html @@ -10,11 +10,6 @@ {{ end }} {{ partial "docs/inject/menu-after" . }} - -{{ if .Site.IsMultiLingual }} - {{ partial "docs/translation-switch" . }} - {{ partial "docs/language-switch" . }} -{{ end }} </nav> <!-- Restore menu position as soon as possible to avoid flickering --> diff --git a/layouts/partials/docs/search.html b/layouts/partials/docs/search.html index 17a14eb..5c8b912 100644 --- a/layouts/partials/docs/search.html +++ b/layouts/partials/docs/search.html @@ -1,6 +1,6 @@ {{ if default true .Site.Params.BookSearch }} <div class="book-search"> - <input type="text" placeholder="Search" id="book-search-input" maxlength="64" /> + <input type="text" placeholder="{{ i18n "Search" }}" id="book-search-input" maxlength="64" /> <div class="book-search-spinner spinner hidden"></div> <ul id="book-search-results"></ul> </div> diff --git a/layouts/partials/docs/translation-switch.html b/layouts/partials/docs/translation-switch.html deleted file mode 100644 index 4ad0f1a..0000000 --- a/layouts/partials/docs/translation-switch.html +++ /dev/null @@ -1,14 +0,0 @@ -{{ if .IsTranslated }} -<ul> - <li class="book-section-flat"> - <span>{{ i18n "translations" }}</span> - <ul> - {{ range .Translations }} - <li> - <a href="{{ .Permalink }}">{{ .Lang }}: {{ .Title }}{{ if .IsPage }} ({{ i18n "wordCount" . }}){{ end }}</a> - </li> - {{ end }} - </ul> - </li> -</ul> -{{ end }}
\ No newline at end of file diff --git a/layouts/posts/baseof.html b/layouts/posts/baseof.html index c58d552..9777d48 100644 --- a/layouts/posts/baseof.html +++ b/layouts/posts/baseof.html @@ -17,7 +17,7 @@ <div class="book-posts"> {{ partial "docs/mobile-header" . }} {{ template "main" . }} - {{ partial "docs/git-footer" . }} + {{ partial "docs/footer" . }} {{ partial "docs/inject/footer" . }} </div> diff --git a/static/svg/translate.svg b/static/svg/translate.svg new file mode 100644 index 0000000..a1bbe16 --- /dev/null +++ b/static/svg/translate.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"/></svg>
\ No newline at end of file |