From 8fdd60d9608cd56a07d46ebbe492d6c7e05e3047 Mon Sep 17 00:00:00 2001 From: isaacs Date: Thu, 8 Sep 2011 13:18:48 -0700 Subject: Build an index of all html documentation files --- Makefile | 14 ++- doc/index.md | 241 ++++++++++++++++++++++++++++++++++++++++++ html/doc/index.html | 280 +++++++++++++++++++++++++++++++++++++++++++++++++ man1/index.1 | 185 ++++++++++++++++++++++++++++++++ scripts/index-build.js | 34 ++++++ 5 files changed, 752 insertions(+), 2 deletions(-) create mode 100644 doc/index.md create mode 100644 html/doc/index.html create mode 100644 man1/index.1 create mode 100644 scripts/index-build.js diff --git a/Makefile b/Makefile index d206886c0..5db42598b 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,18 @@ SHELL = bash +markdowns = $(shell find doc -name '*.md' | grep -v 'index') + docs = $(shell find doc -name '*.md' \ + |grep -v 'index' \ |sed 's|.md|.1|g' \ - |sed 's|doc/|man1/|g' ) man1/README.1 + |sed 's|doc/|man1/|g' ) \ + man1/README.1 htmldocs = $(shell find doc -name '*.md' \ |sed 's|.md|.html|g' \ - |sed 's|doc/|html/doc/|g' ) html/doc/README.html + |sed 's|doc/|html/doc/|g' ) \ + html/doc/README.html \ + html/doc/index.html doc_subfolders = $(shell find doc -type d \ |sed 's|doc/|man1/|g' ) @@ -56,6 +62,10 @@ html/doc/README.html: README.md html/dochead.html html/docfoot.html html/doc/%.html: doc/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh $< $@ +doc/index.md: $(markdowns) + node scripts/index-build.js > doc/index.md + + test: submodules node cli.js test diff --git a/doc/index.md b/doc/index.md new file mode 100644 index 000000000..dcd116128 --- /dev/null +++ b/doc/index.md @@ -0,0 +1,241 @@ +npm-index(1) -- Index of all npm documentation files +==================================================== + + +## npm-adduser(1) + +Create or verify a user named `` in the npm registry, and +save the credentials to the `.npmrc` file. + +## npm-bin(1) + +Print the folder where npm will install executables. + +## npm-build(1) + +This is the plumbing command called by `npm link` and `npm install`. + +## npm-bundle(1) + +The `npm bundle` command has been removed in 1.0, for the simple reason +that it is no longer necessary, as the default behavior is now to +install packages into the local space. + +## npm-cache(1) + +Used to add, list, or clear the npm cache folder. + +## npm-changelog(1) + +A brief history. + +## npm-coding-style(1) + +npm's coding style is a bit unconventional. It is not different for +difference's sake, but rather a carefully crafted style that is +designed to reduce visual clutter and make bugs more apparent. + +## npm-completion(1) + +Enables tab-completion in all npm commands. + +## npm-config(1) + +npm gets its configuration values from 5 sources, in this priority: + +## npm-deprecate(1) + +This command will update the npm registry entry for a package, providing +a deprecation warning to all who attempt to install it. + +## npm-developers(1) + +So, you've decided to use npm to develop (and maybe publish/deploy) +your project. + +## npm-docs(1) + +This command tries to guess at the likely location of a package's +documentation URL, and then tries to open it using the `--browser` +config param. + +## npm-edit(1) + +Opens the package folder in the default editor (or whatever you've +configured as the npm `editor` config -- see `npm-config(1)`.) + +## npm-explore(1) + +Spawn a subshell in the directory of the installed package specified. + +## npm-faq(1) + +Questions asked frequently. + +## npm-folders(1) + +npm puts various things on your computer. That's its job. + +## npm-help-search(1) + +This command will search the npm markdown documentation files for the +terms provided, and then list the results, sorted by relevance. + +## npm-help(1) + +If supplied a topic, then show the appropriate documentation page. + +## npm-init(1) + +This will ask you a bunch of questions, and then write a package.json for you. + +## npm-install(1) + +This command installs a package, and any packages that it depends on. + +## npm-json(1) + +This document is all you need to know about what's required in your package.json +file. It must be actual JSON, not just a JavaScript object literal. + +## npm-link(1) + +Package linking is a two-step process. + +## npm-list(1) + +This command will print to stdout all the versions of packages that are +installed, as well as their dependencies, in a tree-structure. + +## npm-npm(1) + +npm is the package manager for the Node JavaScript platform. It puts +modules in place so that node can find them, and manages dependency +conflicts intelligently. + +## npm-outdated(1) + +This command will check the registry to see if any (or, specific) installed +packages are currently outdated. + +## npm-owner(1) + +Manage ownership of published packages. + +## npm-pack(1) + +For anything that's installable (that is, a package folder, tarball, +tarball url, name@tag, name@version, or name), this command will fetch +it to the cache, and then copy the tarball to the current working +directory as `-.tgz`, and then write the filenames out to +stdout. + +## npm-prefix(1) + +Print the prefix to standard out. + +## npm-prune(1) + +This command removes "extraneous" packages. If a package name is +provided, then only packages matching one of the supplied names are +removed. + +## npm-publish(1) + +Publishes a package to the registry so that it can be installed by name. + +## npm-rebuild(1) + +This command runs the `npm build` command on the matched folders. This is useful +when you install a new version of node, and must recompile all your C++ addons with +the new binary. + +## npm-registry(1) + +To resolve packages by name and version, npm talks to a registry website +that implements the CommonJS Package Registry specification for reading +package info. + +## npm-removing-npm(1) + +So sad to see you go. + +## npm-restart(1) + +This runs a package's "restart" script, if one was provided. +Otherwise it runs package's "stop" script, if one was provided, and then +the "start" script. + +## npm-root(1) + +Print the effective `node_modules` folder to standard out. + +## npm-run-script(1) + +This runs an arbitrary command from a package's "scripts" object. + +## npm-scripts(1) + +npm supports the "scripts" member of the package.json script, for the +following scripts: + +## npm-search(1) + +Search the registry for packages matching the search terms. + +## npm-semver(1) + +As a node module: + +## npm-start(1) + +This runs a package's "start" script, if one was provided. + +## npm-stop(1) + +This runs a package's "stop" script, if one was provided. + +## npm-submodule(1) + +If the specified package has a git repository url in its package.json +description, then this command will add it as a git submodule at +`node_modules/`. + +## npm-tag(1) + +Tags the specified version of the package with the specified tag, or the +`--tag` config if not specified. + +## npm-test(1) + +This runs a package's "test" script, if one was provided. + +## npm-uninstall(1) + +This uninstalls a package, completely removing everything npm installed +on its behalf. + +## npm-unpublish(1) + +This removes a package version from the registry, deleting its +entry and removing the tarball. + +## npm-update(1) + +This command will update all the packages listed to the latest version +(specified by the `tag` config). + +## npm-version(1) + +Run this in a package directory to bump the version and write the new +data back to the package.json file. + +## npm-view(1) + +This command shows data about a package and prints it to the stream +referenced by the `outfd` config, which defaults to stdout. + +## npm-whoami(1) + +Print the `username` config to standard output. + diff --git a/html/doc/index.html b/html/doc/index.html new file mode 100644 index 000000000..172b5f7c0 --- /dev/null +++ b/html/doc/index.html @@ -0,0 +1,280 @@ + + + index + + + + +
+

