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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@leuffen/themejs2

v1.1.6

Published

- [Jekyll Includes Doc](README_INCLUDES.md) - [Best Practices](BEST_PRACTICE.md)

Readme

themejs2

Build on:

Reference to the Projects that are used to build this project:

Designs

Setup

This Project uses kickstart

  • Clone the repository and run kickstart in the root directory. Inside the container run kick dev to execute the development server defined in .kick.yml.
  • Don't forget to run npm install within kickstart environment.

Running It

kickstart
kick dev

Versionen bauen und veröffentlichen

Ein npm-Release wird durch einen Git-Tag im Format release/X.Y.Z ausgelöst. Beispiel für Version 1.0.12:

npm run build
git tag release/1.0.12
git push origin release/1.0.12

Der GitHub-Publish-Workflow akzeptiert nur drei numerische Versionssegmente, übernimmt 1.0.12 automatisch als Paketversion, baut das Paket und veröffentlicht es bei npm. package.json muss vorher nicht manuell versioniert werden. Jede npm-Versionsnummer darf nur einmal veröffentlicht werden.

Guides

How to Change Styles

  • For theme-specific changes, edit the CSS of a theme, e.g. src/epraxis-theme/theme.scss (not to be confused with the files in docs/_src)
  • Base styles come from published npm packages: @nextrap/style-* and @trunkjs/*

No legacy CSS!

Kunde: Ich möchte auf allen Blog-Seiten unter der Infotext den Hintergrund blau haben!

Bisher: Klar, ich füge eine Klasse info-box-blog hinzu und setze den Hintergrund auf blau.

Wir wollen dahin: Ich ängere das drekt in der _layout/blog.html Datei.

In order to keep the CSS small and maintainable, we do not allow legacy CSS in this project. This means:

<!-- Bad: -->
<div class="info-box-blog">...</div>

<!-- Good: -->
<div class="d-flex border border-1 bg-light p-5" style="opacity: 0.8" style-xl="opacity: 1">...</div>

Why? Keep it Simple Stupid (KISS)!

  • All styles that are specific within a layout or include should be done with utility classes and style attributes.
  • Utility classes are documented and changes will have a predictable effect.
  • Layout and includes should be readable and understandable without having to look up custom CSS.

Checklist for adding a CSS Class:

Do you think you need a new CSS class? Please check the following:

  • [ ] There is no utility class that does the same
  • [ ] You need media query that is not covered by style-md= or style-xl= syntax (see trunkjs responsive docs)
  • [ ] The class is used in more than one place
  • [ ] The class is univerally useful (e.g. .info-box is not, .text-box is) and is not too specific
  • [ ] The class has no side effects with other classes or requires specific ordering