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

@lowlighter/matcha

v3.0.0

Published

🍡 Drop-in semantic styling library in pure CSS.

Downloads

91

Readme

🍡 matcha.css

matcha.mizu.sh

matcha.css is a pure CSS library designed to style HTML elements similarly to a default browser stylesheet, eliminating the need for users to manually patch their documents.

Ideal for fast prototyping, static HTML pages, Markdown-generated documents, and developers seeking to streamline their workflow without delving into CSS intricacies and want to make use of the full range of available HTML elements.

  • βœ… No build steps
  • βœ… No dependencies
  • βœ… No JavaScript
  • βœ… No configuration needed
  • βœ… No refactoring required
  • βœ… ~7kB gzipped (can be further reduced)

πŸ“Έ Screenshot examples

πŸ₯’ Why choose matcha.css?

🍜 Agnostic

Works seamlessly with any document and covers a broader range of HTML elements compared to similar libraries. It remains unobtrusive by leveraging CSS pseudo-elements and offers extensive browser support.

πŸ₯ Reversible

Simply include its <link rel="stylesheet"> to get started, and remove it whenever necessary without the need for document refactoring or cleanup.

🍑 Semantic

Adapts styling based on elements hierarchy, providing intuitive behaviors such as "implicit submenus" when nesting <menu> elements, required field indicator (*) when a <label> is paired with <input required>, etc.

🍱 Customizable

Brew your own build using our custom builder to select specific features and reduce the final build size according to your project's needs.

🍘 Open-source

Released under the MIT License, freely available at github.com/lowlighter/matcha.

πŸ“– Usage

To utilize matcha.css, just include the following line in the <head> section of your document. It's that simple!

<link rel="stylesheet" href="https://matcha.mizu.sh/matcha.css">

Assets are hosted on Vercel but matcha.css is also available on npm and CDN services that distributes npm packages such as JSdelivr.

All published versions are available in the /v/ directory. By default, the main branch is served.

🍴 Γ€ la carte

Each subdirectory listed in /styles directory is also directly served from matcha.mizu.sh. For example, if you only wish to include the @syntax-highlighting styles rather than using the default build or a custom one, you could use:

<link rel="stylesheet" href="https://matcha.mizu.sh/styles/@syntax-highlighting/mod.css">

However note that unless you provide your own CSS variables, you will most likely need to include the @root package as it contains all matcha.css variables definition.

All mod.css files are also aliased to their respective parent directories for convenience, which means you can also use:

<link rel="stylesheet" href="https://matcha.mizu.sh/@syntax-highlighting.css">

🫰 Contributing

🎌 Project scope

  • Respect accessibility and usability best practices
  • Respect end-users' preferences (e.g., color scheme)
  • Be desktop and mobile friendly
  • Not drastically change its current styling (unless to fulfill one of the previous mentioned principles)
  • Remain lightweight, modular and customizable
    • Additional features considered as "bloat" will be excluded by default and will be opt-in
    • !important rules will never be used to ensure users can easily override styles

πŸ“‚ Project structure

This project is separated into three main directories:

  • /api for serverless functions run on Vercel
  • /app for entry points, static assets, and build scripts
  • /styles for CSS source files

🎨 About /styles directory

Each subdirectory within this folder is intended to be mostly self-contained and scoped. It helps to keep the codebase organized while also allows users to cherry-pick specific features and create custom builds.

Extra features should be prefixed using the character @ and should most likely be excluded by default in the builder to avoid bloating the default build.

πŸ§‘β€πŸ’» Development lifecycle

When submitting a pull request, the preview will be available on Vercel. Maintainers and other contributors can review the changes and provide feedback before merging.

Local development is intended to be done using the deno runtime. If you do not wish to install it, you can also use the provided devcontainer configuration to run the project in a containerized environment or directly on GitHub Codespaces.

To start the development server, run the following command:

deno task serve

Before submitting your changes, ensure everything is correctly formatted by running the following command:

deno task fmt

πŸ“œ License

MIT License
Copyright (c) 2024-present Simon Lecoq (lowlighter)