aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/templates/assets/stylesheets/palette
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-10-07 06:48:07 +0800
committer简律纯 <i@jyunko.cn>2023-10-07 06:48:07 +0800
commit991fd7a6d67ee017c57beaaa21fc31c4bee7944d (patch)
treee895202203fcaa50b0052f60ef6fc7d6d2928cf9 /src/templates/assets/stylesheets/palette
parentd62900046bb6f754a8e6e7e670a66a90134055d9 (diff)
downloadinfini-991fd7a6d67ee017c57beaaa21fc31c4bee7944d.tar.gz
infini-991fd7a6d67ee017c57beaaa21fc31c4bee7944d.zip
feat(version): versions
Diffstat (limited to 'src/templates/assets/stylesheets/palette')
-rw-r--r--src/templates/assets/stylesheets/palette/_accent.scss61
-rw-r--r--src/templates/assets/stylesheets/palette/_primary.scss203
-rw-r--r--src/templates/assets/stylesheets/palette/_scheme.scss145
3 files changed, 409 insertions, 0 deletions
diff --git a/src/templates/assets/stylesheets/palette/_accent.scss b/src/templates/assets/stylesheets/palette/_accent.scss
new file mode 100644
index 00000000..9f69b596
--- /dev/null
+++ b/src/templates/assets/stylesheets/palette/_accent.scss
@@ -0,0 +1,61 @@
+////
+/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a
+/// copy of this software and associated documentation files (the "Software"),
+/// to deal in the Software without restriction, including without limitation
+/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+/// and/or sell copies of the Software, and to permit persons to whom the
+/// Software is furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+/// DEALINGS
+////
+
+// ----------------------------------------------------------------------------
+// Rules
+// ----------------------------------------------------------------------------
+
+// Define accent colors
+@each $name, $color in (
+ "red": $clr-red-a400,
+ "pink": $clr-pink-a400,
+ "purple": $clr-purple-a200,
+ "deep-purple": $clr-deep-purple-a200,
+ "indigo": $clr-indigo-a200,
+ "blue": $clr-blue-a200,
+ "light-blue": $clr-light-blue-a700,
+ "cyan": $clr-cyan-a700,
+ "teal": $clr-teal-a700,
+ "green": $clr-green-a700,
+ "light-green": $clr-light-green-a700,
+ "lime": $clr-lime-a700,
+ "yellow": $clr-yellow-a700,
+ "amber": $clr-amber-a700,
+ "orange": $clr-orange-a400,
+ "deep-orange": $clr-deep-orange-a200
+) {
+
+ // Color palette
+ [data-md-color-accent="#{$name}"] {
+ --md-accent-fg-color: hsla(#{hex2hsl($color)}, 1);
+ --md-accent-fg-color--transparent: hsla(#{hex2hsl($color)}, 0.1);
+
+ // Inverted text for lighter shades
+ @if index("lime" "yellow" "amber" "orange", $name) {
+ --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
+ --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
+ } @else {
+ --md-accent-bg-color: hsla(0, 0%, 100%, 1);
+ --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
+ }
+ }
+}
diff --git a/src/templates/assets/stylesheets/palette/_primary.scss b/src/templates/assets/stylesheets/palette/_primary.scss
new file mode 100644
index 00000000..a8653f0f
--- /dev/null
+++ b/src/templates/assets/stylesheets/palette/_primary.scss
@@ -0,0 +1,203 @@
+////
+/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a
+/// copy of this software and associated documentation files (the "Software"),
+/// to deal in the Software without restriction, including without limitation
+/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+/// and/or sell copies of the Software, and to permit persons to whom the
+/// Software is furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+/// DEALINGS
+////
+
+@use "sass:list";
+
+// ----------------------------------------------------------------------------
+// Rules
+// ----------------------------------------------------------------------------
+
+// Define primary colors
+@each $name, $colors in (
+ "red": $clr-red-400 $clr-red-300 $clr-red-600,
+ "pink": $clr-pink-500 $clr-pink-400 $clr-pink-700,
+ "purple": $clr-purple-400 $clr-purple-300 $clr-purple-600,
+ "deep-purple": $clr-deep-purple-400 $clr-deep-purple-300 $clr-deep-purple-500,
+ "indigo": $clr-indigo-500 $clr-indigo-400 $clr-indigo-700,
+ "blue": $clr-blue-500 $clr-blue-400 $clr-blue-700,
+ "light-blue": $clr-light-blue-500 $clr-light-blue-400 $clr-light-blue-700,
+ "cyan": $clr-cyan-500 $clr-cyan-400 $clr-cyan-700,
+ "teal": $clr-teal-500 $clr-teal-400 $clr-teal-700,
+ "green": $clr-green-500 $clr-green-400 $clr-green-700,
+ "light-green": $clr-light-green-500 $clr-light-green-400 $clr-light-green-700,
+ "lime": $clr-lime-500 $clr-lime-400 $clr-lime-700,
+ "yellow": $clr-yellow-500 $clr-yellow-400 $clr-yellow-700,
+ "amber": $clr-amber-500 $clr-amber-400 $clr-amber-700,
+ "orange": $clr-orange-400 $clr-orange-400 $clr-orange-600,
+ "deep-orange": $clr-deep-orange-400 $clr-deep-orange-300 $clr-deep-orange-600,
+ "brown": $clr-brown-500 $clr-brown-400 $clr-brown-700,
+ "grey": $clr-grey-600 $clr-grey-500 $clr-grey-700,
+ "blue-grey": $clr-blue-grey-600 $clr-blue-grey-500 $clr-blue-grey-700
+) {
+
+ // Color palette
+ [data-md-color-primary="#{$name}"] {
+ --md-primary-fg-color: hsl(#{hex2hsl(list.nth($colors, 1))});
+ --md-primary-fg-color--light: hsl(#{hex2hsl(list.nth($colors, 2))});
+ --md-primary-fg-color--dark: hsl(#{hex2hsl(list.nth($colors, 3))});
+
+ // Inverted text for lighter shades
+ @if index("lime" "yellow" "amber" "orange", $name) {
+ --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
+ --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
+ } @else {
+ --md-primary-bg-color: hsla(0, 0%, 100%, 1);
+ --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
+ }
+
+ // Typeset color shades
+ @if index("grey" "blue-grey", $name) {
+ --md-typeset-a-color: hsl(#{hex2hsl($clr-indigo-500)});
+ }
+ }
+}
+
+// ----------------------------------------------------------------------------
+
+// Adjust link colors for light primary colors
+@each $name, $color in (
+ "light-green": hsl(88, 58%, 43%),
+ "lime": hsl(66, 88%, 32%),
+ "yellow": hsl(54, 100%, 36%),
+ "amber": hsl(45, 100%, 41%),
+ "orange": hsl(36, 100%, 45%)
+) {
+ [data-md-color-primary="#{$name}"]:not([data-md-color-scheme="slate"]) {
+ --md-typeset-a-color: #{$color};
+ }
+}
+
+// ----------------------------------------------------------------------------
+// Rules: white
+// ----------------------------------------------------------------------------
+
+// Define primary colors for white
+[data-md-color-primary="white"] {
+ --md-primary-fg-color: hsla(var(--md-hue), 0%, 100%, 1);
+ --md-primary-fg-color--light: hsla(var(--md-hue), 0%, 100%, 0.7);
+ --md-primary-fg-color--dark: hsla(var(--md-hue), 0%, 0%, 0.07);
+ --md-primary-bg-color: hsla(var(--md-hue), 0%, 0%, 0.87);
+ --md-primary-bg-color--light: hsla(var(--md-hue), 0%, 0%, 0.54);
+
+ // Typeset `a` color shades
+ --md-typeset-a-color: hsl(#{hex2hsl($clr-indigo-500)});
+
+ // Form button
+ .md-button {
+ color: var(--md-typeset-a-color);
+
+ // Primary button
+ &--primary {
+ color: hsla(var(--md-hue), 0%, 100%, 1);
+ background-color: var(--md-typeset-a-color);
+ border-color: var(--md-typeset-a-color);
+ }
+ }
+
+ // [tablet portrait +]: Header-embedded search
+ @include break-from-device(tablet landscape) {
+
+ // Search form
+ .md-search__form {
+ background-color: hsla(var(--md-hue), 0%, 0%, 0.07);
+
+ // Search form on hover
+ &:hover {
+ background-color: hsla(var(--md-hue), 0%, 0%, 0.32);
+ }
+ }
+
+ // Search icon
+ .md-search__input + .md-search__icon {
+ color: hsla(var(--md-hue), 0%, 0%, 0.87);
+ }
+ }
+
+ // [screen +]: Add bottom border for tabs
+ @include break-from-device(screen) {
+
+ // Navigation tabs
+ .md-tabs {
+ border-bottom: px2rem(1px) solid hsla(0, 0%, 0%, 0.07);
+ }
+ }
+}
+
+// ----------------------------------------------------------------------------
+// Rules: black
+// ----------------------------------------------------------------------------
+
+// Define primary colors for black
+[data-md-color-primary="black"] {
+ --md-primary-fg-color: hsla(var(--md-hue), 15%, 9%, 1);
+ --md-primary-fg-color--light: hsla(var(--md-hue), 15%, 9%, 0.54);
+ --md-primary-fg-color--dark: hsla(var(--md-hue), 15%, 9%, 1);
+ --md-primary-bg-color: hsla(var(--md-hue), 15%, 100%, 1);
+ --md-primary-bg-color--light: hsla(var(--md-hue), 15%, 100%, 0.7);
+
+ // Typeset `a` color shades
+ --md-typeset-a-color: hsl(#{hex2hsl($clr-indigo-500)});
+
+ // Form button
+ .md-button {
+ color: var(--md-typeset-a-color);
+
+ // Primary button
+ &--primary {
+ color: hsla(var(--md-hue), 0%, 100%, 1);
+ background-color: var(--md-typeset-a-color);
+ border-color: var(--md-typeset-a-color);
+ }
+ }
+
+ // Header
+ .md-header {
+ background-color: hsla(var(--md-hue), 15%, 9%, 1);
+ }
+
+ // [tablet portrait -]: Layered navigation
+ @include break-to-device(tablet portrait) {
+
+ // Repository information container
+ .md-nav__source {
+ background-color: hsla(var(--md-hue), 15%, 11%, 0.87);
+ }
+ }
+
+ // [tablet -]: Layered navigation
+ @include break-to-device(tablet) {
+
+ // Site title in main navigation
+ html & .md-nav--primary .md-nav__title[for="__drawer"] {
+ background-color: hsla(var(--md-hue), 15%, 9%, 1);
+ }
+ }
+
+ // [screen +]: Set background color for tabs
+ @include break-from-device(screen) {
+
+ // Navigation tabs
+ .md-tabs {
+ background-color: hsla(var(--md-hue), 15%, 9%, 1);
+ }
+ }
+}
diff --git a/src/templates/assets/stylesheets/palette/_scheme.scss b/src/templates/assets/stylesheets/palette/_scheme.scss
new file mode 100644
index 00000000..0a9f9823
--- /dev/null
+++ b/src/templates/assets/stylesheets/palette/_scheme.scss
@@ -0,0 +1,145 @@
+////
+/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a
+/// copy of this software and associated documentation files (the "Software"),
+/// to deal in the Software without restriction, including without limitation
+/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+/// and/or sell copies of the Software, and to permit persons to whom the
+/// Software is furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+/// DEALINGS
+////
+
+// ----------------------------------------------------------------------------
+// Rules
+// ----------------------------------------------------------------------------
+
+// Only use dark mode on screens
+@media screen {
+
+ // Slate theme, i.e. dark mode
+ [data-md-color-scheme="slate"] {
+
+ // Indicate that the site is rendered with a dark color scheme
+ color-scheme: dark;
+
+ // Default color shades
+ --md-default-fg-color: hsla(var(--md-hue), 15%, 90%, 0.82);
+ --md-default-fg-color--light: hsla(var(--md-hue), 15%, 90%, 0.56);
+ --md-default-fg-color--lighter: hsla(var(--md-hue), 15%, 90%, 0.32);
+ --md-default-fg-color--lightest: hsla(var(--md-hue), 15%, 90%, 0.12);
+ --md-default-bg-color: hsla(var(--md-hue), 15%, 14%, 1);
+ --md-default-bg-color--light: hsla(var(--md-hue), 15%, 14%, 0.54);
+ --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 14%, 0.26);
+ --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 14%, 0.07);
+
+ // Code color shades
+ --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 0.82);
+ --md-code-bg-color: hsla(var(--md-hue), 15%, 18%, 1);
+
+ // Code highlighting color shades
+ --md-code-hl-color--light: hsla(#{hex2hsl($clr-blue-a200)}, 0.15);
+ --md-code-hl-number-color: hsla(6, 74%, 63%, 1);
+ --md-code-hl-special-color: hsla(340, 83%, 66%, 1);
+ --md-code-hl-function-color: hsla(291, 57%, 65%, 1);
+ --md-code-hl-constant-color: hsla(250, 62%, 70%, 1);
+ --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);
+ --md-code-hl-string-color: hsla(150, 58%, 44%, 1);
+ --md-code-hl-name-color: var(--md-code-fg-color);
+ --md-code-hl-operator-color: var(--md-default-fg-color--light);
+ --md-code-hl-punctuation-color: var(--md-default-fg-color--light);
+ --md-code-hl-comment-color: var(--md-default-fg-color--light);
+ --md-code-hl-generic-color: var(--md-default-fg-color--light);
+ --md-code-hl-variable-color: var(--md-default-fg-color--light);
+
+ // Typeset color shades
+ --md-typeset-color: var(--md-default-fg-color);
+
+ // Typeset `a` color shades
+ --md-typeset-a-color: var(--md-primary-fg-color);
+
+ // Typeset `kbd` color shades
+ --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 90%, 0.12);
+ --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 90%, 0.2);
+ --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);
+
+ // Typeset `mark` color shades
+ --md-typeset-mark-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.3);
+
+ // Typeset `table` color shades
+ --md-typeset-table-color: hsla(var(--md-hue), 15%, 95%, 0.12);
+ --md-typeset-table-color--light: hsla(var(--md-hue), 15%, 95%, 0.035);
+
+ // Admonition color shades
+ --md-admonition-fg-color: var(--md-default-fg-color);
+ --md-admonition-bg-color: var(--md-default-bg-color);
+
+ // Footer color shades
+ --md-footer-bg-color: hsla(var(--md-hue), 15%, 10%, 0.87);
+ --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 8%, 1);
+
+ // Shadow depth 1
+ --md-shadow-z1:
+ 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.05),
+ 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.1);
+
+ // Shadow depth 2
+ --md-shadow-z2:
+ 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.25),
+ 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.25);
+
+ // Shadow depth 3
+ --md-shadow-z3:
+ 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.4),
+ 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.35);
+
+ // Hide images for light mode
+ img[src$="#only-light"],
+ img[src$="#gh-light-mode-only"] {
+ display: none;
+ }
+ }
+
+ // --------------------------------------------------------------------------
+
+ // Adjust link colors for dark primary colors
+ @each $name, $color in (
+ "pink": hsl(340, 81%, 63%),
+ "purple": hsl(291, 53%, 63%),
+ "deep-purple": hsl(262, 73%, 70%),
+ "indigo": hsl(219, 76%, 62%),
+ "teal": hsl(174, 100%, 40%),
+ "green": hsl(122, 39%, 60%),
+ "deep-orange": hsl(14, 100%, 65%),
+ "brown": hsl(16, 45%, 56%),
+
+ // Set neutral colors to indigo
+ "grey": hsl(219, 66%, 62%),
+ "blue-grey": hsl(219, 66%, 62%),
+ "white": hsl(219, 66%, 62%),
+ "black": hsl(219, 66%, 62%)
+ ) {
+ [data-md-color-scheme="slate"][data-md-color-primary="#{$name}"] {
+ --md-typeset-a-color: #{$color};
+ }
+ }
+
+ // --------------------------------------------------------------------------
+
+ // Switching in progress - disable all transitions temporarily
+ [data-md-color-switching] *,
+ [data-md-color-switching] *::before,
+ [data-md-color-switching] *::after {
+ transition-duration: 0ms !important; // stylelint-disable-line
+ }
+}