howto

2.0.1 • Public • Published

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

Package Sidebar

Install

npm i howto

Weekly Downloads

17

Version

2.0.1

License

MIT

Last publish

Collaborators

  • nopersonsmodules