summaryrefslogtreecommitdiff
path: root/deps/npm/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/Makefile')
-rw-r--r--deps/npm/Makefile149
1 files changed, 114 insertions, 35 deletions
diff --git a/deps/npm/Makefile b/deps/npm/Makefile
index 82fa8b65e..01228c1cd 100644
--- a/deps/npm/Makefile
+++ b/deps/npm/Makefile
@@ -1,31 +1,57 @@
+# vim: set softtabstop=2 shiftwidth=2:
SHELL = bash
markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md
+html_docdeps = html/dochead.html \
+ html/docfoot.html \
+ html/docfoot-script.html \
+ scripts/doc-build.sh \
+ package.json
+
cli_mandocs = $(shell find doc/cli -name '*.md' \
|sed 's|.md|.1|g' \
|sed 's|doc/cli/|man/man1/|g' ) \
- man/man1/README.1 \
- man/man1/index.1
+ man/man1/npm-README.1
api_mandocs = $(shell find doc/api -name '*.md' \
|sed 's|.md|.3|g' \
|sed 's|doc/api/|man/man3/|g' )
+files_mandocs = $(shell find doc/files -name '*.md' \
+ |sed 's|.md|.5|g' \
+ |sed 's|doc/files/|man/man5/|g' ) \
+ man/man5/npm-json.5 \
+ man/man5/npm-global.5
+
+misc_mandocs = $(shell find doc/misc -name '*.md' \
+ |sed 's|.md|.7|g' \
+ |sed 's|doc/misc/|man/man7/|g' ) \
+ man/man7/index.7
+
cli_htmldocs = $(shell find doc/cli -name '*.md' \
- |grep -v 'index.md' \
|sed 's|.md|.html|g' \
- |sed 's|doc/cli/|html/doc/|g' ) \
- html/doc/README.html \
- html/doc/index.html
+ |sed 's|doc/cli/|html/doc/cli/|g' ) \
+ html/doc/README.html
api_htmldocs = $(shell find doc/api -name '*.md' \
|sed 's|.md|.html|g' \
- |sed 's|doc/api/|html/api/|g' )
+ |sed 's|doc/api/|html/doc/api/|g' )
+
+files_htmldocs = $(shell find doc/files -name '*.md' \
+ |sed 's|.md|.html|g' \
+ |sed 's|doc/files/|html/doc/files/|g' ) \
+ html/doc/files/npm-json.html \
+ html/doc/files/npm-global.html
-mandocs = $(api_mandocs) $(cli_mandocs)
+misc_htmldocs = $(shell find doc/misc -name '*.md' \
+ |sed 's|.md|.html|g' \
+ |sed 's|doc/misc/|html/doc/misc/|g' ) \
+ html/doc/index.html
-htmldocs = $(api_htmldocs) $(cli_htmldocs)
+mandocs = $(api_mandocs) $(cli_mandocs) $(files_mandocs) $(misc_mandocs)
+
+htmldocs = $(api_htmldocs) $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs)
all: doc
@@ -58,17 +84,14 @@ doc-clean:
rm -rf \
node_modules/ronn \
node_modules/.bin/ronn \
- .building_ronn \
- doc/cli/index.md \
- doc/api/index.md \
- $(api_mandocs) \
- $(cli_mandocs) \
- $(api_htmldocs) \
- $(cli_htmldocs) \
- &>/dev/null || true
+ .building_ronn \
+ html/doc \
+ html/api \
+ man/man*
# use `npm install ronn` for this to work.
-man/man1/README.1: README.md scripts/doc-build.sh package.json
+man/man1/npm-README.1: README.md scripts/doc-build.sh package.json
+ @[ -d man/man1 ] || mkdir -p man/man1
scripts/doc-build.sh $< $@
man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json
@@ -79,17 +102,54 @@ man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json
@[ -d man/man3 ] || mkdir -p man/man3
scripts/doc-build.sh $< $@
-html/doc/README.html: README.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
+man/man5/npm-json.5: man/man5/package.json.5
+ cp $< $@
+
+man/man5/npm-global.5: man/man5/npm-folders.5
+ cp $< $@
+
+man/man5/%.5: doc/files/%.md scripts/doc-build.sh package.json
+ @[ -d man/man5 ] || mkdir -p man/man5
scripts/doc-build.sh $< $@
-html/doc/%.html: doc/cli/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
+doc/misc/npm-index.md: scripts/index-build.js package.json
+ node scripts/index-build.js > $@
+
+html/doc/index.html: doc/misc/npm-index.md $(html_docdeps)
+ @[ -d html/doc ] || mkdir -p html/doc
scripts/doc-build.sh $< $@
-html/api/%.html: doc/api/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
+man/man7/%.7: doc/misc/%.md scripts/doc-build.sh package.json
+ @[ -d man/man7 ] || mkdir -p man/man7
scripts/doc-build.sh $< $@
-doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh package.json
- node scripts/index-build.js > $@
+html/doc/README.html: README.md $(html_docdeps)
+ @[ -d html/doc ] || mkdir -p html/doc
+ scripts/doc-build.sh $< $@
+
+html/doc/cli/%.html: doc/cli/%.md $(html_docdeps)
+ @[ -d html/doc/cli ] || mkdir -p html/doc/cli
+ scripts/doc-build.sh $< $@
+
+html/doc/api/%.html: doc/api/%.md $(html_docdeps)
+ @[ -d html/doc/api ] || mkdir -p html/doc/api
+ scripts/doc-build.sh $< $@
+
+html/doc/files/npm-json.html: html/doc/files/package.json.html
+ cp $< $@
+html/doc/files/npm-global.html: html/doc/files/npm-folders.html
+ cp $< $@
+
+html/doc/files/%.html: doc/files/%.md $(html_docdeps)
+ @[ -d html/doc/files ] || mkdir -p html/doc/files
+ scripts/doc-build.sh $< $@
+
+html/doc/misc/%.html: doc/misc/%.md $(html_docdeps)
+ @[ -d html/doc/misc ] || mkdir -p html/doc/misc
+ scripts/doc-build.sh $< $@
+
+
+
node_modules/.bin/ronn:
node cli.js install ronn
@@ -102,9 +162,10 @@ test:
node cli.js test
publish: link doc
- @git push origin :v$(shell npm -v) || true
- @npm unpublish npm@$(shell npm -v) || true
- git clean -fd
+ @git push origin :v$(shell npm -v) 2>&1 || true
+ @npm unpublish npm@$(shell npm -v) 2>&1 || true
+ git clean -fd &&\
+ git push origin &&\
git push origin --tags &&\
npm publish &&\
npm tag npm@$(shell npm -v) $(shell npm -v | awk -F. '{print $$1 "." $$2}') &&\
@@ -113,18 +174,36 @@ publish: link doc
docpublish: doc-publish
doc-publish: doc
+ # legacy urls
+ for f in $$(find html/doc/{cli,files,misc}/ -name '*.html'); do \
+ j=$$(basename $$f | sed 's|^npm-||g'); \
+ if ! [ -f html/doc/$$j ] && [ $$j != README.html ] && [ $$j != index.html ]; then \
+ perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/doc/$$j; \
+ fi; \
+ done
+ mkdir -p html/api
+ for f in $$(find html/doc/api/ -name '*.html'); do \
+ j=$$(basename $$f | sed 's|^npm-||g'); \
+ perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/api/$$j; \
+ done
rsync -vazu --stats --no-implied-dirs --delete \
- html/doc/ \
- node@npmjs.org:/home/node/npm-www/doc
- rsync -vazu --stats --no-implied-dirs --delete \
- html/api/ \
- node@npmjs.org:/home/node/npm-www/api
+ html/doc/* \
+ node@npmjs.org:/home/node/npm-www/doc
rsync -vazu --stats --no-implied-dirs --delete \
- html/static/webfonts/ \
- node@npmjs.org:/home/node/npm-www/static/webfonts
+ html/static/webfonts/ \
+ node@npmjs.org:/home/node/npm-www/static/webfonts
rsync -vazu --stats --no-implied-dirs --delete \
- html/static/style.css \
- node@npmjs.org:/home/node/npm-www/static/
+ html/static/style.css \
+ node@npmjs.org:/home/node/npm-www/static/
+ #cleanup
+ rm -rf html/api
+ for f in html/doc/*.html; do \
+ case $$f in \
+ html/doc/README.html) continue ;; \
+ html/doc/index.html) continue ;; \
+ *) rm $$f ;; \
+ esac; \
+ done
zip-publish: release
scp release/* node@nodejs.org:dist/npm/