From 271c944930983a143992d1b2c9f0ff376710c032 Mon Sep 17 00:00:00 2001 From: Noel Welsh <noel@noelwelsh.com> Date: Mon, 5 Feb 2024 15:31:11 +0000 Subject: [PATCH] Fix footer - Copyright date is updated to when this new book started (2022) - Inner Product is the publisher - Styling for footer - Include license - Give attribution to Scala with Cats --- src/meta/metadata.yaml | 2 +- src/scss/common/footer.scss | 57 +++++++++++++++++++ src/templates/images/inner-product-white.png | Bin 0 -> 6657 bytes 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/scss/common/footer.scss create mode 100644 src/templates/images/inner-product-white.png diff --git a/src/meta/metadata.yaml b/src/meta/metadata.yaml index fc772b24..c193b093 100644 --- a/src/meta/metadata.yaml +++ b/src/meta/metadata.yaml @@ -4,7 +4,7 @@ subtitle: "In Scala with Cats" author: "Noel Welsh" date: "February 2024" tocDepth: 1 -copyright: "2014-24" +copyright: "2022-24" figPrefixTemplate: "$$i$$" eqnPrefixTemplate: "$$i$$" tblPrefixTemplate: "$$i$$" diff --git a/src/scss/common/footer.scss b/src/scss/common/footer.scss new file mode 100644 index 00000000..875be133 --- /dev/null +++ b/src/scss/common/footer.scss @@ -0,0 +1,57 @@ +footer { + margin-top: 2 * $spacer; + padding: 4 * $spacer 0; + + background: $primary; + color: $white; + + a { color: $white; } + + h1,h2,h3,h4,h5,h6 { + color: $white; + } + + .footer-brand { + margin: 0; + } + + .sitemap { + margin: 0 0 $line-height-computed; + + font-size: .9em; + + ul { + margin: 0; + } + + li { + text-align: center; + } + + h5 { + margin-top: $line-height-computed; + text-align: center; + a { font-weight: bold; } + } + + a { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: #fff; + font-weight: 200; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } + } + + .small { + margin: 0 0 $line-height-computed; + font-size: .8em; + font-weight: 200; + } +} diff --git a/src/templates/images/inner-product-white.png b/src/templates/images/inner-product-white.png new file mode 100644 index 0000000000000000000000000000000000000000..c97b7a7b5c4b8e6b262a832963cd5b2278245092 GIT binary patch literal 6657 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 LNkvXXu0mjfSP%J7 literal 0 HcmV?d00001