]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/scripts/doc-build.sh
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / scripts / doc-build.sh
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/scripts/doc-build.sh b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/scripts/doc-build.sh
new file mode 100644 (file)
index 0000000..6181902
--- /dev/null
@@ -0,0 +1,119 @@
+#!/usr/bin/env bash
+
+if [[ $DEBUG != "" ]]; then
+  set -x
+fi
+set -o errexit
+set -o pipefail
+
+if ! [ -x node_modules/.bin/marked-man ]; then
+  ps=0
+  if [ -f .building_marked-man ]; then
+    pid=$(cat .building_marked-man)
+    ps=$(ps -p $pid | grep $pid | wc -l) || true
+  fi
+
+  if [ -f .building_marked-man ] && [ $ps != 0 ]; then
+    while [ -f .building_marked-man ]; do
+      sleep 1
+    done
+  else
+    # a race to see which make process will be the one to install marked-man
+    echo $$ > .building_marked-man
+    sleep 1
+    if [ $(cat .building_marked-man) == $$ ]; then
+      make node_modules/.bin/marked-man
+      rm .building_marked-man
+    else
+      while [ -f .building_marked-man ]; do
+        sleep 1
+      done
+    fi
+  fi
+fi
+
+if ! [ -x node_modules/.bin/marked ]; then
+  ps=0
+  if [ -f .building_marked ]; then
+    pid=$(cat .building_marked)
+    ps=$(ps -p $pid | grep $pid | wc -l) || true
+  fi
+
+  if [ -f .building_marked ] && [ $ps != 0 ]; then
+    while [ -f .building_marked ]; do
+      sleep 1
+    done
+  else
+    # a race to see which make process will be the one to install marked
+    echo $$ > .building_marked
+    sleep 1
+    if [ $(cat .building_marked) == $$ ]; then
+      make node_modules/.bin/marked
+      rm .building_marked
+    else
+      while [ -f .building_marked ]; do
+        sleep 1
+      done
+    fi
+  fi
+fi
+
+src=$1
+dest=$2
+name=$(basename ${src%.*})
+date=$(date -u +'%Y-%m-%d %H:%M:%S')
+version=$(node cli.js -v)
+
+mkdir -p $(dirname $dest)
+
+html_replace_tokens () {
+       local url=$1
+       sed "s|@NAME@|$name|g" \
+       | sed "s|@DATE@|$date|g" \
+       | sed "s|@URL@|$url|g" \
+       | sed "s|@VERSION@|$version|g" \
+       | perl -p -e 's/<h1([^>]*)>([^\(]*\([0-9]\)) -- (.*?)<\/h1>/<h1>\2<\/h1> <p>\3<\/p>/g' \
+       | perl -p -e 's/npm-npm/npm/g' \
+       | perl -p -e 's/([^"-])(npm-)?README(?!\.html)(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \
+       | perl -p -e 's/<title><a href="[^"]+README.html">README<\/a><\/title>/<title>README<\/title>/g' \
+       | perl -p -e 's/([^"-])([^\(> ]+)(\(1\))/\1<a href="..\/cli\/\2.html">\2\3<\/a>/g' \
+       | perl -p -e 's/([^"-])([^\(> ]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \
+       | perl -p -e 's/([^"-])([^\(> ]+)(\(5\))/\1<a href="..\/files\/\2.html">\2\3<\/a>/g' \
+       | perl -p -e 's/([^"-])([^\(> ]+)(\(7\))/\1<a href="..\/misc\/\2.html">\2\3<\/a>/g' \
+       | perl -p -e 's/\([1357]\)<\/a><\/h1>/<\/a><\/h1>/g' \
+       | (if [ $(basename $(dirname $dest)) == "doc" ]; then
+                       perl -p -e 's/ href="\.\.\// href="/g'
+               else
+                       cat
+               fi)
+}
+
+man_replace_tokens () {
+       sed "s|@VERSION@|$version|g" \
+       | perl -p -e 's/(npm\\-)?([a-zA-Z\\\.\-]*)\(1\)/npm help \2/g' \
+       | perl -p -e 's/(npm\\-)?([a-zA-Z\\\.\-]*)\(([57])\)/npm help \3 \2/g' \
+       | perl -p -e 's/(npm\\-)?([a-zA-Z\\\.\-]*)\(3\)/npm apihelp \2/g' \
+       | perl -p -e 's/npm\(1\)/npm help npm/g' \
+       | perl -p -e 's/npm\(3\)/npm apihelp npm/g'
+}
+
+case $dest in
+  *.[1357])
+    ./node_modules/.bin/marked-man --roff $src \
+    | man_replace_tokens > $dest
+    exit $?
+    ;;
+  *.html)
+    url=${dest/html\//}
+    (cat html/dochead.html && \
+     cat $src | ./node_modules/.bin/marked &&
+     cat html/docfoot.html)\
+    | html_replace_tokens $url \
+    > $dest
+    exit $?
+    ;;
+  *)
+    echo "Invalid destination type: $dest" >&2
+    exit 1
+    ;;
+esac