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

@benglynn/press

v1.3.0

Published

Joyful static site publishing

Downloads

115

Readme

Node.js CI

Press

Press integrates tightly with Webpack to take care of your static site's content. Feed it with templates and a tree of markdown files and it emits HTML, templated and transofmed by customisable pipe of composable functions.

Quick set up

Clone and play with the Press demo to see Press in action. Press is fast and works well with Webpack DevServer, live reloading when your content changes.

What does Press need to work?

Press is fed with one or more pug templates, and with a directory structure where each directory contains an index.md file:

markdown/
├── index.md
├── french-press/
│   └── index.md
└── tea-pot/
    └── index.md

As well as its content, each markdown file may have a yaml metadata header, for example:

---
datePublished: 2020-02-17
tags:
 - vessel
---
# French press

A device for brewing coffee.

How does Press work?

Press walks the markdown directory and for each page firstly pipes a Directory through a series of transformations into a Page and secondly reduces a site-wide RenderContext.

The pages and render-context may then pass through a render pipe to create HTML.

Press is built to be customised

The transformations and render-context can be anything you want. Presss is designed to accept any pipeables and reducers with compatible input and output types.

For example, Press uses pug for templating, but you could use a different template engine if you replace the pug sepcific parts.

Much more on customisation TODO...

More transformations in the pipeline

It's early days, more pipeables and reducers are on the way, please see issues for details.

Developing Press

npm run lint
npm run build
npm test