diff options
Diffstat (limited to 'deps/npm/Makefile')
-rw-r--r-- | deps/npm/Makefile | 149 |
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/ |