npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

hyptiotes

v0.0.2

Published

exploratory web building framework aiming to spring load the web trinity (HTML + CSS + JS) by pulling everything into JS

Downloads

9

Readme

Hyptiotes.js

Hyptiotes ("HIP-tee-oh-tees"), aka the triangle weaver, is known for using a spring loaded triangular web.

Like the weaver, Hyptiotes.js is an exploratory web building framework aiming to spring load the web trinity (HTML + CSS + JS) by pulling everything into JS.

Doing this has several key benefits:

  • Increased cohesion and consistency between HTML / CSS / JS (in patterns and practice)
  • Extend functional / dynamic behavior to HTML and CSS
  • Reduction in semantic and syntactic complexity

Hyptiotes is intended to be a Web Building Framework, not necessarily an Application Framework. It can be used to make an application, but it doesn't have to be. Just like any of the basic web stack. With a little extension there's no reason it couldn't be used on top of an application framework like React to replace JSX.

Rationale:

Imagine you were to reinvent the web today knowing how it would take shape. Would you split the web stack into HTML, CSS and JS? Probably not*. While their applications may vary, at the end of the day HTML (a decorated tree) and CSS (a list of rulesets) are just data. Simple data. There is no reason we can't represent our markup tree and rulesets list data in JS primitives from the start. In most cases JS ends up managing the two anyhow.

*Not the point, but I think I'd imagine a metadata object (SEO, policies, resources, etc) which might define a preload.js (intiate some amount of page, dynamic loading) and a list of page resources to kick off

Where hyptiotes differs:

Many frameworks try a similar tactic. However often times in an effort to bring two things together, these frameworks end up creating a third. JSX for example is neither JS or HTML, requires compiling for use, and introduces new syntax for bridging JS and markup.

Driving Concepts

Goal: Rework building web with minimal magic and little inconvenience

Means: Leverage the best of vanilla, bridging only the least smooth interfaces.

Particularly:

  • the separation of view, logic, and style
  • the lack of dynamic / functional html and css
  • abstract apis: managing dom, adding event listeners

Framework Design Principles:

  • Don't add magic, enable magic. Keep as much logic above board as possible.
  • Web has quirks, don't hide them with more quirks. Keep it simple. Keep it vanilla.
  • This is a web framework, not an application framework. It should not be "smart" or stateful in itself.

// "It then applies a series of rules to assemble or cast that tree to a target UI tree (eg. the DOM). ", // "How exactly Hyptiotes decides to generate (and possibly regenerate) the UI tree is completely up to the configurer ", // " and you can see across examples how different combinations of frameworks might take shape. ", // "However the essential patterns and structure of array based trees should remain fairly constant. ",