惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

O
OpenAI News
Latest news
Latest news
T
Threat Research - Cisco Blogs
Project Zero
Project Zero
V
Vulnerabilities – Threatpost
T
The Exploit Database - CXSecurity.com
Cloudbric
Cloudbric
T
Threatpost
N
News | PayPal Newsroom
I
Intezer
L
LINUX DO - 热门话题
The Hacker News
The Hacker News
H
Hacker News: Front Page
P
Proofpoint News Feed
S
Secure Thoughts
H
Help Net Security
S
Schneier on Security
TaoSecurity Blog
TaoSecurity Blog
S
Security Archives - TechRepublic
V
Visual Studio Blog
博客园 - 司徒正美
博客园 - Franky
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
AI
AI
V
V2EX - 技术
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
罗磊的独立博客
C
Cyber Attacks, Cyber Crime and Cyber Security
Webroot Blog
Webroot Blog
Forbes - Security
Forbes - Security
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
N
News and Events Feed by Topic
大猫的无限游戏
大猫的无限游戏
L
Lohrmann on Cybersecurity
H
Heimdal Security Blog
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
小众软件
小众软件
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
T
Troy Hunt's Blog
Stack Overflow Blog
Stack Overflow Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com

Miriam Eric Suzanne

Butter bells, fresh from the kiln Butter bells, fresh from the kiln Butter bells, fresh from the kiln I had to look it up I Laser-cut pottery throwing gauge Tech continues to be political Aggregating my distributed self A web component for CodePen embeds? We don Eleventy buckets & cascade layers A slash-why proposal User styles on the web Custom element, two ways New year, same (terrible) Mia CSS @scope Reclaiming my time Cascade Layers Javascript automation on Mac Personal Histories Ancient Web Browsers Critical CSS? Not So Fast! CSS tie-dye gradient backgrounds Personal website redesign Request for Comments: Sass Color Spaces A long-term plan for logical properties? Container queries in browsers! I never let things be small A whole cascade of layers This content won 2 days of cordwainery Body margin 8px The gray areas of HWB color Miriam, for the archive Complex vs compound selectors The spam has arrived Am I on the IndieWeb yet? My theatrical delusions A Complete Guide to CSS Cascade Layers Container queries explainer & proposal Very Extremely Practical CSS Art An open CSS notebook Custom Property “Stacks" Alcohol affects the frontal cortex Embracing the Universal Web CSS most normalizer-est Introducing Sass Modules F*CSS Not clear to me, an installation Framed | Born to choose this way Last Bullet, live music video A Dark Plain, live music video Guts | Let Rejecting maleness Chosen family (thank you) Mia Speaking of pride More CSS Charts, with Grid & Custom Properties (Mis)gender Stop Being Productive Fun with Viewport Units Gods on the Lam Body & gender fragments Trans Interviews & Photography Getting Started with CSS Grid Just Like That Adaptation: SideSaddle/Myths Justice [under construction] Some clarifications on trans language Some kind of resistance tour Loops in CSS Preprocessors An Interview with Miriam Suzanne Estrogentrification Miriam, a how-to guide Holes / SideSaddle midwest tour Underground music showcase Species of the stars PROPHETIA VETITUM MUNDI Pig Sez, song demo I'm Not Ready To Go Yet, song demo UMS day 4 (the end) UMS day 3 A Dark Plain, song demo UMS day 2 UMS day 1 Media Archeology Lab, Artist in Residence
No demo [website] reno
2022-08-08 · via Miriam Eric Suzanne

Erin & I had a lovely vacation last month, driving around southwest Colorado – Bishop Castle, the Great Sand Dunes, Chimney Rock, the Durango-Silverton Railroad, the (terrifying) Million Dollar Highway, the Black Canyon of the Gunnison, and so on. It was absolutely beautiful.

This post isn’t about our vacation, or any of the amazing places we visited.

Every night we would end up in a hotel room, where we turn on the Food Network (back-to-back Diners, Drive-Ins, and Dives) or whatever is showing on HGTV. Nested between extensive house remodeling shows, No Demo Reno starts with the premise that you can make big upgrades to a home without moving a single wall.

This post isn’t about HGTV or home renovations, either. I’ve seen a total of two or three episodes while knitting, winding down, and getting ready for bed.

But that’s my goal with this site redesign. How much can I change, without moving any of the walls?

Some background, and goals

I’ve had a number of ‘personal’ sites over the years, but landed on this URL in 2015. The first version of this site used rstBlog – a small Python static-site generator without any documentation.

In early 2019, I migrated from rstBlog onto my current Eleventy setup – a complete overhaul of the site, inside and out. The demolition was extensive, and I likely broke a few promises.

This time I plan to leave all the content and Eleventy infrastructure basically intact. Here are the goals:

Clarify the information architecture

I’ve always found it hard to sort my activities into organized ‘categories’, so I’ve been treating basically everything as an event with the same data, look, and feel. Something happens – a presentation, performance, album release, novel, article, spec – on a particular date, with any number of relevant tags.

