My brain was picked apart the other day. Virtual scrolling is, in a handwavy sense, pagination with (semi) automatic navigation. Touché.
Infinite scrolling is unusual. Most implementations are “almost infinite” to avoid excessive length (memory).
-
Infinite scrolling: Limits content to an arbitrarily large amount to avoid exhausting memory.
-
Virtual scrolling: Unload everything except the visible viewport + a top and bottom offset. Pad the rest.
Virtual scrolling is infinite, but breaks auxiliary actions ( CTRL + F ) because what’s on the screen is the content.
document.addEventListener("scroll", function() {
console.log(document.querySelectorAll('*').length)
});
The most popular library appears to be https://infinite-scroll.com.
It’s amazing how trends in modern mainstream web development have seemingly inverted. One such example (an old bookmark) while following tech more closely in school;
Therefore by purposefully giving the user a blank page, we are giving him information that the app is still loading. The user knows that the app will be functional when he sees boxes and buttons.
The truth was it didn’t matter, at least, not so much as “position independent code”, kind of. Tech appears to do a ten year amnesiac/discovery routine. Web components arrived around that time too.
The best CSS Framework? I don’t know. Complexity moves in mysterious ways. The many interpretations model must be satisfied.
- in CSS (canonical)
- CSS in (write once and time driven)
- CSS in JavaScript (framework driven)
- CSS in Shadow (company/department driven)
- CSS in Scoped Formats ( driven)
- CSS in Preprocessors (design system driven)
I’d say, choices reflect environmental factors (social or otherwise) at play. If you’re lucky enough to choose, then suitability favors what draws the finish line closer? I’ve no advice since I’d rarely have the time/luxury to choose anyway. I’m usually thinking about the possibility of more types, sub–types ( in #1: , classless, etc), and the transposition strategy and speed between each class/type.
Text fragments
are a Chromium feature from a couple years ago. They (#:~:text=) emulate
CTRL + F or
window.find()
from a . I experimented in times past
with a snippet–like approach using
<mark>
with
URL encoded terms on
id +
:target
logic, such that
clicking this link
highlights the paragraph below.
https://web.dev/text-fragments/#:~:text=Text%20Fragments%20let%20you
After perusing the web dev blog feeds (finally).. it seems that there’s a “mainstream” coordination away from the client side;
- https://intercoolerjs.org/
- https://unpoly.com/
- https://htmx.org/
- https://turbo.hotwired.dev/handbook/introduction
Time until a transition to ‘ over the wire’? These are very handy libraries — I tried htmx previously.
So as you may know we have, knowledge.. or in the old black books of web witchcraft; the checkbox hack. I wonder though; did anyone ever go the final mile and create a kinda generalized “progressive polyfill” to fix the semantics of this so called hack?
Tangentially, a query for a details/summary polyfill brings up either rstacruz/details-polyfill or chemerisuk/better-details-polyfill with demo. Interesting.
A no build repository for SolidJS. Don’t ask. I found this splendid repository while strategically traversing the void. Demo.
I used up all my free time points last month experimenting with a Guile Scheme webserver. Then I discovered ZelphirKaltstahl/guile-examples… Haunt is also an interesting static site generator.
When making hugo themes, it’s probably better defaulting to absURL and relURL over baseURL for links. It avoids most breakage on links that depend on a base and more easily allows multilingual support with absLangURL.
However realistically (for anything), interpretations of file, directory/, absoluteness, and relativity are varied. Testing artifacts for ≈ 100% internal/self linking consistency, under different conditions, and after every code change is better time spent debugging. Sub directories are exceptional cases… even now some of my links are broken except that my web server automatically fixes common mistakes (: