From 51fb029ca27d67d7cd67352cdede45e5b25868f7 Mon Sep 17 00:00:00 2001 From: Christoph Cullmann Date: Sun, 14 Aug 2022 19:01:21 +0200 Subject: switch back to LoveIt, other theme is deprectated --- themes/LoveIt/assets/css/_core/_base.scss | 61 +++ themes/LoveIt/assets/css/_core/_footer.scss | 21 ++ themes/LoveIt/assets/css/_core/_header.scss | 468 ++++++++++++++++++++++++ themes/LoveIt/assets/css/_core/_layout.scss | 15 + themes/LoveIt/assets/css/_core/_media.scss | 80 ++++ themes/LoveIt/assets/css/_core/_pagination.scss | 91 +++++ themes/LoveIt/assets/css/_core/_variables.scss | 30 ++ 7 files changed, 766 insertions(+) create mode 100644 themes/LoveIt/assets/css/_core/_base.scss create mode 100644 themes/LoveIt/assets/css/_core/_footer.scss create mode 100644 themes/LoveIt/assets/css/_core/_header.scss create mode 100644 themes/LoveIt/assets/css/_core/_layout.scss create mode 100644 themes/LoveIt/assets/css/_core/_media.scss create mode 100644 themes/LoveIt/assets/css/_core/_pagination.scss create mode 100644 themes/LoveIt/assets/css/_core/_variables.scss (limited to 'themes/LoveIt/assets/css/_core') diff --git a/themes/LoveIt/assets/css/_core/_base.scss b/themes/LoveIt/assets/css/_core/_base.scss new file mode 100644 index 0000000..c559430 --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_base.scss @@ -0,0 +1,61 @@ +html { + font-family: var(--global-font-family); + font-weight: var(--global-font-weight); + font-display: swap; + font-size: var(--global-font-size); + line-height: var(--global-line-height); + width:100%; + + scroll-behavior: smooth; + + main [id] { + scroll-margin-top: calc(var(--header-height) + .5rem); + } + + h1 { + line-height: 125%; + } +} + +/* scrollbar, only support webkit */ +::-webkit-scrollbar { + width: .5rem; + height: .5rem; +} + +::-webkit-scrollbar-thumb { + background-color: $scrollbar-color; + + &:hover { + background-color: $scrollbar-hover-color; + } +} + +::selection { + background-color: $selection-color; + + [theme=dark] & { + background-color: $selection-color-dark; + } +} + +body { + background-color: $global-background-color; + color: $global-font-color; + @include overflow-wrap(break-word); + scrollbar-color: auto; + + &[theme=dark] { + color: $global-font-color-dark; + background-color: $global-background-color-dark; + } +} + +@include link(true, true); + +@import "../_partial/mask"; +@import "../_partial/img"; +@import "../_partial/icon"; +@import "../_partial/details"; +@import "../_partial/fixed-button"; +@import "../_partial/cookieconsent"; diff --git a/themes/LoveIt/assets/css/_core/_footer.scss b/themes/LoveIt/assets/css/_core/_footer.scss new file mode 100644 index 0000000..21a89e8 --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_footer.scss @@ -0,0 +1,21 @@ +footer { + height: 2rem; + width: 100%; + text-align: center; + line-height: 1.25rem; + padding: 1rem 0; + + .footer-container { + font-size: .875rem; + + .footer-line { + width: 100%; + + .icp-br { + display: none; + } + } + } + + @include blur; +} diff --git a/themes/LoveIt/assets/css/_core/_header.scss b/themes/LoveIt/assets/css/_core/_header.scss new file mode 100644 index 0000000..b17aa94 --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_header.scss @@ -0,0 +1,468 @@ +header { + width: 100%; + z-index: 150; + background-color: $header-background-color; + @include transition(box-shadow 0.3s ease); + + [theme=dark] & { + background-color: $header-background-color-dark; + } + + .logo { + min-height: 1.5em; + height: 1.5em; + vertical-align: text-bottom; + } + + .logo, .header-title-pre { + padding-right: .25rem; + } + + .header-title-post { + padding-left: .25rem; + } + + &:hover { + @include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, .1)); + } +} + +.header-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + width: 100%; +} + +.header-title { + font-family: var(--header-title-font-family); + font-weight: bold; + margin-right: .5rem; + min-width: 10%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + @include flex(10); +} + +.menu .menu-item { + position: relative; +} + +.language-select { + position: absolute; + opacity: 0; + left: 0; + top: 0; + width: 100%; + height: 100%; + + &:hover { + cursor: pointer; + } +} + +.search { + position: relative; + + input { + color: transparent; + box-sizing: border-box; + height: 2.5rem; + width: 2.5rem; + @include border-radius(.5rem); + border: none; + outline: none; + background-color: $header-background-color; + vertical-align: baseline !important; + @include transition(width 0.3s ease); + + [theme=dark] & { + background-color: $header-background-color-dark; + } + } + + @include placeholder(transparent); + + .search-button { + margin: 0; + position: absolute; + left: auto; + right: 1rem; + } + + .search-toggle { + left: .5rem; + right: auto; + } + + .search-loading { + display: none; + } + + .search-clear { + display: none; + } + + .open &, &.mobile { + input { + color: $global-font-color; + background-color: $search-background-color; + padding: 0 2rem 0 2rem; + } + + [theme=dark] & { + input { + color: $global-font-color-dark; + background-color: $search-background-color-dark; + } + + @include placeholder($global-font-secondary-color-dark); + } + + @include placeholder($global-font-secondary-color); + + .search-button { + color: $global-font-secondary-color; + + [theme=dark] & { + color: $global-font-secondary-color-dark; + } + } + + .search-clear:hover { + color: #ff6b6b; + } + + .search-toggle:hover { + cursor: default; + } + } +} + +.theme-switch i { + @include transform(rotate(225deg)); +} + +#header-desktop { + display: block; + position: fixed; + height: var(--header-height); + line-height: var(--header-height); + + [data-header-desktop=normal] & { + position: static; + } + + .header-wrapper { + padding: 0 2rem 0 10vh; + + .header-title { + font-size: var(--header-title-font-size); + } + + .menu { + overflow: hidden; + white-space: nowrap; + + .menu-inner { + float: right; + } + + .menu-item { + margin: 0 .5rem; + + &.delimiter { + border-left: 1.5px solid $global-font-color; + + [theme=dark] & { + border-left-color: $global-border-color-dark; + } + } + + &.language { + margin-right: 0; + } + + &.search { + margin: 0 -.5rem 0 0; + } + } + + a.active { + font-weight: 900; + color: $header-hover-color; + + [theme=dark] & { + color: $header-hover-color-dark; + } + } + } + } + + &.open .header-wrapper .menu .menu-item.search { + margin: 0 .25rem 0 .5rem; + + input { + width: 24rem; + } + } +} + +#header-mobile { + display: none; + position: fixed; + height: var(--header-height); + line-height: var(--header-height); + + [data-header-mobile=normal] & { + position: static; + } + + .header-container { + padding: 0; + margin: 0; + + .header-wrapper { + padding: 0 1rem; + font-size: 1.125rem; + @include transition(margin-top 0.3s ease); + + .header-title { + font-size: var(--header-title-font-size); + max-width: 80%; + } + + .menu-toggle { + line-height: 4rem; + cursor: pointer; + @include transition(width 0.3s ease); + + span { + display: block; + background: $global-font-color; + width: 1.5rem; + height: 2px; + @include border-radius(3px); + @include transition(all 0.3s ease-in-out); + + [theme=dark] & { + background: $global-font-color-dark; + } + } + + span:nth-child(1) { + margin-bottom: .5rem; + } + + span:nth-child(3) { + margin-top: .5rem; + } + + &.active { + span:nth-child(1) { + @include transform(rotate(45deg) translate(.4rem, .5rem)); + } + + span:nth-child(2) { + opacity: 0 + } + + span:nth-child(3) { + @include transform(rotate(-45deg) translate(.4rem, -.5rem)); + } + } + } + } + + .menu { + text-align: center; + background: $header-background-color; + border-top: 2px solid $global-border-color; + display: none; + padding-top: .5rem; + @include box-shadow(0 .125rem .25rem rgba(0, 0, 0, .1)); + + .search-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + padding: calc((var(--header-height) - 2.5rem) / 2) 1rem; + line-height: 2.5rem; + } + + .search { + flex-grow: 10; + + .algolia-autocomplete, input { + width: 100%; + } + } + + .search-button { + top: 0; + } + + .search-cancel { + display: none; + margin-left: .75rem; + } + + .menu-item { + display: block; + line-height: 2.5rem; + } + + &.active { + display: block; + } + + [theme=dark] & { + background: $header-background-color-dark; + border-top-color: $global-border-color-dark; + } + } + } + + &.open { + .header-wrapper { + margin-top: -var(--header-height); + } + + .menu { + padding-top: 0; + border-top: none; + + .menu-item { + display: none; + } + + .search-cancel { + display: inline; + } + } + } +} + +.search-dropdown { + position: fixed; + z-index: 200; + top: var(--header-height); + @include box-shadow(0 .125rem .25rem rgba(0, 0, 0, .1)); + + &.desktop { + right: 2rem; + width: 30rem; + } + + &.mobile { + right: 0; + width: 100%; + } + + .dropdown-menu { + right: 0 !important; + background-color: $global-background-color; + + [theme=dark] & { + background-color: $global-background-color-dark; + } + + .suggestions { + overflow-y: auto; + max-height: calc(100vh - var(--header-height)); + + .suggestion { + padding: .75rem 1rem; + + .suggestion-title { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 1rem; + font-weight: bold; + max-width: 75%; + } + + .suggestion-date { + font-size: .875rem; + float: right; + text-align: right; + color: $global-font-secondary-color; + + [theme=dark] & { + color: $global-font-secondary-color-dark; + } + } + + .suggestion-context { + line-height: 1.25rem; + @include box(vertical); + -webkit-line-clamp: 2; + overflow: hidden; + text-overflow: ellipsis; + @include overflow-wrap(break-word); + color: $global-font-secondary-color; + + [theme=dark] & { + color: $global-font-secondary-color-dark; + } + } + + em { + font-style: normal; + background-color: $selection-color; + + [theme=dark] & { + background-color: $selection-color-dark; + } + } + + &.cursor { + background: darken($code-background-color, 5%); + + [theme=dark] & { + background: lighten($code-background-color-dark, 5%); + } + } + + &:hover { + cursor: pointer; + } + } + } + + .search-empty { + padding: 1rem; + text-align: center; + + .search-query { + font-weight: bold; + + [theme=dark] & { + color: #ddd; + } + } + } + + .search-footer { + padding: .5rem 1rem; + float: right; + font-size: .8rem; + color: $global-font-secondary-color; + + [theme=dark] { + color: $global-font-secondary-color-dark; + } + + @include link(false, false); + + a { + font-size: 1rem; + } + } + } +} diff --git a/themes/LoveIt/assets/css/_core/_layout.scss b/themes/LoveIt/assets/css/_core/_layout.scss new file mode 100644 index 0000000..154f3a6 --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_layout.scss @@ -0,0 +1,15 @@ +/** Layout **/ +.wrapper { + display: flex; + flex-direction: column; + min-height: 100vh; + width: 100%; + + main { + flex: 1 0 auto; + + .container { + padding: 0 1rem; + } + } +} diff --git a/themes/LoveIt/assets/css/_core/_media.scss b/themes/LoveIt/assets/css/_core/_media.scss new file mode 100644 index 0000000..f90315d --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_media.scss @@ -0,0 +1,80 @@ +@media only screen and (max-width: 1440px) { + .page { + width: 56%; + } +} + +@media only screen and (max-width: 1200px) { + .page { + width: 52%; + } + + #header-desktop .header-wrapper { + padding-right: 1rem; + } + + .search-dropdown.desktop { + right: 1rem; + } +} + +@media only screen and (max-width: 960px) { + #toc-auto { + display: none; + } + + #toc-static { + display: block; + } + + .page { + width: 80%; + } + + #header-desktop .header-wrapper { + padding-left: 1rem; + } +} + +@media only screen and (max-width: 680px) { + #header-desktop { + display: none; + } + + #header-mobile { + display: block; + } + + body.blur { + overflow: hidden; + } + + .page { + width: 100%; + + [data-header-mobile] & { + padding-top: var(--header-height); + } + + [data-header-mobile=normal] & { + padding-top: 0; + } + + .categories-card { + .card-item { + width: 100%; + } + } + } + + .copyright { + .copyright-line { + .icp-splitter { + display: none; + } + .icp-br { + display: block; + } + } + } +} diff --git a/themes/LoveIt/assets/css/_core/_pagination.scss b/themes/LoveIt/assets/css/_core/_pagination.scss new file mode 100644 index 0000000..10d24b7 --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_pagination.scss @@ -0,0 +1,91 @@ +.pagination { + display: flex; + flex-direction: row; + justify-content: center; + list-style: none; + white-space: nowrap; + width: 100%; + padding: 1rem 0 0; + + a { + font-size: .8rem; + color: #bfbfbf; + letter-spacing: .1rem; + font-weight: 700; + padding: 5px 5px; + text-decoration: none; + @include transition(0.3s); + } + + li { + padding-bottom: 3px; + margin: 0 20px; + box-sizing: border-box; + position: relative; + display: inline; + + &.disabled { + display: none; + } + + &:hover a { + color: $pagination-link-hover-color; + } + + [theme=dark] &:hover a { + color: $pagination-link-hover-color-dark; + } + + &:before, + &:after { + position: absolute; + content: ""; + width: 0; + height: 3px; + background: $pagination-link-hover-color; + @include transition(0.3s); + bottom: 0px; + } + + [theme=dark] &:before, + [theme=dark] &:after { + background: $pagination-link-hover-color-dark; + } + + &:before .active, + &:after .active { + width: 100%; + } + + &:before { + left: 50%; + } + + &:after { + right: 50%; + } + + &:hover { + + &:before, + &:after { + width: 50%; + } + } + + &.active { + a { + color: $pagination-link-hover-color; + } + + [theme=dark] & a { + color: $pagination-link-hover-color-dark; + } + + &:before, + &:after { + width: 60%; + } + } + } +} diff --git a/themes/LoveIt/assets/css/_core/_variables.scss b/themes/LoveIt/assets/css/_core/_variables.scss new file mode 100644 index 0000000..ae693fc --- /dev/null +++ b/themes/LoveIt/assets/css/_core/_variables.scss @@ -0,0 +1,30 @@ +:root { + // ========== Global ========== // + // Font and Line Height + --global-font-family: #{inspect($global-font-family)}; + --global-font-size: #{$global-font-size}; + --global-font-weight: #{$global-font-weight}; + --global-line-height: #{$global-line-height}; + // ========== Global ========== // + + // ========== Header ========== // + // Height of the header + --header-height: #{$header-height}; + + // Font family and size of the header title + --header-title-font-family: #{inspect($header-title-font-family)}; + --header-title-font-size: #{$header-title-font-size}; + // ========== Header ========== // + + // ========== Single Content ========== // + // Font size of the TOC + --toc-title-font-size: #{$toc-title-font-size}; + --toc-content-font-size: #{$toc-content-font-size}; + // ========== Single Content ========== // + + // ========== Code ========== // + // Font family and size of the code + --code-font-family: #{inspect($code-font-family)}; + --code-font-size: #{$code-font-size}; + // ========== Code ========== // +} -- cgit v1.2.3