I like some things about that – embracing the mess of my ADHD life – but I haven’t yet found a great solution for navigating & displaying it. Part of the problem is simply that everything looks the same. It would help if site visitors can more easily see the different types of content reflected in the design and navigation of the site.

The previous design also relied heavily on extra-long ‘calendars’ of content at the bottom of every page. That solution felt very bulky to me – both in terms of page-load, and user scrolling. It may have been technically Finite, but it didn’t always feel as finite (or as easy to navigate) as I’d like.

Clean up the HTML (& Nunjucks)

Technical debt often builds up in HTML over time – extra wrapping divs, stray classes, and other complexities that originate more from style than content. It feels good to clean that out and start fresh. Specifically, I want to:

  • Simplify complex Nunjucks templates
  • Strip out any HTML that is not absolutely essential
  • Improve my use of microformats
  • Rethink how WebMentions are displayed
  • Rethink how user design customizations are provided
  • Always improve accessibility where I can

I hope to end up with an HTML architecture that feels more minimal – a blank canvas, that I can treat more like a Zen Garden or Style Stage for my CSS. My early websites (back in the 00s) all had multiple ‘alternate stylesheets’ to choose from, and I would love to do that again.

Make RSS a first-class part of the site

While I was working on WebMentions last month, I also made major updates to my RSS feed. But I don’t love the way browsers display a raw xml file. Developers may be my biggest audience, but they aren’t my only audience, and I want that link to make sense and feel like part of the site.

So I looked into it, and it seems like I can use XSL and CSS to better design and integrate that page as a part of the site.

Try out new CSS features (slowly)

It’s been fun working on new CSS features with the CSSWG, but now that those features (and more) are starting to roll out in browsers I want to use them on my site.

Some of features are available already, or even a few years old. Things like is() & :where(), min()/max() & clamp(), variable fonts, color-scheme/accent-color, and Cascade Layers. Some of those were already being used in the old design, but this time I get to design around them from the start.

Over the next months and years I also hope to start playing with size-based container queries & query units, scope, subgrid, new color spaces (okLCH/display-P3), and more.

I want to take this slow. Start simple, and build more interesting themes as the various features arrive. That means keeping things simple for as long as possible, so it’s easy to integrate new ideas without major rewrites.

Highlight user customizations

As part of the previous design, I launched Cascading Color Systems – a tool for giving users total control over the colors on the site. That was inspired by Håkon Lie’s original 1994 CSS proposal, which includes the following text-art diagram:

        User            Author
 Font   o-----x--------------o 64%
 Color  o-x------------------o 90%
 Margin o-------------x------o 37%
 Volume o---------x----------o 50%

I still want to explore that idea of making the site design interactive, but I don’t want to keep relying on HSL colors to make it happen. For now, I’ve removed Cascading Colors, while I rethink the approach.

I’d also like to expose the ways a CSS design is layered – from specified initial values, user agent defaults, resets, global typography, layouts, components, etc. It’s a cascade! What if users could turn on and off the various Cascade origins, and layers to see how the site looks at different steps of the process? Check out the Theme Settings below, for a first-draft of the idea.

Buttons for spec, browser, reset, default, features, layout, and theme
A way of turning CSS layers on and off... These settings were also saved in `localStorage`, so they persist across visits.

This idea is absolutely inspired by the personal site of Nils Binder. Nils provides a slider from 0 to 865 lines of CSS, with animated transitions between the styles. It’s a lot of fun, and I recommend checking it out.

The order of things

My instinct was to strip out all CSS, and then work on getting the HTML cleaned up while my site remains ‘naked’ of style. I didn’t quite do that, but I’m aiming for something close. Here’s what I’ve done so far:

  • Remove the old CSS (done)
  • Begin re-arranging the HTML & Nunjucks templates
  • @layer reset » just the bare minimum needed for HTML tags and attributes to work the way I expect, starting from CSS Remedy.
  • @layer default » just enough colors & typography to make the site feel usable to me, without making decisions about how I’m going to theme it long-term.
  • @layer theme » adds a few site-specific features and opinions on top of the typographic defaults.

The distinction between layers is still fluid, as I try to figure out what I’m doing. I’ll keep adjusting the reset and default styles as I go, but hope to leave the theme layer as minimal as possible, while I focus on the architectural issues.

For now, the default layer has colors based roughly on Firefox CSS System Colors. I experimented briefly with using the System Colors directly, but support seems a bit inconsistent, and there are additional accessibility considerations with that approach. I might revisit in the future.

The theme layer colors are based on Named Colors, with some minor adjustments for accessible contrast. While darkslategray works fine as a text color over azure in light mode, I used Sass to darken it as a background-color in dark mode, providing enough contrast for my accent colors as well. The result is hsl(180deg 25% 6%).

There’s a lot more to do. WebMentions are temporarily hidden, RSS isn’t highlighted in the nav or styled, and all content still looks the same in a list – but I have to start somewhere. We’ll see where it goes (slowly).

Some links I’ve been keeping open while I work

Articles:

Sites: