history/MAINTAINERS_v3.0.1.md
-git show 3140640:MAINTAINERS.md > history/MAINTAINERS_v3.0.2.md
-cp history/MAINTAINERS_v3.0.2.md history/MAINTAINERS_v3.0.3.md
-cp history/MAINTAINERS_v3.0.2.md history/MAINTAINERS_v3.1.0.md
-#TODO: adjust commit for 3.0.4, 3.1.1
-git show c3b88ed:EDITORS.md > history/MAINTAINERS_v3.0.4.md
-cp history/MAINTAINERS_v3.0.4.md history/MAINTAINERS_v3.1.1.md
-# add lines for 3.2.0, ...
-
-cp -p ../../node_modules/respec/builds/respec-w3c.* ../../deploy/js/
-
-latest=`git describe --abbrev=0 --tags`
-latestCopied=none
+if [ -z "$1" ]; then
+ deploydir="deploy/oas"
+else
+ deploydir="deploy-preview"
+fi
+
+mkdir -p $deploydir/js
+mkdir -p $deploydir/temp
+
+latest=$(git describe --abbrev=0 --tags)
+latestCopied="none"
lastMinor="-"
-for filename in $(ls -1 ../../versions/[23456789].*.md | sort -r) ; do
- version=$(basename "$filename" .md)
+
+if [ -z "$1" ]; then
+ specifications=$(ls -1 versions/[23456789].*.md | grep -v -e "\-editors" | sort -r)
+elif [ "$1" = "latest" ]; then
+ specifications=$(ls -1 versions/$latest.md)
+elif [ "$1" = "src" ]; then
+ specifications="src/oas.md"
+else
+ specifications=$(ls -1 versions/$1.md)
+fi
+
+cp -p node_modules/respec/builds/respec-w3c.* $deploydir/js/
+
+for specification in $specifications; do
+ version=$(basename $specification .md)
minorVersion=${version:0:3}
- tempfile=../../deploy/oas/v$version-tmp.html
- echo -e "\n=== v$version ==="
+ tempfile="$deploydir/temp/$version.html"
- node md2html.js --maintainers ./history/MAINTAINERS_v$version.md ${filename} > $tempfile
- npx respec --use-local --src $tempfile --out ../../deploy/oas/v$version.html
+ if [ "$1" = "src" ]; then
+ destination="$deploydir/$version.html"
+ maintainers="EDITORS.md"
+ else
+ destination="$deploydir/v$version.html"
+ maintainers="$(dirname $specification)/$version-editors.md"
+ fi
+
+ echo === Building $version to $destination
+
+ node scripts/md2html/md2html.js --maintainers $maintainers $specification > $tempfile
+ npx respec --use-local --src $tempfile --out $destination
rm $tempfile
+ echo === Built $destination
+
if [ $version = $latest ]; then
- if [[ ${version} != *"rc"* ]];then
+ if [[ ${version} != *"rc"* ]]; then
# version is not a Release Candidate
- pushd ../../deploy/oas
- ln -sf v$version.html latest.html
- popd
- latestCopied=v$version
+ ln -sf $(basename $destination) $deploydir/latest.html
+ latestCopied="v$version"
fi
fi
if [ ${minorVersion} != ${lastMinor} ] && [ ${minorVersion} != 2.0 ]; then
- pushd ../../deploy/oas
- ln -sf v$version.html v$minorVersion.html
- popd
+ ln -sf $(basename $destination) $deploydir/v$minorVersion.html
lastMinor=$minorVersion
fi
done
-echo Latest tag is $latest, copied $latestCopied to latest.html
-rm ../../deploy/js/respec-w3c.*
+if [ "$latestCopied" != "none" ]; then
+ echo Latest tag is $latest, copied $latestCopied to latest.html
+fi
+
+rm $deploydir/js/respec-w3c.*
+rmdir $deploydir/js
+rmdir $deploydir/temp
diff --git a/scripts/md2html/md2html.js b/scripts/md2html/md2html.js
index fd3ec78f69..2ddb4e335b 100644
--- a/scripts/md2html/md2html.js
+++ b/scripts/md2html/md2html.js
@@ -131,10 +131,7 @@ function preface(title,options) {
// ReSpec
preface += '';
preface += ``;
- try {
- preface += fs.readFileSync('./analytics/google.html','utf8');
- }
- catch (ex) {}
+ preface += fs.readFileSync(path.resolve(__dirname, 'analytics/google.html'),'utf8');
preface += '';
preface += 'OpenAPI Specification v30.0.1
Copyright © 3001 the Linux Foundation
What is the OpenAPI Specification?
The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.Status of This Document
The source-of-truth for this specification is the HTML file referenced above as This version.
+OpenAPI Specification v30.0.1 | Introduction, Definitions, & More
+
+
+OpenAPI Specification v30.0.1
Copyright © 3001 the Linux Foundation
What is the OpenAPI Specification?
The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.Status of This Document
The source-of-truth for this specification is the HTML file referenced above as This version.
Heading 1
Text for first chapter