From 331c1185f0c4dbf1989aaa6abde56e3a9af5ed55 Mon Sep 17 00:00:00 2001 From: Hristo Deshev Date: Fri, 31 Mar 2017 18:09:13 +0300 Subject: [PATCH] Add docs build script. --- build-docs.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100755 build-docs.sh diff --git a/build-docs.sh b/build-docs.sh new file mode 100755 index 000000000..8266154cd --- /dev/null +++ b/build-docs.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +set -e + +ENV="${ENV:-dev}" +DIST_DIR="bin/dist" +TARGET_DIR="$DIST_DIR/snippets" +PACKAGE_VERSION="${PACKAGE_VERSION:-0.0.0}" + +archive_dist_dir() { + DIR="$1" + (cd "$DIST_DIR" && tar zcvf "nativescript-$DIR-$ENV-$PACKAGE_VERSION.tar.gz" $DIR) +} + +npm_install() { + # Don't install modules twice. + + MARKER_FILE="./node_modules/installed" + if [ ! -f "$MARKER_FILE" ] ; then + npm install + touch "$MARKER_FILE" + fi +} + +extract_snippets() { + BIN="./node_modules/markdown-snippet-injector/extract.js" + + npm install markdown-snippet-injector + + for SNIPPET_DIR in {tests,apps,tns-core-modules} ; do + echo "Extracting snippets from: $SNIPPET_DIR" + node "$BIN" --root="$SNIPPET_DIR" --target="$TARGET_DIR" \ + --sourceext=".js|.ts|.xml|.html|.css" + done + + archive_dist_dir "snippets" +} + +extract_cookbook() { + COOKBOOK_DIR="$DIST_DIR/cookbook" + rm -rf "$COOKBOOK_DIR" + + npm_install + grunt articles + mv "$DIST_DIR/articles" "$COOKBOOK_DIR" + archive_dist_dir "cookbook" +} + +extract_apiref() { + APIREF_DIR="$DIST_DIR/api-reference" + rm -rf "$APIREF_DIR" + + npm_install + npm run typedoc + + mv "$DIST_DIR/apiref" "$APIREF_DIR" + archive_dist_dir "api-reference" +} + +rm -rf "$TARGET_DIR" +mkdir -p "$TARGET_DIR" + +if [ "${BASH_SOURCE[0]}" == "$0" ] ; then + extract_snippets + extract_cookbook + extract_apiref +fi diff --git a/package.json b/package.json index 7b62f8fda..5dde84d4c 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "grunt-ts": "6.0.0-beta.11", "grunt-typedoc": "0.2.4", "http-server": "^0.9.0", - "markdown-snippet-injector": "0.1.1", + "markdown-snippet-injector": "0.2.2", "mocha": "2.2.5", "nativescript-typedoc-theme": "git+https://github.com/NativeScript/nativescript-typedoc-theme.git#master", "shelljs": "^0.7.0",