diff options
| author | Bill <bill@billserver.senders.io> | 2022-12-31 14:23:20 -0500 | 
|---|---|---|
| committer | Bill <bill@billserver.senders.io> | 2022-12-31 14:23:20 -0500 | 
| commit | 44da246fa5e373c86373889b53263f52af84d525 (patch) | |
| tree | 8eed772e39a010703283726389139744978a6bfc /www/blog/2022-12-05 | |
| parent | ab5ecccf0e282c9a181a8123196e42b8c7ca9009 (diff) | |
Major overhaul, markdowns + copyright notice
Diffstat (limited to 'www/blog/2022-12-05')
| -rw-r--r-- | www/blog/2022-12-05/index.html | 143 | 
1 files changed, 143 insertions, 0 deletions
diff --git a/www/blog/2022-12-05/index.html b/www/blog/2022-12-05/index.html new file mode 100644 index 0000000..34ba409 --- /dev/null +++ b/www/blog/2022-12-05/index.html @@ -0,0 +1,143 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +  <meta charset="utf-8"> +  <meta name="generator" +        content="HTML Tidy for HTML5 for Linux version 5.6.0"> +  <title>senders.io - CSS Themes Exist Now!?</title> +  <link rel='stylesheet' +        type='text/css' +        href='/index.css'> +  <meta name="viewport" +        content="width=device-width, initial-scale=1"> +</head> +<body> +  <div id='header'> +    <a class='title' +         href='/'>senders.io</a> +    <nav> +      <a href="/blog">blog</a> <a rel="external noopener noreferrer" +           target="_blank" +           href="https://github.com/s3nd3r5">github</a> <a rel= +           "external noopener noreferrer" +           target="_blank" +           href="https://git.senders.io">cgit</a> <a rel= +           "me external noopener noreferrer" +           target="_blank" +           href="https://mastodon.online/@senders">mastodon</a> +    </nav> +  </div> +  <div id="body"> +    <article> +      <h2>CSS Themes Exist Now!?</h2> +      <p>Yeah news to me too! Seems like according to <a rel= +      "external noopener noreferrer" +         target="_blank" +         href= +         "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme#browser_compatibility"> +      the MDN</a> it’s been supported since 2019 for most browsers and +      supported by all by now.</p> +      <p>This is so wild!</p> +      <h3>Why is this cool?</h3> +      <p>Well you may have noticed this is in dark mode now (if you set your +      preferences to dark in your OS/Browser). But this is cool because it +      means we’re no longer restricted to using Javascript and custom +      preferences for websites.</p> +      <p>I had assumed this existed because sites like GitHub were defaulting +      to darkmode despite me never setting anything in like my profile +      settings. But I just assumed based off of my legacy knowledge this was +      some custom render trick using javascript.</p> +      <h4>Still no JS!</h4> +      <p>I keep this blog JS free! While not all pages under the senders.io +      umbrella are javascript free - everything in www.senders.io (this blog) +      will always be.</p> +      <p>I try to keep that, not only for my sake, but for your sake too - a +      javascript free blog means the priority is reading.</p> +      <h3>Examples</h3> +      <p>So I achieve darkmode in this blog by doing the following:</p> +      <pre><code>/* default / light */ +:root { +  --background: white; +  --font: black; +  --quote: #eee; +  --link: #0303ee; +  --linkv: #551a8b; +  --linkf: #f02727; +  --articleborder: #060606; +  --tableborder: #aaa; +  --tablehead: #ebcfff; +  --tablez: #eee; +} +@media (prefers-color-scheme: dark) { +  :root { +    --background: #1e1e1e; +    --font: #eee; +    --quote: #444; +    --link: #00d3d3; +    --linkv: #cd78f4; +    --linkf: #f02727; +    --articleborder: #23ed9b; +    --tableborder: #aaa; +    --tablehead: #6f5a7e; +    --tablez: #313131; +  } +} +</code></pre> +      <p>Essentially, I leverage <a rel="external noopener noreferrer" +         target="_blank" +         href= +         "https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"> +      CSS Variables</a> to define the specific areas I set theme specific +      colors (my nav bar is static regardless of dark/light mode for +      example).</p> +      <p>Then if the media preference is dark - I overwrite the variables with +      my dark mode values!</p> +      <p>Whats tricky is originally most of these values didn’t actually HAVE +      values set - I relied on the system default for things like links and the +      page colors in an effort to use minimum CSS as well.</p> +      <p>I still feel like I am honoring that since I don’t have to duplicate +      any actual CSS this way, I just have a lookup table of color values.</p> +      <p>That being said my CSS file is still only about 3kB which is not so +      bad. And I’ve actually covered most themed properties already - links, +      tables, quotes.</p> +      <h4>Toggling Themes</h4> +      <p>Something else I found out during this experiment is you can actually +      toggle the themes directly in your developer tooling. By opening your +      devtools and going to Inspector (in firefox at least) there are two +      buttons in the styles section “toggle light color scheme” and “toggle +      dark color scheme” using a sun and moon icon.</p> +      <p>This made testing VERY easy and actually is what I noticed to prompt +      me into looking up if this was a standard CSS thing or not. So thanks +      Mozilla!</p> +      <h3>Conclusion</h3> +      <p>Yeah if you’ve never realized this check out the MDN guides on both +      variables (I didn’t realize these got put in the standard either!) and +      themes!</p> +      <ul> +        <li>CSS Variables: <a rel="external noopener noreferrer" +              target="_blank" +              href= +              "https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"> +          https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties</a> +        </li> +        <li>CSS Media prefers-color-scheme: <a rel= +        "external noopener noreferrer" +              target="_blank" +              href= +              "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme"> +          https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme</a> +        </li> +      </ul> +    </article> +    <div id="footer"> +      <i>December 05, 2022</i> +    </div> +    <div id='copyright'> +      © 2023 senders dot io - <a rel="license external noopener noreferrer" +           target="_blank" +           href="https://creativecommons.org/licenses/by/4.0/">CC BY-SA 4.0</a> +           unless otherwise noted. +    </div> +  </div> +</body> +</html>  |