blob: 59b27c891a138d5a4d04fb5311ecfc0e60f86505 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>{{{appName}}}</title>
<style type="text/css">
{{>style.css}}
</style>
</head>
<body>
<h1>{{{appName}}}</h1>
<div class="app-desc">{{{appDescription}}}</div>
{{#infoUrl}}<div class="app-desc">More information: <a href="{{{infoUrl}}}">{{{infoUrl}}}</a></div>{{/infoUrl}}
{{#infoEmail}}<div class="app-desc">Contact Info: <a href="{{{infoEmail}}}">{{{infoEmail}}}</a></div>{{/infoEmail}}
{{#version}}<div class="app-desc">Version: {{{version}}}</div>{{/version}}
{{#basePathWithoutHost}}<div class="app-desc">BasePath:{{basePathWithoutHost}}</div>{{/basePathWithoutHost}}
<div class="license-info">{{{licenseInfo}}}</div>
<div class="license-url">{{{licenseUrl}}}</div>
<h2>Access</h2>
{{#hasAuthMethods}}
<ol>
{{#authMethods}}
<li>{{#is this 'basic'}}HTTP Basic Authentication{{/is}}{{#is this 'oauth'}}OAuth AuthorizationUrl:{{authorizationUrl}}TokenUrl:{{tokenUrl}}{{/is}}{{#is this 'api-key'}}APIKey KeyParamName:{{keyParamName}} KeyInQuery:{{isKeyInQuery}} KeyInHeader:{{isKeyInHeader}}{{/is}}</li>
{{/authMethods}}
</ol>
{{/hasAuthMethods}}
<h2><a name="__Methods">Methods</a></h2>
[ Jump to <a href="#__Models">Models</a> ]
{{! for the tables of content, I cheat and don't use CSS styles.... }}
<h3>Table of Contents </h3>
<div class="method-summary">{{access}}</div>
{{#apiInfo}}
{{#apis}}
{{#operations}}
<h4><a href="#{{baseName}}">{{baseName}}</a></h4>
<ul>
{{#operation}}
<li><a href="#{{nickname}}"><code><span class="http-method">{{httpMethod}}</span> {{path}}</code></a></li>
{{/operation}}
</ul>
{{/operations}}
{{/apis}}
{{/apiInfo}}
{{#apiInfo}}
{{#apis}}
{{#operations}}
<h1><a name="{{baseName}}">{{baseName}}</a></h1>
{{#operation}}
<div class="method"><a name="{{nickname}}"></a>
<div class="method-path">
<a class="up" href="#__Methods">Up</a>
<pre class="{{httpMethod}}"><code class="huge"><span class="http-method">{{httpMethod}}</span> {{path}}</code></pre></div>
<div class="method-summary">{{summary}} (<span class="nickname">{{nickname}}</span>)</div>
{{! notes is operation.description. So why rename it and make it super confusing???? }}
<div class="method-notes">{{notes}}</div>
{{#hasPathParams}}
<h3 class="field-label">Path parameters</h3>
<div class="field-items">
{{#pathParams}}{{>pathParam}}{{/pathParams}}
</div> <!-- field-items -->
{{/hasPathParams}}
{{#has this 'consumes'}}
<h3 class="field-label">Consumes</h3>
This API call consumes the following media types via the <span class="header">Content-Type</span> request header:
<ul>
{{#consumes}}
<li><code>{{{mediaType}}}</code></li>
{{/consumes}}
</ul>
{{/has}}
{{#hasBodyParam}}
<h3 class="field-label">Request body</h3>
<div class="field-items">
{{#bodyParams}}{{>bodyParam}}{{/bodyParams}}
</div> <!-- field-items -->
{{/hasBodyParam}}
{{#hasHeaderParams}}
<h3 class="field-label">Request headers</h3>
<div class="field-items">
{{#headerParam}}{{>headerParam}}{{/headerParam}}
</div> <!-- field-items -->
{{/hasHeaderParams}}
{{#hasQueryParams}}
<h3 class="field-label">Query parameters</h3>
<div class="field-items">
{{#queryParams}}{{>queryParam}}{{/queryParams}}
</div> <!-- field-items -->
{{/hasQueryParams}}
{{#hasFormParams}}
<h3 class="field-label">Form parameters</h3>
<div class="field-items">
{{#formParams}}{{>formParam}}{{/formParams}}
</div> <!-- field-items -->
{{/hasFormParams}}
{{#returnType}}
<h3 class="field-label">Return type</h3>
<div class="return-type">
{{#hasReference}}{{^returnSimpleType}}{{returnContainer}}[{{/returnSimpleType}}<a href="#{{returnBaseType}}">{{returnBaseType}}</a>{{^returnSimpleType}}]{{/returnSimpleType}}{{/hasReference}}
{{^hasReference}}{{returnType}}{{/hasReference}}
</div>
{{/returnType}}
<!--Todo: process Response Object and its headers, schema, examples -->
{{#hasExamples}}
{{#examples}}
<h3 class="field-label">Example data</h3>
<div class="example-data-content-type">Content-Type: {{{contentType}}}</div>
<pre class="example"><code>{{{example}}}</code></pre>
{{/examples}}
{{/hasExamples}}
{{#has this 'produces'}}
<h3 class="field-label">Produces</h3>
This API call produces the following media types according to the <span class="header">Accept</span> request header;
the media type will be conveyed by the <span class="header">Content-Type</span> response header.
<ul>
{{#produces}}
<li><code>{{{mediaType}}}</code></li>
{{/produces}}
</ul>
{{/has}}
<h3 class="field-label">Responses</h3>
{{#responses}}
<h4 class="field-label">{{code}}</h4>
{{message}}
{{#simpleType}}<a href="#{{dataType}}">{{dataType}}</a>{{/simpleType}}
{{#examples}}
<h3 class="field-label">Example data</h3>
<div class="example-data-content-type">Content-Type: {{{contentType}}}</div>
<pre class="example"><code>{{example}}</code></pre>
{{/examples}}
{{/responses}}
</div> <!-- method -->
<hr/>
{{/operation}}
{{/operations}}
{{/apis}}
{{/apiInfo}}
<h2><a name="__Models">Models</a></h2>
[ Jump to <a href="#__Methods">Methods</a> ]
<h3>Table of Contents</h3>
<ol>
{{#models}}
{{#model}}
<li><a href="#{{name}}"><code>{{name}}</code>{{#title}} - {{title}}{{/title}}</a></li>
{{/model}}
{{/models}}
</ol>
{{#models}}
{{#model}}
<div class="model">
<h3><a name="{{name}}"><code>{{name}}</code>{{#title}} - {{title}}{{/title}}</a> <a class="up" href="#__Models">Up</a></h3>
{{#unescapedDescription}}<div class='model-description'>{{unescapedDescription}}</div>{{/unescapedDescription}}
<div class="field-items">
{{#vars}}<div class="param">{{name}} {{^required}}(optional){{/required}}</div><div class="param-desc"><span class="param-type">{{#isNot this 'primitive-type'}}<a href="#{{complexType}}">{{datatype}}</a>{{/isNot}}</span> {{unescapedDescription}} {{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div>
{{#is this 'enum'}}
<div class="param-enum-header">Enum:</div>
{{#_enum}}<div class="param-enum">{{this}}</div>{{/_enum}}
{{/is}}
{{#example}}
<div class="param-desc"><span class="param-type">example: {{example}}</span></div>
{{/example}}
{{#vendorExtensions.oneOf-model}}
<div class="param-desc"><span class="param-type">oneOf:</span>
{{#vendorExtensions.x-model-names}}
<a href="#{{this}}"><code>{{this}}</code></a>&nbsp;&nbsp;&nbsp;
{{/vendorExtensions.x-model-names}}
</div>
{{/vendorExtensions.oneOf-model}}
{{#vendorExtensions.anyOf-model}}
<div class="param-desc"><span class="param-type">anyOf:</span>
{{#vendorExtensions.x-model-names}}
<a href="#{{this}}"><code>{{this}}</code></a>&nbsp;&nbsp;&nbsp;
{{/vendorExtensions.x-model-names}}
</div>
{{/vendorExtensions.anyOf-model}}
{{#items}}
{{#vendorExtensions.oneOf-model}}
<div class="param-desc"><span class="param-type">items oneOf:</span>
{{#vendorExtensions.x-model-names}}
<a href="#{{this}}"><code>{{this}}</code></a>&nbsp;&nbsp;&nbsp;
{{/vendorExtensions.x-model-names}}
</div>
{{/vendorExtensions.oneOf-model}}
{{#vendorExtensions.anyOf-model}}
<div class="param-desc"><span class="param-type">items anyOf:</span>
{{#vendorExtensions.x-model-names}}
<a href="#{{this}}"><code>{{this}}</code></a>&nbsp;&nbsp;&nbsp;
{{/vendorExtensions.x-model-names}}
</div>
{{/vendorExtensions.anyOf-model}}
{{/items}}
{{/vars}}
</div> <!-- field-items -->
</div>
{{/model}}
{{/models}}
</body>
</html>