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

howto

v2.0.1

Published

offline wiki for programming guides

Downloads

22

Readme

howto

offline wiki for programming guides (or whatever else)

example

First write a new document in markdown:

# content addressable haiku

```
Key of document
is the hash of its content.
Addressable blob.
```

# tags

[haiku](tag:haiku) [poem](tag:poem)

Now save the document to howto:

$ howto create < doc.md
0985d816191c936e86827b78bfb4aed957c1e483d3585e04cf61f88927428bae

Now we can open the document in $PAGER with:

$ howto show 0985d816191c936e86827b78bfb4aed957c1e483d3585e04cf61f88927428bae

Or to edit the document in $EDITOR, just use howto edit:

$ howto edit 0985d816191c936e86827b78bfb4aed957c1e483d3585e04cf61f88927428bae

and we can search for documents with howto search:

# content addressable haiku
hash: e4abc5bc3000f09009a1570a01a70bdac4a2fae5e20a4a391564b399ff813c63

Now elsewhere, you can spin up an http server on port 5000:

$ howto server -p 5000
listening on :5000

and push your content to it:

$ howto push http://localhost:5000

you can also howto pull to fetch content or howto sync for push+pull.

usage

howto search QUERY

  Search for articles containing QUERY using a full-text scan.

howto browse TAG

  List all articles matching TAG.

howto recent

  Show all recent activity.

howto read HASH

  Print an article to stdout.

howto show HASH

  Open an article in $PAGER.

howto edit HASH

  Open an article in $EDITOR and save a new version.

howto create

  Create a new document from content on stdin.

howto [push|pull|sync] {URI}

  Replicate according to a push, pull, or sync strategy.
  If URI is given, replicate over full-duplex http.
  Otherwise, replicate over stdin and stdout.

methods

var howto = require('howto')

howto is a wikidb instance. Consult the wikidb (and forkdb) documentation for the rest of the methods not mentioned below.

var md = howto(db, opts)

Create a howto instance md from a leveldb handle db.

var w = md.createWriteStream(meta, cb)

Return a writable stream w that should be written markdown content.

The first header is used as the document key/title.

Tags are gathered from links that start with tag:. For example:

[cookie](tag:cookie)

adds a tag for cookie to the wiki page.

install

With npm, to get the command, do:

npm install -g howto

or to get the library, do:

npm install howto

license

MIT