From 60deebbd5002aca357baab5212f69ccb9a996e65 Mon Sep 17 00:00:00 2001 From: Solly Ross Date: Wed, 4 Mar 2020 16:07:48 -0800 Subject: [PATCH] Add logos to book This adds logos to the book (favicon and header). Canonical sources are available in a GCS bucket. This also splits up the css while we're at it to be better organized. --- docs/book/book.toml | 1 + docs/book/install-and-build.sh | 3 +- docs/book/src/logos/README.md | 12 + docs/book/src/logos/favicon.png | Bin 0 -> 2811 bytes docs/book/src/logos/logo-single-line.png | Bin 0 -> 4275 bytes docs/book/theme/css/custom.css | 3 + .../theme/css/{general.css => markers.css} | 144 --------- docs/book/theme/index.hbs | 291 ++++++++++++++++++ 8 files changed, 309 insertions(+), 145 deletions(-) create mode 100644 docs/book/src/logos/README.md create mode 100644 docs/book/src/logos/favicon.png create mode 100644 docs/book/src/logos/logo-single-line.png create mode 100644 docs/book/theme/css/custom.css rename docs/book/theme/css/{general.css => markers.css} (73%) create mode 100644 docs/book/theme/index.hbs diff --git a/docs/book/book.toml b/docs/book/book.toml index 357c1ddf883..7aadb547fc5 100644 --- a/docs/book/book.toml +++ b/docs/book/book.toml @@ -7,6 +7,7 @@ title = "The Kubebuilder Book" [output.html] google-analytics = "UA-119864590-1" curly-quotes = true +additional-css = ["theme/css/markers.css", "theme/css/custom.css"] [preprocessor.literatego] command = "./litgo.sh" diff --git a/docs/book/install-and-build.sh b/docs/book/install-and-build.sh index 2a5e9706031..5587325ae6d 100755 --- a/docs/book/install-and-build.sh +++ b/docs/book/install-and-build.sh @@ -63,4 +63,5 @@ gobin=$(go env GOBIN) gobin=${GOBIN:-$(go env GOPATH)/bin} # GOBIN won't always be set :-/ export PATH=${gobin}:$PATH -/tmp/mdbook build +verb=${1:-build} +/tmp/mdbook ${verb} diff --git a/docs/book/src/logos/README.md b/docs/book/src/logos/README.md new file mode 100644 index 00000000000..45301b42527 --- /dev/null +++ b/docs/book/src/logos/README.md @@ -0,0 +1,12 @@ +# KubeBuilder Logos + +The official location for the logos is in a [public GCS +bucket][kb-logos-gcs] (or if you like GCS XML listings, +[here][kb-logos-gcs-direct]). + +These logos are copies used in the book, resized to their appropriate +sizes. + +[kb-logos-gcs]: https://console.cloud.google.com/storage/browser/kubebuilder-logos + +[kb-logos-gcs-direct]: https://storage.googleapis.com/kubebuilder-logos diff --git a/docs/book/src/logos/favicon.png b/docs/book/src/logos/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..f3587603e3cd30ebae61ed0f449663b4225ce53a GIT binary patch literal 2811 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 VFfd2yNPYkS002ovPDHLkV1jKm8$bX6 literal 0 HcmV?d00001 diff --git a/docs/book/theme/css/custom.css b/docs/book/theme/css/custom.css new file mode 100644 index 00000000000..16e3b210e95 --- /dev/null +++ b/docs/book/theme/css/custom.css @@ -0,0 +1,3 @@ +.menu-title img { + vertical-align: bottom; +} diff --git a/docs/book/theme/css/general.css b/docs/book/theme/css/markers.css similarity index 73% rename from docs/book/theme/css/general.css rename to docs/book/theme/css/markers.css index 0b7d9a75b27..67b74870b2c 100644 --- a/docs/book/theme/css/general.css +++ b/docs/book/theme/css/markers.css @@ -1,147 +1,3 @@ -/* Base styles and content styles */ - -@import 'variables.css'; - -html { - font-family: "Open Sans", sans-serif; - color: var(--fg); - background-color: var(--bg); - text-size-adjust: none; -} - -body { - margin: 0; - font-size: 1rem; - overflow-x: hidden; -} - -code { - font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; - font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */ -} - -.left { float: left; } -.right { float: right; } -.hidden { display: none; } -.play-button.hidden { display: none; } - -h2, h3 { margin-top: 2.5em; } -h4, h5 { margin-top: 2em; } - -.header + .header h3, -.header + .header h4, -.header + .header h5 { - margin-top: 1em; -} - -a.header:target h1:before, -a.header:target h2:before, -a.header:target h3:before, -a.header:target h4:before { - display: inline-block; - content: "ยป"; - margin-left: -30px; - width: 30px; -} - -.page { - outline: 0; - padding: 0 var(--page-padding); -} -.page-wrapper { - box-sizing: border-box; -} -.js .page-wrapper { - transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ -} - -.content { - overflow-y: auto; - padding: 0 15px; - padding-bottom: 50px; -} -.content main { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); -} -.content a { text-decoration: none; } -.content a:hover { text-decoration: underline; } -.content img { max-width: 100%; } -.content .header:link, -.content .header:visited { - color: var(--fg); -} -.content .header:link, -.content .header:visited:hover { - text-decoration: none; -} - -table { - margin: 0 auto; - border-collapse: collapse; -} -table td { - padding: 3px 20px; - border: 1px var(--table-border-color) solid; -} -table thead { - background: var(--table-header-bg); -} -table thead td { - font-weight: 700; - border: none; -} -table thead tr { - border: 1px var(--table-header-bg) solid; -} -/* Alternate background colors for rows */ -table tbody tr:nth-child(2n) { - background: var(--table-alternate-bg); -} - - -blockquote { - margin: 20px 0; - padding: 0 20px; - color: var(--fg); - background-color: var(--quote-bg); - border-top: .1em solid var(--quote-border); - border-bottom: .1em solid var(--quote-border); -} - - -:not(.footnote-definition) + .footnote-definition, -.footnote-definition + :not(.footnote-definition) { - margin-top: 2em; -} -.footnote-definition { - font-size: 0.9em; - margin: 0.5em 0; -} -.footnote-definition p { - display: inline; -} - -.tooltiptext { - position: absolute; - visibility: hidden; - color: #fff; - background-color: #333; - transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ - left: -8px; /* Half of the width of the icon */ - top: -35px; - font-size: 0.8em; - text-align: center; - border-radius: 6px; - padding: 5px 8px; - margin: 5px; - z-index: 1000; -} -.tooltipped .tooltiptext { - visibility: visible; -} - /* From here on out is custom stuff */ /* marker docs styles */ diff --git a/docs/book/theme/index.hbs b/docs/book/theme/index.hbs new file mode 100644 index 00000000000..9b5f8007f17 --- /dev/null +++ b/docs/book/theme/index.hbs @@ -0,0 +1,291 @@ + + + + + + + {{ title }} + {{#if is_print }} + + {{/if}} + + + + + + + + + + + + + + + + + + + + + + + + {{#each additional_css}} + + {{/each}} + + {{#if mathjax_support}} + + + {{/if}} + + + + + + + + + + + + + + + + +
+ +
+ {{> header}} + + + {{#if search_enabled}} + + {{/if}} + + + + +
+
+ {{{ content }}} +
+ + +
+
+ + + +
+ + {{#if livereload}} + + + {{/if}} + + {{#if google_analytics}} + + + {{/if}} + + {{#if playpen_line_numbers}} + + {{/if}} + + {{#if playpen_copyable}} + + {{/if}} + + {{#if playpen_js}} + + + + + + {{/if}} + + {{#if search_js}} + + + + {{/if}} + + + + + + + {{#each additional_js}} + + {{/each}} + + {{#if is_print}} + {{#if mathjax_support}} + + {{else}} + + {{/if}} + {{/if}} + + +