What are Tiny Pages?

 

What are Tiny Pages?

In the last few posts I've alluded to something I am calling Tiny Pages. This is a loaded term that means a lot to me but may not to others beyond the inherent meaning of the individual words. For a while, I've been wanting to develop my own CSS base set of styles. A minimal set of starting blocks that every site and project I work on can use. I got a taste for this first on weblog, and then when adding bits of weblog's base to my other similar properties (my Profile and /now pages, my Microblog, Statuslog, and Domain landing).

A large refactor of weblog's base (and component) styles should include this new base, and use many of the new modern CSS tools we have now to work with, including CSS cascade layers. In order to get up-to-speed on many of the new tools, some which I've only read about, others I've used but not done a deep dive, I want to create individual case studies for each tool or set of tools. These will be done on tiny pages themselves but work to create a Tiny Pages base, so-called because I am aiming for a small footprint.

I want this Tiny Pages base to stand on its own and look and feel okay without any further styles. The idea here came from what I did on the WeblogPoMo 2024 landing page. I used what I learned while deep diving color-scheme and system colors to put together a landing page with very few styles that will still perform in a light or dark color mode, system or user preference. This was a good start and I had a lot of fun doing it, as well as learning about it and writing the blog post covering what I learned.

Shortly after publishing that post I had a brain worm (sort of like an ear worm, but an idea, not a sound) to add "tints" to system colors to achieve cohesion with a theme. On themes.lol Styles I had begun working with form controls and CSS accent-color and came across a discussion on Mastodon between @sarajw and @mia about using CSS color-mix() function with system colors. All of a sudden my brain worm turned into reality and I achieved that "tint" I had envisioned. You can see this on the bottom of Style pages in the form input[type="text"], select, and textarea.

input[type="text"] {
  accent-color: var(--link);
  background-color: color-mix(in srgb, Field, var(--highlight) 35%);
  ...
}

The last two images show a range input using CSS accent-color which adds a theme color to the bottom/selected portion of the range input. This is also applied to the text input, which isn't actually listed as supporting accent-color but in Firefox is used as the border/outline "focus" color, and contrasts with the "tinted" background color using color-mix() with the Field system color and another contrasting theme color. This now sits squarely in my brain waiting for further theme development using color-mix() and system colors.

Screenshot in dark mode of many types of form controls styled with CSS accent-color and color-mix() using system color Field mixed with a complementary theme color to create a background color tint.
Screenshot in dark mode of many types of form controls styled with CSS `accent-color` and `color-mix()` using system color `Field` mixed with a complementary theme color to create a background color tint.
Screenshot in light mode of many types of form controls styled with CSS accent-color and color-mix() using system color Field mixed with a complementary theme color to create a background color tint.
Screenshot in light mode of many types of form controls styled with CSS `accent-color` and `color-mix()` using system color `Field` mixed with a complementary theme color to create a background color tint.
Screenshot in dark mode of a range input using CSS accent-color and a text input using a color-mix() to blend system color Field with a complementary theme color to create a background color tint.
Screenshot in dark mode of a range input using CSS accent-color and a text input using a color-mix() to blend system color Field with a complementary theme color to create a background color tint.
Screenshot in dark mode of a range input using CSS accent-color and a text input using a color-mix() to blend system color Field with a complementary theme color to create a background color tint.
Screenshot in light mode of a range input using CSS accent-color and a text input using a color-mix() to blend system color Field with a complementary theme color to create a background color tint.

What's next? My next deep dive will be on the new color spaces and functions. I know there is a lot to cover so it will span a few posts. I'd like to go into color-mix() more first, to complement what I've done with it and system colors on the form elements, and then other functions before starting into the new color spaces. I know this is a huge topic and probably deserves its own series, so I expect my next post on the topic may be more of a roadmap of how I plan to dive into it. I also need to finish setting up my Tiny Pages site, so that may or may not come first.


Post info

Links in this post:

POSSE copies:

Share this post on social media.

Discuss on Mastodon

Apple Annie's Weblog

02 May 2024 at 14:31

Tiny pages and not-so-tiny pages.

 

Tiny pages and not-so-tiny pages.

This is the first post for WeblogPoMo2024! This is not the post I intended to be the first of the month, but, hey, as I said in the information post: life happens! In my case, last Friday, when this post was supposed to go out, a tree fell on my garage and I've spent the last five days playing catch-up. As I get things back on track, my tiny pages/CSS experiments will be coming, but a few other in-progress posts will take up the next couple days.


In my last post I laid out my plans for WeblogPoMo: a series of CSS experiments using modern CSS I'm learning and creating tiny pages for the experiments. I envisioned setting up these tiny pages on Apple Annie's Weblog as standalone HTML pages. Then over the past week, decided I want to sequester them somehow, somewhere, and after a special for omg.lol emoji addresses, nabbed the 🍏 address (punycode: xn--pi8h) where these experiments will live. I've yet to setup a new subdomain but it will likely use the same emoji/punycode.

The title of this area of experimentation will be Tiny Pages. My inspiration for this coming directly from what I put together for the WeblogPoMo 2024 page, where I hoped to get the page weight under 1MB in order to qualify for the 1MB Club. At this time the page weighs around 2.4MB and shaving off 1.4MB would require removing Font Awesome and probably Tinylytics, two things I could absolutely do without there.

With all this page weight stuff top of mind, I also started looking into adding some way for folks who are participating in WeblogPoMo to share their info to be put on a Participators page. Obviously this meant a form. I took guidance suggestions from other omg.lol community members and ended up with three viable options that I started to configure one-by-one.

