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 🙏

© 2025 – Pkg Stats / Ryan Hefner

pen-colors

v1.0.7

Published

Repository of pen colors for plotting.

Readme

Pen Colors

Catalogue of pen colors for plotting.

What is this?

Creative coders who want to plot their artworks need to approximate their pen colors on the computer screen to be able to preview their plot (somewhat) accurately.

This project aims to standardize and simplify the process by having a single source of truth available to everyone in a wide range of formats.

Although the tooling is in Node.js, it is intended to be generic and usable by any system.

How to use on the web

You can either use the UMD export which adds a PenColors object to the global scope, or import the ES module.

  • UMD export
<script type="text/javascript" src="https://unpkg.com/pen-colors@1/lib/js/pen-colors.umd.js"></script>
<script type="text/javascript">
console.log(PenColors.stabilo.point88[11].$value); // returns '#a4daf3'
</script>
  • ES module
<script type="module">
import PenColors from 'https://unpkg.com/pen-colors@1/lib/js/pen-colors.esm.js';
console.log(PenColors.stabilo.point88[11].$value); // returns '#a4daf3'
</script>

You can also install the package via npm:

npm install pen-colors --save

then

import PenColors from 'pen-colors';
console.log(PenColors.stabilo.point88[11].$value); // returns '#a4daf3'

I'm not using the web platform

You can download or link to the colors in JSON format: https://unpkg.com/pen-colors@1/lib/json/pen-colors.json

Or if you want an object containing color descriptions: https://unpkg.com/pen-colors@1/lib/json/pen-colors.full.json

If you would like to bundle this project as a library for your language or package manager, please open an issue

Contribute

Each pen color is represented by a token, defined in JSON files using the DTCG format. These tokens are living in the src folder, where each file represents a brand. The structure of the files should follow the brand naming and categorization.

These files are transformed using Style Dictionary to different formats, with the goal of being compatible with most languages and workflows.

Colors are defined as tokens in JSON files in the src folder.

How to add colors to the repository

1. Create a file if it doesn't exist yet

If the brand you want to add doesn't exist yet, create a JSON file in the src folder with the name of the brand.

2. Add color values to the file

The structure and the different categories will depend on the brand and their collection, it doesn't have to follow a similar pattern between brands.

3. Commit your changes

This project uses semantic-release to automate releases and NPM package publishing. As such, every commit adding colors should start with feat:. This will create a new minor version. Example:

feat: add colors for stabilo point 88 pens

If you want to change the value of existing colors, you can use fix:. This will create a new patch version. Example:

fix: change the color values for some stabilo point 88 pens

Any removal or change to the structure of existing colors should be considered a breaking change, thus bump a new major version to not break user workflows. This is achieved by adding a line beginning with BREAKING CHANGE: in the commit body.

fix: change stabilo naming structure

BREAKING CHANGE: The stabilo structured has been changed.
<Share more information about the change>

4. Open a PR

Open a PR with your changes!

TODO

  • Generate a Markdown file listing all available pen colors.