index

Index of all npm documentation files

+ +

adduser

+ +

Create or verify a user named <username> in the npm registry, and +save the credentials to the .npmrc file.

+ +

bin

+ +

Print the folder where npm will install executables.

+ +

build

+ +

This is the plumbing command called by npm link and npm install.

+ +

bundle

+ +

The npm bundle command has been removed in 1.0, for the simple reason +that it is no longer necessary, as the default behavior is now to +install packages into the local space.

+ +

cache

+ +

Used to add, list, or clear the npm cache folder.

+ +

changelog

+ +

A brief history.

+ +

coding-style

+ +

npm's coding style is a bit unconventional. It is not different for +difference's sake, but rather a carefully crafted style that is +designed to reduce visual clutter and make bugs more apparent.

+ +

completion

+ +

Enables tab-completion in all npm commands.

+ +

config

+ +

npm gets its configuration values from 5 sources, in this priority:

+ +

deprecate

+ +

This command will update the npm registry entry for a package, providing +a deprecation warning to all who attempt to install it.

+ +

developers

+ +

So, you've decided to use npm to develop (and maybe publish/deploy) +your project.

+ +

docs

+ +

This command tries to guess at the likely location of a package's +documentation URL, and then tries to open it using the --browser +config param.

+ +

edit

+ +

