mirror of
https://github.com/Misterio77/Foundry.git
synced 2026-08-28 10:04:20 -05:00
disable prefers-color-scheme functionality, to avoid duplicating themes
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
_site/
|
||||
result
|
||||
_main/_includes/scheme-datalist.html
|
||||
_main/_sass/themes
|
||||
_main/assets/themes
|
||||
|
||||
.certificates
|
||||
|
||||
@@ -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,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";
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user