diff --git a/config.toml b/config.toml
index cded91e..0abc03d 100644
--- a/config.toml
+++ b/config.toml
@@ -23,9 +23,11 @@ highlight_themes_css = [
smart_punctuation = true
[extra]
-# Sets browser theme color,
+# Sets theme and browser theme color,
# see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color
primary_color = "#ff7800"
+# Same as primary_color, but with 20% opacity
+primary_color_alpha = "rgba(255, 120, 0, 0.2)"
# If the favicon is GIF or not
animated_favicon = false
# Tera date format (not used in comments!),
diff --git a/content/_index.md b/content/_index.md
index d57cc60..7b80a6d 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -78,71 +78,14 @@ If for some reason overridden class are not respected, try using `!important`. Y
### Primary color
-Duckquill respects chosen primary color everywhere, you can use any HEX color code you want
-
-First, change the primary color in `config.toml`:
+Duckquill respects chosen primary color everywhere, simply change the primary color in `config.toml`:
```toml
[extra]
primary_color = "COLOR_CODE"
+primary_color_alpha = "COLOR_CODE"
```
-Then, add `custom.css` to additional stylesheets.
-
-```toml
-[extra]
-stylesheets = [
- "custom.css"
-]
-```
-
-Then, paste the following code inside `sass/custom.scss` (inside your site, not the theme):
-
-```scss
-@use "sass:color";
-
-$primary-color: COLOR_CODE;
-$primary-color-alpha: color.scale($primary-color, $alpha: -80%);
-
-$bg-color-l: color.scale($primary-color, $lightness: 80%);
-$bg-color-d: color.scale($primary-color, $lightness: -90%, $saturation: -50%);
-
-$crt-bg: radial-gradient(
- color.scale($primary-color, $lightness: -80%),
- color.scale($primary-color, $lightness: -90%)
-);
-
-$nav-bg-l: color.scale($bg-color-l, $alpha: -20%, $lightness: 50%);
-$nav-bg-d: color.scale(
- $bg-color-d,
- $alpha: -20%,
- $lightness: 5%,
- $saturation: -50%
-);
-
-$glow: 0 0 0 1px color.scale($primary-color, $alpha: -95%),
- 0 2px 6px 2px color.scale($primary-color, $alpha: -95%),
- 0 4px 24px 4px color.scale($primary-color, $alpha: -90%);
-
-:root {
- --bg-color: #{$bg-color-l};
- --crt-bg: #{$crt-bg};
- --glow: #{$glow};
- --nav-bg: #{$nav-bg-l};
- --primary-color-alpha: #{$primary-color-alpha};
- --primary-color: #{$primary-color};
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --bg-color: #{$bg-color-d};
- --nav-bg: #{$nav-bg-d};
- }
-}
-```
-
-Set any color in `$primary-color` and reload, the primary color should be used now. This is a hack that is needed until Zola will be able to use `config.toml` options inside Sass files.
-
## Test pages
- [Demo page](https://daudix.codeberg.page/duckquill/demo)
diff --git a/sass/_crt.scss b/sass/_crt.scss
index c50476d..66cf02a 100644
--- a/sass/_crt.scss
+++ b/sass/_crt.scss
@@ -1,8 +1,13 @@
.crt {
margin: 1rem 0 1rem;
border-radius: var(--rounded-corner);
- box-shadow: var(--glow);
- background: var(--crt-bg);
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary-color) 5%, transparent),
+ 0 2px 6px 2px color-mix(in srgb, var(--primary-color) 5%, transparent),
+ 0 4px 24px 4px color-mix(in srgb, var(--primary-color) 10%, transparent);
+ background-image: radial-gradient(
+ color-mix(in srgb, var(--primary-color) 20%, black),
+ color-mix(in srgb, var(--primary-color) 10%, black)
+ );
pre {
color: var(--primary-color);
@@ -47,6 +52,10 @@
transform: translateY(0px);
}
}
+
+ @media (prefers-reduced-motion) {
+ animation: none;
+ }
}
.cursor {
@@ -63,4 +72,8 @@
opacity: 1;
}
}
+
+ @media (prefers-reduced-motion) {
+ animation: none;
+ }
}
diff --git a/sass/_variables.scss b/sass/_variables.scss
index fa89eda..5ed893a 100644
--- a/sass/_variables.scss
+++ b/sass/_variables.scss
@@ -1,24 +1,6 @@
-@use "sass:color";
-
-$primary-color: #ff7800;
-$primary-color-alpha: color.scale($primary-color, $alpha: -80%);
-
-$bg-color-l: color.scale($primary-color, $lightness: 80%);
-$bg-color-d: color.scale($primary-color, $lightness: -90%, $saturation: -50%);
-
-$crt-bg: radial-gradient(
- color.scale($primary-color, $lightness: -80%),
- color.scale($primary-color, $lightness: -90%)
-);
-
-$glow: 0 0 0 1px color.scale($primary-color, $alpha: -95%),
- 0 2px 6px 2px color.scale($primary-color, $alpha: -95%),
- 0 4px 24px 4px color.scale($primary-color, $alpha: -90%);
-
:root {
// COLORS
- --bg-color: #{$bg-color-l};
- --crt-bg: #{$crt-bg};
+ --bg-color: var(--bg-color-l);
--fg-color: rgba(0, 0, 0, 0.8);
--fg-muted-1: rgba(0, 0, 0, 0.05);
--fg-muted-2: rgba(0, 0, 0, 0.1);
@@ -28,8 +10,6 @@ $glow: 0 0 0 1px color.scale($primary-color, $alpha: -95%),
--nav-bg: rgba(242, 242, 242, 0.7);
--orange-bg: rgba(255, 120, 0, 0.1);
--orange-fg: rgb(255, 120, 0);
- --primary-color-alpha: #{$primary-color-alpha};
- --primary-color: #{$primary-color};
--purple-bg: rgba(145, 65, 172, 0.1);
--purple-fg: rgb(145, 65, 172);
--red-bg: rgba(224, 27, 36, 0.1);
@@ -39,10 +19,11 @@ $glow: 0 0 0 1px color.scale($primary-color, $alpha: -95%),
// VARIABLES
--active: 0.9;
+ --bg-color-l: color-mix(in srgb, var(--primary-color) 20%, white);
+ --bg-color-d: color-mix(in srgb, var(--primary-color) 10%, black);
--content-width: 720px;
--drop-shadow: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07))
drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06));
- --glow: #{$glow};
--rounded-corner-small: 8px;
--rounded-corner: 12px;
--shadow-raised: 0 0 0 1px rgba(0, 0, 0, 0.06),
@@ -60,7 +41,7 @@ $glow: 0 0 0 1px color.scale($primary-color, $alpha: -95%),
color-scheme: dark;
// COLORS
- --bg-color: #{$bg-color-d};
+ --bg-color: var(--bg-color-d);
--fg-color: rgb(255, 255, 255);
--fg-muted-1: rgba(255, 255, 255, 0.05);
--fg-muted-2: rgba(255, 255, 255, 0.1);
diff --git a/screenshot.png b/screenshot.png
index 4aff71a..46c459f 100644
Binary files a/screenshot.png and b/screenshot.png differ
diff --git a/templates/includes/head.html b/templates/includes/head.html
index 2a15d79..be59554 100644
--- a/templates/includes/head.html
+++ b/templates/includes/head.html
@@ -18,6 +18,13 @@
{% endfor %}
{% endif %}
+
+
{% if config.extra.animated_favicon %}
{% else %}