disable prefers-color-scheme functionality, to avoid duplicating themes

This commit is contained in:
Gabriel Fontes
2022-06-18 16:42:38 -03:00
parent 03efa50c2e
commit 3f826fc2b6
7 changed files with 16 additions and 62 deletions
-1
View File
@@ -1,7 +1,6 @@
_site/
result
_main/_includes/scheme-datalist.html
_main/_sass/themes
_main/assets/themes
.certificates
+6 -8
View File
@@ -2,9 +2,7 @@ name: "Gabriel Fontes"
description: "My personal website and projects"
domain: "misterio.me"
default_themes:
dark: catppuccin
light: sakura
default_theme: catppuccin
plugins:
- jekyll-extlinks
@@ -17,17 +15,17 @@ relative_links:
enabled: true
collections: true
include: [".well-known"]
source: _main
sass:
style: compact
kramdown:
syntx_highlighter: coderay
include: [".well-known"]
source: _main
collections:
posts:
output: true
+1 -13
View File
@@ -1,17 +1,5 @@
---
---
@import "themes/{{ site.default_themes.light }}";
@import "themes/{{ site.default_themes.dark }}";
:root {
@include theme_{{ site.default_themes.light }};
}
@media (prefers-color-scheme: dark) {
:root {
@include theme_{{ site.default_themes.dark }};
}
}
@import "themes/{{ site.default_theme }}.css";
@import "main";
+1 -19
View File
@@ -40,7 +40,7 @@ permalink: /colorscheme/
</p>
<label class="colorscheme">
<input class="colorscheme" id="scheme-input" list="scheme-list" />
<input class="colorscheme" id="scheme-input" list="scheme-list" placeholder="{{ site.default_theme }}" />
</label>
<button id="scheme-random" class="random">
@@ -113,14 +113,6 @@ let scheme_options = document.getElementById("scheme-list").getElementsByTagName
let scheme_random_button = document.getElementById("scheme-random");
let scheme_default_button = document.getElementById("scheme-default");
function updatePlaceholder(dark) {
if (dark) {
scheme_input.setAttribute("placeholder", "{{ site.default_themes.dark }}");
} else {
scheme_input.setAttribute("placeholder", "{{ site.default_themes.light }}");
}
}
// Add listener on input to change theme
scheme_input.addEventListener("input", function () {
let input = scheme_input.value;
@@ -149,16 +141,6 @@ scheme_default_button.addEventListener("click", function () {
scheme_input.value = "";
});
// Automatically set placeholder based on dark or light preference
let isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
updatePlaceholder(isDark);
window.matchMedia("(prefers-color-scheme: dark)").addListener(
e => {
let isDark = e.matches;
updatePlaceholder(isDark);
}
);
// Set first value based on current theme
let current = getTheme();
if (current) {
+2 -3
View File
@@ -17,10 +17,9 @@ stdenv.mkDerivation {
buildPhase = ''
# Add themes
mkdir _main/{assets,_sass}/themes -p
mkdir _main/assets/themes -p
ln -s ${css-themes}/list.html -T _main/_includes/scheme-datalist.html
ln -s ${css-themes}/partials/*.scss -t _main/_sass/themes/
ln -s ${css-themes}/themes/*.scss -t _main/assets/themes/
ln -s ${css-themes}/*.css -t _main/assets/themes/
# Convert markdown to gemtext, if needed
shopt -s globstar
+3 -5
View File
@@ -51,13 +51,11 @@
done
rm _main/_includes/scheme-datalist.html 2> /dev/null
rm _main/{assets,_sass}/themes/* 2> /dev/null
rm -r _site 2> /dev/null
rm _main/assets/themes/* 2> /dev/null
mkdir _main/{assets,_sass}/themes -p
mkdir _main/assets/themes -p
ln -s ${packages.css-themes}/list.html -T _main/_includes/scheme-datalist.html
ln -s ${packages.css-themes}/partials/*.scss -t _main/_sass/themes/
ln -s ${packages.css-themes}/themes/*.scss -t _main/assets/themes/
ln -s ${packages.css-themes}/*.css -t _main/assets/themes/
'';
};
}
+3 -13
View File
@@ -12,13 +12,12 @@ stdenv.mkDerivation {
buildInputs = [ jq ];
buildPhase = /* bash */ ''
build_css() {
mkdir -p partials themes
scheme_name="$1"
scheme=$(jq -r --arg scheme_name "$scheme_name" '.[$scheme_name]' $src)
jq -r '"
/* \(.name) by \(.author) */
@mixin theme_\(.slug) {
:root {
--scheme-name: \"\(.name)\";
--scheme-author: \"\(.author)\";
--base00: #\(.colors.base00);
@@ -38,16 +37,7 @@ stdenv.mkDerivation {
--base0E: #\(.colors.base0E);
--base0F: #\(.colors.base0F);
}
"' <<< "$scheme" > "partials/$scheme_name.scss"
jq -r '"---
---
@import \"themes/\(.slug)\";
:root {
@include theme_\(.slug);
}
"' <<< "$scheme" > "themes/$scheme_name.scss"
"' <<< "$scheme" > "$scheme_name.css"
}
echo '<datalist id="scheme-list">' > list.html
@@ -63,6 +53,6 @@ stdenv.mkDerivation {
'';
installPhase = ''
mkdir $out
cp -r * $out
cp * $out
'';
}