The first option was the simplest, but required requesting a key to even get started. It's a small open-source project by a single developer and I've yet to hear back with a key. But I went through the documentation manual and have all my pieces in place when (if) I finally get access. This setup relies on my own HTML form, uses a POST action via the service, allows me to set a redirect URL after submission, and provides responses in an Atom feed. A very light-weight and simple option. My only concern with this one is form validation and spam, which I haven't done anything with yet. I can get to that when and if I get access to the service.

In the meantime I created a Tally account. Tally has a free plan with most of the same features as a paid plan. I'm not entirely sure how that works, and it usually drives me away from services, because no company is providing free services out the goodness of their hearts. Regardless, I set up a form, which was pretty painless and all done via an overly complicated GUI. You can embed the form on a separate page, provide it in a popup, or keep on a standalone page with a Tally URL. They provide a few different embed types, including one that had the following text that made me feel insulted:

Take a look at the instructions below and share them with your developers.

At first I looked at embedding the Tally form directly on the WeblogPoMo page. This added an inordinate amount of weight to the page, nearly doubling it, and loading an additional twenty-eight assets 😡 mostly Javascript. I decided that was a no-go, as I was still unsure of the free plan's ultimate goal and usage of data. When seed money runs out, some these services eventually sell-out, drastically change their privacy policies, or incorporate AI in a way that I probably wouldn't be onboard with.

The third and final option is a no-code open-source database called Baserow. Baserow offers hosting and self-host options. I had been eye-balling PikaPods for a few apps and Baserow was on offer, so I signed up and spun up a pod. Signing up for PikaPods gave me a $5 signup bonus which was enough to cover about two months of my Baserow app, more than enough time to use it for WeblogPoMo.

With Baserow, you can also embed what they call "views" of a database directly on a page or use a standalone page. One of the view types is as a form for input. Baserow's form weight is even larger than Tally's so I opted for the standalone page, added a logo, and URL redirect to a "thank you for participating" page after form submission. I went this direction because I also set up a subdomain for my Baserow install on PikaPods and this application is directly under my control. The data isn't stored by a free third-party and I feel better about this since I'm collecting people's information.

I plan to leave this WeblogPoMo form up through Friday, May 3, 2024. I figure that should give folks who want to participate enough time to have heard about it or decide to sign up. I am not 100% satisfied with Baserow, but as an open-source project I feel like I could see it improving or even help in the future. I will continue to use it for the next couple months and see if I'd like to continue paying for the PikaPod. It could be useful for several different use cases I envision, including feedback, methods of contact, and even my own organizational purposes. I'd also love to look into the API for accessing and displaying data on weblog if I decide to use it long-term.


What's next? My plan for the next WeblogPoMo post (May 2, 2024) is to explain a little bit more about Tiny Pages and how I came up with the idea, what it will entail, how it ties into the WeblogPoMo page, one of my other projects (themes.lol), and my quest to learn more modern CSS through experimentation.


Post info

Links in this post:

POSSE copies:

Share this post on social media.

Discuss on Mastodon

Apple Annie's Weblog

01 May 2024 at 19:02



Refresh complete

ReloadX
Home
(259) All feeds

Last 24 hours
Download OPML
*
A Very Good Blog by Keenan
*
A Working Library
Alastair Johnston
*
Andy Sylvester's Web
Anna Havron
annie mueller
*
Annie Mueller
*
Apple Annie's Weblog
Artcasting test feed
*
Articles – Dan Q
*
Austin Kleon
*
Baty.net posts
bgfay
Bix Dot Blog
*
Brandon's Journal
*
Chris Coyier
Chris Lovie-Tyler
Chris McLeod's blog
CJ Chilvers
CJ Eller
Colin Devroe
*
Colin Walker – Daily Feed
Content on Kwon.nyc
*
Dave's famous linkblog
*
daverupert.com
Dino's Journal πŸ“–
dispatches
E L S U A ~ A blog by Luis Suarez
Excursions
*
Flashing Palely in the Margins
Floating Flinders
For You
*
Frank Meeuwsen
frittiert.es
Hello! on Alan Ralph
*
Human Stuff from Lisa Olivera
inessential.com
*
Interconnected
Into the Book
*
jabel
*
Jake LaCaze
*
James Van Dyne
*
Jan-Lukas Else
*
Jim Nielsen's Blog
Jo's Blog
Kev Quirk
*
lili's musings
*
Live & Learn
Lucy Bellwood
Maggie Appleton
*
Manton Reece
*
Manu's Feed
maya.land
Meadow 🌱
*
Minutes to Midnight RSS feed
Nicky's Blog
*
Notes – Dan Q
*
On my Om
*
One Man & His Blog
*
Own Your Web
Paul's Dev Notes
*
QC RSS
rebeccatoh.co
reverie v. reality
*
Rhoneisms
*
ribbonfarm
Robin Rendle
Robin Rendle
Sara Joy
*
Scripting News
*
Scripting News for email
Sentiers – Blog
Simon Collison | Articles & Stream
*
strandlines
text/plain blog
the dream machine
*
The Homebound Symphony
*
The Marginalian
*
thejaymo
*
theunderground.blog
tomcritchlow.com
*
Tracy Durnell
*
Winnie Lim
wiwi blog
*
yours, tiramisu
Žan Černe's Blog

About Reader


Reader is a public/private RSS & Atom feed reader.


The page is publicly available but all admin and post actions are gated behind login checks. Anyone is welcome to come and have a look at what feeds are listed β€” the posts visible will be everything within the last week and be unaffected by my read/unread status.


Reader currently updates every six hours.


Close

Search




x
Colin Walker Colin Walker colin@colinwalker.blog