Opens the package folder in the default editor (or whatever you've +configured as the npm editor config -- see config.)

+ +

explore

+ +

Spawn a subshell in the directory of the installed package specified.

+ +

faq

+ +

Questions asked frequently.

+ +

folders

+ +

npm puts various things on your computer. That's its job.

+ +

help-search

+ +

This command will search the npm markdown documentation files for the +terms provided, and then list the results, sorted by relevance.

+ +

help

+ +

If supplied a topic, then show the appropriate documentation page.

+ +

init

+ +

This will ask you a bunch of questions, and then write a package.json for you.

+ +

install

+ +

This command installs a package, and any packages that it depends on.

+ +

json

+ +

This document is all you need to know about what's required in your package.json +file. It must be actual JSON, not just a JavaScript object literal.

+ + + +

Package linking is a two-step process.

+ +

list

+ +

This command will print to stdout all the versions of packages that are +installed, as well as their dependencies, in a tree-structure.

+ +

npm

+ +

npm is the package manager for the Node JavaScript platform. It puts +modules in place so that node can find them, and manages dependency +conflicts intelligently.

+ +

outdated

+ +

This command will check the registry to see if any (or, specific) installed +packages are currently outdated.

+ +

owner

+ +

Manage ownership of published packages.

+ +

pack

+ +

For anything that's installable (that is, a package folder, tarball, +tarball url, name@tag, name@version, or name), this command will fetch +it to the cache, and then copy the tarball to the current working +directory as <name>-<version>.tgz, and then write the filenames out to +stdout.

+ +

prefix

+ +

Print the prefix to standard out.

+ +

prune

+ +

This command removes "extraneous" packages. If a package name is +provided, then only packages matching one of the supplied names are +removed.

+ +

publish

+ +

Publishes a package to the registry so that it can be installed by name.

+ +

rebuild

+ +

This command runs the npm build command on the matched folders. This is useful +when you install a new version of node, and must recompile all your C++ addons with +the new binary.

+ +

registry

+ +

To resolve packages by name and version, npm talks to a registry website +that implements the CommonJS Package Registry specification for reading +package info.

+ +

removing-npm

+ +

So sad to see you go.

+ +

restart

+ +

This runs a package's "restart" script, if one was provided. +Otherwise it runs package's "stop" script, if one was provided, and then +the "start" script.

+ +

root

+ +

Print the effective node_modules folder to standard out.

+ +

run-script

+ +

This runs an arbitrary command from a package's "scripts" object.

+ +

scripts

+ +

npm supports the "scripts" member of the package.json script, for the +following scripts:

+ +

search

+ +

Search the registry for packages matching the search terms.

+ +

semver

+ +

As a node module:

+ +

start

+ +

This runs a package's "start" script, if one was provided.

+ +

stop

+ +

This runs a package's "stop" script, if one was provided.

+ +

submodule

+ +

If the specified package has a git repository url in its package.json +description, then this command will add it as a git submodule at +node_modules/<pkg name>.

+ +

tag

+ +

Tags the specified version of the package with the specified tag, or the +--tag config if not specified.

+ +

test

+ +

This runs a package's "test" script, if one was provided.

+ +

uninstall

+ +

This uninstalls a package, completely removing everything npm installed +on its behalf.

+ +

unpublish

+ +

This removes a package version from the registry, deleting its +entry and removing the tarball.

+ +

update

+ +

This command will update all the packages listed to the latest version +(specified by the tag config).

+ +

version

+ +

Run this in a package directory to bump the version and write the new +data back to the package.json file.

+ +

view

+ +

This command shows data about a package and prints it to the stream +referenced by the outfd config, which defaults to stdout.

+ +

whoami

+ +

Print the username config to standard output.

+
+ + + diff --git a/man1/index.1 b/man1/index.1 new file mode 100644 index 000000000..d38df1525 --- /dev/null +++ b/man1/index.1 @@ -0,0 +1,185 @@ +.\" Generated with Ronnjs/v0.1 +.\" http://github.com/kapouer/ronnjs/ +. +.IP "\(bu" 4 +\|\./adduser\.html +. +.IP "\(bu" 4 +\|\./author\.html +. +.IP "\(bu" 4 +\|\./bin\.html +. +.IP "\(bu" 4 +\|\./build\.html +. +.IP "\(bu" 4 +\|\./bundle\.html +. +.IP "\(bu" 4 +\|\./cache\.html +. +.IP "\(bu" 4 +\|\./changelog\.html +. +.IP "\(bu" 4 +\|\./coding\-style\.html +. +.IP "\(bu" 4 +\|\./completion\.html +. +.IP "\(bu" 4 +\|\./config\.html +. +.IP "\(bu" 4 +\|\./deprecate\.html +. +.IP "\(bu" 4 +\|\./developers\.html +. +.IP "\(bu" 4 +\|\./docs\.html +. +.IP "\(bu" 4 +\|\./edit\.html +. +.IP "\(bu" 4 +\|\./explore\.html +. +.IP "\(bu" 4 +\|\./faq\.html +. +.IP "\(bu" 4 +\|\./folders\.html +. +.IP "\(bu" 4 +\|\./get\.html +. +.IP "\(bu" 4 +\|\./global\.html +. +.IP "\(bu" 4 +\|\./help\-search\.html +. +.IP "\(bu" 4 +\|\./help\.html +. +.IP "\(bu" 4 +\|\./home\.html +. +.IP "\(bu" 4 +\|\./init\.html +. +.IP "\(bu" 4 +\|\./install\.html +. +.IP "\(bu" 4 +\|\./json\.html +. +.IP "\(bu" 4 +\|\./link\.html +. +.IP "\(bu" 4 +\|\./list\.html +. +.IP "\(bu" 4 +\|\./ln\.html +. +.IP "\(bu" 4 +\|\./ls\.html +. +.IP "\(bu" 4 +\|\./npm\.html +. +.IP "\(bu" 4 +\|\./outdated\.html +. +.IP "\(bu" 4 +\|\./owner\.html +. +.IP "\(bu" 4 +\|\./pack\.html +. +.IP "\(bu" 4 +\|\./prefix\.html +. +.IP "\(bu" 4 +\|\./prune\.html +. +.IP "\(bu" 4 +\|\./publish\.html +. +.IP "\(bu" 4 +\|\./rebuild\.html +. +.IP "\(bu" 4 +\|\./registry\.html +. +.IP "\(bu" 4 +\|\./removing\-npm\.html +. +.IP "\(bu" 4 +\|\./restart\.html +. +.IP "\(bu" 4 +\|\./rm\.html +. +.IP "\(bu" 4 +\|\./root\.html +. +.IP "\(bu" 4 +\|\./run\-script\.html +. +.IP "\(bu" 4 +\|\./scripts\.html +. +.IP "\(bu" 4 +\|\./search\.html +. +.IP "\(bu" 4 +\|\./semver\.html +. +.IP "\(bu" 4 +\|\./set\.html +. +.IP "\(bu" 4 +\|\./start\.html +. +.IP "\(bu" 4 +\|\./stop\.html +. +.IP "\(bu" 4 +\|\./submodule\.html +. +.IP "\(bu" 4 +\|\./tag\.html +. +.IP "\(bu" 4 +\|\./test\.html +. +.IP "\(bu" 4 +\|\./uninstall\.html +. +.IP "\(bu" 4 +\|\./unpublish\.html +. +.IP "\(bu" 4 +\|\./update\.html +. +.IP "\(bu" 4 +\|\./version\.html +. +.IP "\(bu" 4 +\|\./view\.html +. +.IP "\(bu" 4 +\|\./whoami\.html +. +.IP "\(bu" 4 +\|\./README\.html +. +.IP "\(bu" 4 +\|\./index\.html +. +.IP "" 0 + diff --git a/scripts/index-build.js b/scripts/index-build.js new file mode 100644 index 000000000..7d60a1775 --- /dev/null +++ b/scripts/index-build.js @@ -0,0 +1,34 @@ +#!/usr/bin/env node +var fs = require("fs") + , path = require("path") + , docdir = path.resolve(__dirname, "..", "doc") + +console.log( + "npm-index(1) -- Index of all npm documentation files\n" + + "====================================================\n\n") +fs.readdir(docdir, function (er, docs) { + if (er) throw er + docs.filter(function (d) { + return d !== "index.md" + && d.charAt(0) !== "." + && d.match(/\.md$/) + }).forEach(function (d) { + var doc = path.resolve(docdir, d) + , s = fs.lstatSync(doc) + , content = fs.readFileSync(doc, "utf8").split("\n\n") + , syn + , desc + + if (s.isSymbolicLink()) return + + content.forEach(function (c, i) { + c = c.trim() + //console.log([c, i]) + if (c === "## SYNOPSIS") syn = content[i + 1] + if (c === "## DESCRIPTION") syn = content[i + 1] + }) + console.log(d.replace(/^(.*)\.md$/, "## npm-$1(1)") + "\n") + if (desc) console.log(desc + "\n") + else if (syn) console.log(syn + "\n") + }) +}) -- cgit v1.2.3