From b01593554d7d15cbdd10219a82f5924bfebe12e8 Mon Sep 17 00:00:00 2001 From: Lukas Drbal Date: Sun, 25 Oct 2020 12:26:43 +0100 Subject: [PATCH] [WIP] doc infra --- .github/workflows/deploy-snapshot.sh | 3 +- .github/workflows/snapshot.yml | 4 + .gitmodules | 3 + .travis.yml | 3 +- docs/license-header-spotless.txt | 1 + docs/license-header.txt | 1 + docs/pom.xml | 87 ++++++++++++++++++ docs/src/archetypes/default.md | 6 ++ docs/src/config.yaml | 63 +++++++++++++ docs/src/content/_index.md | 1 + docs/src/content/docs/index.md | 5 + docs/src/content/license.md | 19 ++++ docs/src/content/menu/index.md | 8 ++ docs/src/public | 1 + ...s_50fc8c04e12a2f59027287995557ceff.content | 1 + ...scss_50fc8c04e12a2f59027287995557ceff.json | 1 + docs/src/static/favicon.png | Bin 0 -> 4918 bytes docs/src/themes/book | 1 + pom.xml | 1 + 19 files changed, 207 insertions(+), 2 deletions(-) create mode 100644 .gitmodules create mode 120000 docs/license-header-spotless.txt create mode 120000 docs/license-header.txt create mode 100644 docs/pom.xml create mode 100644 docs/src/archetypes/default.md create mode 100644 docs/src/config.yaml create mode 100644 docs/src/content/_index.md create mode 100644 docs/src/content/docs/index.md create mode 100644 docs/src/content/license.md create mode 100644 docs/src/content/menu/index.md create mode 120000 docs/src/public create mode 100644 docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content create mode 100644 docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json create mode 100644 docs/src/static/favicon.png create mode 160000 docs/src/themes/book diff --git a/.github/workflows/deploy-snapshot.sh b/.github/workflows/deploy-snapshot.sh index eb065e62d..310bd6306 100755 --- a/.github/workflows/deploy-snapshot.sh +++ b/.github/workflows/deploy-snapshot.sh @@ -27,9 +27,10 @@ export GOOGLE_APPLICATION_CREDENTIALS=/tmp/google-credentials.json RESUME="" if echo ${VERSION} | grep SNAPSHOT >/dev/null && echo ${GITHUB_REPOSITORY} | grep O2-Czech-Republic >/dev/null; then + git submodule update TRY=0 while [ $TRY -lt 3 ]; do - CMD="mvn deploy -DskipTests -Prelease-snapshot -Pallow-snapshots" + CMD="mvn deploy -DskipTests -Prelease-snapshot -Pallow-snapshots -Pwith-doc" if [ ! -z "${RESUME}" ]; then CMD="${CMD} $(echo $RESUME | sed "s/.\+\(-rf .\+\)/\1/")" fi diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 5d23da9ee..14a33ee2f 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -30,6 +30,10 @@ jobs: uses: actions/setup-java@v1 with: java-version: 1.8 + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: 'latest' - name: Deploy with Maven env: MAVEN_SETTINGS: ${{ secrets.MAVEN_SETTINGS }} diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..e9854eaa6 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "docs/src/themes/book"] + path = docs/src/themes/book + url = https://github.com/alex-shpak/hugo-book diff --git a/.travis.yml b/.travis.yml index 50c5b5429..84ae61d4a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,7 @@ addons: apt: packages: - realpath + - hugo sonarcloud: organization: datadriven @@ -17,7 +18,7 @@ install: true before_script: - wget https://github.com/sormuras/bach/raw/master/install-jdk.sh script: - - mvn spotless:check -B -V && mvn install -B -V -Pallow-snapshots,with-coverage,travis -Dorg.slf4j.simpleLogger.log.org.apache.maven.plugins.shade=error || exit 1 + - mvn spotless:check -B -V && mvn install -B -V -Pallow-snapshots,with-coverage,travis,with-doc -Dorg.slf4j.simpleLogger.log.org.apache.maven.plugins.shade=error || exit 1 - export JAVA_HOME=$HOME/openjdk11 - chmod u+x $TRAVIS_BUILD_DIR/install-jdk.sh - $TRAVIS_BUILD_DIR/install-jdk.sh --feature 11 --target $JAVA_HOME diff --git a/docs/license-header-spotless.txt b/docs/license-header-spotless.txt new file mode 120000 index 000000000..077ffe5c5 --- /dev/null +++ b/docs/license-header-spotless.txt @@ -0,0 +1 @@ +../license-header-spotless.txt \ No newline at end of file diff --git a/docs/license-header.txt b/docs/license-header.txt new file mode 120000 index 000000000..9e0b4f073 --- /dev/null +++ b/docs/license-header.txt @@ -0,0 +1 @@ +../license-header.txt \ No newline at end of file diff --git a/docs/pom.xml b/docs/pom.xml new file mode 100644 index 000000000..f7e131b1a --- /dev/null +++ b/docs/pom.xml @@ -0,0 +1,87 @@ + + + + + platform-parent + cz.o2.proxima + 0.5-SNAPSHOT + + 4.0.0 + + proxima-docs + pom + + ${project.groupId}:${project.artifactId} + + https://proxima.datadriven.cz + 3.0.0 + + + + + with-doc + + + + org.codehaus.mojo + exec-maven-plugin + ${maven.exec.version} + + + build-doc + package + + exec + + + hugo + ${project.basedir}/src/ + + -b + ${proxima.doc.baseurl} + -F + -d + ${project.build.directory}/public/ + --buildDrafts + + + + + deploy-doc + deploy + + exec + + + hugo + ${project.basedir}/src/ + + deploy + + + + + + + + + + \ No newline at end of file diff --git a/docs/src/archetypes/default.md b/docs/src/archetypes/default.md new file mode 100644 index 000000000..00e77bd79 --- /dev/null +++ b/docs/src/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/docs/src/config.yaml b/docs/src/config.yaml new file mode 100644 index 000000000..d6d5ffd2c --- /dev/null +++ b/docs/src/config.yaml @@ -0,0 +1,63 @@ +# +# Copyright 2017-2020 O2 Czech Republic, a.s. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +baseURL: https://proxima.datadriven.cz +languageCode: en-us +title: Proxima platform +theme: book + +#googleAnalytics = "UA-XXXXXXXXX-X" + +# Needed for mermaid/katex shortcodes +markup: + goldmark: + renderer: + unsafe: true + tableOfContents: + startLevel: 1 + +languages: + en: + languageName: English + contentDir: content + weight: 1 + +menu: + # before: [] + after: + - name: "Github" + url: "https://github.com/datadrivencz/proxima-platform/" + weight: 10 + - name: "Hugo Themes" + url: "https://themes.gohugo.io/hugo-book/" + weight: 20 + + +enableGitInfo: true +params: + BookTheme: light + BookMenuBundle: /menu + BookRepo: https://github.com/datadrivencz/proxima-platform/ + BookEditPath: edit/master/docs/src/content +# BookComments: false + BookPortableLinks: true + BookServiceWorker: true + +deployment: + order: [".jpg$", ".gif$", ".png$"] + targets: + - name: proxima-doc + URL: "gs://proxima-docs?prefix=proxima-docs/" diff --git a/docs/src/content/_index.md b/docs/src/content/_index.md new file mode 100644 index 000000000..c447c8ba1 --- /dev/null +++ b/docs/src/content/_index.md @@ -0,0 +1 @@ +# Proxima platform documentation (WIP) \ No newline at end of file diff --git a/docs/src/content/docs/index.md b/docs/src/content/docs/index.md new file mode 100644 index 000000000..140c0220c --- /dev/null +++ b/docs/src/content/docs/index.md @@ -0,0 +1,5 @@ +--- +headless: false +draft: false +--- +## TEST \ No newline at end of file diff --git a/docs/src/content/license.md b/docs/src/content/license.md new file mode 100644 index 000000000..eede8d39e --- /dev/null +++ b/docs/src/content/license.md @@ -0,0 +1,19 @@ +--- +title: "License" +date: 2020-10-25T13:46:22+01:00 +draft: true +--- +**License** + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + diff --git a/docs/src/content/menu/index.md b/docs/src/content/menu/index.md new file mode 100644 index 000000000..6989107f3 --- /dev/null +++ b/docs/src/content/menu/index.md @@ -0,0 +1,8 @@ +--- +headless: true +draft: false +--- +- [Book Example]({{< relref "/" >}}) + - [Page One]({{< relref "/" >}}) + - [Page Two]({{< relref "/" >}}) +- [Blog]({{< relref "/" >}}) \ No newline at end of file diff --git a/docs/src/public b/docs/src/public new file mode 120000 index 000000000..19cf20c75 --- /dev/null +++ b/docs/src/public @@ -0,0 +1 @@ +../target/public/ \ No newline at end of file diff --git a/docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content b/docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content new file mode 100644 index 000000000..35725537f --- /dev/null +++ b/docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content @@ -0,0 +1 @@ +:root{--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-500: #adb5bd;--color-link: #0055bb;--color-visited-link: #8440f1;--body-background: white;--body-font-color: black;--icon-filter: none;--hint-color-info: #6bf;--hint-color-warning: #fd6;--hint-color-danger: #f66}/*!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}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;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:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}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:var(--icon-filter)}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;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 input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.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-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages ul{margin:0;padding:0;list-style:none}.book-languages ul li{white-space:nowrap;cursor:pointer}.book-languages:hover .book-languages-list,.book-languages:focus .book-languages-list,.book-languages:focus-within .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:100%;left:0;padding:.5rem 0;background:var(--body-background);box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li img{opacity:.25}.book-languages .book-languages-list li.active img,.book-languages .book-languages-list li:hover img{opacity:initial}.book-languages .book-languages-list a{color:inherit;padding:.5rem 1rem}.book-home{padding:1rem}aside nav,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu nav{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked+main .book-menu nav{transform:translateX(-16rem)}}@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.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.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 a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.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 var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:1rem;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json b/docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json new file mode 100644 index 000000000..fddc2e755 --- /dev/null +++ b/docs/src/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json @@ -0,0 +1 @@ +{"Target":"book.min.134b70e5316650a530cb42e4e8630b2a01d532bebfc0337028211175336e4806.css","MediaType":"text/css","Data":{"Integrity":"sha256-E0tw5TFmUKUwy0Lk6GMLKgHVMr6/wDNwKCERdTNuSAY="}} \ No newline at end of file diff --git a/docs/src/static/favicon.png b/docs/src/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae69842749007bfc8a58b37be1c913bc533354c5 GIT binary patch literal 4918 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 o+1Y=SBscheme tools utils-zookeeper + docs