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

nodeletter

v0.1.5

Published

Nodeletter is a Node.js module that is used for creating email newsletters.

Readme

nodeletter

vr. 0.0.1

nodeletter is a Node.js module that is used for creating email newsletters.

It has been tested on Node.js vr. 0.8.18.

nodeletter requires the following modules:

  • http
  • fs
  • path
  • url
  • moment
  • jquery
  • inliner
  • premailer
  • markdown
  • kiwi

Synopsis

This Node module is intended for developers/designers tasked with creating a unique newsletter design. Normally services like MailChimp, etc., are good routes to go as one stop shops. But if you're stuck creating a solution from scratch to handle through some mailer service, that usually means you're in for a lot of trivial work, including:

  • using antiquated HTML/CSS strategies to lay out content
  • testing with numerous email browsers
  • embedding CSS inline as style attributes for MUA's that don't process header or inline CSS
  • making sure all links are referencing valid external locations
  • having multiple copies of the same design for email/online display
  • entering content into source directly
  • updating context sensitive variables (dates, names, etc.)

nodeletter attemps to solve at least some of these problems from the get go, particularly the ones that involve the design, development, and generation of email newsletters. It should make newsletter development mare akin to common web development.

Process

nodeletter separates newsletter creation into concerns you're used to when web developing.

Render Modes

Render modes are instanced of behavior by which *nodeletter will render an existing email template. By default, the following are supplied (and are overrideable):

  • email: CSS is inlined, compiled into the DOM as style attributes, and compressed, link references are made external
  • online: CSS is inlined, references are made external
  • default: the template is served with no intermediate processing

Template

nodeletter newsletters are created using the Kiwi templating engine.

Content

Content refers to what is featured in your newsletter, which is usually text like an article or whatever.

Content is derived using markdown. Simply create a markdown file and include it in your template within ghte ./contents folder.

Feeds

Feeds are lists of items that a newsletter might use, like news items or links.

Feeds are derived using JSON files that are imported from ./contents/feeds.json.

Statics

Static files are your CSS, JS, and images. These are smartly handled depending on your rendering options.

Usage

  1. Build the directory structure using the nodeletter executable.

nodeletter new template_name

  1. Build your newsletter.

  2. Start the nodeletter server.

node template.js

  1. Use render modes for developing and testing your newsletter. Render modes are displayed according to the specified path:

localhost:8888/render_mode/action

where: - render_mode: type of render mode, default is default - action: render action, default is display